/[svn]/libgig/trunk/src/DLS.h
ViewVC logotype

Diff of /libgig/trunk/src/DLS.h

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 918 by persson, Sat Sep 2 08:45:37 2006 UTC revision 1050 by schoenebeck, Fri Mar 2 01:04:45 2007 UTC
# Line 1  Line 1 
1  /***************************************************************************  /***************************************************************************
2   *                                                                         *   *                                                                         *
3   *   libgig - C++ cross-platform Gigasampler format file loader library    *   *   libgig - C++ cross-platform Gigasampler format file access library    *
4   *                                                                         *   *                                                                         *
5   *   Copyright (C) 2003-2005 by Christian Schoenebeck                      *   *   Copyright (C) 2003-2007 by Christian Schoenebeck                      *
6   *                              <cuse@users.sourceforge.net>               *   *                              <cuse@users.sourceforge.net>               *
7   *                                                                         *   *                                                                         *
8   *   This library is free software; you can redistribute it and/or modify  *   *   This library is free software; you can redistribute it and/or modify  *
# Line 90  Line 90 
90  # define CHUNK_ID_IENG  0x474E4549  # define CHUNK_ID_IENG  0x474E4549
91  # define CHUNK_ID_IGNR  0x524E4749  # define CHUNK_ID_IGNR  0x524E4749
92  # define CHUNK_ID_IKEY  0x59454B49  # define CHUNK_ID_IKEY  0x59454B49
93  # define CHUNK_ID_IMED  0x44525049  # define CHUNK_ID_IMED  0x44454D49
94  # define CHUNK_ID_INAM  0x4D414E49  # define CHUNK_ID_INAM  0x4D414E49
95  # define CHUNK_ID_IPRD  0x44525049  # define CHUNK_ID_IPRD  0x44525049
96  # define CHUNK_ID_ISBJ  0x4A425349  # define CHUNK_ID_ISBJ  0x4A425349
# Line 112  Line 112 
112  # define CHUNK_ID_ART2  0x32747261  # define CHUNK_ID_ART2  0x32747261
113  #endif // WORDS_BIGENDIAN  #endif // WORDS_BIGENDIAN
114    
115  #define WAVE_FORMAT_PCM                 0x0001  #define DLS_WAVE_FORMAT_PCM                     0x0001
116    
117  //TODO: no support for conditional chunks <cdl> yet  //TODO: no support for conditional chunks <cdl> yet
118    
# Line 315  namespace DLS { Line 315  namespace DLS {
315              String Source;           ///< <ISRC-ck>. Identifies the name of the person or organization who supplied the original subject of the file.              String Source;           ///< <ISRC-ck>. Identifies the name of the person or organization who supplied the original subject of the file.
316              String SourceForm;       ///< <ISRF-ck>. Identifies the original form of the material that was digitized, such as record, sampling CD, TV sound track. This is not neccessarily the same as <i>Medium</i>.              String SourceForm;       ///< <ISRF-ck>. Identifies the original form of the material that was digitized, such as record, sampling CD, TV sound track. This is not neccessarily the same as <i>Medium</i>.
317              String Commissioned;     ///< <ICMS-ck>. Lists the name of the person or organization that commissioned the subject of the file, e.g., Pope Julian II.              String Commissioned;     ///< <ICMS-ck>. Lists the name of the person or organization that commissioned the subject of the file, e.g., Pope Julian II.
318                String Subject;          ///< <ISBJ-ck>. Describes the contents of the file.
319              bool UseFixedLengthStrings; ///< Set this to true if the info strings should be stored with a fixed length format. This is used for gig files, not for ordinary DLS files.              bool UseFixedLengthStrings; ///< Set this to true if the info strings should be stored with a fixed length format. This is used for gig files, not for ordinary DLS files.
320    
321              Info(RIFF::List* list);              Info(RIFF::List* list);
# Line 323  namespace DLS { Line 324  namespace DLS {
324          private:          private:
325              RIFF::List* pResourceListChunk;              RIFF::List* pResourceListChunk;
326    
327              void LoadString(uint32_t ChunkID, RIFF::List* lstINFO, String& s);              static void LoadString(uint32_t ChunkID, RIFF::List* lstINFO, String& s);
328              void SaveString(uint32_t ChunkID, RIFF::List* lstINFO, const String& s, const String& sDefault, int size);              static void SaveString(uint32_t ChunkID, RIFF::List* lstINFO, const String& s, const String& sDefault, bool bUseFixedLengthStrings, int size);
329      };      };
330    
331      /** Abstract base class which encapsulates data structures which all DLS resources are able to provide. */      /** Abstract base class which encapsulates data structures which all DLS resources are able to provide. */
# Line 373  namespace DLS { Line 374  namespace DLS {
374       */       */
375      class Sample : public Resource {      class Sample : public Resource {
376          public:          public:
377              uint16_t      FormatTag;             ///< Format ID of the waveform data (should be WAVE_FORMAT_PCM for DLS1 compliant files, this is also the default value if Sample was created with Instrument::AddSample()).              uint16_t      FormatTag;             ///< Format ID of the waveform data (should be DLS_WAVE_FORMAT_PCM for DLS1 compliant files, this is also the default value if Sample was created with Instrument::AddSample()).
378              uint16_t      Channels;              ///< Number of channels represented in the waveform data, e.g. 1 for mono, 2 for stereo (defaults to 1=mono if Sample was created with Instrument::AddSample() previously).              uint16_t      Channels;              ///< Number of channels represented in the waveform data, e.g. 1 for mono, 2 for stereo (defaults to 1=mono if Sample was created with Instrument::AddSample() previously).
379              uint32_t      SamplesPerSecond;      ///< Sampling rate at which each channel should be played (defaults to 44100 if Sample was created with Instrument::AddSample() previously).              uint32_t      SamplesPerSecond;      ///< Sampling rate at which each channel should be played (defaults to 44100 if Sample was created with Instrument::AddSample() previously).
380              uint32_t      AverageBytesPerSecond; ///< The average number of bytes per second at which the waveform data should be transferred (Playback software can estimate the buffer size using this value).              uint32_t      AverageBytesPerSecond; ///< The average number of bytes per second at which the waveform data should be transferred (Playback software can estimate the buffer size using this value).

Legend:
Removed from v.918  
changed lines
  Added in v.1050

  ViewVC Help
Powered by ViewVC