summaryrefslogtreecommitdiff
path: root/ptfformat.cc
diff options
context:
space:
mode:
Diffstat (limited to 'ptfformat.cc')
-rw-r--r--ptfformat.cc64
1 files changed, 23 insertions, 41 deletions
diff --git a/ptfformat.cc b/ptfformat.cc
index 2da6de3..5163ad0 100644
--- a/ptfformat.cc
+++ b/ptfformat.cc
@@ -209,23 +209,20 @@ PTFFormat::parse(void) {
this->version = ptfunxored[61];
if (this->version == 8) {
- parse8();
+ parse8header();
+ parserest();
} else if (this->version == 9) {
- parse8();
+ parse9header();
+ parserest();
} else {
// Should not occur
}
}
void
-PTFFormat::parse9(void)
-{
-/*
- int i;
- int j;
- int l;
-*/
+PTFFormat::parse8header(void) {
int k;
+
// Find session sample rate
k = 0;
while (k < len) {
@@ -235,51 +232,36 @@ PTFFormat::parse9(void)
}
k++;
}
- this->sessionrate = ptfunxored[k+11];
- switch (this->sessionrate) {
- case SR44100:
- this->sessionrate = 44100;
- break;
- case SR48000:
- this->sessionrate = 48000;
- break;
- case SR88200:
- this->sessionrate = 88200;
- break;
- case SR96000:
- this->sessionrate = 96000;
- break;
- case SR176400:
- this->sessionrate = 176400;
- break;
- case SR192000:
- this->sessionrate = 192000;
- break;
- default:
- this->sessionrate = 0;
- break;
- }
+ this->sessionrate = 0;
+ this->sessionrate |= ptfunxored[k+11];
+ this->sessionrate |= ptfunxored[k+12] << 8;
+ this->sessionrate |= ptfunxored[k+13] << 16;
}
-
void
-PTFFormat::parse8(void) {
- int i;
- int j;
+PTFFormat::parse9header(void)
+{
int k;
- int l;
+
// Find session sample rate
- k = 0;
+ k = 0x100;
while (k < len) {
if ( (ptfunxored[k ] == 0x5a) &&
- (ptfunxored[k+1] == 0x05)) {
+ (ptfunxored[k+1] == 0x06)) {
break;
}
k++;
}
+
this->sessionrate = 0;
this->sessionrate |= ptfunxored[k+11];
this->sessionrate |= ptfunxored[k+12] << 8;
this->sessionrate |= ptfunxored[k+13] << 16;
+}
+
+void
+PTFFormat::parserest(void)
+{
+ int i,j,k,l;
// Find end of wav file list
while (k < len) {
@@ -325,7 +307,7 @@ PTFFormat::parse8(void) {
numberofwavs |= (uint32_t)(ptfunxored[j-3] << 16);
numberofwavs |= (uint32_t)(ptfunxored[j-4] << 8);
numberofwavs |= (uint32_t)(ptfunxored[j-5]);
- printf("%d wavs\n", numberofwavs);
+ //printf("%d wavs\n", numberofwavs);
break;
}
k--;