New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[WIP] soundfile meta data read/write #897
Conversation
Things to figure out:
|
Arggg. Apple's Logic X saves loop information via proprietary chunks instead of the documented instrument or smaller chunks. :P UPDATE: It seems Logic just uses Markers for this instead of the INST chunk and this is consistent between AIFF, WAVE, and CAF. At least this isn't completely hidden in a non-standard way, so dumping marker info should make it possible to edit loop positions in Logic and reading them in Pd; vice-versa when writing marker positions as long as the name matches what Logic expects. I'd say that can be an exercise left to the user. Older devices like hardware samples probably use the INSTRUMENT chunk, I just can't find any example files with this info yet. |
As for the post/error on the background thread, this can probably be solved by adding an optional I can also change the verbose soundfile header posts to |
I was wrong about this. I now have AIFF loop point reading via the INST and MARK chunks. This seems to be consistent between the files I created and test files I have been sent. I also added COMT chunk extended comment text reading. Another reason to avoid adding meta write support in the end: |
Latest commits add WAVE instrument, sampler (loop points), and info string meta data reading. |
…s (curses C89), commenting updtaes for AIFF
Grrrr. CAF encodes loop points within regions within markers. You have to look through 2 sets of chunks to find sample positions. |
I was checking this now, and help file doesn't mention loop points yet, are they already implemented? would really like to test it! |
Honestly, this is a big mess I will not finish. There is nothing stable to test and I will be shelving this work for now as it quickly grew far too large. |
Pd-0.52-0 is giving us |
apart from that: should we delete this branch? |
Yes |
This PR is a piggyback to #894 which adds basic meta data read and write via:
[soundfiler]
"-meta" read flag which outputs meta data as lists from the 2nd "info" outlet[writesf~]
"meta" message which takes meta type name and a list and adds to the opened file's header, ie. send this after opening but before starting the write streamSo far, this is partially a proof-of-concept for the soundfile backend API, but can be expanded to cover much requested data access, ie. instrument & sampler meta data.
What's been implemented so far: