# FMOD & Reaper timeline sync - trigger events without game engine

**URL:** <https://qa.fmod.com/t/fmod-reaper-timeline-sync-trigger-events-without-game-engine/21554>\
**Category:** FMOD Studio\
**Created:** [April 28, 2024, 12:01pm UTC](https://qa.fmod.com/t/fmod-reaper-timeline-sync-trigger-events-without-game-engine/21554 "2024-04-28T12:01:18Z")\
**Posts on this page:** 1\
**Showing post:** 2

<div class="post-metadata">

**Author:** ![jeff\_fmod](https://yyz2.discourse-cdn.com/flex036/user_avatar/qa.fmod.com/jeff_fmod/32/1766_2.png) [@jeff\_fmod](https://qa.fmod.com/u/jeff_fmod)\
**Post date:** [April 29, 2024, 6:43am UTC](https://qa.fmod.com/t/fmod-reaper-timeline-sync-trigger-events-without-game-engine/21554/2 "2024-04-29T06:43:30Z")

</div>

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](https://fmod.com/docs/2.02/studio/scripting-terminal-reference.html) over TCP. Here are the steps if you would like to try yourself:

1. Download and install SWS [https://www.sws-extension.org/](https://www.sws-extension.org/)
2. In Reaper, hit ‘_?_’ to open the action list
3. Select “_New Action → Load ReaScript_”
4. Save this text to a new file called “_ **fmod-play-event.eel** _”

```js
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");

```

5. Find the newly loaded script by searching for “_fmod-play-event_”
6. Right click on it and select “_Copy selected action command ID_”. Paste that somewhere for use in step 8
7. Create a marker in your project
8. Rename it with the following syntax:

```tx
! {fmod event guid} {command ID}

```

The guid should be a guid to an FMOD event, which you can get by right clicking on  
an event in FMOD Studio and selecting  
“Copy GUID”. An example marker name would be:

```tx
! {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.

---

_[View the full topic](https://qa.fmod.com/t/fmod-reaper-timeline-sync-trigger-events-without-game-engine/21554)._
