<feed xmlns='http://www.w3.org/2005/Atom'>
<title>oot/tools/audio/audio_tablegen.c, branch main</title>
<subtitle>Decompilation of The Legend of Zelda: Ocarina of Time</subtitle>
<link rel='alternate' type='text/html' href='https://git.dog6.net/oot/'/>
<entry>
<title>Allow `atblgen` to process `sequence_order.in` with empty lines in between lines for building on Macos (#2718)</title>
<updated>2026-03-09T20:04:17+00:00</updated>
<author>
<name>Anghelo Carvajal</name>
<email>angheloalf95@gmail.com</email>
</author>
<published>2026-03-09T20:04:17+00:00</published>
<link rel='alternate' type='text/html' href='https://git.dog6.net/oot/commit/?id=bc6d153a21e3fc7a729ea2154f2ff16111d5e704'/>
<id>bc6d153a21e3fc7a729ea2154f2ff16111d5e704</id>
<content type='text'>
The present changes are a direct copy-paste from https://github.com/zeldaret/mm/pull/1850

This fixes building on macos due to a kinda specific issue with Apple clang.

When trying to build on Macos (specifically MacOS 12, Monteray with Apple clang 13.0.0 (clang-1300.0.29.30), idk if other versions have this issue too) `make` stops with the following error from `atblgen`:
```
Failed to match line 1: ""
regexec error: "regexec() failed to match"
Error: Malformed build/n64-us/assets/audio/sequence_order.in?
```

`atblgen` makes the assumption that the `sequence_order.in` file has no extra data, spaces, empty lines, etc. but the file somehow ends up having empty lines between each line on macos.

This file is created by using the C preprocessor to process `include/tables/sequence_table.h`.
In normal circumstances this file should look like this snip,
```
(Sequence_0,NA_BGM_GENERAL_SFX)
(Sequence_1,NA_BGM_AMBIENCE)
(Sequence_2,NA_BGM_TERMINA_FIELD)
(Sequence_3,NA_BGM_CHASE)
(Sequence_4,NA_BGM_MAJORAS_THEME)
```
but it ends up looking like this instead
```
(Sequence_0,NA_BGM_GENERAL_SFX)

(Sequence_1,NA_BGM_AMBIENCE)

(Sequence_2,NA_BGM_TERMINA_FIELD)

(Sequence_3,NA_BGM_CHASE)

(Sequence_4,NA_BGM_MAJORAS_THEME)
```
which `atblgen` doesn't like.

I believe this happens because there are lines with comments between each macro in [`sequence_table.h`](https://github.com/zeldaret/mm/blob/0877ce4adf28a8e73e05c3c58682273b8bf28749/include/tables/sequence_table.h) and for some reason this Apple clang version decided to preserve those empty lines

The fix just makes `atblgen` skip empty lines.

I threw `atblgen` to valgrind to check the fix was working as intended and noted a bunch of memory that was being free before exit, so I fixed them.

I also noted the tools/audio makefile was not using `OPTFLAGS` when building those tools, so I fixed that too.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The present changes are a direct copy-paste from https://github.com/zeldaret/mm/pull/1850

This fixes building on macos due to a kinda specific issue with Apple clang.

When trying to build on Macos (specifically MacOS 12, Monteray with Apple clang 13.0.0 (clang-1300.0.29.30), idk if other versions have this issue too) `make` stops with the following error from `atblgen`:
```
Failed to match line 1: ""
regexec error: "regexec() failed to match"
Error: Malformed build/n64-us/assets/audio/sequence_order.in?
```

`atblgen` makes the assumption that the `sequence_order.in` file has no extra data, spaces, empty lines, etc. but the file somehow ends up having empty lines between each line on macos.

This file is created by using the C preprocessor to process `include/tables/sequence_table.h`.
In normal circumstances this file should look like this snip,
```
(Sequence_0,NA_BGM_GENERAL_SFX)
(Sequence_1,NA_BGM_AMBIENCE)
(Sequence_2,NA_BGM_TERMINA_FIELD)
(Sequence_3,NA_BGM_CHASE)
(Sequence_4,NA_BGM_MAJORAS_THEME)
```
but it ends up looking like this instead
```
(Sequence_0,NA_BGM_GENERAL_SFX)

(Sequence_1,NA_BGM_AMBIENCE)

(Sequence_2,NA_BGM_TERMINA_FIELD)

(Sequence_3,NA_BGM_CHASE)

(Sequence_4,NA_BGM_MAJORAS_THEME)
```
which `atblgen` doesn't like.

I believe this happens because there are lines with comments between each macro in [`sequence_table.h`](https://github.com/zeldaret/mm/blob/0877ce4adf28a8e73e05c3c58682273b8bf28749/include/tables/sequence_table.h) and for some reason this Apple clang version decided to preserve those empty lines

The fix just makes `atblgen` skip empty lines.

I threw `atblgen` to valgrind to check the fix was working as intended and noted a bunch of memory that was being free before exit, so I fixed them.

I also noted the tools/audio makefile was not using `OPTFLAGS` when building those tools, so I fixed that too.</pre>
</div>
</content>
</entry>
<entry>
<title>[Audio 10/10] Loose ends (#2337)</title>
<updated>2024-12-14T00:26:36+00:00</updated>
<author>
<name>Tharo</name>
<email>17233964+Thar0@users.noreply.github.com</email>
</author>
<published>2024-12-14T00:26:36+00:00</published>
<link rel='alternate' type='text/html' href='https://git.dog6.net/oot/commit/?id=df5d4cb4673bc74d1e2f4d11cf6f5fe8376cd1df'/>
<id>df5d4cb4673bc74d1e2f4d11cf6f5fe8376cd1df</id>
<content type='text'>
* Introduce afile_sizes, generate headers of sizes for soundfonts and sequences

* Initial tools/audio README

* Versioning for samplebank extraction

* Clean up the disassemble_sequence.py runnable interface

* Add static assertions for maximum bank sizes

* Boost optimization for audio tools

* Samplebank XML doc

* Soundfont XML doc

* More docs in sampleconv for vadpcm

* Various tools fixes/cleanup

* VADPCM doc

* Try to fix md formatting

* VADPCM doc can come later

* Fix merge with PR 9

* Fix blobs from MM

* Try to fix bss

* Try fix bss round 2

* Fix sampleconv memset bug

* Suggested documentation tweaks</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* Introduce afile_sizes, generate headers of sizes for soundfonts and sequences

* Initial tools/audio README

* Versioning for samplebank extraction

* Clean up the disassemble_sequence.py runnable interface

* Add static assertions for maximum bank sizes

* Boost optimization for audio tools

* Samplebank XML doc

* Soundfont XML doc

* More docs in sampleconv for vadpcm

* Various tools fixes/cleanup

* VADPCM doc

* Try to fix md formatting

* VADPCM doc can come later

* Fix merge with PR 9

* Fix blobs from MM

* Try to fix bss

* Try fix bss round 2

* Fix sampleconv memset bug

* Suggested documentation tweaks</pre>
</div>
</content>
</entry>
<entry>
<title>[Audio 8/?] Check-in handwritten sequences, build sequences, automate various sfx arrays (#2137)</title>
<updated>2024-09-15T22:26:27+00:00</updated>
<author>
<name>Tharo</name>
<email>17233964+Thar0@users.noreply.github.com</email>
</author>
<published>2024-09-15T22:26:27+00:00</published>
<link rel='alternate' type='text/html' href='https://git.dog6.net/oot/commit/?id=dbbeb656f8634c3aec9308eeb9555babd3e3a57d'/>
<id>dbbeb656f8634c3aec9308eeb9555babd3e3a57d</id>
<content type='text'>
* [Audio 8/?] Check-in handwritten sequences, build sequences, automate various sfx arrays

* Fix whitespace in aseq.h

* Fix sequence 0 sfx id generator

* Suggested changes, adjust some MML syntax and add more instruction descriptions

* Correct some formatting in aseq.h

* Add the dir of the input .seq file to the list of includes to sequence assembling so that assembler-level includes like .include or .incbin work intuitively

* aseq.h tweaks

* MM review suggestions, aseq.h adjustments</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* [Audio 8/?] Check-in handwritten sequences, build sequences, automate various sfx arrays

* Fix whitespace in aseq.h

* Fix sequence 0 sfx id generator

* Suggested changes, adjust some MML syntax and add more instruction descriptions

* Correct some formatting in aseq.h

* Add the dir of the input .seq file to the list of includes to sequence assembling so that assembler-level includes like .include or .incbin work intuitively

* aseq.h tweaks

* MM review suggestions, aseq.h adjustments</pre>
</div>
</content>
</entry>
<entry>
<title>[Audio 6/?] Build Soundfonts and the Soundfont Table (#2056)</title>
<updated>2024-08-28T01:09:59+00:00</updated>
<author>
<name>Tharo</name>
<email>17233964+Thar0@users.noreply.github.com</email>
</author>
<published>2024-08-28T01:09:59+00:00</published>
<link rel='alternate' type='text/html' href='https://git.dog6.net/oot/commit/?id=aa97586659dbd24174258e0437ab9411a9747d3d'/>
<id>aa97586659dbd24174258e0437ab9411a9747d3d</id>
<content type='text'>
* [Audio 6/?] Build Soundfonts and the Soundfont Table

* Improve lots of error messages

* First suggested changes

* Make audio build debugging more friendly

Co-authored-by: Dragorn421 &lt;Dragorn421@users.noreply.github.com&gt;

* Some fixes from MM review

* Make soundfont_table.h generation depend on the samplebank xmls since they are read, report from which soundfont the invalid pointer indirect warning originates from

---------

Co-authored-by: Dragorn421 &lt;Dragorn421@users.noreply.github.com&gt;</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* [Audio 6/?] Build Soundfonts and the Soundfont Table

* Improve lots of error messages

* First suggested changes

* Make audio build debugging more friendly

Co-authored-by: Dragorn421 &lt;Dragorn421@users.noreply.github.com&gt;

* Some fixes from MM review

* Make soundfont_table.h generation depend on the samplebank xmls since they are read, report from which soundfont the invalid pointer indirect warning originates from

---------

Co-authored-by: Dragorn421 &lt;Dragorn421@users.noreply.github.com&gt;</pre>
</div>
</content>
</entry>
<entry>
<title>[Audio 5/?] Build the Samplebank Table (#2044)</title>
<updated>2024-08-17T21:42:15+00:00</updated>
<author>
<name>Tharo</name>
<email>17233964+Thar0@users.noreply.github.com</email>
</author>
<published>2024-08-17T21:42:15+00:00</published>
<link rel='alternate' type='text/html' href='https://git.dog6.net/oot/commit/?id=ba5574be6d151c8f332ba2469906538e3a7bfcae'/>
<id>ba5574be6d151c8f332ba2469906538e3a7bfcae</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
</feed>
