Old 04-30-2018, 08:07 AM   #1
jackreynolds
Human being with feelings
 
Join Date: Dec 2017
Posts: 3
Default Advice needed on libsndfile extension

Hi All!
this is my first proper post, so apologies if i get anything wrong.

I'm currently adding BW64 support to the libsndfile library and I was looking for some advice on the best way to implement the library within the Reaper environment.
I have been looking at Mathias Kronlacher's libsndfile wrapper, which looks like the way to go, but I also need libraries which i need to include various bits of metadata alongside the pcm samples.

Basically, I need to make some drop down menus appear in the render window, which will allow the user to select the BW64 file format (using libsndfile) and then to select from a number of standard speaker array layouts or ambisonic format/order options from a further drop down menu (eventually you would be able to select objects, but that gets a lot more complicated!).

The drop down menus, when selected, will generate ADM (https://tech.ebu.ch/docs/tech/tech3364.pdf) metadata, which will then be written into the axml chunk of the BW64 file (https://www.itu.int/dms_pubrec/itu-r...0-I!!PDF-E.pdf)

The eventual idea being an ADM encoded BW64 file, rendered by Reaper, can be read by an ADM-enabled renderer, such as ( https://tech.ebu.ch/publications/adm...a-broadcasting), so for instance, if you render a third order ambisonic multichannel wav file, the renderer will be able to read the metadata and automatically render the ambisonic file to a multi speaker array file or for binaural playback etc.

I have a few ideas about how to make it work, but I thought I would ask here for any insight into the various ways to do it, and whether there was an ideal route.

Thanks in advance for any thoughts!

Cheers

Jack

Last edited by jackreynolds; 04-30-2018 at 08:43 AM.
jackreynolds is offline   Reply With Quote
Old 04-30-2018, 08:15 AM   #2
Xenakios
Human being with feelings
 
Xenakios's Avatar
 
Join Date: Feb 2007
Location: Oulu, Finland
Posts: 8,062
Default

The GUI will be tedious win32 API based work, Reaper or the Reaper API will not help you there. (You could maybe use something like JUCE but that would probably have its own problems, I haven't tested how well JUCE based GUIs can be used inside the Reaper render dialogs and such.)
__________________
I am no longer part of the REAPER community. Please don't contact me with any REAPER-related issues.
Xenakios is offline   Reply With Quote
Old 04-30-2018, 09:00 AM   #3
jackreynolds
Human being with feelings
 
Join Date: Dec 2017
Posts: 3
Default

I have managed to get a BW64 option to appear in the Output format drop down menu in the Render to File window, using WDL/swell and the PCM_SINK function, and it outputs a raw pcm file with the suffix .bw64, so I'm getting there in that regard.
The next step is combine what I have with your wrapper class, to incorporate libsndfile and my external library.

I will post updates when I have it working.
jackreynolds is offline   Reply With Quote
Old 04-30-2018, 09:01 AM   #4
Xenakios
Human being with feelings
 
Xenakios's Avatar
 
Join Date: Feb 2007
Location: Oulu, Finland
Posts: 8,062
Default

Quote:
Originally Posted by jackreynolds View Post
The next step is combine what I have with your wrapper class, to incorporate libsndfile and my external library.
The PCM_sink thing is not my work, though, Mathias added those things. (So I am not particularly familiar with the code.)
__________________
I am no longer part of the REAPER community. Please don't contact me with any REAPER-related issues.
Xenakios is offline   Reply With Quote
Reply

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT -7. The time now is 02:44 AM.


Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2024, vBulletin Solutions Inc.