home *** CD-ROM | disk | FTP | other *** search
/ Geek Gadgets 1 / ADE-1.bin / ade-dist / fd2inline-1.0-bin.lha / include / inline / realtime.h < prev    next >
Encoding:
C/C++ Source or Header  |  1996-10-12  |  2.1 KB  |  68 lines

  1. #ifndef _INLINE_REALTIME_H
  2. #define _INLINE_REALTIME_H
  3.  
  4. #ifndef __INLINE_MACROS_H
  5. #include <inline/macros.h>
  6. #endif
  7.  
  8. #ifndef REALTIME_BASE_NAME
  9. #define REALTIME_BASE_NAME RealTimeBase
  10. #endif
  11.  
  12. #define CreatePlayerA(tagList) \
  13.     LP1(0x2a, struct Player *, CreatePlayerA, struct TagItem *, tagList, a0, \
  14.     , REALTIME_BASE_NAME)
  15.  
  16. #ifndef NO_INLINE_STDARG
  17. #define CreatePlayer(tags...) \
  18.     ({ULONG _tags[] = { tags }; CreatePlayerA((struct TagItem *)_tags);})
  19. #endif /* !NO_INLINE_STDARG */
  20.  
  21. #define DeletePlayer(player) \
  22.     LP1NR(0x30, DeletePlayer, struct Player *, player, a0, \
  23.     , REALTIME_BASE_NAME)
  24.  
  25. #define ExternalSync(player, minTime, maxTime) \
  26.     LP3(0x42, BOOL, ExternalSync, struct Player *, player, a0, long, minTime, d0, long, maxTime, d1, \
  27.     , REALTIME_BASE_NAME)
  28.  
  29. #define FindConductor(name) \
  30.     LP1(0x4e, struct Conductor *, FindConductor, STRPTR, name, a0, \
  31.     , REALTIME_BASE_NAME)
  32.  
  33. #define GetPlayerAttrsA(player, tagList) \
  34.     LP2(0x54, ULONG, GetPlayerAttrsA, struct Player *, player, a0, struct TagItem *, tagList, a1, \
  35.     , REALTIME_BASE_NAME)
  36.  
  37. #ifndef NO_INLINE_STDARG
  38. #define GetPlayerAttrs(a0, tags...) \
  39.     ({ULONG _tags[] = { tags }; GetPlayerAttrsA((a0), (struct TagItem *)_tags);})
  40. #endif /* !NO_INLINE_STDARG */
  41.  
  42. #define LockRealTime(lockType) \
  43.     LP1(0x1e, APTR, LockRealTime, unsigned long, lockType, d0, \
  44.     , REALTIME_BASE_NAME)
  45.  
  46. #define NextConductor(previousConductor) \
  47.     LP1(0x48, struct Conductor *, NextConductor, struct Conductor *, previousConductor, a0, \
  48.     , REALTIME_BASE_NAME)
  49.  
  50. #define SetConductorState(player, state, time) \
  51.     LP3(0x3c, LONG, SetConductorState, struct Player *, player, a0, unsigned long, state, d0, long, time, d1, \
  52.     , REALTIME_BASE_NAME)
  53.  
  54. #define SetPlayerAttrsA(player, tagList) \
  55.     LP2(0x36, BOOL, SetPlayerAttrsA, struct Player *, player, a0, struct TagItem *, tagList, a1, \
  56.     , REALTIME_BASE_NAME)
  57.  
  58. #ifndef NO_INLINE_STDARG
  59. #define SetPlayerAttrs(a0, tags...) \
  60.     ({ULONG _tags[] = { tags }; SetPlayerAttrsA((a0), (struct TagItem *)_tags);})
  61. #endif /* !NO_INLINE_STDARG */
  62.  
  63. #define UnlockRealTime(lock) \
  64.     LP1NR(0x24, UnlockRealTime, APTR, lock, a0, \
  65.     , REALTIME_BASE_NAME)
  66.  
  67. #endif /* _INLINE_REALTIME_H */
  68.