From b96fa854e1845deb52a7918395ac337fc8b69560 Mon Sep 17 00:00:00 2001 From: Marcus Huderle Date: Thu, 8 Sep 2016 17:57:29 -0700 Subject: Use .aif files for programmable wave instruments. --- .gitignore | 2 +- Makefile | 2 +- data/music/programmable_wave_samples/84553BC.aif | Bin 0 -> 3170 bytes data/music/programmable_wave_samples/84553BC.pcm | 1 - data/music/programmable_wave_samples/84553CC.aif | Bin 0 -> 3170 bytes data/music/programmable_wave_samples/84553CC.pcm | 1 - data/music/programmable_wave_samples/84553DC.aif | Bin 0 -> 3170 bytes data/music/programmable_wave_samples/84553DC.pcm | 1 - data/music/programmable_wave_samples/84553EC.aif | Bin 0 -> 3170 bytes data/music/programmable_wave_samples/84553EC.pcm | 1 - data/music/programmable_wave_samples/84553FC.aif | Bin 0 -> 3170 bytes data/music/programmable_wave_samples/84553FC.pcm | 1 - data/music/programmable_wave_samples/845540C.aif | Bin 0 -> 3170 bytes data/music/programmable_wave_samples/845540C.pcm | 1 - data/music/programmable_wave_samples/845541C.aif | Bin 0 -> 3170 bytes data/music/programmable_wave_samples/845541C.pcm | Bin 16 -> 0 bytes data/music/programmable_wave_samples/845542C.aif | Bin 0 -> 3170 bytes data/music/programmable_wave_samples/845542C.pcm | 1 - data/music/programmable_wave_samples/845543C.aif | Bin 0 -> 3170 bytes data/music/programmable_wave_samples/845543C.pcm | Bin 16 -> 0 bytes data/music/programmable_wave_samples/845544C.aif | Bin 0 -> 3170 bytes data/music/programmable_wave_samples/845544C.pcm | 1 - tools/aif2pcm/main.c | 11 ++++++++--- 23 files changed, 10 insertions(+), 13 deletions(-) create mode 100644 data/music/programmable_wave_samples/84553BC.aif delete mode 100644 data/music/programmable_wave_samples/84553BC.pcm create mode 100644 data/music/programmable_wave_samples/84553CC.aif delete mode 100644 data/music/programmable_wave_samples/84553CC.pcm create mode 100644 data/music/programmable_wave_samples/84553DC.aif delete mode 100644 data/music/programmable_wave_samples/84553DC.pcm create mode 100644 data/music/programmable_wave_samples/84553EC.aif delete mode 100644 data/music/programmable_wave_samples/84553EC.pcm create mode 100644 data/music/programmable_wave_samples/84553FC.aif delete mode 100644 data/music/programmable_wave_samples/84553FC.pcm create mode 100644 data/music/programmable_wave_samples/845540C.aif delete mode 100644 data/music/programmable_wave_samples/845540C.pcm create mode 100644 data/music/programmable_wave_samples/845541C.aif delete mode 100644 data/music/programmable_wave_samples/845541C.pcm create mode 100644 data/music/programmable_wave_samples/845542C.aif delete mode 100644 data/music/programmable_wave_samples/845542C.pcm create mode 100644 data/music/programmable_wave_samples/845543C.aif delete mode 100644 data/music/programmable_wave_samples/845543C.pcm create mode 100644 data/music/programmable_wave_samples/845544C.aif delete mode 100644 data/music/programmable_wave_samples/845544C.pcm 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 Binary files /dev/null and b/data/music/programmable_wave_samples/84553BC.aif 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 Binary files /dev/null and b/data/music/programmable_wave_samples/84553CC.aif 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 Binary files /dev/null and b/data/music/programmable_wave_samples/84553DC.aif 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 Binary files /dev/null and b/data/music/programmable_wave_samples/84553EC.aif 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 Binary files /dev/null and b/data/music/programmable_wave_samples/84553FC.aif 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 Binary files /dev/null and b/data/music/programmable_wave_samples/845540C.aif 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 Binary files /dev/null and b/data/music/programmable_wave_samples/845541C.aif 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 Binary files a/data/music/programmable_wave_samples/845541C.pcm and /dev/null 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 Binary files /dev/null and b/data/music/programmable_wave_samples/845542C.aif 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 Binary files /dev/null and b/data/music/programmable_wave_samples/845543C.aif 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 Binary files a/data/music/programmable_wave_samples/845543C.pcm and /dev/null 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 Binary files /dev/null and b/data/music/programmable_wave_samples/845544C.aif 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); -- cgit v1.2.3