Don't like ads? PRO users don't see any ads ;-)
Guest

Untitled

By: a guest on Jul 11th, 2012  |  syntax: None  |  size: 1.52 KB  |  hits: 23  |  expires: Never
download  |  raw  |  embed  |  report abuse  |  print
Text below is selected. Please press Ctrl+C to copy to your clipboard. (⌘+C on Mac)
  1. class AudioData {
  2. private:
  3.     unsigned char *samples;
  4.     int byteOrder;
  5.     long size;
  6.     int sRate;
  7.     bool stereo;
  8. public:
  9.     TrackInformation info;
  10.     AudioData() : samples(0), size(0), sRate(0), stereo(false) {}
  11.     ~AudioData() {
  12.         delete[] samples;
  13.     }
  14.     // size is number of samples (half the number of bytes)
  15.     void setData(unsigned char*_samples, int _byteOrder, long _size,
  16.                  int _sRate, bool _stereo, int _ms, string _fmt) {
  17.         samples = _samples;
  18.         byteOrder = _byteOrder;
  19.         size = _size;
  20.         sRate = _sRate;
  21.         stereo = _stereo;
  22.         // These two fields are used later for the protocol layer
  23.         info.setLengthInMS(_ms);
  24.         info.setFormat(_fmt);
  25.     }
  26.     int getByteOrder() const { return byteOrder; }
  27.     long getSize() const { return size; }
  28.     int getSRate() const { return sRate; }
  29.     bool getStereo() const { return stereo; }
  30.     bool createPrint() {
  31.         printf("samples: %s byteOrder: %i size: %ld sRate: %i stereo: %i ",samples,byteOrder,size,sRate,stereo);
  32.         const char *print = (samples, byteOrder, size, sRate, stereo);
  33.         if (!print)
  34.             return false;
  35.         info.setPrint(print);
  36.         return true;
  37.     }
  38.     // Get your unique key at http://www.musicdns.org
  39.     TrackInformation *getMetadata(string client_key, string client_version,
  40.             bool metadataFlag)
  41.     {
  42.         if (!retrieve_metadata(client_key, client_version, &info, metadataFlag))
  43.             return 0;
  44.         return &info;
  45.     }
  46. };