GSLDatei.h 1.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162
  1. #ifndef GSLDatei_H
  2. #define GSLDatei_H
  3. #include <Text.h>
  4. #include <Array.h>
  5. #include <Datei.h>
  6. #include <Critical.h>
  7. #ifdef WIN32
  8. #include "Include/GSLDateiV.h"
  9. #else
  10. #include "GSLDateiV.h"
  11. #endif
  12. using namespace Framework;
  13. namespace GSL
  14. {
  15. struct SoundKopf
  16. {
  17. Text name;
  18. char channels;
  19. unsigned int sampleRate;
  20. __int64 datPos;
  21. __int64 datEnd;
  22. Text pfad;
  23. };
  24. class GSLDatei : public GSLDateiV
  25. {
  26. private:
  27. Array< SoundKopf > *sounds;
  28. Text *pfad;
  29. Critical cs;
  30. int ref;
  31. public:
  32. // Konstruktor
  33. GSLDatei();
  34. // Destruktor
  35. ~GSLDatei();
  36. // Datei open
  37. void setDatei( Framework::Text *txt ) override;
  38. void setDatei( char *txt ) override;
  39. bool leseDaten() override;
  40. int getSoundAnzahl() override;
  41. Text *getSoundName( int num ) override;
  42. // Laden
  43. GSLSoundV *getSound( Framework::Text *name ) override;
  44. GSLSoundV *getSound( char *name ) override;
  45. // Speichern
  46. bool speicherSound( GSLSoundV *zSound, Framework::Text *name ) override;
  47. bool speicherSound( GSLSoundV *zSound, char *name ) override;
  48. // Löschen
  49. bool removeSound( Framework::Text *name ) override;
  50. bool removeSound( char *name ) override;
  51. // Reference Counting
  52. GSLDateiV *getThis() override;
  53. GSLDateiV *release() override;
  54. };
  55. }
  56. #endif