/src/Core/objects/CD.xs

http://github.com/PerlGameDev/SDL · Unknown · 133 lines · 115 code · 18 blank · 0 comment · 0 complexity · e267a959c54eee027939f73b114d5ef0 MD5 · raw file

  1. #include "EXTERN.h"
  2. #include "perl.h"
  3. #include "XSUB.h"
  4. #include "ppport.h"
  5. #ifndef aTHX_
  6. #define aTHX_
  7. #endif
  8. #include <SDL.h>
  9. MODULE = SDL::CD PACKAGE = SDL::CD PREFIX = cdr_
  10. SDL_CD *
  11. cdr_new ( CLASS, drive )
  12. char* CLASS
  13. int drive
  14. CODE:
  15. RETVAL = SDL_CDOpen(drive);
  16. OUTPUT:
  17. RETVAL
  18. Uint32
  19. cdr_status ( cd )
  20. SDL_CD *cd
  21. CODE:
  22. RETVAL = SDL_CDStatus(cd);
  23. OUTPUT:
  24. RETVAL
  25. int
  26. cdr_play_tracks ( cd, start_track, ntracks, start_frame, nframes )
  27. SDL_CD *cd
  28. int start_track
  29. int ntracks
  30. int start_frame
  31. int nframes
  32. CODE:
  33. RETVAL = SDL_CDPlayTracks(cd,start_track,start_frame,ntracks,nframes);
  34. OUTPUT:
  35. RETVAL
  36. int
  37. cdr_play ( cd, start, length )
  38. SDL_CD *cd
  39. int start
  40. int length
  41. CODE:
  42. RETVAL = SDL_CDPlay(cd,start,length);
  43. OUTPUT:
  44. RETVAL
  45. int
  46. cdr_pause ( cd )
  47. SDL_CD *cd
  48. CODE:
  49. RETVAL = SDL_CDPause(cd);
  50. OUTPUT:
  51. RETVAL
  52. int
  53. cdr_resume ( cd )
  54. SDL_CD *cd
  55. CODE:
  56. RETVAL = SDL_CDResume(cd);
  57. OUTPUT:
  58. RETVAL
  59. int
  60. cdr_stop ( cd )
  61. SDL_CD *cd
  62. CODE:
  63. RETVAL = SDL_CDStop(cd);
  64. OUTPUT:
  65. RETVAL
  66. int
  67. cdr_eject ( cd )
  68. SDL_CD *cd
  69. CODE:
  70. RETVAL = SDL_CDEject(cd);
  71. OUTPUT:
  72. RETVAL
  73. int
  74. cdr_id ( cd )
  75. SDL_CD *cd
  76. CODE:
  77. RETVAL = cd->id;
  78. OUTPUT:
  79. RETVAL
  80. int
  81. cdr_num_tracks ( cd )
  82. SDL_CD *cd
  83. CODE:
  84. RETVAL = cd->numtracks;
  85. OUTPUT:
  86. RETVAL
  87. int
  88. cdr_cur_track ( cd )
  89. SDL_CD *cd
  90. CODE:
  91. RETVAL = cd->cur_track;
  92. OUTPUT:
  93. RETVAL
  94. int
  95. cdr_cur_frame ( cd )
  96. SDL_CD *cd
  97. CODE:
  98. RETVAL = cd->cur_frame;
  99. OUTPUT:
  100. RETVAL
  101. SDL_CDtrack *
  102. cdr_track ( cd, number )
  103. SDL_CD *cd
  104. int number
  105. PREINIT:
  106. char* CLASS = "SDL::CDTrack";
  107. CODE:
  108. RETVAL = (SDL_CDtrack *)(cd->track + number);
  109. OUTPUT:
  110. RETVAL
  111. void
  112. cdr_DESTROY ( cd )
  113. SDL_CD *cd
  114. CODE:
  115. SDL_CDClose(cd);