That would be pretty cool, and I can see why it would be useful.
I got this working in a very basic way by creating an eel script that sends a command to the FMOD Studio scripting system over TCP. Here are the steps if you would like to try yourself:
- Download and install SWS https://www.sws-extension.org/
- In Reaper, hit ‘?’ to open the action list
- Select “New Action → Load ReaScript”
- Save this text to a new file called “fmod-play-event.eel”
current_project = EnumProjects(-1, project_full_path); marker_count = CountProjectMarkers(current_project, num_markers, num_regions); play_pos = GetPlayPosition(); GetLastMarkerAndCurRegion(current_project, play_pos, marker_index, region_index); EnumProjectMarkers(marker_index, isregn, pos, rgnend, #region_name, marker_id); // Get event guid from marker name strcpy_substr(#guid, #region_name,2,38); // Create play event command msg = strcpy(#, "studio.project.lookup('"); strcat(msg,#guid); strcat(msg,"').play();"); // Send packet to FMOD Studio port = 3663; ip_address = "127.0.0.1"; tcp_connection = tcp_connect(ip_address,port); tcp_connection > 0 ? ( success = tcp_send(tcp_connection, msg); tcp_close(tcp_connection); ) : ShowConsoleMsg("No Connection"); - Find the newly loaded script by searching for “fmod-play-event”
- Right click on it and select “Copy selected action command ID”. Paste that somewhere for use in step 8
- Create a marker in your project
- Rename it with the following syntax:
The guid should be a guid to an FMOD event, which you can get by right clicking on! {fmod event guid} {command ID}
an event in FMOD Studio and selecting
“Copy GUID”. An example marker name would be:! {1f687138-e06c-40f5-9bac-57f84bbcedd3} _RSe375bd84ebc2cb196a79bf42d6bf5bf921039b66
With that setup, when the playhead passes over the marker, it should start playing the event in FMOD Studio.
Not ideal having to use GUIDs and a long command ID in a marker name- but that’s probably sufficient to get you started with your own scripts. I will write up a task for the Dev team to potentially investigate support for this in the future.
We also have an existing feature request to add some kind of sequencing support to the Sandbox- I have registered your intertest in that task as well.