aboutsummaryrefslogtreecommitdiff
path: root/src/plugins/Input/modplug/modplug.pro
Commit message (Collapse)AuthorAgeFilesLines
* prepare for Spanish translationtrialuser022010-08-201-1/+2
| | | | git-svn-id: http://svn.code.sf.net/p/qmmp-dev/code/trunk/qmmp@1839 90c681e8-e032-0410-971d-27865f9a5e38
* prepare for Japanese translationtrialuser022010-08-201-1/+2
| | | | git-svn-id: http://svn.code.sf.net/p/qmmp-dev/code/trunk/qmmp@1837 90c681e8-e032-0410-971d-27865f9a5e38
* added Dutch translation (author: Ronald ronald645 AT gmail.com)trialuser022010-05-281-1/+3
| | | | git-svn-id: http://svn.code.sf.net/p/qmmp-dev/code/trunk/qmmp@1751 90c681e8-e032-0410-971d-27865f9a5e38
* enabled modplug supporttrialuser022009-09-291-34/+29
| | | | git-svn-id: http://svn.code.sf.net/p/qmmp-dev/code/trunk/qmmp@1268 90c681e8-e032-0410-971d-27865f9a5e38
* added Lithuanian translation (author: Algirdas Butkus)trialuser022009-07-271-1/+2
| | | | git-svn-id: http://svn.code.sf.net/p/qmmp-dev/code/trunk/qmmp@1076 90c681e8-e032-0410-971d-27865f9a5e38
* updated Turkish translation (author: Bilgesu Güngör)trialuser022009-07-231-1/+2
| | | | git-svn-id: http://svn.code.sf.net/p/qmmp-dev/code/trunk/qmmp@1070 90c681e8-e032-0410-971d-27865f9a5e38
* added Italian translation (author: Gian Paolo)trialuser022009-05-121-1/+2
| | | | git-svn-id: http://svn.code.sf.net/p/qmmp-dev/code/trunk/qmmp@945 90c681e8-e032-0410-971d-27865f9a5e38
* updated Polish translation (Grzegorz Gibas)trialuser022009-04-031-0/+1
| | | | git-svn-id: http://svn.code.sf.net/p/qmmp-dev/code/trunk/qmmp@887 90c681e8-e032-0410-971d-27865f9a5e38
* fixed modplug definestrialuser022008-11-121-1/+1
| | | | git-svn-id: http://svn.code.sf.net/p/qmmp-dev/code/trunk/qmmp@615 90c681e8-e032-0410-971d-27865f9a5e38
* updated Ukrainian translation (author: Gennadi Motsyo)trialuser022008-06-151-1/+2
| | | | git-svn-id: http://svn.code.sf.net/p/qmmp-dev/code/trunk/qmmp@417 90c681e8-e032-0410-971d-27865f9a5e38
* updated Russian translationtrialuser022008-06-141-1/+2
| | | | git-svn-id: http://svn.code.sf.net/p/qmmp-dev/code/trunk/qmmp@413 90c681e8-e032-0410-971d-27865f9a5e38
* updated Chinese Traditional Translation (author: lon)trialuser022008-06-131-1/+2
| | | | git-svn-id: http://svn.code.sf.net/p/qmmp-dev/code/trunk/qmmp@410 90c681e8-e032-0410-971d-27865f9a5e38
* updated Chinese Simplified Translation (author: lon)trialuser022008-06-131-1/+2
| | | | git-svn-id: http://svn.code.sf.net/p/qmmp-dev/code/trunk/qmmp@409 90c681e8-e032-0410-971d-27865f9a5e38
* updated Chezh translation (author: Karel Volny)trialuser022008-05-141-2/+3
| | | | git-svn-id: http://svn.code.sf.net/p/qmmp-dev/code/trunk/qmmp@370 90c681e8-e032-0410-971d-27865f9a5e38
* added *.ts filestrialuser022008-05-081-1/+1
| | | | git-svn-id: http://svn.code.sf.net/p/qmmp-dev/code/trunk/qmmp@367 90c681e8-e032-0410-971d-27865f9a5e38
* added modplug plugintrialuser022008-04-211-0/+37
git-svn-id: http://svn.code.sf.net/p/qmmp-dev/code/trunk/qmmp@348 90c681e8-e032-0410-971d-27865f9a5e38
s="hl kwb">int Opus::Properties::bitrate() const { return 0; } int Opus::Properties::sampleRate() const { // Opus can decode any stream at a sample rate of 8, 12, 16, 24, or 48 kHz, // so there is no single sample rate. Let's assume it's the highest // possible. return 48000; } int Opus::Properties::channels() const { return d->channels; } int Opus::Properties::inputSampleRate() const { return d->inputSampleRate; } int Opus::Properties::opusVersion() const { return d->opusVersion; } //////////////////////////////////////////////////////////////////////////////// // private members //////////////////////////////////////////////////////////////////////////////// void Opus::Properties::read() { // Get the identification header from the Ogg implementation. // http://tools.ietf.org/html/draft-terriberry-oggopus-01#section-5.1 ByteVector data = d->file->packet(0); // *Magic Signature* int pos = 8; // *Version* (8 bits, unsigned) d->opusVersion = uchar(data.at(pos)); pos += 1; // *Output Channel Count* 'C' (8 bits, unsigned) d->channels = uchar(data.at(pos)); pos += 1; // *Pre-skip* (16 bits, unsigned, little endian) ushort preSkip = data.mid(pos, 2).toUShort(false); pos += 2; // *Input Sample Rate* (32 bits, unsigned, little endian) d->inputSampleRate = data.mid(pos, 4).toUInt(false); pos += 4; // *Output Gain* (16 bits, signed, little endian) pos += 2; // *Channel Mapping Family* (8 bits, unsigned) pos += 1; const Ogg::PageHeader *first = d->file->firstPageHeader(); const Ogg::PageHeader *last = d->file->lastPageHeader(); if(first && last) { long long start = first->absoluteGranularPosition(); long long end = last->absoluteGranularPosition(); if(start >= 0 && end >= 0) d->length = (int) ((end - start - preSkip) / 48000); else { debug("Opus::Properties::read() -- The PCM values for the start or " "end of this file was incorrect."); } } else debug("Opus::Properties::read() -- Could not find valid first and last Ogg pages."); }