players.h 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374
  1. /* -*- mode: c; tab-width: 4; c-basic-offset: 3; c-file-style: "linux" -*- */
  2. //
  3. // Copyright (c) 2009, Wei Mingzhi <whistler_wmz@users.sf.net>.
  4. // All rights reserved.
  5. //
  6. // This file is part of SDLPAL.
  7. //
  8. // SDLPAL is free software: you can redistribute it and/or modify
  9. // it under the terms of the GNU General Public License as published by
  10. // the Free Software Foundation, either version 3 of the License, or
  11. // (at your option) any later version.
  12. //
  13. // This program is distributed in the hope that it will be useful,
  14. // but WITHOUT ANY WARRANTY; without even the implied warranty of
  15. // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  16. // GNU General Public License for more details.
  17. //
  18. // You should have received a copy of the GNU General Public License
  19. // along with this program. If not, see <http://www.gnu.org/licenses/>.
  20. //
  21. #ifndef RIX_PLAY_H
  22. #define RIX_PLAY_H
  23. #include "common.h"
  24. #ifdef __cplusplus
  25. extern "C"
  26. {
  27. #endif
  28. typedef struct tagMUSICPLAYER
  29. {
  30. #define MUSICPLAYER_FUNCTIONS \
  31. VOID (*Shutdown)(VOID*); \
  32. BOOL (*Play)(VOID*, INT, BOOL, FLOAT); \
  33. VOID (*FillBuffer)(VOID*, LPBYTE, INT)
  34. MUSICPLAYER_FUNCTIONS;
  35. } MUSICPLAYER, *LPMUSICPLAYER;
  36. /* RIX */
  37. LPMUSICPLAYER
  38. RIX_Init(
  39. LPCSTR szFileName
  40. );
  41. /* OGG */
  42. #if PAL_HAS_OGG
  43. LPMUSICPLAYER
  44. OGG_Init(
  45. LPCSTR szFileName
  46. );
  47. #endif
  48. /* MP3 */
  49. #if PAL_HAS_MP3
  50. LPMUSICPLAYER
  51. MP3_Init(
  52. LPCSTR szFileName
  53. );
  54. #endif
  55. #ifdef __cplusplus
  56. }
  57. #endif
  58. #endif