{"id":20198980,"url":"https://github.com/simongoricar/simong_reaper-scripts","last_synced_at":"2025-10-24T00:39:42.429Z","repository":{"id":101730071,"uuid":"600102185","full_name":"simongoricar/simong_reaper-scripts","owner":"simongoricar","description":"A repository of personal scripts for the Reaper digital audio workstation.","archived":false,"fork":false,"pushed_at":"2023-02-21T18:19:51.000Z","size":1318,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-01-13T19:51:53.430Z","etag":null,"topics":["reapack","reaper","reaper-scripts","repository"],"latest_commit_sha":null,"homepage":"","language":"Lua","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/simongoricar.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null}},"created_at":"2023-02-10T15:34:52.000Z","updated_at":"2023-06-24T11:50:44.000Z","dependencies_parsed_at":"2024-01-14T10:19:18.729Z","dependency_job_id":"f8da0b03-1c58-42ad-be1f-e5d29aa8b59d","html_url":"https://github.com/simongoricar/simong_reaper-scripts","commit_stats":null,"previous_names":["simongoricar/simong_reaper-scripts"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/simongoricar%2Fsimong_reaper-scripts","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/simongoricar%2Fsimong_reaper-scripts/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/simongoricar%2Fsimong_reaper-scripts/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/simongoricar%2Fsimong_reaper-scripts/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/simongoricar","download_url":"https://codeload.github.com/simongoricar/simong_reaper-scripts/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":241631640,"owners_count":19994058,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["reapack","reaper","reaper-scripts","repository"],"created_at":"2024-11-14T04:35:14.116Z","updated_at":"2025-10-24T00:39:42.331Z","avatar_url":"https://github.com/simongoricar.png","language":"Lua","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003ch1 align=\"center\"\u003e\n    Simon Goričar's \u003ca href=\"https://www.reaper.fm/\"\u003eReaper\u003c/a\u003e Scripts\n\u003c/h1\u003e\n\n## 1. Installation\nYou can use this repository via [ReaPack](https://reapack.com) by adding the following \nrepository:\n```\nhttps://github.com/DefaultSimon/simong_reaper-scripts/raw/master/index.xml\n```\n\n\n## 2. Contents\n\n### 2.1. `Monitoring FX Bypass scripts (based on FX names containing \"[BYPASSABLE]\")`\n\n\u003cdiv align=\"center\"\u003e\n    \u003cimg src=\"https://raw.githubusercontent.com/DefaultSimon/simong_reaper-scripts/master/assets/demo-gifs/simong_bypassing-all-monitoring-fx-whose-names-contain-[BYPASSABLE]_demo.gif\" width=\"90%\"\u003e\n    \u003ch6 align=\"center\"\u003e\u003ci\u003eNotice how the monitoring FX gets (un)bypassed.\u003c/i\u003e\u003c/h6\u003e\n\u003c/div\u003e\n\u003c/br\u003e\n\n\nThis package contains the following three actions:\n- `Bypass all monitoring FX whose names contain \"[BYPASSABLE]\"`\n- `Toggle bypass on all monitoring FX whose names containin \"[BYPASSABLE]\"`\n- `Unbypass all monitoring FX whose names contain \"[BYPASSABLE]\"`\n\nThese actions operate on the monitoring FX chain *only*, and only bypass/unbypass FX\nthat contain `[BYPASSABLE]` somewhere in their name. To rename a monitoring FX, open the monitoring FX chain, then `Right Click -\u003e Rename FX instance` to rename your FX).\n\n\u003cdetails\u003e\n\u003csummary\u003e\u003ci\u003eSWS Cycle Action preset\u003c/i\u003e for this package\u003c/summary\u003e\n\nBecause these scripts are handier with a toggleable SWS cycle action (requires [SWS](https://sws-extension.org/index.php)), I've included \na preconfigured cycle action in the `Cycle Action/simong_CycleAction_Toggle (bypass and unbypass) monitoring FX whose name contains the phrase [BYPASSABLE].ini` preset file.\n\nSimply [download the file](https://github.com/DefaultSimon/simong_reaper-scripts/blob/master/Cycle%20Actions/simong_CycleAction_Toggle%20(bypass%20and%20unbypass)%20monitoring%20FX%20whose%20name%20contains%20the%20phrase%20%5BBYPASSABLE%5D.ini),\nthen go to `Extensions -\u003e Cycle Action editor... -\u003e Import/export -\u003e Import in section 'Main'...`, select the file, then click `Apply`.\n\n\u003c/details\u003e\n\n---\n\n\n### 2.2. `Move selected media items onto child track whose name contains \"[STEMS]\"`\n\n\u003cdiv align=\"center\"\u003e\n    \u003cimg src=\"https://raw.githubusercontent.com/DefaultSimon/simong_reaper-scripts/master/assets/demo-gifs/simong_move-selected-items-onto-child-track_named_[stems]_demo.gif\" width=\"90%\"\u003e\n    \u003ch6 align=\"center\"\u003e\u003ci\u003eIn this demo, the target \"stems\" track is directly below the original track, but it can be any direct descendant.\u003c/i\u003e\u003c/h6\u003e\n\u003c/div\u003e\n\u003c/br\u003e\n\n\nThis script moves the selected media items from the track they are on to the child \"stems\" track. It finds that track by looking at the track's \ndirect children and finding a track whose name contains the phrase \"[STEMS]\".\n\nIf no \"[STEMS]\"-matching track is found or if no media items are selected, this script does nothing.\n\n#### Why / Workflow\n- I record a loop (or part of it),\n- I now have a selected media item with what I just recorded \n- I use this action to push the just-recorded material into the child \"stems\" track that, importantly, still sends to the parent \n  (so I can still hear what I recorded on previous loops), \n- I'll now record a new item onto the now-empty track,\n- At the end of the loop, I'll repeat the process, pushing the newly-recorded item down onto the \"stems\" track, effectively adding one more layer to the composition (and so on and so on).\n\nThis makes it easier to separate multiple overdubed layers of your material into separate items and name/sort/mute/... them accordingly.\n\n#### Quirks\n- Due to how items are moved, if not all of the selected media items are on the same track, the script *might* work sometimes, but it will pick a stems child track from the first selected media item. Consider this... undefined behaviour.\n\n---\n\n\n### 2.3. `Create new empty MIDI track at the same position as the selected media item`\n\n\u003cdiv align=\"center\"\u003e\n    \u003cimg src=\"https://raw.githubusercontent.com/DefaultSimon/simong_reaper-scripts/master/assets/demo-gifs/simong_create-new-empty-midi-track-at-the-same-position-as-the-selected-item_demo.gif\" width=\"90%\"\u003e\n\u003c/div\u003e\n\u003c/br\u003e\n\n\nThis script creates a new empty MIDI track at the same position (and of the same length) as the currently-selected media item. Additionally, it unselects the original media item and selects the newly created item.\n\n\n\u003c/br\u003e\n\u003c/br\u003e\n\n---\n\n\n## 3. Development Notes\n\n#### 3.1 Semantic versioning\nI try to adhere to the [semantic versioning rules](https://semver.org/#semantic-versioning-200) if at all possible.\n\n#### 3.2 ReaScript's default `package.path`\nOn the default Windows installation, the default `package.path` upon launching a Lua script in Reaper is (line breaks mine, actualy value is all in one line):\n```lua\nC:\\Program Files\\REAPER (x64)\\lua\\?.lua;\nC:\\Program Files\\REAPER (x64)\\lua\\?\\init.lua;\nC:\\Program Files\\REAPER (x64)\\?.lua;\nC:\\Program Files\\REAPER (x64)\\?\\init.lua;\nC:\\Program Files\\REAPER (x64)\\..\\share\\lua\\5.3\\?.lua;\nC:\\Program Files\\REAPER (x64)\\..\\share\\lua\\5.3\\?\\init.lua;\n.\\?.lua;\n.\\?\\init.lua\n```\n\nMost of these paths don't seem to exist (at least on my Windows machine), so the only useful parts seem to be: `.\\?.lua;.\\?\\init.lua`.\nMinor information; useful basically only for the fact that you can import adjacent scripts in the same directory without modifying the path.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsimongoricar%2Fsimong_reaper-scripts","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsimongoricar%2Fsimong_reaper-scripts","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsimongoricar%2Fsimong_reaper-scripts/lists"}