GSLDatei.h 1.2 KB

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