summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMarcus Huderle <huderlem@gmail.com>2016-09-08 17:57:29 -0700
committerMarcus Huderle <huderlem@gmail.com>2016-09-08 17:57:29 -0700
commitb96fa854e1845deb52a7918395ac337fc8b69560 (patch)
tree372abe5dab904ec2466dc668f401643c87bb01ef
parent9bc34addc5bc5b7820095f4cadad21e0c25c6404 (diff)
Use .aif files for programmable wave instruments.
-rw-r--r--.gitignore2
-rw-r--r--Makefile2
-rw-r--r--data/music/programmable_wave_samples/84553BC.aifbin0 -> 3170 bytes
-rw-r--r--data/music/programmable_wave_samples/84553BC.pcm1
-rw-r--r--data/music/programmable_wave_samples/84553CC.aifbin0 -> 3170 bytes
-rw-r--r--data/music/programmable_wave_samples/84553CC.pcm1
-rw-r--r--data/music/programmable_wave_samples/84553DC.aifbin0 -> 3170 bytes
-rw-r--r--data/music/programmable_wave_samples/84553DC.pcm1
-rw-r--r--data/music/programmable_wave_samples/84553EC.aifbin0 -> 3170 bytes
-rw-r--r--data/music/programmable_wave_samples/84553EC.pcm1
-rw-r--r--data/music/programmable_wave_samples/84553FC.aifbin0 -> 3170 bytes
-rw-r--r--data/music/programmable_wave_samples/84553FC.pcm1
-rw-r--r--data/music/programmable_wave_samples/845540C.aifbin0 -> 3170 bytes
-rw-r--r--data/music/programmable_wave_samples/845540C.pcm1
-rw-r--r--data/music/programmable_wave_samples/845541C.aifbin0 -> 3170 bytes
-rw-r--r--data/music/programmable_wave_samples/845541C.pcmbin16 -> 0 bytes
-rw-r--r--data/music/programmable_wave_samples/845542C.aifbin0 -> 3170 bytes
-rw-r--r--data/music/programmable_wave_samples/845542C.pcm1
-rw-r--r--data/music/programmable_wave_samples/845543C.aifbin0 -> 3170 bytes
-rw-r--r--data/music/programmable_wave_samples/845543C.pcmbin16 -> 0 bytes
-rw-r--r--data/music/programmable_wave_samples/845544C.aifbin0 -> 3170 bytes
-rw-r--r--data/music/programmable_wave_samples/845544C.pcm1
-rw-r--r--tools/aif2pcm/main.c11
23 files changed, 10 insertions, 13 deletions
diff --git a/.gitignore b/.gitignore
index 01f43cd36..4f045c6df 100644
--- a/.gitignore
+++ b/.gitignore
@@ -13,7 +13,7 @@
*.latfont
*.hwjpnfont
*.fwjpnfont
-data/music/direct_sound_samples/*.bin
+data/music/**/*.bin
pokeas
pokeld
pokeobjcopy
diff --git a/Makefile b/Makefile
index 94a709b34..4b205c7dc 100644
--- a/Makefile
+++ b/Makefile
@@ -68,7 +68,7 @@ compare: both
clean:
rm -f $(ROM) $(ELF) $(OBJS) $(pokeruby_OBJS) $(pokesapphire_OBJS) $(C_SRCS:%.c=%.i) pokeruby.map pokesapphire.map
- rm -f data/music/direct_sound_samples/*.pcm data/music/direct_sound_samples/*.bin
+ rm -f data/music/direct_sound_samples/**/*.pcm data/music/**/*.bin
find . \( -iname '*.1bpp' -o -iname '*.4bpp' -o -iname '*.8bpp' -o -iname '*.gbapal' -o -iname '*.lz' -o -iname '*.rl' \) -exec rm {} +
tidy:
diff --git a/data/music/programmable_wave_samples/84553BC.aif b/data/music/programmable_wave_samples/84553BC.aif
new file mode 100644
index 000000000..301c7cd81
--- /dev/null
+++ b/data/music/programmable_wave_samples/84553BC.aif
Binary files differ
diff --git a/data/music/programmable_wave_samples/84553BC.pcm b/data/music/programmable_wave_samples/84553BC.pcm
deleted file mode 100644
index a0ca8fed9..000000000
--- a/data/music/programmable_wave_samples/84553BC.pcm
+++ /dev/null
@@ -1 +0,0 @@
-%ŠÞþÉc%ŠÞþÉc \ No newline at end of file
diff --git a/data/music/programmable_wave_samples/84553CC.aif b/data/music/programmable_wave_samples/84553CC.aif
new file mode 100644
index 000000000..b2e48c383
--- /dev/null
+++ b/data/music/programmable_wave_samples/84553CC.aif
Binary files differ
diff --git a/data/music/programmable_wave_samples/84553CC.pcm b/data/music/programmable_wave_samples/84553CC.pcm
deleted file mode 100644
index 25be9c018..000000000
--- a/data/music/programmable_wave_samples/84553CC.pcm
+++ /dev/null
@@ -1 +0,0 @@
-FŠÎý¹u1FŠÎý¹u1 \ No newline at end of file
diff --git a/data/music/programmable_wave_samples/84553DC.aif b/data/music/programmable_wave_samples/84553DC.aif
new file mode 100644
index 000000000..100baa99c
--- /dev/null
+++ b/data/music/programmable_wave_samples/84553DC.aif
Binary files differ
diff --git a/data/music/programmable_wave_samples/84553DC.pcm b/data/music/programmable_wave_samples/84553DC.pcm
deleted file mode 100644
index 5d9585aca..000000000
--- a/data/music/programmable_wave_samples/84553DC.pcm
+++ /dev/null
@@ -1 +0,0 @@
-þܺ˜vT2þܺ˜vT2 \ No newline at end of file
diff --git a/data/music/programmable_wave_samples/84553EC.aif b/data/music/programmable_wave_samples/84553EC.aif
new file mode 100644
index 000000000..8d3266c0b
--- /dev/null
+++ b/data/music/programmable_wave_samples/84553EC.aif
Binary files differ
diff --git a/data/music/programmable_wave_samples/84553EC.pcm b/data/music/programmable_wave_samples/84553EC.pcm
deleted file mode 100644
index 25ff1b371..000000000
--- a/data/music/programmable_wave_samples/84553EC.pcm
+++ /dev/null
@@ -1 +0,0 @@
-ý¹ˆˆwwe1ý¹ˆˆwwe1 \ No newline at end of file
diff --git a/data/music/programmable_wave_samples/84553FC.aif b/data/music/programmable_wave_samples/84553FC.aif
new file mode 100644
index 000000000..6d08430bb
--- /dev/null
+++ b/data/music/programmable_wave_samples/84553FC.aif
Binary files differ
diff --git a/data/music/programmable_wave_samples/84553FC.pcm b/data/music/programmable_wave_samples/84553FC.pcm
deleted file mode 100644
index d0b69f04a..000000000
--- a/data/music/programmable_wave_samples/84553FC.pcm
+++ /dev/null
@@ -1 +0,0 @@
-ŒÊ†ÿíC!ŒÊ†ÿíC! \ No newline at end of file
diff --git a/data/music/programmable_wave_samples/845540C.aif b/data/music/programmable_wave_samples/845540C.aif
new file mode 100644
index 000000000..3db2b5d74
--- /dev/null
+++ b/data/music/programmable_wave_samples/845540C.aif
Binary files differ
diff --git a/data/music/programmable_wave_samples/845540C.pcm b/data/music/programmable_wave_samples/845540C.pcm
deleted file mode 100644
index d0fa1932d..000000000
--- a/data/music/programmable_wave_samples/845540C.pcm
+++ /dev/null
@@ -1 +0,0 @@
-ÿÿþ†CFŽÿÿþ†CFŽ \ No newline at end of file
diff --git a/data/music/programmable_wave_samples/845541C.aif b/data/music/programmable_wave_samples/845541C.aif
new file mode 100644
index 000000000..c748efda8
--- /dev/null
+++ b/data/music/programmable_wave_samples/845541C.aif
Binary files differ
diff --git a/data/music/programmable_wave_samples/845541C.pcm b/data/music/programmable_wave_samples/845541C.pcm
deleted file mode 100644
index 81afd79c5..000000000
--- a/data/music/programmable_wave_samples/845541C.pcm
+++ /dev/null
Binary files differ
diff --git a/data/music/programmable_wave_samples/845542C.aif b/data/music/programmable_wave_samples/845542C.aif
new file mode 100644
index 000000000..a17403408
--- /dev/null
+++ b/data/music/programmable_wave_samples/845542C.aif
Binary files differ
diff --git a/data/music/programmable_wave_samples/845542C.pcm b/data/music/programmable_wave_samples/845542C.pcm
deleted file mode 100644
index f5e51d5a9..000000000
--- a/data/music/programmable_wave_samples/845542C.pcm
+++ /dev/null
@@ -1 +0,0 @@
-g‰«È˜–VTg‰«È˜–VT \ No newline at end of file
diff --git a/data/music/programmable_wave_samples/845543C.aif b/data/music/programmable_wave_samples/845543C.aif
new file mode 100644
index 000000000..4c15c20e5
--- /dev/null
+++ b/data/music/programmable_wave_samples/845543C.aif
Binary files differ
diff --git a/data/music/programmable_wave_samples/845543C.pcm b/data/music/programmable_wave_samples/845543C.pcm
deleted file mode 100644
index 0d7192617..000000000
--- a/data/music/programmable_wave_samples/845543C.pcm
+++ /dev/null
Binary files differ
diff --git a/data/music/programmable_wave_samples/845544C.aif b/data/music/programmable_wave_samples/845544C.aif
new file mode 100644
index 000000000..c7a12fc85
--- /dev/null
+++ b/data/music/programmable_wave_samples/845544C.aif
Binary files differ
diff --git a/data/music/programmable_wave_samples/845544C.pcm b/data/music/programmable_wave_samples/845544C.pcm
deleted file mode 100644
index 2aae22d26..000000000
--- a/data/music/programmable_wave_samples/845544C.pcm
+++ /dev/null
@@ -1 +0,0 @@
-&8J\ZH6&8J\ZH6 \ No newline at end of file
diff --git a/tools/aif2pcm/main.c b/tools/aif2pcm/main.c
index b1bdf7a98..b834b984a 100644
--- a/tools/aif2pcm/main.c
+++ b/tools/aif2pcm/main.c
@@ -152,7 +152,6 @@ AifData *read_aif(char * aif_file_data, unsigned long aif_file_data_size)
double sample_rate = ieee754_read_extended((unsigned char*)(aif_file_data + pos));
pos += 10;
- aif_data->num_samples = num_sample_frames;
aif_data->sample_rate = sample_rate;
}
else if (strcmp(chunk_name, "MARK") == 0)
@@ -184,6 +183,10 @@ AifData *read_aif(char * aif_file_data, unsigned long aif_file_data_size)
{
loop_start = marker_position;
}
+ else if (strcmp(marker_name, "END") == 0)
+ {
+ aif_data->num_samples = marker_position;
+ }
free(marker_name);
}
@@ -224,12 +227,12 @@ AifData *read_aif(char * aif_file_data, unsigned long aif_file_data_size)
void aif2pcm(const char *aif_filename)
{
// Get .pcm filename.
- char pcm_filename[strlen(aif_filename)];
+ char pcm_filename[strlen(aif_filename) + 1];
strcpy(pcm_filename, aif_filename);
change_file_extension(pcm_filename, "pcm");
// Get .metadata filename.
- char metadata_filename[strlen(aif_filename)];
+ char metadata_filename[strlen(aif_filename) + 1];
strcpy(metadata_filename, aif_filename);
change_file_extension(metadata_filename, "bin");
@@ -275,6 +278,8 @@ void aif2pcm(const char *aif_filename)
unsigned long pitch_adjust = (unsigned long)(aif_data->sample_rate * 1024);
fwrite(&pitch_adjust, sizeof(unsigned long), 1, metadata_file);
fwrite(&(aif_data->loop_offset), sizeof(unsigned long), 1, metadata_file);
+ unsigned long adjusted_num_samples = aif_data->num_samples - 1;
+ fwrite(&adjusted_num_samples, sizeof(unsigned long), 1, metadata_file);
fclose(metadata_file);
free(aif_data->samples);