├── .github └── workflows │ ├── check.yml │ └── deploy.yml ├── .reapack-index.conf ├── Cursor ├── BuyOne_Move edit cursor to snap offset cursor; fades; take, stretch markers; media cues; razor edit area edges.lua ├── BuyOne_Snap edit cursor to item edges, snap offset, fades within X ms across tracks (see settings).lua ├── Lokasenna_Move edit cursor ahead five seconds.lua ├── Lokasenna_Move edit cursor ahead one minute.lua ├── Lokasenna_Move edit cursor ahead one second.lua ├── Lokasenna_Move edit cursor ahead ten seconds.lua ├── Lokasenna_Move edit cursor ahead thirty seconds.lua ├── Lokasenna_Move edit cursor ahead two seconds.lua ├── Lokasenna_Move edit cursor back five seconds.lua ├── Lokasenna_Move edit cursor back one minute.lua ├── Lokasenna_Move edit cursor back one second.lua ├── Lokasenna_Move edit cursor back ten seconds.lua ├── Lokasenna_Move edit cursor back thirty seconds.lua ├── Lokasenna_Move edit cursor back two seconds.lua ├── Lokasenna_Move edit cursor to start of first item in project.lua ├── Lokasenna_Move edit cursor to start of first item in selected tracks.lua ├── Place play cursor into view (when playing) or Center edit cursor (when stopped).eel ├── amagalma_Move edit cursor to closest item edge (among the selected items).lua ├── amagalma_Move edit cursor to closest item edge in project.lua ├── amagalma_Move edit cursor to next possible bad or missing items crossfade on selected tracks.lua ├── amagalma_Move edit cursor to next visible grid line.lua ├── amagalma_Move edit cursor to previous possible bad or missing items crossfade on selected tracks.lua ├── amagalma_Move edit cursor to previous visible grid line.lua ├── amagalma_Transport Play from start of arrange view - Stop at play cursor (editing).lua ├── az_Go To Timecode.lua ├── az_Go To Timecode │ └── TimecodeInput_Module_AZ.lua ├── az_Play from mouse cursor with 2 sec shift (move edit cursor).lua ├── az_Play item or track under mouse until shortcut released.lua ├── az_Play item or track under mouse until shortcut released │ └── speaker.cur ├── cfillion_Copy current position to clipboard.lua ├── rodilab_Move cursor to nearest item edge in selected track.lua ├── rodilab_Move cursor to nearest item edge in selected track │ ├── rodilab_Move cursor left to nearest item edge in selected tracks ans set time selection.lua │ ├── rodilab_Move cursor left to nearest item edge in selected tracks.lua │ ├── rodilab_Move cursor right to nearest item edge in selected tracks ans set time selection.lua │ └── rodilab_Move cursor right to nearest item edge in selected tracks.lua ├── spk77_Move edit cursor back by 1 frame (or 1 beat).eel ├── spk77_Move edit cursor forward by 1 frame (or 1 beat).eel └── spk77_Move edit cursor to start of current measure.eel ├── Development ├── Lokasenna_GUI library v2 (developer tools).lua ├── Lokasenna_GUI library v2.lua ├── Lokasenna_GUI v2 │ ├── Developer Tools │ │ ├── Examples and Templates │ │ │ ├── Example - Adding a Main loop, working with Z layers, and Rewriting Methods.lua │ │ │ ├── Example - Creating elements with keyed tables.lua │ │ │ ├── Example - General demonstration.lua │ │ │ ├── Example - GetUserInputs module.lua │ │ │ ├── Example - Menubar, Listbox, and TextEditor.lua │ │ │ ├── Example - Typical script options.lua │ │ │ ├── Template - Blank GUI script.lua │ │ │ └── Template - Blank class.lua │ │ ├── GUI Builder │ │ │ ├── Lokasenna_GUI Builder.lua │ │ │ └── modules │ │ │ │ ├── class_Properties.lua │ │ │ │ ├── data_Elements.lua │ │ │ │ ├── func_Elements.lua │ │ │ │ ├── func_Export.lua │ │ │ │ ├── func_Menu.lua │ │ │ │ ├── func_Prefs.lua │ │ │ │ ├── func_Project.lua │ │ │ │ ├── tab_Properties.lua │ │ │ │ ├── wnd_Help.lua │ │ │ │ ├── wnd_Prefs.lua │ │ │ │ ├── wnd_Project.lua │ │ │ │ └── wnd_Sidebar.lua │ │ └── Open Lokasenna_GUI v2 Developer Tools folder.lua │ └── Library │ │ ├── Classes │ │ ├── Class - Button.lua │ │ ├── Class - Frame.lua │ │ ├── Class - Knob.lua │ │ ├── Class - Label.lua │ │ ├── Class - Listbox.lua │ │ ├── Class - Menubar.lua │ │ ├── Class - Menubox.lua │ │ ├── Class - Options.lua │ │ ├── Class - Slider.lua │ │ ├── Class - Tabs.lua │ │ ├── Class - TextEditor.lua │ │ ├── Class - Textbox.lua │ │ └── Class - Window.lua │ │ ├── Core.lua │ │ ├── Modules │ │ └── Window - GetUserInputs.lua │ │ └── Set Lokasenna_GUI v2 library path.lua ├── Lokasenna_Run Lua script in debug mode.lua ├── Lokasenna_Run last Lua script in debug mode.lua ├── Lokasenna_Script Compiler.lua ├── Lokasenna_Scythe library v3 (developer tools).lua ├── Lokasenna_Scythe library v3.lua ├── RPP-Parser │ ├── Reateam_RPP-Parser.lua │ ├── Reateam_RPP-Parser_test.lua │ └── amagalma_Display all referenced media files in all projects residing in a folder path.lua ├── Virtual-Key Codes.lua ├── X-Raym_Color_functions.lua ├── amagalma_Find action or script name by its Command ID.lua ├── amagalma_Search for the selected action in the Action List, or the open script in the IDE, in ReaPack.lua ├── amagalma_Show the ReaPack ' about dialog ' of the given package entry, for the selected action in the Action List.lua ├── amagalma_Theme variable descriptions.lua ├── cfillion_Color inspector.lua ├── cfillion_Dump file to string literal.lua ├── cfillion_GFX Input Inspector.lua ├── cfillion_Interactive ReaScript.lua ├── cfillion_Joystick inspector.lua ├── cfillion_Lua profiler.lua ├── cfillion_SWS CF_Preview API demo.lua ├── cfillion_Search action by command ID or name.lua ├── pandabot_Convert image to Lua function.lua └── willdevelop_Read tags (for plugin tag system).lua ├── Envelopes ├── Automation Items │ ├── Select all visible synchronous pooled instances of selected automation items across tracks.lua │ ├── amagalma_Insert pooled instances of automation items in all Razor Edit areas for each envelope type (according to envelope name).lua │ ├── amagalma_Insert pooled instances of one automation item in all Razor Edit areas.lua │ ├── amagalma_Insert pooled instances of one automation item in time selection for selected tracks and selected envelope.lua │ ├── amagalma_Select all visible pooled instances of selected automation items in project.lua │ ├── cfillion_Automation item selection bundle.lua │ ├── cfillion_Enable or disable automation item loop.lua │ ├── cfillion_Move right edge of selected automation items to end of time selection.lua │ ├── cfillion_Split selected automation items at project markers and regions.lua │ ├── edgemeal_Set first selected point to last selected point value in AI.lua │ └── edgemeal_Set last selected point to first selected point value in AI.lua ├── BuyOne_(Un)Collapse envelope lanes.lua ├── BuyOne_Move selected FX envelope in track to top_bottom_upwards_downwards.lua ├── Lokasenna_Switch to next track envelope in selected tracks.lua ├── Takes │ ├── Lokasenna_Toggle take FX envelope visibility in selected items.lua │ ├── Odedd_Convert item fades to take volume envelopes.lua │ ├── amagalma_Change Take Volume (insert 4 points) for selected items (or selected take vol env) in time selection by set amount (Settings).lua │ ├── amagalma_Change Take Volume (insert 4 points) for selected items (or selected take vol env) in time selection by set amount (down).lua │ ├── amagalma_Change Take Volume (insert 4 points) for selected items (or selected take vol env) in time selection by set amount (up).lua │ ├── amagalma_Clear all take envelopes for all selected items.lua │ ├── edgemeal_Toggle last touched take FX envelope.lua │ ├── edgemeal_Toggle selected items take envelopes.lua │ ├── edgemeal_Toggle selected take envelopes.lua │ ├── spk77_Copy take mute envelope from selected take to other takes in same group.lua │ ├── spk77_Copy take pan envelope from selected take to other takes in same group.lua │ ├── spk77_Copy take pitch envelope from selected take to other takes in same group.lua │ ├── spk77_Copy take volume envelope from selected take to other takes in same group.lua │ ├── spk77_Create take mute envelope from active take to other takes in item.eel │ ├── spk77_Create take pan envelope from active take to other takes in item.eel │ ├── spk77_Create take pan envelope from take pan.eel │ ├── spk77_Create take pitch envelope from active take in other takes in item.eel │ ├── spk77_Create take volume envelope from active take to other takes in item.eel │ ├── spk77_Paste stored take mute envelope source to active takes in same group.eel │ ├── spk77_Paste stored take mute envelope source to active takes in selected items.eel │ ├── spk77_Paste stored take pan envelope source to active takes in same group.eel │ ├── spk77_Paste stored take pan envelope source to active takes in selected items.eel │ ├── spk77_Paste stored take pitch envelope source to active takes in same group.eel │ ├── spk77_Paste stored take pitch envelope source to active takes in selected items.eel │ ├── spk77_Paste stored take vol envelope source to active takes in same group.eel │ ├── spk77_Paste stored take vol envelope source to active takes in selected items.eel │ ├── spk77_Paste take envelopes from active take to other takes.eel │ └── spk77_Store take envelope source.eel ├── amagalma_Clear multiple track envelopes for all selected tracks or for all tracks in project.lua ├── amagalma_Set envelope segment under mouse cursor to 0 dB or center.lua ├── amagalma_Toggle active take volume envelope visible for selected item(s).lua ├── amagalma_Toggle take volume envelope visible for all takes of all items in project.lua ├── amagalma_Toggle volume envelope visibility for selected tracks or items depending on mouse position or last context.lua ├── amagalma_spk77_Adjust envelope point at mouse cursor via mousewheel.lua ├── cfillion_Delete points before or after the edit cursor in selected envelope.lua ├── cfillion_Delete points outside of the time selection in selected envelope.lua ├── cfillion_Linear ramp selected envelope points.lua ├── cool_MK ShaperStutter.lua ├── edgemeal_Scroll last touched track FX envelope into view.lua ├── edgemeal_Toggle active envelopes inlane for selected track.lua ├── edgemeal_Toggle envelope lanes for selected track.lua ├── edgemeal_Toggle visible envelopes inlane for selected track.lua ├── jreverb_Snap selected tcpfx envelope points to semitones.lua ├── jreverb_Snap selected tcpfx envelope points to semitones │ ├── jreverb_Snap selected tcpfx AI envelope points to semitones negative 24 steps.lua │ ├── jreverb_Snap selected tcpfx AI envelope points to semitones positive 24 steps.lua │ ├── jreverb_Snap selected tcpfx envelope points to semitones negative 24 steps.lua │ └── jreverb_Snap selected tcpfx envelope points to semitones positive 24 steps.lua ├── js_Envelope LFO generator and shaper.lua ├── mespotine_Toggle height of selected track envelope.lua ├── saull_Peak envelope generator.lua ├── spk77_Adjust volume envelope point at mouse cursor via mousewheel.lua ├── spk77_Compress or expand selected envelope points.lua ├── spk77_Create envelope points from FX param values.lua ├── spk77_Delete track FX envelope points in time selection (last focused FX) .lua ├── talagan_Minimize all track envelopes.lua ├── tilr_Snapshooter.lua └── tilr_Snapshooter │ ├── rtk.lua │ ├── tilr_Snapshooter apply snap 1.lua │ ├── tilr_Snapshooter apply snap 2.lua │ ├── tilr_Snapshooter apply snap 3.lua │ ├── tilr_Snapshooter apply snap 4.lua │ ├── tilr_Snapshooter save snap 1.lua │ ├── tilr_Snapshooter save snap 2.lua │ ├── tilr_Snapshooter save snap 3.lua │ ├── tilr_Snapshooter save snap 4.lua │ ├── tilr_Snapshooter write snap 1.lua │ ├── tilr_Snapshooter write snap 2.lua │ ├── tilr_Snapshooter write snap 3.lua │ └── tilr_Snapshooter write snap 4.lua ├── FX ├── 80icio_Floating FX bypass toggle.lua ├── BuyOne_(Un)Tag FX with (in)active envelopes (settings inside).lua ├── BuyOne_(Un)Tag FX with (in)active parameter modulation (sett. inside).lua ├── BuyOne_FX presets menu (guide inside).lua ├── BuyOne_FX presets navigation.lua ├── BuyOne_FX presets navigation │ ├── BuyOne_Cycle through focused FX presets backwards (guide inside).lua │ ├── BuyOne_Cycle through focused FX presets forward (guide inside).lua │ ├── BuyOne_Dedicated FX presets backwards switcher (FX ID dependent) (guide inside).lua │ ├── BuyOne_Dedicated FX presets backwards switcher (TAG dependent) (guide inside).lua │ ├── BuyOne_Dedicated FX presets forward switcher (FX ID dependent) (guide inside).lua │ ├── BuyOne_Dedicated FX presets forward switcher (TAG dependent) (guide inside).lua │ └── BuyOne_Extract focused FX preset count, list, active preset number and name.lua ├── BuyOne_Generate .reabank file from FX preset list.lua ├── BuyOne_Insert selected FX or FX chain presets in OR copy focused FX to selected objects.lua ├── BuyOne_Link two FX parameters via parameter modulation (guide inside).lua ├── BuyOne_List all linked FX parameters in the project.lua ├── BuyOne_Load FX chain on selected objects via file dialogue (guide inside).lua ├── BuyOne_Lock FX and FX chains.lua ├── BuyOne_Lock FX and FX chains │ ├── BuyOne_Lock FX and FX chains (guide inside).lua │ └── BuyOne_Lock FX and FX chains - append or remove lock tag (guide inside).lua ├── BuyOne_Toggle (Un)Bypass input FX for selected tracks.lua ├── BuyOne_Toggle bypass;offline state of all FX in a focused;selected item;take + visual indication (guide inside).lua ├── BuyOne_Update FX chain at object selection when one FX window at a time enabled.lua ├── Fabian_MFXlist.lua ├── Lokasenna_Adjust ReaSamplomatic 5000 Pitch Offset.lua ├── Lokasenna_Toggle FX bypass by track and slot.lua ├── amagalma_Calculate difference in LUFS for selected or all FX of focused FX chain.lua ├── amagalma_Center in screen the floating FX or FX Chain.lua ├── amagalma_Copy - Paste the selected or all the FX from the focused FX chain to all the selected items or tracks.lua ├── amagalma_Float centered exclusively the next FX for the current track.lua ├── amagalma_Float centered exclusively the previous FX for the current track.lua ├── amagalma_List parameters ID numbers and names for focused FX.lua ├── amagalma_Re-open and float the last touched and closed FX.lua ├── amagalma_Toggle wet 0-100% (or current value) for focused FX.lua ├── cfillion_Monitoring FX bypass bundle.lua ├── cfillion_Repair missing JSFX files in current project.lua ├── cfillion_Show ReaPack about dialog for the focused JSFX.lua ├── cfillion_Toggle bypass or offline of selected FX in the focused FX chain window.lua ├── cfillion_Toggle input FX bypass for selected tracks.lua ├── daodan_Alt+shift+left click to exclusive solo FX (bypass others) in TCP, MCP FX list (background).lua ├── edgemeal_Copy FX from item under mouse to selected items.lua ├── edgemeal_Display last touched FX parameter.lua ├── edgemeal_Save and restore selected tracks floating FX windows (4 slots).lua ├── edgemeal_Save and restore selected tracks floating FX windows (4 slots) │ ├── edgemeal_Restore tracks floating FX windows.lua │ └── edgemeal_Save selected tracks floating FX windows.lua ├── edgemeal_Save selected tracks floating Input FX windows to slot.lua ├── edgemeal_Save selected tracks floating Input FX windows to slot │ ├── edgemeal_Restore tracks floating Input fx windows from slot 1.lua │ └── edgemeal_Save selected tracks floating input FX windows to slot 1.lua ├── edgemeal_Toggle show monitoring FX chain.lua ├── jrtaylormusic_Get and propagate last touched FX parameter to all instances.lua ├── js_Track FX grouping.lua ├── kawa_TrackFXs_Routing_Matrix_DS_KW.lua ├── larryseyer_Live keys scripts.lua ├── larryseyer_Live keys scripts │ └── action.lua ├── sexan_Lil FX Slot Homie.lua ├── spk77_Link selected tracks FX parameters.lua ├── tagirijus_FX list menu.lua ├── tagirijus_Toggle bypass non-instrument FX on selected track.lua ├── tilr_RS5K Mapper.lua ├── tilr_RS5K Mapper │ └── rtk.lua └── tompad_FX chain AB.lua ├── Items Editing ├── 80icio_Perfect Timing! - Audio Quantizer.lua ├── Add project markers as cue points to selected items and replace source files.lua ├── Argitoth_Select items with color of selected items.eel ├── AtmanActive_Apply track-take FX to selected items and propagate new files to other items with same source.eel ├── Breeder_spk77_GlueTools.lua ├── BuyOne_Create pitch-rate (vari-speed) take envelope and render to new take.lua ├── BuyOne_Delete selected item(s) and select next or previous (settings inside).lua ├── BuyOne_Exclusively solo or mute only selected grouped items (settings inside).lua ├── BuyOne_Explode MIDI note rows (pitch) to new items (keyboard note order).lua ├── BuyOne_Explode multichannel MIDI to new one-channel items obeying keyboard note order.lua ├── BuyOne_Manipulate overlapping items in lanes.lua ├── BuyOne_Move items from one track to many or from many to one.lua ├── BuyOne_Propagate items in current region to other regions by name, color or index.lua ├── BuyOne_Ripple edit per track when selected item length changes (settings inside).lua ├── BuyOne_Split grouped items keeping splits in the same group as the originals.lua ├── BuyOne_Split selected MIDI item at every note or chord.lua ├── BuyOne_Swap 2 items (select both).lua ├── Demoji_Next Variation.lua ├── ED_Select items with take FX in active take.lua ├── ED_Select items with take FX.lua ├── ED_Set envelope to maximum value within time selection.lua ├── ED_Set envelope to minimum value within time selection.lua ├── ED_Toggle selecting all items on the track under mouse cursor.lua ├── FnA_Unselect First-Last Selected Item.lua ├── JRT_Split all items at time selection or edit cursor.lua ├── JerContact_Zero crossing loop maker for items.lua ├── Lokasenna_Fill selected MIDI item with notes... .lua ├── Lokasenna_Fill time selection with empty items.lua ├── Lokasenna_Insert empty item for each selected track.lua ├── Lokasenna_Pad item start and end with 15 frames of silence.lua ├── Lokasenna_Select all MIDI notes in selected items.lua ├── Lokasenna_Set item start and end (spot mode).lua ├── Lokasenna_Shuffle selected items to mouse cursor.lua ├── Lokasenna_Smart fill gaps by stretching item tails.lua ├── Lokasenna_Trim items to specified length.lua ├── Lokasenna_Unselect all MIDI notes in selected items.lua ├── MK Slicer (80icio MOD).lua ├── Mordi_Move selected items content to previous cue (align with snap offset).lua ├── Mordi_Move selected items content to previous cue (align with snap offset) │ └── Mordi_Move selected items content to next cue (align with snap offset).lua ├── Mordi_spk77_Sort items by length.lua ├── ak5k_Drums to MIDI.lua ├── ak5k_Toms tool.lua ├── amagalma_Add all completely visible items in arrange viewport to selection (for all completely visible tracks).lua ├── amagalma_Add all completely visible items in arrange viewport to selection (for selected tracks).lua ├── amagalma_Apply track-take FX to items (mono output) and place in new track.lua ├── amagalma_Apply track-take FX to items (stereo output) and place in new track.lua ├── amagalma_Close gaps (remove space) between all items of selected tracks.lua ├── amagalma_Close gaps (remove space) between selected items.lua ├── amagalma_Convert empty items with notes to dedicated video processor item named after the notes.lua ├── amagalma_Copy - Paste items' edges' positions ( item start and end ).lua ├── amagalma_Crossfade any overlapping items (even on different tracks).lua ├── amagalma_Delete CC-Text-Sysex events by type for selected midi items' active takes.lua ├── amagalma_Delete and retain selected items in project.lua ├── amagalma_Delete crossfade under mouse cursor.lua ├── amagalma_Explode takes of items across children tracks, optionally mute and lock original items.lua ├── amagalma_Explode takes of items across tracks (according to source files).lua ├── amagalma_Explode video items to separate audio and video items in separate tracks.lua ├── amagalma_Fill space between selected items with empty items.lua ├── amagalma_Implode enclosed items as takes of longer items on the same track.lua ├── amagalma_Implode items across tracks into takes (keep splits).lua ├── amagalma_Move closest crossfade to mouse cursor.lua ├── amagalma_Nudge to source preferred position (used by BWF) for selected items' active takes.lua ├── amagalma_Remove selected items' active takes' source file cue points (WAV only) - NO UNDO.lua ├── amagalma_Remove selected items' cue points and replace source file (WAV only).lua ├── amagalma_Remove visible content (trim) behind items.lua ├── amagalma_Remove visible fades from selected items.lua ├── amagalma_Set items' rate according to their BPM metadata tag, if present.lua ├── amagalma_Show menu for all Normalize Items actions.lua ├── amagalma_Smart Crossfade.lua ├── amagalma_Snap MIDI item(s) edges to grid without changing content position.lua ├── amagalma_Split item at mouse cursor position ( use defined crossfade and selection settings ).lua ├── amagalma_Split item at mouse cursor position ( use defined crossfade and selection settings ) │ └── amagalma_Split item at mouse cursor position ( Define crossfade and selection settings ).lua ├── amagalma_Split items at timeline grid (with extra options).lua ├── amagalma_Split items under mouse with selection option (selected items get priority over grouped).lua ├── amagalma_Toggle guide line size between full arrange or item height.lua ├── amagalma_Toggle show editing guide line on item under mouse cursor in Main Window or in MIDI Editor.lua ├── az_Conform project using metadata (post-production tools).lua ├── az_Conform project using metadata (post-production tools) │ ├── az_Conform project_Core.lua │ └── az_Rename takes with last used settings (post-production tools).lua ├── az_Fade tool (work on context of mouse, razor or time selection).lua ├── az_Fade tool (work on context of mouse, razor or time selection) │ ├── az_Open options for az_Fade tool.lua │ └── az_Options window for az_Fade tool.lua ├── az_Open item copy in primary external editor with handles.lua ├── az_Smart split items by mouse cursor.lua ├── az_Smart split items by mouse cursor │ └── az_Open options for az_Smart split items by mouse cursor.lua ├── az_Trim left, right or both item edges via mouse and razor.lua ├── az_Trim left, right or both item edges via mouse and razor │ └── az_Open options for az_Trim left, right or both item edges via mouse and razor.lua ├── beaunus_Name item takes by last marker to cut item.lua ├── bfut_Extract loop section under mouse cursor to new item.lua ├── bfut_Select items of less than 1 sample in length.lua ├── bfut_Split looped item into separate items.lua ├── bfut_Trim to source media lengths (limit items lengths).lua ├── bfut_Unselect items touching time selection.lua ├── bfut_Unselect items within time selection.lua ├── boringcactus_BeatPermute.lua ├── cfillion_Move selected items to a FIPM lane.lua ├── cfillion_Move selected items to one FIPM lane per color.lua ├── cfillion_Set item end to cursor and resize trailing MIDI notes.lua ├── cfillion_Show all saved nudge settings.lua ├── cfillion_Split selected non-locked items at edit cursor.lua ├── cool_MK Slicer.lua ├── ilovemedia_Replace with an empty item.lua ├── js_Comp items - Unmute item under mouse and mute overlapping items.lua ├── js_Edit - Insert chased CCs at edit cursor in selected MIDI items.lua ├── js_Remove all CCs, pitch, channel pressure and program change events from all tracks.lua ├── js_Render items INTO next take (and toggle freeze active take).lua ├── js_Render items INTO next take (apply track FX and toggle freeze active take FX).lua ├── kkkanten_Deselect odd-numbered items from selected items.lua ├── mendel_Restore ripple mode from persistent ExtState.lua ├── mendel_Save ripple mode to persistent ExtState.lua ├── mordi_Align grouped items to selected items respectively.lua ├── mordi_Glue items, add take markers and name after first item.lua ├── mordi_Move cursor or content to next or previous transient after X ms silence.lua ├── mordi_Move cursor or content to next or previous transient after X ms silence │ ├── Mordi_Move to next transient after X ms silence.lua │ ├── Mordi_Move to previous transient after X ms silence.lua │ ├── Mordi_Scroll item content to next transient after X ms silence.lua │ └── Mordi_Scroll item content to previous transient after X ms silence.lua ├── mordi_Move selected items to markers with the same name as the active take.lua ├── mordi_Move selected items to new individual tracks.lua ├── mrtnz_Preview item from Starkovsky.lua ├── pandabot_Copy and paste rhythm.lua ├── pandabot_Copy and paste rhythm │ ├── pandabot_Copy rhythm.lua │ └── pandabot_Paste rhythm.lua ├── pandabot_Extend items by note divisions.lua ├── pandabot_Extend items by note divisions │ ├── pandabot_Extend items by eighth note.lua │ ├── pandabot_Extend items by hundred twenty eighth note.lua │ ├── pandabot_Extend items by quarter note.lua │ ├── pandabot_Extend items by sixteenth note.lua │ ├── pandabot_Extend items by sixty fourth note.lua │ └── pandabot_Extend items by thirty second note.lua ├── pandabot_Isolate items by note divisions.lua ├── pandabot_Isolate items by note divisions │ ├── pandabot_Isolate items by eighth note.lua │ ├── pandabot_Isolate items by hundred twenty eighth note.lua │ ├── pandabot_Isolate items by quarter note.lua │ ├── pandabot_Isolate items by sixteenth note.lua │ ├── pandabot_Isolate items by sixty fourth note.lua │ └── pandabot_Isolate items by thirty second note.lua ├── pandabot_Isolate time selection by note divisions.lua ├── pandabot_Isolate time selection by note divisions │ ├── pandabot_Isolate time selection by eighth note.lua │ ├── pandabot_Isolate time selection by hundred twenty eighth note.lua │ ├── pandabot_Isolate time selection by quarter note.lua │ ├── pandabot_Isolate time selection by sixteenth note.lua │ ├── pandabot_Isolate time selection by sixty fourth note.lua │ └── pandabot_Isolate time selection by thirty second note.lua ├── pandabot_Select every N items within selection.eel ├── pandabot_Select every N tracks within selection.eel ├── rodilab_Duplicate items or tracks (depending on focus and time selection).lua ├── rodilab_Explode multichannel items to mono items in new tracks (without render).lua ├── rodilab_Implode items on same track into takes (align with snap offset).lua ├── rodilab_Implode mono items into stereo item.lua ├── rodilab_Limit items edges at source start and stop.lua ├── rodilab_Match criteria (match with BWF and iXML metadata).lua ├── rodilab_Move items to synchronize with the TimeRef of the first selected item (BWF metadata).lua ├── rodilab_Move items, preserving crossfade lengths.lua ├── rodilab_Move items, preserving crossfade lengths │ ├── Move items left, preserving crossfade lengths.lua │ └── Move items right, preserving crossfade lengths.lua ├── rodilab_Move selected notes to a new MIDI item.lua ├── rodilab_Reorganize vertically all items in selected tracks according to track index metadata.lua ├── rodilab_Smart copy, and move cursor to start of items (if copying items).lua ├── rodilab_Smart cut, and move cursor to start of items (if cuting items).lua ├── rodilab_Trim oversized edges.lua ├── solger_Smart split MIDI item.lua ├── spk77_Copy items and store positions.eel ├── spk77_Glue selected items preserving names.eel ├── spk77_Paste items and recall positions.eel ├── spk77_Remove contents of time sel (from selected items).eel ├── spk77_Replace selected items with item under mouse cursor.lua ├── spk77_Select every N-th item within time selection.eel ├── spk77_Select items within time selection on selected tracks.eel ├── spk77_Split all items at edit cursor.lua ├── spk77_Split all non-locked MIDI items at edit cursor.lua ├── spk77_Split all non-locked audio items at edit cursor.lua ├── spk77_Split and implode items across tracks into takes.eel ├── spk77_Split selected items at mouse cursor.eel ├── tagirijus_Open item and center track.lua ├── triode_Track-based item selection.lua └── triode_Track-based item selection │ ├── triode_Individual item range selection (compatible with track-based item selection).lua │ ├── triode_Individual item selection (compatible with track-based item selection).lua │ ├── triode_Individual non-contiguous item selection (compatible with track-based item selection).lua │ ├── triode_Play-Stop Toggle (compatible with track based item selection).lua │ ├── triode_Record Toggle (compatible with track based item selection).lua │ ├── triode_Track-based item range selection.lua │ ├── triode_Track-based item selection.lua │ ├── triode_Track-based non-contiguous item selection.lua │ ├── triode_Track-based split items (select left).lua │ ├── triode_Track-based split items (select right).lua │ └── triode_Unselect all items (track-based item selection).lua ├── Items Properties ├── BuyOne_Apply fade-in, fade-out and crossfade to selected items.lua ├── BuyOne_Fade presets.lua ├── IXix_delete selected items active take envelopes.lua ├── Lokasenna_Item properties - Loop item source - On and Off.lua ├── Lokasenna_Item selection follows the edit cursor for selected tracks.lua ├── Lokasenna_Toggle item under mouse cursor's image between notes and background.lua ├── Lokasenna_Toggle selected item's image between notes and background.lua ├── Lokasenna_Track selection follows item selection.lua ├── Nantho_Item Auto-Gain Staging - Peak vs. RMS.lua ├── Nantho_item Auto Gain Staging - Peak vs. LUFS.lua ├── acendan_Set subprojects in selected items to custom color slot.lua ├── acendan_Set subprojects in selected items to custom color slot │ ├── acendan_Set subprojects in selected items to color.lua │ ├── acendan_Set subprojects in selected items to random colors.lua │ └── acendan_Set subprojects in selected items to random custom colors.lua ├── amagalma_Apply track fader volume to all items in selected tracks and reset faders to 0dB.lua ├── amagalma_Choose active take for item under mouse (show menu).lua ├── amagalma_Disable 'No autofades property for selected items.lua ├── amagalma_Enable 'No autofades' property for selected items.lua ├── amagalma_Explode selected item active take to new track (remove take from original item).lua ├── amagalma_Group selected items vertically.lua ├── amagalma_Lock all items in project to their active take (mouse click will not change active take).lua ├── amagalma_Name selected items notes after the region they are in.lua ├── amagalma_Paste text from clipboard to selected items' notes (one line per item).lua ├── amagalma_Select all items in track that have exactly the same video processors as the selected item (unselect original item).lua ├── amagalma_Select all items in track that have exactly the same video processors as the selected item.lua ├── amagalma_Select next item with take FX.lua ├── amagalma_Select previous item with take FX.lua ├── amagalma_Switch unlocked items only to previous or next take bundle.lua ├── cfillion_Set item volume control mode.lua ├── mordi_Rename take markers from 1 to X.lua ├── rodilab_Loop section of audiomidi item source within time selection, if any.lua ├── rodilab_Rename takes and item notes with BWF and iXML metadata.lua ├── rodilab_Set items snap offset to max peak.lua ├── spk77_Breeder_PL9_Copy paste item properties (incl BWF).eel ├── spk77_Export item names and time stamps to text file.lua ├── spk77_Get max peak val and pos from take_function.lua ├── spk77_Normalize selected items to given range.eel ├── spk77_Rename items to track name.eel ├── spk77_Trim item volumes.eel ├── tagirijus_Toggle loop source on item under cursor in selected track.lua ├── willdevelop_Pitch scale generator.lua └── yatsumehole_Turn item pitch in the selected track into MIDI notes.lua ├── MIDI Editor ├── BuyOne_Convert selected notes to dotted (settings inside).lua ├── BuyOne_Copy or Move all notes and-or other MIDI events to specified MIDI channels.lua ├── BuyOne_Copy or Move selected notes and-or other MIDI events in visible lanes to specified MIDI channels.lua ├── BuyOne_Insert note at constant velocity depending on dummy toggle scripts.lua ├── BuyOne_Insert note at constant velocity set via a dialogue (guide inside).lua ├── BuyOne_Move pitch cursor.lua ├── BuyOne_Move pitch cursor │ ├── BuyOne_Add notes at pitch cursor to selection.lua │ ├── BuyOne_Deselect only notes at pitch cursor.lua │ ├── BuyOne_Move edit and pitch cursors to the next note relative to edit cursor.lua │ ├── BuyOne_Move edit and pitch cursors to the previous note relative to edit cursor.lua │ ├── BuyOne_Move pitch cursor to selected note.lua │ ├── BuyOne_Move pitch cursor to the first note left of edit cursor.lua │ ├── BuyOne_Move pitch cursor to the first note right of edit cursor.lua │ ├── BuyOne_Move pitch cursor to the first note.lua │ ├── BuyOne_Move pitch cursor to the first of selected notes.lua │ ├── BuyOne_Move pitch cursor to the highest note left of edit cursor.lua │ ├── BuyOne_Move pitch cursor to the highest note right of edit cursor.lua │ ├── BuyOne_Move pitch cursor to the highest note.lua │ ├── BuyOne_Move pitch cursor to the highest of selected notes.lua │ ├── BuyOne_Move pitch cursor to the last note.lua │ ├── BuyOne_Move pitch cursor to the last of selected notes.lua │ ├── BuyOne_Move pitch cursor to the lowest note left of edit cursor.lua │ ├── BuyOne_Move pitch cursor to the lowest note right of edit cursor.lua │ ├── BuyOne_Move pitch cursor to the lowest note.lua │ ├── BuyOne_Move pitch cursor to the lowest of selected notes.lua │ ├── BuyOne_Move pitch cursor to the note ending at edit cursor.lua │ ├── BuyOne_Move pitch cursor to the note nearest to or under edit cursor.lua │ ├── BuyOne_Move pitch cursor to the note starting at edit cursor.lua │ └── BuyOne_Select only notes at pitch cursor.lua ├── BuyOne_Move selected notes to a new MIDI item.lua ├── BuyOne_Paste notes at edit cursor obeying pitch cursor position.lua ├── BuyOne_Switch to next;previous active CC envelope.lua ├── Buy_One_Time selection - set start ; end point.lua ├── Flaneurette_GuitarChorder.py ├── Flaneurette_ReaChorder.py ├── Flaneurette_ReaChorder │ ├── LICENSE.txt │ ├── ReaChorderBassSection.ini │ ├── ReaChorderChordSection.ini │ ├── ReaChorderDrumSection.ini │ ├── ReaChorderGuitarSection.ini │ ├── ReaChorderMain.ini │ ├── ReaChorderMelodySection.ini │ ├── _getdirectory_.py │ ├── bass_section.py │ ├── chord_section.py │ ├── debug.py │ ├── drum_section.py │ ├── drumpatterns.json │ ├── guitar_section.py │ ├── melody_section.py │ ├── reaChord_data.py │ ├── reaper_track.py │ ├── rs_midi.py │ ├── rs_statemanager.py │ ├── scales.py │ ├── screenshot.png │ └── wizard_section.py ├── FnA_Join selected overlapping and consecutive notes with spacing below threshold - input and no input versions.lua ├── JRT_Navigate-Next or previous note OR measure.lua ├── JRT_Navigate-Next or previous note OR measure │ ├── JRT_Navigate-Next note OR measure.lua │ └── JRT_Navigate-Previous note OR measure.lua ├── JRT_Navigate-Zoom vertically OR move notes up or down ignoring key.lua ├── JRT_Navigate-Zoom vertically OR move notes up or down ignoring key │ ├── JRT_Navigate-Zoom in vertically OR move notes up ignoring key.lua │ └── JRT_Navigate-Zoom out vertically OR move notes down ignoring key.lua ├── JRT_Scroll view OR move notes up or down.lua ├── JRT_Scroll view OR move notes up or down │ ├── JRT_Navigate-Scroll view OR move notes down.lua │ └── JRT_Navigate-Scroll view OR move notes up.lua ├── Lokasenna_CC Ryder.lua ├── Lokasenna_CC Ryder │ ├── restore_1.png │ ├── restore_10.png │ ├── restore_11.png │ ├── restore_12.png │ ├── restore_13.png │ ├── restore_14.png │ ├── restore_15.png │ ├── restore_16.png │ ├── restore_17.png │ ├── restore_18.png │ ├── restore_19.png │ ├── restore_2.png │ ├── restore_20.png │ ├── restore_3.png │ ├── restore_4.png │ ├── restore_5.png │ ├── restore_6.png │ ├── restore_7.png │ ├── restore_8.png │ ├── restore_9.png │ ├── restore_label.png │ ├── save_1.png │ ├── save_10.png │ ├── save_11.png │ ├── save_12.png │ ├── save_13.png │ ├── save_14.png │ ├── save_15.png │ ├── save_16.png │ ├── save_17.png │ ├── save_18.png │ ├── save_19.png │ ├── save_2.png │ ├── save_20.png │ ├── save_3.png │ ├── save_4.png │ ├── save_5.png │ ├── save_6.png │ ├── save_7.png │ ├── save_8.png │ ├── save_9.png │ └── save_label.png ├── Lokasenna_Convert current scale to ix_scale.lua ├── Lokasenna_Copy values from selected midi notes.lua ├── Lokasenna_Delete all notes outside the current scale.lua ├── Lokasenna_Delete note under mouse cursor.lua ├── Lokasenna_Delete selected notes outside the current scale.lua ├── Lokasenna_Duplicate selected notes chromatically.lua ├── Lokasenna_Duplicate selected notes chromatically │ ├── Lokasenna_Duplicate selected notes down 1 semitone.lua │ ├── Lokasenna_Duplicate selected notes down 10 semitones.lua │ ├── Lokasenna_Duplicate selected notes down 11 semitones.lua │ ├── Lokasenna_Duplicate selected notes down 2 semitones.lua │ ├── Lokasenna_Duplicate selected notes down 3 semitones.lua │ ├── Lokasenna_Duplicate selected notes down 4 semitones.lua │ ├── Lokasenna_Duplicate selected notes down 5 semitones.lua │ ├── Lokasenna_Duplicate selected notes down 6 semitones.lua │ ├── Lokasenna_Duplicate selected notes down 7 semitones.lua │ ├── Lokasenna_Duplicate selected notes down 8 semitones.lua │ ├── Lokasenna_Duplicate selected notes down 9 semitones.lua │ ├── Lokasenna_Duplicate selected notes up 1 semitone.lua │ ├── Lokasenna_Duplicate selected notes up 10 semitones.lua │ ├── Lokasenna_Duplicate selected notes up 11 semitones.lua │ ├── Lokasenna_Duplicate selected notes up 2 semitones.lua │ ├── Lokasenna_Duplicate selected notes up 3 semitones.lua │ ├── Lokasenna_Duplicate selected notes up 4 semitones.lua │ ├── Lokasenna_Duplicate selected notes up 5 semitones.lua │ ├── Lokasenna_Duplicate selected notes up 6 semitones.lua │ ├── Lokasenna_Duplicate selected notes up 7 semitones.lua │ ├── Lokasenna_Duplicate selected notes up 8 semitones.lua │ └── Lokasenna_Duplicate selected notes up 9 semitones.lua ├── Lokasenna_Duplicate selected notes diatonically.lua ├── Lokasenna_Duplicate selected notes diatonically │ ├── Lokasenna_Duplicate selected notes down a fifth diatonically.lua │ ├── Lokasenna_Duplicate selected notes down a fourth diatonically.lua │ ├── Lokasenna_Duplicate selected notes down a ninth diatonically.lua │ ├── Lokasenna_Duplicate selected notes down a second diatonically.lua │ ├── Lokasenna_Duplicate selected notes down a seventh diatonically.lua │ ├── Lokasenna_Duplicate selected notes down a sixth diatonically.lua │ ├── Lokasenna_Duplicate selected notes down a tenth diatonically.lua │ ├── Lokasenna_Duplicate selected notes down a third diatonically.lua │ ├── Lokasenna_Duplicate selected notes down an eighth diatonically.lua │ ├── Lokasenna_Duplicate selected notes down an eleventh diatonically.lua │ ├── Lokasenna_Duplicate selected notes up a fifth diatonically.lua │ ├── Lokasenna_Duplicate selected notes up a fourth diatonically.lua │ ├── Lokasenna_Duplicate selected notes up a ninth diatonically.lua │ ├── Lokasenna_Duplicate selected notes up a second diatonically.lua │ ├── Lokasenna_Duplicate selected notes up a seventh diatonically.lua │ ├── Lokasenna_Duplicate selected notes up a sixth diatonically.lua │ ├── Lokasenna_Duplicate selected notes up a tenth diatonically.lua │ ├── Lokasenna_Duplicate selected notes up a third diatonically.lua │ ├── Lokasenna_Duplicate selected notes up an eighth diatonically.lua │ └── Lokasenna_Duplicate selected notes up an eleventh diatonically.lua ├── Lokasenna_Invert selected CC event values.lua ├── Lokasenna_MIDI Note Selector.lua ├── Lokasenna_MIDI Randomization Tool.lua ├── Lokasenna_Mute all notes outside the current scale.lua ├── Lokasenna_Mute selected notes outside the current scale.lua ├── Lokasenna_Pedal Steel.lua ├── Lokasenna_Pedal Steel │ ├── grid_1.png │ ├── grid_10.png │ ├── grid_100.png │ ├── grid_104.png │ ├── grid_108.png │ ├── grid_112.png │ ├── grid_116.png │ ├── grid_12.png │ ├── grid_120.png │ ├── grid_14.png │ ├── grid_16.png │ ├── grid_18.png │ ├── grid_2.png │ ├── grid_20.png │ ├── grid_22.png │ ├── grid_24.png │ ├── grid_28.png │ ├── grid_3.png │ ├── grid_32.png │ ├── grid_36.png │ ├── grid_4.png │ ├── grid_40.png │ ├── grid_44.png │ ├── grid_48.png │ ├── grid_5.png │ ├── grid_52.png │ ├── grid_56.png │ ├── grid_6.png │ ├── grid_60.png │ ├── grid_64.png │ ├── grid_68.png │ ├── grid_7.png │ ├── grid_72.png │ ├── grid_76.png │ ├── grid_8.png │ ├── grid_80.png │ ├── grid_84.png │ ├── grid_88.png │ ├── grid_92.png │ ├── grid_96.png │ ├── left_+1.png │ ├── left_-1.png │ ├── left_10.png │ ├── left_20.png │ ├── left_30.png │ ├── left_40.png │ ├── left_50.png │ ├── left_60.png │ ├── left_70.png │ ├── left_80.png │ ├── range_B1-A#2.png │ ├── range_B2-E4.png │ ├── range_D#3-G#4.png │ ├── range_D2-C#3.png │ ├── range_E2-D#3.png │ ├── range_E3-A4.png │ ├── range_F#2-F3.png │ ├── range_F#3-B4.png │ ├── range_G#2-C#4.png │ ├── range_G#3-C#5.png │ ├── top_CC1.png │ ├── top_CC2.png │ ├── top_CC3.png │ ├── top_CC4.png │ └── top_Main.png ├── Lokasenna_Select note and note row under mouse cursor.lua ├── Lokasenna_Select notes above or below note number... .lua ├── Lokasenna_Set selected note lengths to at least X.lua ├── Lokasenna_Theory Helper.lua ├── Mordi-ahmusic_Search selected notes in scale finder.lua ├── Mordi_Search selected notes in chord finder.lua ├── amagalma_Delete CC-Text-Sysex events by type.lua ├── amagalma_MIDI note velocity Statistics - compress or expand above and below threshold.lua ├── cfillion_Clamp velocity of selected MIDI notes.lua ├── cfillion_Set space between selected notes from grid size.lua ├── cfillion_Step sequencing (replace mode).jsfx ├── cfillion_Step sequencing (replace mode).lua ├── cfillion_Toggle MIDI preview on transport change.lua ├── daodan_Resample notes.lua ├── daodan_Resample notes │ ├── Resample Notes Presets │ │ ├── daodan_Duplicate notes octave up (with fx).lua │ │ ├── daodan_Duplicate notes octave up.lua │ │ ├── daodan_Resample notes default.lua │ │ ├── daodan_Reverse notes and sample +pitch.lua │ │ ├── daodan_Reverse notes and sample.lua │ │ ├── daodan_Reversed on midi ch 2.lua │ │ ├── daodan_Reversed on new track.lua │ │ └── daodan_Swell FX (reverse sample).lua │ ├── daodan_Resample notes - GUI.lua │ └── daodan_Resample notes.lua ├── edgemeal_Close all floating MIDI windows.lua ├── eriklandskov_Select all MIDI notes that share MIDI channel with selection.lua ├── gofer_spk77_Smooth CCs.eel ├── js_Deselect all MIDI except in active channel of active take.lua ├── js_Deselect all events outside time selection (from all tracks).lua ├── js_Fit all selected events to time selection.lua ├── js_Fit selected events to time selection in lane under mouse.lua ├── js_Fit selected events to time selection in last clicked lane.lua ├── js_Insert CC or pitch at mouse position, leaving other selected.lua ├── js_Insert pitch reset at start of each selected note (all editable takes).lua ├── js_LFO Tool (MIDI editor version, apply to existing CCs or velocities in lane under mouse).lua ├── js_LFO Tool (MIDI editor version, apply to existing CCs or velocities in last clicked lane).lua ├── js_LFO Tool (MIDI editor version, insert CCs in time selection in lane under mouse).lua ├── js_LFO Tool (MIDI editor version, insert CCs in time selection in last clicked lane).lua ├── js_LFO Tool (MIDI editor version, insert CCs under selected notes in lane under mouse).lua ├── js_LFO Tool (MIDI editor version, insert CCs under selected notes in last clicked lane).lua ├── js_MIDI Inspector.lua ├── js_Mouse editing - Arch and Tilt.cur ├── js_Mouse editing - Connect nodes.lua ├── js_Mouse editing - Draw LFO.lua ├── js_Mouse editing - Draw ramp.lua ├── js_Mouse editing - Extract nodes.cur ├── js_Mouse editing - Extract nodes.lua ├── js_Mouse editing - Multi compress.cur ├── js_Mouse editing - Multi tool.lua ├── js_Mouse editing - Redo.cur ├── js_Mouse editing - Run script that is armed in toolbar.lua ├── js_Mouse editing - Scale bottom.cur ├── js_Mouse editing - Scale top.cur ├── js_Mouse editing - Slice notes.cur ├── js_Mouse editing - Slice notes.lua ├── js_Mouse editing - Stretch bottom.cur ├── js_Mouse editing - Stretch top.cur ├── js_Mouse editing - Swipe select.lua ├── js_Mouse editing - Undo.cur ├── js_Notation - Select all notes that have customized display lengths or positions.lua ├── js_Notation - Select notes by notation keywords.lua ├── js_Notation - Select notes by user-supplied notation text.lua ├── js_Notation - Set beaming of selected notes to custom rhythm.lua ├── js_Notation - Set display length of selected notes to double and add staccato articulation.lua ├── js_Notation - Set display length of selected notes to quadruple and add staccatissimo articulation.lua ├── js_Notation - Set displayed length of selected notes to custom value.lua ├── js_Option - Selecting single note or CC in active take sets channel for new events.lua ├── js_Option - Switching active take sets channel for new events to channel of existing events.lua ├── js_Option - Toggle skip redundant events when inserting CCs.lua ├── js_Panic - Stop all keystroke intercepts by scripts.lua ├── js_Remove redundant CCs (from selected events in lane under mouse).lua ├── js_Remove redundant CCs (from selected events in last clicked lane).lua ├── js_Remove redundant CCs.lua ├── js_Select and deselect MIDI notes by step pattern.lua ├── js_Select channel for new events for inline MIDI editor under mouse.lua ├── js_Set time selection to selected events in lane under mouse.lua ├── js_Set time selection to selected events in last clicked lane.lua ├── js_Tilt selected events in lane under mouse to fit both sides.lua ├── js_Zoom MIDI editor to 5 measures at mouse position.lua ├── kl_Preset velocity.lua ├── kl_Preset velocity │ ├── Note Preview.jsfx │ └── Velocity Slider.jsfx ├── pandabot_Select every N notes within selection.eel ├── spk77_Add to selection next note at same pitch.eel ├── spk77_Add to selection previous note at same pitch.eel ├── spk77_MIDI velocity tool.eel ├── spk77_Move edit cursor to start of next note + preview.eel ├── spk77_Move edit cursor to start of next note.eel ├── spk77_Move edit cursor to start of previous measure.eel ├── spk77_Move edit cursor to start of previous note.eel ├── spk77_Remove redundant CCs.eel ├── spk77_Restrict polyphony.eel ├── spk77_Select all MIDI notes and events right of cursor.eel ├── spk77_Set random velocities for selected notes.eel ├── spk77_Split selected takes to MIDI notes boundaries.eel ├── talagan_Distribute MIDI notes evenly action.lua ├── talagan_Distribute MIDI notes evenly lib.lua ├── talagan_Find overlapping notes.lua ├── talagan_Find overlapping notes │ ├── actions │ │ ├── talagan_Find overlapping notes in active take and select them.lua │ │ └── talagan_Find overlapping notes in project and report items.lua │ └── overlapping_lib.lua ├── talagan_Legatool.lua ├── talagan_Legatool │ ├── app.lua │ ├── ext │ │ ├── dependencies.lua │ │ └── imgui.lua │ └── modules │ │ ├── context.lua │ │ ├── debug.lua │ │ ├── log.lua │ │ ├── settings.lua │ │ ├── snap.lua │ │ └── utils.lua ├── talagan_MaCCLane.lua ├── talagan_MaCCLane │ ├── actions │ │ └── generic_action.lua │ ├── app.lua │ ├── classes │ │ ├── add_tab_tab.lua │ │ ├── combo_search.lua │ │ ├── enum.lua │ │ ├── global_scope_repo.lua │ │ ├── midi_editor_context.lua │ │ ├── multi_export_window.lua │ │ ├── settings_window.lua │ │ ├── tab.lua │ │ ├── tab_editor.lua │ │ ├── tab_popup_menu.lua │ │ └── template_hierarchy.lua │ ├── data │ │ └── _PUT_YOUR_MACCLANE_TEMPLATES_HERE.md │ ├── ext │ │ └── dependencies.lua │ ├── images │ │ └── read.lua │ ├── lib │ │ ├── inspect.lua │ │ └── json.lua │ └── modules │ │ ├── action_interface.lua │ │ ├── actions.lua │ │ ├── cc_lane_list.lua │ │ ├── chunk.lua │ │ ├── context.lua │ │ ├── debug.lua │ │ ├── defines.lua │ │ ├── file.lua │ │ ├── grid.lua │ │ ├── log.lua │ │ ├── midi.lua │ │ ├── modifiers.lua │ │ ├── piano_roll.lua │ │ ├── pitch_snap.lua │ │ ├── serializing.lua │ │ ├── settings.lua │ │ ├── tab_params.lua │ │ ├── tab_state.lua │ │ ├── timeline.lua │ │ ├── utils.lua │ │ └── vellane.lua ├── talagan_OneSmallStep.lua ├── talagan_OneSmallStep │ ├── One Small Step Helper.jsfx │ ├── actions │ │ ├── talagan_OneSmallStep Change edit mode - (MIDI).lua │ │ ├── talagan_OneSmallStep Change edit mode.lua │ │ ├── talagan_OneSmallStep Change input mode - (MIDI).lua │ │ ├── talagan_OneSmallStep Change input mode.lua │ │ ├── talagan_OneSmallStep Change note len - (MIDI).lua │ │ ├── talagan_OneSmallStep Change note len modifier - (MIDI).lua │ │ ├── talagan_OneSmallStep Change note len modifier.lua │ │ ├── talagan_OneSmallStep Change note len param source - (MIDI).lua │ │ ├── talagan_OneSmallStep Change note len param source.lua │ │ ├── talagan_OneSmallStep Change note len.lua │ │ ├── talagan_OneSmallStep Cleanup helper JSFXs.lua │ │ ├── talagan_OneSmallStep Decrease note len.lua │ │ ├── talagan_OneSmallStep Edit Action.lua │ │ ├── talagan_OneSmallStep Increase note len.lua │ │ ├── talagan_OneSmallStep Playback.lua │ │ ├── talagan_OneSmallStep Set or remove operation marker.lua │ │ ├── talagan_OneSmallStep Set or remove playback marker.lua │ │ ├── talagan_OneSmallStep Toggle Debugger.lua │ │ └── talagan_OneSmallStep Toggle armed.lua │ ├── classes │ │ ├── engine_lib.lua │ │ ├── helper_lib.lua │ │ ├── input_managers │ │ │ ├── KeyActivityManager.lua │ │ │ ├── KeyPressActivityManager.lua │ │ │ └── KeyReleaseActivityManager.lua │ │ ├── lib │ │ │ └── MIDIUtils.lua │ │ ├── modules │ │ │ ├── action_triggers.lua │ │ │ ├── articulations.lua │ │ │ ├── debugger.lua │ │ │ ├── defines.lua │ │ │ ├── edition.lua │ │ │ ├── focus.lua │ │ │ ├── markers.lua │ │ │ ├── modifiers.lua │ │ │ ├── notes.lua │ │ │ ├── settings.lua │ │ │ ├── snap.lua │ │ │ ├── target.lua │ │ │ └── time.lua │ │ └── operations │ │ │ ├── generic.lua │ │ │ ├── insert.lua │ │ │ ├── navigate.lua │ │ │ ├── repitch.lua │ │ │ ├── replace.lua │ │ │ ├── stretch.lua │ │ │ ├── stuff.lua │ │ │ └── write.lua │ ├── images │ │ ├── edit_mode_insert.lua │ │ ├── edit_mode_navigate.lua │ │ ├── edit_mode_repitch.lua │ │ ├── edit_mode_replace.lua │ │ ├── edit_mode_write.lua │ │ ├── frac_1.lua │ │ ├── frac_1_16.lua │ │ ├── frac_1_2.lua │ │ ├── frac_1_4.lua │ │ ├── frac_1_8.lua │ │ ├── frac_1_n.lua │ │ ├── frac_2.lua │ │ ├── frac_2_3.lua │ │ ├── frac_3_2.lua │ │ ├── frac_4.lua │ │ ├── indicator_compress.lua │ │ ├── indicator_insert_back.lua │ │ ├── indicator_insert_forward.lua │ │ ├── indicator_navigate_back.lua │ │ ├── indicator_navigate_forward.lua │ │ ├── indicator_repitch_back.lua │ │ ├── indicator_repitch_forward.lua │ │ ├── indicator_replace_back.lua │ │ ├── indicator_replace_forward.lua │ │ ├── indicator_stretch.lua │ │ ├── indicator_stuff.lua │ │ ├── indicator_unstuff.lua │ │ ├── indicator_write_back.lua │ │ ├── indicator_write_forward.lua │ │ ├── input_mode_action.lua │ │ ├── input_mode_keyboard_press.lua │ │ ├── input_mode_keyboard_release.lua │ │ ├── input_mode_pedal.lua │ │ ├── marker.lua │ │ ├── note_1.lua │ │ ├── note_1_16.lua │ │ ├── note_1_2.lua │ │ ├── note_1_32.lua │ │ ├── note_1_4.lua │ │ ├── note_1_64.lua │ │ ├── note_1_8.lua │ │ ├── note_dotted.lua │ │ ├── note_highlighting.lua │ │ ├── note_len_mode_inote.lua │ │ ├── note_len_mode_oss.lua │ │ ├── note_len_mode_pgrid.lua │ │ ├── note_modified.lua │ │ ├── note_triplet.lua │ │ ├── note_tuplet.lua │ │ ├── playback.lua │ │ ├── settings.lua │ │ ├── snap.lua │ │ ├── snap_btn_ibounds.lua │ │ ├── snap_btn_igrid.lua │ │ ├── snap_btn_note.lua │ │ └── snap_btn_pgrid.lua │ └── toolbar_icons │ │ ├── toolbar_one_small_step.png │ │ └── toolbar_one_small_step_cleanup.png ├── talagan_Scroll TCP to track currently edited in active MIDI editor.lua ├── timtam_AccessiChords.lua ├── timtam_AccessiChords │ ├── smallfolk.lua │ ├── timtam_AccessiChords insert selected chord for pitch cursor.lua │ ├── timtam_AccessiChords select next chord for pitch cursor.lua │ ├── timtam_AccessiChords select next chord inversion.lua │ ├── timtam_AccessiChords select previous chord for pitch cursor.lua │ ├── timtam_AccessiChords select previous chord inversion.lua │ ├── timtam_AccessiChords stop notes.lua │ └── timtam_AccessiChords.lua └── ugurcanorcun_ReaKS.lua ├── MIDI Inline Editor ├── js_Deselect all MIDI except in active channel of inline MIDI editor under mouse.lua ├── js_Select CC lanes to show in MIDI item under mouse.lua ├── js_Select CC lanes to show in selected MIDI items.lua └── js_Select channel for new events for MIDI editor under mouse.lua ├── Markers ├── BuyOne_Insert project marker with current timestamp at edit;mouse cursor (options).lua ├── BuyOne_Insert take marker with current timestamp at edit;mouse cursor in selected items;takes (options).lua ├── BuyOne_Set markers and-or regions to random color(s).lua ├── Hypex_Tempo marker list.eel ├── Hypex_Tempo marker list │ └── Hypex_Tempo marker list in time selection.eel ├── Lokasenna_Fill time selection with markers.lua ├── Lokasenna_Go to marker 00.lua ├── Mordi_Create tempo-map from markers.lua ├── acendan_Find and Replace in Marker Region Names.lua ├── amagalma_Go to marker (choose from menu list).lua ├── amagalma_Insert time signature changes Tool.lua ├── amagalma_Rename region at edit cursor after the first selected item.lua ├── amagalma_Rename region at edit cursor after the first selected track.lua ├── amagalma_Write project markers as media cues to selected items active takes source files.lua ├── az_Insert project marker under mouse or play cursor.lua ├── az_Insert project marker under mouse or play cursor │ └── az_Insert project marker and edit it under mouse or play cursor.lua ├── beaunus_Add markers for lyrics in selected items.lua ├── cfillion_Copy and paste project markers and regions.lua ├── cfillion_Delete last marker left of the play or edit cursor.lua ├── cfillion_Export markers to mkvmerge simple chapter format.lua ├── cfillion_Insert regions at markers and vice versa in time selection.lua ├── daxliniere_Live recording take commenter.lua ├── js_Stretch tempo markers to edit cursor.lua ├── mordi_Add project markers as take markers into selected items.lua ├── mordi_Replace string in marker and region names.lua ├── rekseffeks_protoolsmarkerjump.lua ├── spk77_Duplicate previous marker.lua ├── spk77_Move nearest marker to edit cursor.eel ├── tormyvancool_Audiobooks chapter marker updater.lua └── tormyvancool_Audiobooks chapter marker.lua ├── Project Properties ├── BenjyO_Reset project start measure.lua ├── BenjyO_Reset project start time.lua ├── BenjyO_Set measure 1 to current edit cursor position (rounded).lua ├── BuyOne_Close tab or quit REAPER without Save prompt (see settings).lua ├── BuyOne_Export project tabs and import from dump (settings inside).lua ├── BuyOne_Load instance of current project in another tab.lua ├── BuyOne_Open recent projects in new tab (settings inside).lua ├── BuyOne_Save-Load window set #1-10 with Mixer scroll position.lua ├── BuyOne_Scroll named track into view in the Mixer (guide inside).lua ├── JerContact_Open project based on file in clipboard.lua ├── amagalma_Disable Project Bay option Automatically retain items when removed from project.lua ├── amagalma_Enable Project Bay option Automatically retain items when removed from project.lua ├── amagalma_Set project grid (via dropdown menu).lua ├── amagalma_Set project length limit to edit cursor position.lua ├── amagalma_Set project samplerate to that of the first selected item (if different).lua ├── amagalma_Toggle Project Bay option Automatically retain items when removed from project.lua ├── cfillion_Normalize peaks display gain.lua ├── cfillion_Normalize project encoding.lua ├── cfillion_Set master track mono mode to L+R, L, R or L-R.lua ├── cfillion_Set timecode at edit cursor.lua ├── edgemeal_Do not process muted tracks toggle.lua ├── edgemeal_Save project plugin info to text file.lua ├── edgemeal_Save project plugin info to text file │ └── edgemeal_Save project plugin info to text file (Don't open notepad on Windows).lua ├── jd_Kanban.lua ├── nickstomp_Import Export track group names.lua ├── nickstomp_Import Export track group names │ ├── nickstomp_Export track group names.lua │ └── nickstomp_Import track group names.lua ├── solger_ReaLauncher.lua └── wikylepedia_Export track names to channel list CSV.lua ├── README.md ├── Razor Edit ├── amagalma_Add Razor Edit on selected tracks within Region bounds under mouse or edit cursor (keep other RE areas).lua ├── amagalma_Create Razor Edit on selected tracks within Region bounds under mouse or edit cursor (clear other RE areas).lua ├── amagalma_Crossfade items in Razor Edit area.lua ├── amagalma_Delete all envelope points inside Razor Edit areas (do not add edge points).lua ├── amagalma_Delete razor edit areas' contents moving later items (ripple per track).lua ├── amagalma_Insert empty space at Razor Edit areas moving later items (ripple per track).lua ├── amagalma_Remove all item fades within Razor Edit areas.lua ├── amagalma_Set time selection to razor edits' start and end (selected tracks only).lua ├── amagalma_Set time selection to razor edits' start and end.lua ├── amagalma_Split media items at Razor Edit area edges (crossfades to the left of the splits).lua ├── az_Exclude tracks or envelopes from razor area depending on mouse placement.lua ├── js_Razor edit - Apply LFO to razor areas by converting to temporary automation items.lua └── js_Razor edit - Enclose selected media items and automation items in minimal razor areas.lua ├── Regions ├── BuyOne_Set region at play or edit cursor to a predefined color.lua ├── BuyOne_Sort by length region bars displayed in lanes (respecting time sel.).lua ├── HeDa_RegionMatrixAutoTrack.lua ├── Mordi_Create single region from selected items (get name and color from folder track).lua ├── Mordi_Create single region from selected items (get name and color from folder track) │ ├── Mordi_Create single region from selected items (get name and color from folder track) and mark it in region render matrix via master.lua │ └── Mordi_Create single region from selected items (get name and color from folder track) and mark it in region render matrix.lua ├── Mordi_Set render matrix by comparing track names and region names.lua ├── Thonex_Set region at edit cursor to time selection.lua ├── Thonex_Set time selection to region at edit cursor.lua ├── amagalma_Go to region marker (choose from menu list).lua ├── amagalma_Move cursor to equivalent position inside next similarly named Region.lua ├── amagalma_Move cursor to equivalent position inside previous similarly named Region.lua ├── ausbaxter_Save and Load region render matrix.lua ├── cfillion_Nudge start or end of regions in time selection.lua ├── edgemeal_Select region in region manager window.lua ├── edgemeal_Select region in region manager window │ ├── edgemeal_Select next region in region manager window.lua │ └── edgemeal_Select previous region in region manager window.lua ├── epacheco_Create a single region with name and tail length from selected items.lua ├── epacheco_Create a single region with name from selected items.lua ├── micheldejoode_Mute - unmute tracks per region by Region Render Matrix.lua ├── spk77_Create regions (with tail) from selected items.lua ├── stepanhlavsa_Big region progress bar for live use.lua └── tormyvancool_Chapter region for podcasts and recorded broadcasts.lua ├── Rendering ├── BuyOne_Play a file when rendering is finished (guide inside).lua ├── BuyOne_Render each item in place separately (guide inside).lua ├── DSG_Render time selection to new track.lua ├── cfillion_Apply render preset.lua ├── rodilab_Render whole items in new take.lua ├── rodilab_Render whole items in new take │ └── rodilab_Render whole items in new take (preserve take name).lua └── uorcun_Insert start and end markers to time selection for subprojects.lua ├── Stretch Markers ├── Argitoth_Split selected items at stretch markers.eel ├── Hypex_Item stretch list.eel ├── Hypex_Item stretch list │ └── Hypex_Item stretch list in time selection.eel ├── js_Adjust audio items to tempo changes using stretch markers.lua ├── js_Convert all stretch markers in selected items to slopes with starting rate 1.0, to protect transients.lua ├── js_Convert all stretch markers in take under mouse to slopes with starting rate 1.0, to protect transients.lua ├── spk77_Copy stretch markers from selected item to other items in group.eel └── spk77_Quantize stretch markers.eel ├── Takes Properties ├── Argitoth_Convert all takes pitch to rate.eel ├── Argitoth_Convert all takes rate to pitch.eel ├── BuyOne_Randomize active take in items (settings inside).lua ├── BuyOne_Reverse order of all takes in items.lua ├── Mordi_Add count of same-named takes to selected takes names (starting from 1).lua ├── Mordi_Move first character of active takes name to end (on selected items).lua ├── Mordi_Namecount from x.lua ├── Mordi_Set selected items active takes name to track name.lua ├── Nagasaki45_Randomize active takes pan in selected items.lua ├── amagalma_Set all take markers' color for selected items in time selection.lua ├── az_Propagate project Pitch Shift mode to all takes with default mode.lua ├── cfillion_Select the item with highest or lowest pitch.lua ├── cfillion_Toggle take FX bypass for selected items.lua ├── edgemeal_Cycle item last selected take up-down.lua ├── js_Sort takes by LUFS.lua ├── myrrc_Toggle take two mono to stereo play (doubletrack mode).lua ├── spk77_Pan active takes randomly.eel ├── spk77_Randomize active takes pitch in selected items.eel └── spk77_Reset takes pan to center.eel ├── Time Selection ├── BuyOne_Create time selection between two marked points from the closest to cursor on the left (guide inside).lua ├── JRT_Extend selection to start of session.lua ├── Lokasenna_Create time selection at edit cursor... .lua ├── Lokasenna_Create time selection at play cursor... .lua ├── Lokasenna_Move time selection left by time selection length.lua ├── Lokasenna_Move time selection right by time selection length.lua ├── Lokasenna_Set time selection from edit cursor to play cursor.lua ├── Lokasenna_Snap time selection or loop points to grid.lua ├── az_Link time selection or loop points to arrange view.lua ├── az_Set time selection to envelope points (selected or around mouse cursor).lua ├── cfillion_Extend time selection to cover selected items.lua ├── cfillion_Insert empty space from time selection at edit cursor (moving later items).lua ├── edgemeal_Move time selection to cursor.lua ├── edgemeal_Playhead follower.lua ├── edgemeal_Select muted items within time selection.lua ├── edgemeal_Select non-locked items in time selection.lua ├── edgemeal_Unselect items not within time selection.lua ├── js_Time selection - Insert empty beats at time selection (moving later items).lua ├── rodilab_Play next item once.lua ├── rodilab_Set time selection to fade under mouse cursor.lua ├── spk77_Set time selection from edit cursor to end of items.eel ├── spk77_Set time selection from edit cursor to end of selected tracks.eel ├── spk77_Set time selection to item fade-in.lua └── spk77_Set time selection to item fade-out.lua ├── Tracks Properties ├── AZ_Toggle exclusive solo for track under mouse.eel ├── Argitoth_Set number of channels for selected tracks.eel ├── BuyOne_(Re)Store Mixer scroll position per project.lua ├── BuyOne_Automatically increase height of selected tracks, decrease others'.lua ├── BuyOne_Mute empty tracks with FX and optionally set their FX offline (guide inside).lua ├── BuyOne_Navigate to track send destination or receive source track via menu.lua ├── BuyOne_Save track template with items selected or within time selection.lua ├── BuyOne_Scroll to or exclusively show track(s) by name or index.lua ├── BuyOne_Set sends;receives in selected tracks to the next mode (relative to the current).lua ├── BuyOne_Set sends;receives in selected tracks to the same mode and cycle through the modes.lua ├── DP_Set track playback offset.lua ├── ED_Toggle free item positioning mode with track name marker.lua ├── ICio_Set color gradient to children tracks starting from parent color.lua ├── JRT_Mute and hide selected tracks.lua ├── Lokasenna_Append selected track names with their first send destination.lua ├── Lokasenna_Create bus after selected tracks and reroute them.lua ├── Lokasenna_Create bus before selected tracks and reroute them.lua ├── Lokasenna_Create folder to contain selected tracks.lua ├── Lokasenna_Create send from selected tracks.lua ├── Lokasenna_Select tracks by name.lua ├── Lokasenna_Select tracks in selection with items.lua ├── Lokasenna_Select tracks in selection with no items.lua ├── Lokasenna_Show only specified tracks.lua ├── Mordi_Insert new track (inherit color from parent).lua ├── Will-Develop_Random track order for selected tracks.lua ├── airon_Show VCA Followers of selected VCA Leader.lua ├── airon_vca_show_leaders.lua ├── ak5k_Toggle track visibility by items in current region.lua ├── amagalma_Cycle layout for track under mouse cursor (applies to other selected tracks if track selected).lua ├── amagalma_Fit vertically all tracks into view (if possible).lua ├── amagalma_Insert a new track as the last child for each selected track (optionally enumerate and name).lua ├── amagalma_Normalize selected tracks - calculate only for the time selection, if present (peakRMSLUFS)....lua ├── amagalma_Route selected tracks to new Channel Selector track above them.lua ├── amagalma_Smart track layout picker (categories with sub-menus).lua ├── amagalma_Toggle fixed item lanes (convert takes to lanes) and keep the same track height.lua ├── bryanchi_FXD - Vertical FX list.lua ├── bryanchi_FXD - Vertical FX list │ ├── Functions │ │ ├── FX Adder.Lua │ │ └── General Functions.Lua │ └── Images │ │ ├── hide.png │ │ ├── link.png │ │ ├── receive.png │ │ ├── send.png │ │ ├── show.png │ │ ├── star.png │ │ └── starHollow.png ├── cfillion_Bypass all input FX for selected tracks.lua ├── cfillion_Disable audio or MIDI source of all sends on selected tracks.lua ├── cfillion_Duplicate tracks (preserving SWS track notes).lua ├── cfillion_Explode selected tracks to mono tracks.lua ├── cfillion_Remove hardware outputs of selected tracks.lua ├── cfillion_Rename selected tracks from clipboard lines.lua ├── cfillion_Reset TCP height of selected tracks to default.lua ├── cfillion_Reset stereo width of selected tracks to 100%.lua ├── cfillion_Select destination tracks of selected tracks sends recursively.lua ├── cfillion_Select source tracks of selected tracks receives recursively.lua ├── cfillion_Select track FX by name.lua ├── cfillion_Set audio source of all sends on selected tracks to all channels.lua ├── cfillion_Set destination or source bus of MIDI sends on selected tracks.lua ├── cfillion_Toggle track FX bypass by name.lua ├── cfillion_Toggle visibility of empty non-folder tracks.lua ├── cfillion_Toggle visual spacer before or after selected tracks.lua ├── cfillion_Unselect hidden tracks.lua ├── edgemeal_Disable multichannel metering on selected tracks.lua ├── edgemeal_Enable playback offset for selected tracks.lua ├── edgemeal_Enable track playback offset for selected tracks (Samples).lua ├── edgemeal_Remove muted track sends from selected tracks.lua ├── edgemeal_Remove muted track sends.lua ├── edgemeal_Select tracks with locked items.lua ├── edgemeal_Show VSTi from selected MIDI track sends.lua ├── edgemeal_Unselect last (bottom) selected track.lua ├── jmieszkowski_Create folders from selected tracks based on their names and color them.lua ├── jmieszkowski_Set the color of selected tracks from their parent tracks.lua ├── js_Autoincrement MIDI send channels of selected tracks.lua ├── js_Propagate note and CC names of last clicked track to all selected tracks.lua ├── js_Set MIDI send channel of selected tracks to channel of existing MIDI events in track.lua ├── mordi_Paste text from clipboard to selected tracks names (separate by newline).lua ├── mordi_Set media playback offset for selected tracks.lua ├── mordi_Sort selected tracks alphabetically.lua ├── ook_Insert new track with two-way midiaudio send to selected track.lua ├── patrickmartin_Setup Multi-Out VST.lua ├── reaperblog_+3dB trim send levels on selected track.eel ├── reaperblog_-3dB trim send levels on selected track.eel ├── rodilab_Toggle hide tracks with no items in current time selection.lua ├── rodilab_Track name groups.lua ├── smandrap_SendBox.lua ├── spk77_Adjust all receive volumes on selected track by x dB.eel ├── spk77_Adjust all send volumes on selected track by x dB.eel ├── spk77_Rename tracks after first program change (for General MIDI).eel ├── spk77_Reset all tracks pan.eel ├── spk77_Reset all tracks volume.eel ├── spk77_Set pan for selected tracks.lua ├── spk77_Set solo for send X.lua ├── spk77_Set track names to first item (active take) name.eel ├── spk77_Set track names to source filename (remove extension).eel ├── spk77_Set volume for selected tracks.lua ├── spk77_Sexan_Folder Record and Monitor Arm To Children.lua ├── talagan_Track color layouts.lua ├── talagan_Track color layouts │ ├── talagan_Track color layouts lib.lua │ ├── toolbar_talagan_track_color_layout_1.png │ ├── toolbar_talagan_track_color_layout_2.png │ ├── toolbar_talagan_track_color_layout_3.png │ └── toolbar_talagan_track_color_layout_4.png ├── tm_Set hardware outputs of selected tracks to post-fader.lua ├── tm_Set hardware outputs of selected tracks to pre-fader (post-fx).lua ├── tm_Set hardware outputs of selected tracks to pre-fader (pre-fx).lua ├── triode_Adjust selected tracks sends via send window (or fader volume if no send window).lua └── triode_Adjust selected tracks sends via send window (or fader volume if no send window) │ ├── triode_Add 1db to selected tracks sends via send window (or fader volume if no send window).lua │ └── triode_Subtract 1db from selected tracks sends via send window (or fader volume if no send window).lua ├── Tracks ├── JWM_Group selected track sends.lua ├── Neftovsky_Floating solo toolbar.lua ├── cfillion_Remove empty tracks.lua ├── daodan_Exclusive solo, mute, rec-arm via middle mouse click on track buttons (background).lua ├── daodan_Solo, mute, rec-arm indicator (global, interactive).lua ├── edgemeal_Play lanes in time selection.lua ├── gus-lan_Select folder tracks of depth X.lua ├── kaddaok_Import UVR separations into comping lane structure.lua ├── reapertips_Track icon selector.lua ├── reatips_Track icon selector │ ├── Menu.png │ └── Reset.png ├── tilr_Keyboard splitter.lua └── tilr_Keyboard splitter │ ├── MIDI Keyvel Filter.jsfx │ └── rtk.lua ├── Various ├── Airon_Colour Swatch.lua ├── BuyOne_Adjust track, item, envelope points, FX parameters with mousewheel.lua ├── BuyOne_Check length of custom action(s).lua ├── BuyOne_Convert custom actions to Lua ReaScript.lua ├── BuyOne_Cursor toggleable docked toolbars │ ├── BuyOne_Cursor toggleable Toolbar Docker (settings inside).lua │ ├── BuyOne_Cursor toggleable Toolbar Docker simpler (settings inside).lua │ ├── BuyOne_Cursor toggleable Toolbar Docker simplest.lua │ ├── BuyOne_Cursor toggleable sidebars (settings inside).lua │ └── BuyOne_Cursor toggleable toolbar at top of main window.lua ├── BuyOne_Cursor toggleable toolbars.lua ├── BuyOne_Duplicate selected tracks, media or automation items with input box.lua ├── BuyOne_Dynamic ReaperMenu (guide inside).lua ├── BuyOne_Exclusive dummy toggles.lua ├── BuyOne_Exclusive dummy toggles │ ├── BuyOne_Exclusive dummy toggle - spawn new script.lua │ └── BuyOne_Exclusive dummy toggle startup script.lua ├── BuyOne_REAPER Profile terminal.lua ├── BuyOne_REAPER Profile terminal │ ├── BuyOne_REAPER Profile terminal (autosave all) (guide inside).lua │ └── BuyOne_REAPER Profile terminal (guide inside).lua ├── BuyOne_Scroll horizontally and;or move loop and;or time selection by user defined interval.lua ├── BuyOne_Select source object of a focused FX chain or FX window.lua ├── BuyOne_Select track of the currently focused track FX window.lua ├── BuyOne_Skip marker(s) or region(s) with the keyword in the name.lua ├── Dfk_Project map navigator.lua ├── ED_Smart toggle mute (items, automation items, tracks).lua ├── FnA_Ensure toggle OFF (item grouping).lua ├── FnA_Ensure toggle ON (item grouping).lua ├── FnA_Solo in front dimming louder.eel ├── FnA_Solo in front dimming quieter.eel ├── FnA_Solo in front dimming with mousewheel.eel ├── HeDa_AutoSend.lua ├── HeDa_Crop Region to selected item.lua ├── HeDa_View Scroll Bottom.lua ├── HeDa_View Scroll Top.lua ├── JamesHE_Audition Takes of Selected items.eel ├── JamesHE_Comps Display.eel ├── JamesHE_gfx and string functions.eel ├── Lokasenna_Add real-life timestamps.lua ├── Lokasenna_Create action to open a file... .lua ├── Lokasenna_Create mix bus and reroute all selected tracks to it.lua ├── Lokasenna_Create mix bus and reroute all top-level tracks to it.lua ├── Lokasenna_Enable metronome until playback reaches edit cursor.lua ├── Lokasenna_Generate script from custom action.lua ├── Lokasenna_Insert most recent exported file....lua ├── Lokasenna_Open Reaper folder.lua ├── Lokasenna_Open Resource folder.lua ├── Lokasenna_Radial Menu.lua ├── Lokasenna_Radial Menu │ ├── Lokasenna_Radial Menu - example settings.txt │ └── Lokasenna_Radial Menu Setup.lua ├── Lokasenna_Refresh current theme.lua ├── Lokasenna_Repeat Action - Add new action.lua ├── Lokasenna_Repeat Action.lua ├── Lokasenna_Reverse order of selected tracks.lua ├── Lokasenna_Scroll mixer to first selected track.lua ├── Lokasenna_Toolbar button shortcuts.lua ├── PL9-amagalma_Source Time Position Tool v2.lua ├── PL9_Source Time Position Tool.eel ├── SampleSamurai.lua ├── amagalma_Add smart metronome click track below the selected track.lua ├── amagalma_Adjust theme colors.lua ├── amagalma_Backup Limit Automatic - Keep x number of most recent timestamped backups of current project file.lua ├── amagalma_Backup Limit Manual - Keep x number of most recent timestamped backups of current project file.lua ├── amagalma_Backup Limit Settings - Keep x number of most recent timestamped backups of current project file.lua ├── amagalma_Backup Limit Stand-Alone - Keep x number of most recent timestamped backups of the selected project(s) (browse to specify).lua ├── amagalma_Calculate difference in LUFS when take and track FX are applied to selected item via dry run.lua ├── amagalma_Chunk ViewerEditor find.lua ├── amagalma_Chunk ViewerEditor.lua ├── amagalma_Create Impulse Response (IR) of the FX chain of the selected track.lua ├── amagalma_Distinguish visually the ripple editing modes.lua ├── amagalma_Edgemeal_Get number of all actions in the Action List.lua ├── amagalma_Enclose selected or focused FX in visible chain with ABLM2 Level Matching VST.lua ├── amagalma_Go to track (mousewheel only) reverse.eel ├── amagalma_Grid Settings button.lua ├── amagalma_Grid Settings button │ ├── amagalma_dot.png │ ├── amagalma_eighth_note.png │ ├── amagalma_grid_button.png │ ├── amagalma_half_note.png │ ├── amagalma_quarter_note.png │ ├── amagalma_sixteenth_note.png │ ├── amagalma_sixtyfourth_note.png │ ├── amagalma_thirtysecond_note.png │ ├── amagalma_triplet.png │ └── amagalma_whole_note.png ├── amagalma_Horizontal Zoom preset bundle.lua ├── amagalma_Implode items across tracks into takes (remove empty tracks).lua ├── amagalma_Insert or remove space at project start (moving everything and optionally keep same arrange view position).lua ├── amagalma_Move selected track to dedicated Melodyne subproject.lua ├── amagalma_ReaNamer Replace Help.lua ├── amagalma_ReaNamer utf8data.lua ├── amagalma_ReaNoir track-item-take coloring utility.lua ├── amagalma_Reaper GUI color controls XL.lua ├── amagalma_Remove all invalid file paths from the Recent Project list.lua ├── amagalma_Ripple recording.lua ├── amagalma_Save current Horizontal Zoom as preset bundle.lua ├── amagalma_Save current Vertical Zoom as preset bundle.lua ├── amagalma_Set size of Vertical Zoom presets.lua ├── amagalma_Show menu for dry run (calculate loudness) actions.lua ├── amagalma_Show offscreen item selection as a tooltip.lua ├── amagalma_Show path from list menu (Resource, Selected Item, Project File, Record, Secondary Record, Render).lua ├── amagalma_Simulate tempo with playrate.lua ├── amagalma_Smart automatic record mode.eel ├── amagalma_Smart contextual zoom.lua ├── amagalma_Smooth scroll view left.eel ├── amagalma_Smooth scroll view right.eel ├── amagalma_Toggle Select all tracks, items or envelope points under mouse (smart select all).eel ├── amagalma_Toggle behavior of Play-Stop buttons.lua ├── amagalma_Toggle enclose focused FX chain with ABLM2 Level Matching VST.lua ├── amagalma_Toggle enclose focused FX chain with AB_LM Level Matching VST or JSFX.lua ├── amagalma_Toggle enclose selected or focused FX in visible chain with ABLM2 Level Matching VST.lua ├── amagalma_Toggle enclose selected or focused FX in visible chain with AB_LM Level Matching VST or JSFX.lua ├── amagalma_Toggle show media itemtake or automation item properties, depending on last touched context.lua ├── amagalma_Transport Play (with memory - no undo).lua ├── amagalma_Transport Play-Stop (with memory - no undo).lua ├── amagalma_Transport Stop - Toggle position (with memory - no undo).lua ├── amagalma_Vertical Zoom preset bundle.lua ├── amagalma_gianfini_ReaNamer (track-item-region-marker renaming utility).lua ├── amagalma_mespotine_Create MIDI Morse Message Item at edit cursor position, grid length duration, first selectedlast touched or first track.lua ├── ausbaxter_Render item columns.lua ├── az_Auto-send all inputs to the virtual midi keyboard (VKB) if mouse is in empty track space or recording is running (Background).lua ├── az_Simple project reconform.lua ├── beaunus_Clip_Splicer │ ├── README.md │ ├── example │ │ └── example.json │ └── schema │ │ └── ClipSplicerSchema.json ├── beaunus_Import_clip_splicer_specification_json.py ├── buyone_Convert custom actions to Lua ReaScript │ ├── BuyOne_Convert custom action to Lua ReaScript.lua │ ├── BuyOne_Convert custom actions in batch to Lua ReaScripts or dump as Lua code.lua │ └── BuyOne_Convert filtered custom actions to Lua ReaScripts or dump as Lua code.lua ├── cfillion_Big Repeat Button.lua ├── cfillion_Docker placeholders.lua ├── cfillion_Enable or disable external timecode synchronization.lua ├── cfillion_Find shortcut in the Action List.lua ├── cfillion_Open preferences page.lua ├── cfillion_Project underrun monitor (xrun).lua ├── cfillion_Song switcher.lua ├── cfillion_Song switcher │ ├── cfillion_Song switcher - Send signal.lua │ └── song_switcher.html ├── cool_MK ReSampler.lua ├── edgemeal_Maximize foreground window.lua ├── edgemeal_Reset VU Meters.lua ├── edgemeal_Restore foreground window.lua ├── edgemeal_Toggle snap grid settings.lua ├── ilovemedia_Arranged Live Looping.lua ├── jrtaylormusic_Toggle snap globally (Main and MIDI Editor).lua ├── js_Hotstrings.lua ├── mespotine_Show item name as tooltip.lua ├── mschnell_Mini song switcher.eel ├── mschnell_Mini song switcher │ └── mschnell_Mini song switcher project.eel ├── mschnell_Mute Track X.eel ├── muorsic_Smart tempo and time signature changes.lua ├── pandabot_ChordGun.lua ├── pandabot_ChordGun │ ├── pandabot_ChordGun decrement chord inversion.lua │ ├── pandabot_ChordGun decrement chord type.lua │ ├── pandabot_ChordGun decrement octave.lua │ ├── pandabot_ChordGun decrement scale tonic note.lua │ ├── pandabot_ChordGun decrement scale type.lua │ ├── pandabot_ChordGun double grid size.lua │ ├── pandabot_ChordGun halve grid size.lua │ ├── pandabot_ChordGun higher scale note 1.lua │ ├── pandabot_ChordGun higher scale note 2.lua │ ├── pandabot_ChordGun higher scale note 3.lua │ ├── pandabot_ChordGun higher scale note 4.lua │ ├── pandabot_ChordGun higher scale note 5.lua │ ├── pandabot_ChordGun higher scale note 6.lua │ ├── pandabot_ChordGun higher scale note 7.lua │ ├── pandabot_ChordGun increment chord inversion.lua │ ├── pandabot_ChordGun increment chord type.lua │ ├── pandabot_ChordGun increment octave.lua │ ├── pandabot_ChordGun increment scale tonic note.lua │ ├── pandabot_ChordGun increment scale type.lua │ ├── pandabot_ChordGun lower scale note 1.lua │ ├── pandabot_ChordGun lower scale note 2.lua │ ├── pandabot_ChordGun lower scale note 3.lua │ ├── pandabot_ChordGun lower scale note 4.lua │ ├── pandabot_ChordGun lower scale note 5.lua │ ├── pandabot_ChordGun lower scale note 6.lua │ ├── pandabot_ChordGun lower scale note 7.lua │ ├── pandabot_ChordGun scale chord 1.lua │ ├── pandabot_ChordGun scale chord 2.lua │ ├── pandabot_ChordGun scale chord 3.lua │ ├── pandabot_ChordGun scale chord 4.lua │ ├── pandabot_ChordGun scale chord 5.lua │ ├── pandabot_ChordGun scale chord 6.lua │ ├── pandabot_ChordGun scale chord 7.lua │ ├── pandabot_ChordGun scale note 1.lua │ ├── pandabot_ChordGun scale note 2.lua │ ├── pandabot_ChordGun scale note 3.lua │ ├── pandabot_ChordGun scale note 4.lua │ ├── pandabot_ChordGun scale note 5.lua │ ├── pandabot_ChordGun scale note 6.lua │ ├── pandabot_ChordGun scale note 7.lua │ ├── pandabot_ChordGun stop all notes from playing.lua │ ├── pandabot_ChordGun.lua │ └── pandabot_ChordGunMini.lua ├── patrickmartin_Split at transients and create regions named from pitches.lua ├── rodilab_Color palette.lua ├── rodilab_Color palette │ ├── color_palette_arm.cur │ └── color_palette_arm_insert.cur ├── rodilab_Smart remove.lua ├── rodilab_Smart select all (depending on focus, tracks selected and time selection).lua ├── sexan_Project time counter.lua ├── spk77_Clock.eel ├── spk77_Convert MIDI notes to stretch markers.eel ├── spk77_Convert stretch markers to MIDI notes.eel ├── spk77_Info display (mouse cursor context).eel ├── spk77_Insert empty space at time selection (prevent moving locked items).eel ├── spk77_Time display tool.eel ├── spk77_Track FX selector.eel ├── spk77_Track IO mixer.lua ├── spk77_Track IO mixer │ ├── spk77_class_function.lua │ ├── spk77_menu class_function.lua │ ├── spk77_mouse_function.lua │ ├── spk77_reaper track_function.lua │ ├── spk77_slider class_function.lua │ └── spk77_volthumb_47x21.png ├── spk77_Track Tags.lua ├── starshine_Starmidi - microtonal scales using lanes as piano roll.lua ├── starshine_Starmidi - microtonal scales using lanes as piano roll │ ├── starmidi │ ├── starshine_Starmidi - Flatten.eel │ ├── starshine_Starmidi - Parser.eel │ ├── starshine_Starmidi - Sharpen.eel │ ├── starshine_Starmidi - Small step down.eel │ ├── starshine_Starmidi - Small step up.eel │ └── starshine_Starmidi - UI.eel ├── tagirijus_Delete backups in project folder.lua ├── tagirijus_Prevent item extend on record.lua ├── tagirijus_Save project and move backups.lua ├── talagan_Spectracular.lua ├── talagan_Spectracular │ ├── actions │ │ └── talagan_Spectracular generic action.lua │ ├── app.lua │ ├── classes │ │ ├── sample_accessor.lua │ │ ├── spectrogram.lua │ │ ├── spectrogram_chunk.lua │ │ ├── spectrum_analysis_context.lua │ │ └── take_watcher.lua │ ├── ext │ │ ├── dependencies.lua │ │ └── imgui.lua │ ├── images │ │ └── spectracular.png │ ├── modules │ │ ├── csv.lua │ │ ├── debug.lua │ │ ├── dsp.lua │ │ ├── dsp │ │ │ ├── analysis_data_extractor.eel │ │ │ ├── analysis_data_to_rgb_array.eel │ │ │ ├── array_fill.eel │ │ │ ├── array_interleave.eel │ │ │ ├── array_op.eel │ │ │ ├── fft_bins_to_db.eel │ │ │ ├── fft_to_fft_bins.eel │ │ │ ├── fft_window.eel │ │ │ ├── resampler_akima.eel │ │ │ ├── resampler_cubic.eel │ │ │ ├── resampler_linear.eel │ │ │ └── rmse.eel │ │ ├── log.lua │ │ ├── midi.lua │ │ ├── render.lua │ │ ├── settings.lua │ │ ├── tracks.lua │ │ ├── unit_test.lua │ │ └── utils.lua │ ├── unit_tests │ │ └── dsp.lua │ └── widgets │ │ ├── help_window.lua │ │ ├── lr_mix.lua │ │ ├── lr_switch.lua │ │ ├── main.lua │ │ ├── profiles │ │ ├── frequency_slice_profile.lua │ │ └── spectrograph_time_profile.lua │ │ ├── rmse.lua │ │ ├── ruler.lua │ │ ├── scale_label.lua │ │ ├── spectrograph.lua │ │ ├── theme.lua │ │ └── ticks_overlay.lua ├── timtam_IntelliFreeze.lua ├── timtam_IntelliFreeze │ ├── timtam_IntelliFreeze Freeze all selected tracks to mono recursively.lua │ ├── timtam_IntelliFreeze Freeze all selected tracks to multi-channel recursively.lua │ ├── timtam_IntelliFreeze Freeze all selected tracks to stereo recursively.lua │ ├── timtam_IntelliFreeze Unfreeze all selected tracks recursively.lua │ └── timtam_IntelliFreeze.lua ├── tompad_MusicMath.lua ├── tompad_Practice coach.lua ├── tompad_obliques.lua ├── tompad_obliques │ └── obliques └── vo_Pomodoro.lua ├── Video ├── amagalma_Copy video processor parameter values from focused FX or first selected dedicated video processor item.lua ├── amagalma_Paste video processor parameter values to focused video FX or to all selected items.lua ├── js_Video - Automatically adjust size of thumbnail items when zooming.lua ├── js_Video - Create thumbnail items in selected track for selected video items.lua ├── js_Video - Extract thumbnails of video items to empty, MIDI or video processor items.lua └── yatsumehole_Auto screen flipping videos.lua ├── View ├── amagalma_Zoom to current region (where edit cursor is).lua ├── talagan_Docking tools.lua └── talagan_Docking tools │ ├── actions │ └── talagan_Generic dock resize action.lua │ └── docking_lib.lua └── index.xml /.github/workflows/check.yml: -------------------------------------------------------------------------------- 1 | name: check 2 | on: [push, pull_request] 3 | jobs: 4 | reapack-index: 5 | runs-on: ubuntu-latest 6 | steps: 7 | - name: Fetch repository 8 | uses: actions/checkout@v4 9 | - name: Install Pandoc 10 | run: sudo apt-get install -yy pandoc 11 | - name: Set up Ruby 12 | uses: ruby/setup-ruby@v1 13 | with: 14 | ruby-version: 3.2 15 | - name: Install reapack-index 16 | run: gem install reapack-index --pre 17 | - name: Validate packages 18 | run: reapack-index --check 19 | -------------------------------------------------------------------------------- /.github/workflows/deploy.yml: -------------------------------------------------------------------------------- 1 | name: deploy 2 | on: 3 | push: 4 | branches: [master] 5 | jobs: 6 | reapack-index: 7 | runs-on: ubuntu-latest 8 | steps: 9 | - name: Fetch repository 10 | uses: actions/checkout@v4 11 | with: 12 | fetch-depth: 0 13 | - name: Configure git 14 | run: |- 15 | git config user.name 'ReaTeam Bot' 16 | git config user.email 'reateam-bot@cfillion.ca' 17 | - name: Install Pandoc 18 | run: sudo apt-get install -yy pandoc 19 | - name: Set up Ruby 20 | uses: ruby/setup-ruby@v1 21 | with: 22 | ruby-version: 3.2 23 | - name: Install reapack-index 24 | run: gem install reapack-index --pre 25 | - name: Update index.xml 26 | run: reapack-index --commit 27 | - name: Push changes 28 | run: git push 29 | -------------------------------------------------------------------------------- /.reapack-index.conf: -------------------------------------------------------------------------------- 1 | --about README.md 2 | --amend 3 | --commit-template "index: $changelog 4 | 5 | [ci skip]" 6 | 7 | --ignore "Various/Lokasenna_Radial Menu/Lokasenna_Radial Menu - example settings.txt" 8 | -------------------------------------------------------------------------------- /Cursor/Lokasenna_Move edit cursor ahead five seconds.lua: -------------------------------------------------------------------------------- 1 | --[[ 2 | Description: Move edit cursor ahead five seconds 3 | Version: 1.0 4 | Author: Lokasenna 5 | Donation: https://paypal.me/Lokasenna 6 | Changelog: 7 | Links: 8 | Lokasenna's Website http://forum.cockos.com/member.php?u=10417 9 | About: 10 | Extensions: 11 | --]] 12 | 13 | -- Licensed under the GNU GPL v3 14 | 15 | reaper.MoveEditCursor(5, false) -------------------------------------------------------------------------------- /Cursor/Lokasenna_Move edit cursor ahead one minute.lua: -------------------------------------------------------------------------------- 1 | --[[ 2 | Description: Move edit cursor ahead one minute 3 | Version: 1.0 4 | Author: Lokasenna 5 | Donation: https://paypal.me/Lokasenna 6 | Changelog: 7 | Links: 8 | Lokasenna's Website http://forum.cockos.com/member.php?u=10417 9 | About: 10 | Extensions: 11 | --]] 12 | 13 | -- Licensed under the GNU GPL v3 14 | 15 | reaper.MoveEditCursor(60, false) -------------------------------------------------------------------------------- /Cursor/Lokasenna_Move edit cursor ahead one second.lua: -------------------------------------------------------------------------------- 1 | --[[ 2 | Description: Move edit cursor ahead one second 3 | Version: 1.0 4 | Author: Lokasenna 5 | Donation: https://paypal.me/Lokasenna 6 | Changelog: 7 | Links: 8 | Lokasenna's Website http://forum.cockos.com/member.php?u=10417 9 | About: 10 | Extensions: 11 | --]] 12 | 13 | -- Licensed under the GNU GPL v3 14 | 15 | reaper.MoveEditCursor(1, false) -------------------------------------------------------------------------------- /Cursor/Lokasenna_Move edit cursor ahead ten seconds.lua: -------------------------------------------------------------------------------- 1 | --[[ 2 | Description: Move edit cursor ahead ten seconds 3 | Version: 1.0 4 | Author: Lokasenna 5 | Donation: https://paypal.me/Lokasenna 6 | Changelog: 7 | Links: 8 | Lokasenna's Website http://forum.cockos.com/member.php?u=10417 9 | About: 10 | Extensions: 11 | --]] 12 | 13 | -- Licensed under the GNU GPL v3 14 | 15 | reaper.MoveEditCursor(10, false) -------------------------------------------------------------------------------- /Cursor/Lokasenna_Move edit cursor ahead thirty seconds.lua: -------------------------------------------------------------------------------- 1 | --[[ 2 | Description: Move edit cursor ahead thirty seconds 3 | Version: 1.0 4 | Author: Lokasenna 5 | Donation: https://paypal.me/Lokasenna 6 | Changelog: 7 | Links: 8 | Lokasenna's Website http://forum.cockos.com/member.php?u=10417 9 | About: 10 | Extensions: 11 | --]] 12 | 13 | -- Licensed under the GNU GPL v3 14 | 15 | reaper.MoveEditCursor(30, false) -------------------------------------------------------------------------------- /Cursor/Lokasenna_Move edit cursor ahead two seconds.lua: -------------------------------------------------------------------------------- 1 | --[[ 2 | Description: Move edit cursor ahead two seconds 3 | Version: 1.0 4 | Author: Lokasenna 5 | Donation: https://paypal.me/Lokasenna 6 | Changelog: 7 | Links: 8 | Lokasenna's Website http://forum.cockos.com/member.php?u=10417 9 | About: 10 | Extensions: 11 | --]] 12 | 13 | -- Licensed under the GNU GPL v3 14 | 15 | reaper.MoveEditCursor(2, false) -------------------------------------------------------------------------------- /Cursor/Lokasenna_Move edit cursor back five seconds.lua: -------------------------------------------------------------------------------- 1 | --[[ 2 | Description: Move edit cursor back five seconds 3 | Version: 1.0 4 | Author: Lokasenna 5 | Donation: https://paypal.me/Lokasenna 6 | Changelog: 7 | Links: 8 | Lokasenna's Website http://forum.cockos.com/member.php?u=10417 9 | About: 10 | Extensions: 11 | --]] 12 | 13 | -- Licensed under the GNU GPL v3 14 | 15 | reaper.MoveEditCursor(-5, false) -------------------------------------------------------------------------------- /Cursor/Lokasenna_Move edit cursor back one minute.lua: -------------------------------------------------------------------------------- 1 | --[[ 2 | Description: Move edit cursor back one minute 3 | Version: 1.0 4 | Author: Lokasenna 5 | Donation: https://paypal.me/Lokasenna 6 | Changelog: 7 | Links: 8 | Lokasenna's Website http://forum.cockos.com/member.php?u=10417 9 | About: 10 | Extensions: 11 | --]] 12 | 13 | -- Licensed under the GNU GPL v3 14 | 15 | reaper.MoveEditCursor(-60, false) -------------------------------------------------------------------------------- /Cursor/Lokasenna_Move edit cursor back one second.lua: -------------------------------------------------------------------------------- 1 | --[[ 2 | Description: Move edit cursor back one second 3 | Version: 1.0 4 | Author: Lokasenna 5 | Donation: https://paypal.me/Lokasenna 6 | Changelog: 7 | Links: 8 | Lokasenna's Website http://forum.cockos.com/member.php?u=10417 9 | About: 10 | Extensions: 11 | --]] 12 | 13 | -- Licensed under the GNU GPL v3 14 | 15 | reaper.MoveEditCursor(-1, false) -------------------------------------------------------------------------------- /Cursor/Lokasenna_Move edit cursor back ten seconds.lua: -------------------------------------------------------------------------------- 1 | --[[ 2 | Description: Move edit cursor back ten seconds 3 | Version: 1.0 4 | Author: Lokasenna 5 | Donation: https://paypal.me/Lokasenna 6 | Changelog: 7 | Links: 8 | Lokasenna's Website http://forum.cockos.com/member.php?u=10417 9 | About: 10 | Extensions: 11 | --]] 12 | 13 | -- Licensed under the GNU GPL v3 14 | 15 | reaper.MoveEditCursor(-10, false) -------------------------------------------------------------------------------- /Cursor/Lokasenna_Move edit cursor back thirty seconds.lua: -------------------------------------------------------------------------------- 1 | --[[ 2 | Description: Move edit cursor back thirty seconds 3 | Version: 1.0 4 | Author: Lokasenna 5 | Donation: https://paypal.me/Lokasenna 6 | Changelog: 7 | Links: 8 | Lokasenna's Website http://forum.cockos.com/member.php?u=10417 9 | About: 10 | Extensions: 11 | --]] 12 | 13 | -- Licensed under the GNU GPL v3 14 | 15 | reaper.MoveEditCursor(-30, false) -------------------------------------------------------------------------------- /Cursor/Lokasenna_Move edit cursor back two seconds.lua: -------------------------------------------------------------------------------- 1 | --[[ 2 | Description: Move edit cursor back two seconds 3 | Version: 1.0 4 | Author: Lokasenna 5 | Donation: https://paypal.me/Lokasenna 6 | Changelog: 7 | Links: 8 | Lokasenna's Website http://forum.cockos.com/member.php?u=10417 9 | About: 10 | Extensions: 11 | --]] 12 | 13 | -- Licensed under the GNU GPL v3 14 | 15 | reaper.MoveEditCursor(-2, false) -------------------------------------------------------------------------------- /Cursor/Place play cursor into view (when playing) or Center edit cursor (when stopped).eel: -------------------------------------------------------------------------------- 1 | // @description amagalma_Place play cursor into view (when playing) or Center edit cursor (when stopped) 2 | // @author amagalma 3 | // @version 1.0 4 | // @about 5 | // # If playing: positions the play cursor at the first sixth of the arrange view 6 | // # If stopped: centers the edit cursor at the middle of the arrange view, if possible 7 | 8 | state = GetPlayStateEx( 0 ); 9 | GetSet_ArrangeView2( 0, 0, 0, 0, start, end ); 10 | wide = end - start; 11 | state & 1 == 1 || state & 4 == 4 ? ( 12 | cursor = GetPlayPosition(); 13 | extension_api("BR_SetArrangeView", 0, cursor - wide/6, cursor + wide*5/6 ); 14 | ) : ( 15 | cursor = GetCursorPosition(); 16 | extension_api("BR_SetArrangeView", 0, cursor - wide/2, cursor + wide/2 ); 17 | ); 18 | function NoUndo()(abs(0)); defer("NoUndo()"); 19 | -------------------------------------------------------------------------------- /Cursor/amagalma_Transport Play from start of arrange view - Stop at play cursor (editing).lua: -------------------------------------------------------------------------------- 1 | -- @description Transport Play from start of arrange view / Stop at play cursor (editing) 2 | -- @author amagalma 3 | -- @version 1.01 4 | -- @changelog - improvement 5 | -- @donation https://www.paypal.me/amagalma 6 | -- @about 7 | -- - Starts playing from start of arrange view (without moving the arrange) 8 | -- - Stops at play cursor position 9 | -- - No undo is created 10 | -- - Useful while editing 11 | 12 | 13 | if reaper.GetPlayState() & 1 == 1 then 14 | reaper.SetEditCurPos( reaper.GetPlayPosition(), false, false ) 15 | reaper.OnStopButton() 16 | else 17 | local start_time, end_time = reaper.GetSet_ArrangeView2( 0, 0, 0, 0 ) 18 | reaper.SetEditCurPos( (end_time - start_time)/200 + start_time, false, false ) 19 | reaper.PreventUIRefresh( 1 ) 20 | reaper.OnPlayButton() 21 | reaper.GetSet_ArrangeView2( 0, 1, 0, 0, start_time, end_time ) 22 | reaper.PreventUIRefresh( -1 ) 23 | end 24 | reaper.defer(function() end) 25 | -------------------------------------------------------------------------------- /Cursor/az_Play from mouse cursor with 2 sec shift (move edit cursor).lua: -------------------------------------------------------------------------------- 1 | -- @description Play from mouse cursor with 2 sec shift (move edit cursor) 2 | -- @author AZ 3 | -- @version 1.0 4 | -- @provides [main=main,midi_editor,midi_inlineeditor] . 5 | 6 | 7 | mouse_pos = reaper.BR_PositionAtMouseCursor( true ) 8 | 9 | if mouse_pos > -1 then 10 | reaper.SetEditCurPos2( 0, mouse_pos -2, true, true ) 11 | reaper.Main_OnCommandEx(1007, 0, 0) 12 | end 13 | reaper.defer(function() end) 14 | -------------------------------------------------------------------------------- /Cursor/az_Play item or track under mouse until shortcut released/speaker.cur: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReaTeam/ReaScripts/d42b747a706524d8d19598d377ccbeb0f80a59d7/Cursor/az_Play item or track under mouse until shortcut released/speaker.cur -------------------------------------------------------------------------------- /Cursor/cfillion_Copy current position to clipboard.lua: -------------------------------------------------------------------------------- 1 | -- @description Copy current cursor/playback position to clipboard 2 | -- @version 1.0.2 3 | -- @author cfillion 4 | -- @changelog update to use my new cross-platform clipboard API function (SWS v2.9.5+) 5 | 6 | local FORMAT = -1 7 | 8 | -- Possible formats: 9 | -- -1=project default 10 | -- 0=time 11 | -- 1=measures.beats + time 12 | -- 2=measures.beats 13 | -- 3=seconds 14 | -- 4=samples 15 | -- 5=h:m:s:f 16 | 17 | local function position() 18 | if reaper.GetPlayState() & 1 == 0 then 19 | return reaper.GetCursorPosition() 20 | else 21 | return reaper.GetPlayPosition2() 22 | end 23 | end 24 | 25 | reaper.CF_SetClipboard(reaper.format_timestr_len(position(), '', 0, FORMAT)) 26 | reaper.defer(function() end) -- disable creation of undo point 27 | -------------------------------------------------------------------------------- /Cursor/rodilab_Move cursor to nearest item edge in selected track/rodilab_Move cursor left to nearest item edge in selected tracks.lua: -------------------------------------------------------------------------------- 1 | -- @noindex 2 | 3 | reaper.Undo_BeginBlock() 4 | reaper.PreventUIRefresh(1) 5 | 6 | -- Save selected items in a list 7 | local count = reaper.CountSelectedMediaItems(0) 8 | local selected_items = {} 9 | for i=0, count-1 do 10 | selected_items[i] = reaper.GetSelectedMediaItem(0,i) 11 | end 12 | 13 | -- Unselect all items 14 | reaper.Main_OnCommand(40289,0) 15 | -- Select all items on selected track 16 | reaper.Main_OnCommand(40421,0) 17 | -- Move edit cursor left 18 | reaper.Main_OnCommand(40318,0) 19 | -- Unselect all items 20 | reaper.Main_OnCommand(40289,0) 21 | -- Recover selection 22 | for i=0, count-1 do 23 | reaper.SetMediaItemSelected(selected_items[i],true) 24 | end 25 | 26 | reaper.Undo_EndBlock("Move cursor left to nearest item edge in selected tracks",0) 27 | reaper.PreventUIRefresh(-1) 28 | reaper.UpdateArrange() 29 | -------------------------------------------------------------------------------- /Cursor/rodilab_Move cursor to nearest item edge in selected track/rodilab_Move cursor right to nearest item edge in selected tracks.lua: -------------------------------------------------------------------------------- 1 | -- @noindex 2 | 3 | reaper.Undo_BeginBlock() 4 | reaper.PreventUIRefresh(1) 5 | 6 | -- Save selected items in a list 7 | local count = reaper.CountSelectedMediaItems(0) 8 | local selected_items = {} 9 | for i=0, count-1 do 10 | selected_items[i] = reaper.GetSelectedMediaItem(0,i) 11 | end 12 | 13 | -- Unselect all items 14 | reaper.Main_OnCommand(40289,0) 15 | -- Select all items on selected track 16 | reaper.Main_OnCommand(40421,0) 17 | -- Move edit cursor right 18 | reaper.Main_OnCommand(40319,0) 19 | -- Unselect all items 20 | reaper.Main_OnCommand(40289,0) 21 | -- Recover selection 22 | for i=0, count-1 do 23 | reaper.SetMediaItemSelected(selected_items[i],true) 24 | end 25 | 26 | reaper.Undo_EndBlock("Move cursor right to nearest item edge in selected tracks",0) 27 | reaper.PreventUIRefresh(-1) 28 | reaper.UpdateArrange() 29 | -------------------------------------------------------------------------------- /Cursor/spk77_Move edit cursor to start of current measure.eel: -------------------------------------------------------------------------------- 1 | /* 2 | * ReaScript Name: Move edit cursor to start of current measure 3 | * EEL script for Cockos REAPER 4 | * Author: spk77 5 | * Author URI: http://forum.cockos.com/member.php?u=49553 6 | * Licence: GPL v3 7 | * Version: 1.0 8 | */ 9 | 10 | // Move edit cursor to start of current measure 11 | // EEL script by spk77 - 26.9.2014 12 | 13 | function move_cursor_to_start_of_curr_meas() local(meas) 14 | ( 15 | TimeMap2_timeToBeats(0, GetCursorPosition(), meas, 0, 0, 0); 16 | SetEditCurPos(TimeMap2_beatsToTime(0, 0, meas), 1, 0); 17 | Undo_OnStateChange("Go to start of current measure"); 18 | ); 19 | 20 | move_cursor_to_start_of_curr_meas(); 21 | -------------------------------------------------------------------------------- /Development/Lokasenna_GUI library v2.lua: -------------------------------------------------------------------------------- 1 | --[[ 2 | Description: Lokasenna's GUI library v2 for Lua 3 | Version: 2.16.12 4 | Changelog: 5 | Add: Flag for GUI.tab_to_next to go to the previous element 6 | Author: Lokasenna 7 | Provides: 8 | [main] Lokasenna_GUI v2/Library/Set Lokasenna_GUI v2 library path.lua 9 | [nomain] Lokasenna_GUI v2/Library/{Core,Classes/*,Modules/*}.lua 10 | Metapackage: true 11 | Donation: https://paypal.me/Lokasenna 12 | Links: 13 | Forum Thread https://forum.cockos.com/showthread.php?t=177772 14 | Lokasenna's Website http://forum.cockos.com/member.php?u=10417 15 | About: 16 | Provides a framework allowing Lua scripts to use a graphical interface, since Reaper 17 | has no ability to do so natively. 18 | 19 | INSTALLATION: After installing this package, you must tell Reaper where to find the 20 | library. In the Action List, find and run: 21 | 22 | "Script: Set Lokasenna_GUI v2 library path.lua" 23 | --]] 24 | 25 | -- Licensed under the GNU GPL v3 26 | -------------------------------------------------------------------------------- /Development/Lokasenna_GUI v2/Developer Tools/GUI Builder/modules/func_Menu.lua: -------------------------------------------------------------------------------- 1 | -- NoIndex: true 2 | ------------------------------------ 3 | -------- Menu bar ------------------ 4 | ------------------------------------ 5 | 6 | --local Export = require("func_Export") 7 | local Menu = {} 8 | 9 | -- The menu bar, just so this is easily accessible 10 | Menu.h = 20 11 | 12 | Menu.menu = { 13 | 14 | {title = "File", options = { 15 | 16 | {"Export", Export.export_file}, 17 | 18 | }}, 19 | 20 | {title = "Settings", options = { 21 | 22 | {"Project Settings", function() GUI.elms.GB_wnd_proj:open() end}, 23 | {"Preferences", function() GUI.elms.GB_wnd_prefs:open() end}, 24 | 25 | }}, 26 | 27 | {title = "Help", options = { 28 | 29 | {"Instructions", function() Help.show_help_msg() end} 30 | 31 | }}, 32 | 33 | } 34 | 35 | GUI.New("GB_mnu_bar", "Menubar", 2, 0, 0, Menu.menu, nil, Menu.h) 36 | 37 | return Menu -------------------------------------------------------------------------------- /Development/Lokasenna_GUI v2/Developer Tools/Open Lokasenna_GUI v2 Developer Tools folder.lua: -------------------------------------------------------------------------------- 1 | -- NoIndex: true 2 | 3 | -- Opens the folder containing Lokasenna_GUI's Developer Tools package 4 | 5 | local path = ({reaper.get_action_context()})[2]:match("(.-)([^/\\]+).lua$") 6 | 7 | local function open_file(path) 8 | 9 | local OS = reaper.GetOS() 10 | 11 | local cmd = ( string.match(OS, "Win") and "start" or "open" ) .. 12 | ' "" "' .. path .. '"' 13 | 14 | os.execute(cmd) 15 | 16 | end 17 | 18 | open_file(path) -------------------------------------------------------------------------------- /Development/Lokasenna_GUI v2/Library/Set Lokasenna_GUI v2 library path.lua: -------------------------------------------------------------------------------- 1 | -- NoIndex: true 2 | 3 | -- Stores the path to Lokasenna_GUI v2 for other scripts to access 4 | -- Must be run prior to using Lokasenna_GUI scripts 5 | 6 | local info = debug.getinfo(1,'S') 7 | local script_path = info.source:match[[^@?(.*[\/])[^\/]-$]] 8 | 9 | reaper.SetExtState("Lokasenna_GUI", "lib_path_v2", script_path, true) 10 | reaper.MB("The library path is now set to:\n" .. script_path, "Lokasenna_GUI v2", 0) -------------------------------------------------------------------------------- /Envelopes/Takes/spk77_Store take envelope source.eel: -------------------------------------------------------------------------------- 1 | /* 2 | * ReaScript Name: Store take envelope source 3 | * EEL script for Cockos REAPER 4 | * Author: spk77 5 | * Author URI: http://forum.cockos.com/member.php?u=49553 6 | * Licence: GPL v3 7 | * Version: 1.0 8 | */ 9 | 10 | // EEL script - Store active take's ID (by spk77 16.7.2014) 11 | // 12 | // Version: 0.2014.7.16 13 | 14 | function store_take_id() 15 | ( 16 | CountSelectedMediaItems(0) == 1 ? ( 17 | (item = GetSelectedMediaItem(0, 0)) ? ( // get only first selected item 18 | (take = GetActiveTake(item)) ? ( 19 | SetExtState("take_envelope_source", "take", sprintf(#, "%d", take), 0); 20 | ); 21 | ); 22 | ) : ( 23 | ShowConsoleMsg("Please select only one (non-empty) item."); 24 | ); 25 | ); 26 | 27 | store_take_id(); 28 | -------------------------------------------------------------------------------- /Envelopes/tilr_Snapshooter/tilr_Snapshooter apply snap 1.lua: -------------------------------------------------------------------------------- 1 | -- @noindex 2 | 3 | skip_init = true 4 | local sep = package.config:sub(1, 1) 5 | local script_folder = debug.getinfo(1).source:match("@?(.*[\\|/]).*[\\|/]") 6 | local snapshooter = dofile(script_folder .. sep .. 'tilr_Snapshooter.lua') 7 | 8 | local snap = 1 9 | local hassnap = reaper.GetProjExtState(0, 'snapshooter', 'snap'..snap) ~= 0 10 | if hassnap then 11 | snapshooter.applysnap(snap, false) 12 | end 13 | -------------------------------------------------------------------------------- /Envelopes/tilr_Snapshooter/tilr_Snapshooter apply snap 2.lua: -------------------------------------------------------------------------------- 1 | -- @noindex 2 | 3 | skip_init = true 4 | local sep = package.config:sub(1, 1) 5 | local script_folder = debug.getinfo(1).source:match("@?(.*[\\|/]).*[\\|/]") 6 | local snapshooter = dofile(script_folder .. sep .. 'tilr_Snapshooter.lua') 7 | 8 | local snap = 2 9 | local hassnap = reaper.GetProjExtState(0, 'snapshooter', 'snap'..snap) ~= 0 10 | if hassnap then 11 | snapshooter.applysnap(snap, false) 12 | end 13 | -------------------------------------------------------------------------------- /Envelopes/tilr_Snapshooter/tilr_Snapshooter apply snap 3.lua: -------------------------------------------------------------------------------- 1 | -- @noindex 2 | 3 | skip_init = true 4 | local sep = package.config:sub(1, 1) 5 | local script_folder = debug.getinfo(1).source:match("@?(.*[\\|/]).*[\\|/]") 6 | local snapshooter = dofile(script_folder .. sep .. 'tilr_Snapshooter.lua') 7 | 8 | local snap = 3 9 | local hassnap = reaper.GetProjExtState(0, 'snapshooter', 'snap'..snap) ~= 0 10 | if hassnap then 11 | snapshooter.applysnap(snap, false) 12 | end 13 | -------------------------------------------------------------------------------- /Envelopes/tilr_Snapshooter/tilr_Snapshooter apply snap 4.lua: -------------------------------------------------------------------------------- 1 | -- @noindex 2 | 3 | skip_init = true 4 | local sep = package.config:sub(1, 1) 5 | local script_folder = debug.getinfo(1).source:match("@?(.*[\\|/]).*[\\|/]") 6 | local snapshooter = dofile(script_folder .. sep .. 'tilr_Snapshooter.lua') 7 | 8 | local snap = 4 9 | local hassnap = reaper.GetProjExtState(0, 'snapshooter', 'snap'..snap) ~= 0 10 | if hassnap then 11 | snapshooter.applysnap(snap, false) 12 | end 13 | -------------------------------------------------------------------------------- /Envelopes/tilr_Snapshooter/tilr_Snapshooter save snap 1.lua: -------------------------------------------------------------------------------- 1 | -- @noindex 2 | 3 | skip_init = true 4 | local sep = package.config:sub(1, 1) 5 | local script_folder = debug.getinfo(1).source:match("@?(.*[\\|/]).*[\\|/]") 6 | local snapshooter = dofile(script_folder .. sep .. 'tilr_Snapshooter.lua') 7 | 8 | snapshooter.savesnap(1) 9 | -------------------------------------------------------------------------------- /Envelopes/tilr_Snapshooter/tilr_Snapshooter save snap 2.lua: -------------------------------------------------------------------------------- 1 | -- @noindex 2 | 3 | skip_init = true 4 | local sep = package.config:sub(1, 1) 5 | local script_folder = debug.getinfo(1).source:match("@?(.*[\\|/]).*[\\|/]") 6 | local snapshooter = dofile(script_folder .. sep .. 'tilr_Snapshooter.lua') 7 | 8 | snapshooter.savesnap(2) 9 | -------------------------------------------------------------------------------- /Envelopes/tilr_Snapshooter/tilr_Snapshooter save snap 3.lua: -------------------------------------------------------------------------------- 1 | -- @noindex 2 | 3 | skip_init = true 4 | local sep = package.config:sub(1, 1) 5 | local script_folder = debug.getinfo(1).source:match("@?(.*[\\|/]).*[\\|/]") 6 | local snapshooter = dofile(script_folder .. sep .. 'tilr_Snapshooter.lua') 7 | 8 | snapshooter.savesnap(3) 9 | -------------------------------------------------------------------------------- /Envelopes/tilr_Snapshooter/tilr_Snapshooter save snap 4.lua: -------------------------------------------------------------------------------- 1 | -- @noindex 2 | 3 | skip_init = true 4 | local sep = package.config:sub(1, 1) 5 | local script_folder = debug.getinfo(1).source:match("@?(.*[\\|/]).*[\\|/]") 6 | local snapshooter = dofile(script_folder .. sep .. 'tilr_Snapshooter.lua') 7 | 8 | snapshooter.savesnap(4) 9 | -------------------------------------------------------------------------------- /Envelopes/tilr_Snapshooter/tilr_Snapshooter write snap 1.lua: -------------------------------------------------------------------------------- 1 | -- @noindex 2 | 3 | skip_init = true 4 | local sep = package.config:sub(1, 1) 5 | local script_folder = debug.getinfo(1).source:match("@?(.*[\\|/]).*[\\|/]") 6 | local snapshooter = dofile(script_folder .. sep .. 'tilr_Snapshooter.lua') 7 | 8 | local snap = 1 9 | local hassnap = reaper.GetProjExtState(0, 'snapshooter', 'snap'..snap) ~= 0 10 | if hassnap then 11 | snapshooter.applysnap(snap, true) 12 | end 13 | -------------------------------------------------------------------------------- /Envelopes/tilr_Snapshooter/tilr_Snapshooter write snap 2.lua: -------------------------------------------------------------------------------- 1 | -- @noindex 2 | 3 | skip_init = true 4 | local sep = package.config:sub(1, 1) 5 | local script_folder = debug.getinfo(1).source:match("@?(.*[\\|/]).*[\\|/]") 6 | local snapshooter = dofile(script_folder .. sep .. 'tilr_Snapshooter.lua') 7 | 8 | local snap = 2 9 | local hassnap = reaper.GetProjExtState(0, 'snapshooter', 'snap'..snap) ~= 0 10 | if hassnap then 11 | snapshooter.applysnap(snap, true) 12 | end 13 | -------------------------------------------------------------------------------- /Envelopes/tilr_Snapshooter/tilr_Snapshooter write snap 3.lua: -------------------------------------------------------------------------------- 1 | -- @noindex 2 | 3 | skip_init = true 4 | local sep = package.config:sub(1, 1) 5 | local script_folder = debug.getinfo(1).source:match("@?(.*[\\|/]).*[\\|/]") 6 | local snapshooter = dofile(script_folder .. sep .. 'tilr_Snapshooter.lua') 7 | 8 | local snap = 3 9 | local hassnap = reaper.GetProjExtState(0, 'snapshooter', 'snap'..snap) ~= 0 10 | if hassnap then 11 | snapshooter.applysnap(snap, true) 12 | end 13 | -------------------------------------------------------------------------------- /Envelopes/tilr_Snapshooter/tilr_Snapshooter write snap 4.lua: -------------------------------------------------------------------------------- 1 | -- @noindex 2 | 3 | skip_init = true 4 | local sep = package.config:sub(1, 1) 5 | local script_folder = debug.getinfo(1).source:match("@?(.*[\\|/]).*[\\|/]") 6 | local snapshooter = dofile(script_folder .. sep .. 'tilr_Snapshooter.lua') 7 | 8 | local snap = 4 9 | local hassnap = reaper.GetProjExtState(0, 'snapshooter', 'snap'..snap) ~= 0 10 | if hassnap then 11 | snapshooter.applysnap(snap, true) 12 | end 13 | -------------------------------------------------------------------------------- /FX/BuyOne_Lock FX and FX chains.lua: -------------------------------------------------------------------------------- 1 | -- @description Lock FX and FX chains + Append or remove lock tag 2 | -- @author BuyOne 3 | -- @website https://forum.cockos.com/member.php?u=134058 4 | -- @version 1.3 5 | -- @changelog 6 | -- # A minor update of relational operator 7 | -- @metapackage 8 | -- @provides 9 | -- [main] BuyOne_Lock FX and FX chains/BuyOne_Lock FX and FX chains (guide inside).lua 10 | -- [main] BuyOne_Lock FX and FX chains/BuyOne_Lock FX and FX chains - append or remove lock tag (guide inside).lua 11 | -- @about 12 | -- Locks individual tagged FX in the focused FX chain or the entire FX chain to prevent inadvertent change of FX order. 13 | -- Another script automates the task of appending and removing lock tags. 14 | -- Instructions are provided inside the script files. 15 | -------------------------------------------------------------------------------- /FX/edgemeal_Save selected tracks floating Input FX windows to slot/edgemeal_Save selected tracks floating input FX windows to slot 1.lua: -------------------------------------------------------------------------------- 1 | -- @noindex 2 | 3 | local offset = 0x1000000 4 | local name = ({reaper.get_action_context()})[2]:match("([^/\\_]+).lua$") 5 | local slot = tonumber(name:match(" slot (%d+)")) 6 | if slot ~= nil then 7 | local guid = "" 8 | local sel_tracks_count = reaper.CountSelectedTracks2(0, true) 9 | for i = 0, sel_tracks_count-1 do 10 | local track = reaper.GetSelectedTrack2(0, i, true) 11 | local track_fx_count = reaper.TrackFX_GetRecCount(track) 12 | for j = 0, track_fx_count-1 do 13 | local hwnd = reaper.TrackFX_GetFloatingWindow(track, j+offset) 14 | if hwnd ~= nil then 15 | local fx_GUID = reaper.TrackFX_GetFXGUID(track, j+offset) 16 | guid = guid .. fx_GUID .. ',' 17 | end 18 | end 19 | end 20 | reaper.SetExtState("Edgemeal_infx_float", tostring(slot), guid, false) 21 | end 22 | reaper.defer(function() end) 23 | -------------------------------------------------------------------------------- /FX/larryseyer_Live keys scripts/action.lua: -------------------------------------------------------------------------------- 1 | -- @noindex 2 | 3 | -- 4 | -- Live_Inst (c) 2021 Larry Seyer All rights reserved 5 | -- http://LarrySeyer.com 6 | -- 7 | 8 | local script_name = ({reaper.get_action_context()})[2]:match("([^/\\_]+)%.lua$") 9 | local this_live_track = tonumber(script_name:match("Track (%d+)")) or -1 10 | local path = debug.getinfo(1, 'S').source:match('^@(.+)[\\//]') 11 | 12 | dofile(string.format('%s/larryseyer_Live keys scripts.lua', path)) 13 | Live_Inst_Main_Logic(this_live_track) 14 | -------------------------------------------------------------------------------- /Items Editing/ED_Set envelope to maximum value within time selection.lua: -------------------------------------------------------------------------------- 1 | --[[ 2 | * @description Set envelope to maximum value within time selection 3 | * @about This script will set all envelope points within time selection to maximum value, including edges of time selection. Works on both track and take envelopes. 4 | * @author EvilDragon 5 | * @donate https://www.paypal.me/EvilDragon 6 | * @version 1.0 7 | * Licence: GPL v3 8 | * REAPER: 5.0+ 9 | * Extensions: none required 10 | --]] 11 | 12 | reaper.Undo_BeginBlock() 13 | reaper.Main_OnCommandEx(40726, 0, 0) -- Envelope: Insert 4 envelope points at time selection 14 | for i = 1, 200 do 15 | reaper.Main_OnCommandEx(41180, 0, 0) -- Envelopes: Move selected points up a little bit 16 | end 17 | reaper.Undo_EndBlock('Set envelope to maximum value within time selection', 1) 18 | -------------------------------------------------------------------------------- /Items Editing/ED_Set envelope to minimum value within time selection.lua: -------------------------------------------------------------------------------- 1 | --[[ 2 | * @description Set envelope to minimum value within time selection 3 | * @about This script will set all envelope points within time selection to minimum value, including edges of time selection. Works on both track and take envelopes. 4 | * @author EvilDragon 5 | * @donate https://www.paypal.me/EvilDragon 6 | * @version 1.0 7 | * Licence: GPL v3 8 | * REAPER: 5.0+ 9 | * Extensions: none required 10 | --]] 11 | 12 | reaper.Undo_BeginBlock() 13 | reaper.Main_OnCommandEx(40726, 0, 0) -- Envelope: Insert 4 envelope points at time selection 14 | for i = 1, 200 do 15 | reaper.Main_OnCommandEx(41181, 0, 0) -- Envelopes: Move selected points down a little bit 16 | end 17 | reaper.Undo_EndBlock('Set envelope to minimum value within time selection', 1) 18 | -------------------------------------------------------------------------------- /Items Editing/ED_Toggle selecting all items on the track under mouse cursor.lua: -------------------------------------------------------------------------------- 1 | --[[ 2 | * ReaScript Name: Toggle selecting all items on track under mouse cursor 3 | * Lua script for Cockos REAPER 4 | * Author: EvilDragon 5 | * Licence: GPL v3 6 | * Version: 1.0 7 | ]] 8 | 9 | _, _, _ = reaper.BR_GetMouseCursorContext() 10 | track = reaper.BR_GetMouseCursorContext_Track() 11 | 12 | if track ~= nil then 13 | num_items = reaper.GetTrackNumMediaItems(track) 14 | 15 | if num_items > 0 then 16 | reaper.Undo_BeginBlock() 17 | reaper.Main_OnCommand(40289, 0) 18 | 19 | first_item = reaper.GetTrackMediaItem(track, 0) 20 | first_item_sel = reaper.IsMediaItemSelected(first_item) 21 | 22 | for i = 0, num_items - 1 do 23 | item = reaper.GetTrackMediaItem(track, i) 24 | reaper.SetMediaItemSelected(item, not first_item_sel) 25 | end 26 | 27 | reaper.Undo_EndBlock("Toggle selecting all items on track under mouse cursor", 0) 28 | end 29 | end 30 | 31 | reaper.UpdateArrange() 32 | -------------------------------------------------------------------------------- /Items Editing/Lokasenna_Select all MIDI notes in selected items.lua: -------------------------------------------------------------------------------- 1 | --[[ 2 | Description: Select all MIDI notes in selected items 3 | Version: 1.01 4 | Author: Lokasenna 5 | Donation: https://paypal.me/Lokasenna 6 | Changelog: 7 | Initial release 8 | Links: 9 | Lokasenna's Website http://forum.cockos.com/member.php?u=10417 10 | About: 11 | --]] 12 | 13 | -- Licensed under the GNU GPL v3 14 | 15 | local function Msg(str) 16 | reaper.ShowConsoleMsg(tostring(str).."\n") 17 | end 18 | 19 | reaper.Undo_BeginBlock() 20 | 21 | local num_items = reaper.CountSelectedMediaItems(0) 22 | 23 | for i = 0, num_items - 1 do 24 | 25 | local item = reaper.GetSelectedMediaItem(0, i) 26 | local take = reaper.GetActiveTake(item) 27 | 28 | if reaper.TakeIsMIDI(take) then 29 | reaper.MIDI_SelectAll(take, 1) 30 | end 31 | 32 | end 33 | 34 | reaper.UpdateArrange() 35 | 36 | reaper.Undo_EndBlock("Select all MIDI notes in selected items", -1) 37 | -------------------------------------------------------------------------------- /Items Editing/Lokasenna_Unselect all MIDI notes in selected items.lua: -------------------------------------------------------------------------------- 1 | --[[ 2 | Description: Unselect all MIDI notes in selected items 3 | Version: 1.01 4 | Author: Lokasenna 5 | Donation: https://paypal.me/Lokasenna 6 | Changelog: 7 | Initial release 8 | Links: 9 | Lokasenna's Website http://forum.cockos.com/member.php?u=10417 10 | About: 11 | --]] 12 | 13 | -- Licensed under the GNU GPL v3 14 | 15 | local function Msg(str) 16 | reaper.ShowConsoleMsg(tostring(str).."\n") 17 | end 18 | 19 | reaper.Undo_BeginBlock() 20 | 21 | local num_items = reaper.CountSelectedMediaItems(0) 22 | 23 | for i = 0, num_items - 1 do 24 | 25 | local item = reaper.GetSelectedMediaItem(0, i) 26 | local take = reaper.GetActiveTake(item) 27 | 28 | if reaper.TakeIsMIDI(take) then 29 | reaper.MIDI_SelectAll(take, 0) 30 | end 31 | 32 | end 33 | 34 | reaper.UpdateArrange() 35 | 36 | reaper.Undo_EndBlock("Unselect all MIDI notes in selected items", -1) 37 | -------------------------------------------------------------------------------- /Items Editing/amagalma_Toggle guide line size between full arrange or item height.lua: -------------------------------------------------------------------------------- 1 | -- @description Toggle guide line size between full arrange or item height 2 | -- @author amagalma 3 | -- @version 1.00 4 | -- @about 5 | -- # Toggles the guide line size between full arrange height or item height 6 | -- - To be used along "amagalma_Toggle show editing guide line on item under mouse cursor in Main Window or in MIDI Editor.lua" 7 | -- - Can be used as a toolbar action 8 | 9 | local cmdID = ({reaper.get_action_context()})[4] 10 | local state = reaper.GetToggleCommandState( cmdID ) 11 | reaper.SetToggleCommandState( 0, cmdID, state ~= 1 and 1 or 0 ) 12 | reaper.RefreshToolbar2( 0, cmdID ) 13 | reaper.defer(function() end) 14 | -------------------------------------------------------------------------------- /Items Editing/az_Smart split items by mouse cursor/az_Open options for az_Smart split items by mouse cursor.lua: -------------------------------------------------------------------------------- 1 | -- @noindex 2 | 3 | ScriptName = 'az_Smart split items by mouse cursor' 4 | 5 | function msg(s) reaper.ShowConsoleMsg(tostring(s)..'\n') end 6 | 7 | function get_script_path() 8 | local info = debug.getinfo(1,'S'); 9 | local script_path = info.source:match[[^@?(.*[\/])[^\/]-$]] 10 | script_path = script_path:gsub('[^/\\]*[/\\]*$','') --one level up 11 | return script_path 12 | end 13 | 14 | local script_path = get_script_path() 15 | 16 | local file = script_path .. ScriptName ..'.lua' 17 | local scriptPart = '' 18 | local add 19 | 20 | for line in io.lines(file) do 21 | if line:match('--Start load file') then add = true end 22 | if add == true then scriptPart = scriptPart ..line ..'\n' end 23 | if line:match('--End load file') then break end 24 | end 25 | --msg(scriptPart) 26 | local func = load(scriptPart) 27 | 28 | if func then 29 | func() 30 | ExternalOpen = true 31 | OptionsWindow() 32 | end 33 | -------------------------------------------------------------------------------- /Items Editing/kkkanten_Deselect odd-numbered items from selected items.lua: -------------------------------------------------------------------------------- 1 | -- @description Deselect odd-numbered items from selected items 2 | -- @author KKKANTEN 3 | -- @version 1.0 4 | -- @about 5 | -- タイトルの通り、複数選択したアイテムの奇数番目の選択を解除するスクリプトです。 6 | -- アイテムを複数選択し、実行してください。 7 | -- 8 | -- As the title suggests, this script deselects the odd-numbered items of multiple selected items. 9 | -- Please select multiple items and execute. (machine translate) 10 | 11 | local UNDO_STATE_ITEMS = 4 12 | 13 | reaper.Undo_BeginBlock() 14 | reaper.PreventUIRefresh(1) 15 | for i = reaper.CountSelectedMediaItems(nil) - 1 & ~1, 0, -2 do 16 | local item = reaper.GetSelectedMediaItem(nil, i) 17 | reaper.SetMediaItemSelected(item, false) 18 | end 19 | reaper.UpdateArrange() 20 | reaper.PreventUIRefresh(-1) 21 | reaper.Undo_EndBlock('Deselect odd-numbered items from selected items', UNDO_STATE_ITEMS) 22 | -------------------------------------------------------------------------------- /Items Editing/pandabot_Copy and paste rhythm.lua: -------------------------------------------------------------------------------- 1 | --[[ 2 | Description: Copy and paste rhythm 3 | Author: pandabot 4 | License: MIT 5 | Version: 1.1 6 | Changelog: + now using nearest note pitch from the left instead of nearest note pitch in either direction 7 | Donate: https://paypal.me/benjohnson2001 8 | Links: 9 | pandabot (Cockos forum) https://forum.cockos.com/member.php?u=127396 10 | Source repository (GitHub) https://github.com/benjohnson2001/CopyAndPasteRhythm/tree/release 11 | Metapackage: true 12 | Provides: 13 | [main] pandabot_Copy and paste rhythm/*.lua 14 | About: 15 | ### Copy and Paste Rhythm 16 | 17 | #### What is this? 18 | Reaper scripts for copy/pasting rhythm information to Media Items, leaving pitches intact 19 | 20 | #### How do I use it? 21 | There is an instructional gif [here](https://github.com/benjohnson2001/CopyAndPasteRhythm/raw/release/copypasterhythm.gif) 22 | --]] -------------------------------------------------------------------------------- /Items Editing/pandabot_Extend items by note divisions.lua: -------------------------------------------------------------------------------- 1 | --[[ 2 | Description: Extend items by note divisions 3 | Author: pandabot 4 | License: MIT 5 | Version: 1.1 6 | Changelog: + fixed bug where scripts were not respecting playrate 7 | Donate: https://paypal.me/benjohnson2001 8 | Links: 9 | pandabot (Cockos forum) https://forum.cockos.com/member.php?u=127396 10 | Source repository (GitHub) https://github.com/benjohnson2001/ExtendItemsByNoteDivisions 11 | Metapackage: true 12 | Provides: 13 | [main] pandabot_Extend items by note divisions/*.lua 14 | About: 15 | ### Extend items by note divisions 16 | 17 | #### What is this? 18 | Extend items by note division lengths with fade-in/fade-outs and snap offset, useful for comping vst output 19 | 20 | #### How do I use it? 21 | There is an instructional gif [here](https://github.com/benjohnson2001/ExtendItemsByNoteDivisions/raw/master/extendItemsByNoteDivision.gif) 22 | --]] 23 | -------------------------------------------------------------------------------- /Items Editing/pandabot_Isolate items by note divisions.lua: -------------------------------------------------------------------------------- 1 | --[[ 2 | Description: Isolate items by note divisions 3 | Author: pandabot 4 | License: MIT 5 | Version: 1.0 6 | Donate: https://paypal.me/benjohnson2001 7 | Links: 8 | pandabot (Cockos forum) https://forum.cockos.com/member.php?u=127396 9 | Source repository (GitHub) https://github.com/benjohnson2001/IsolateItemsByNoteDivisions 10 | Metapackage: true 11 | Provides: 12 | [main] pandabot_Isolate items by note divisions/*.lua 13 | About: 14 | ### Isolate items by note divisions 15 | 16 | #### What is this? 17 | Isolate items by note division lengths with fade-in and fade-outs 18 | 19 | #### How do I use it? 20 | There is an instructional gif [here](https://raw.githubusercontent.com/benjohnson2001/IsolateItemsByNoteDivisions/master/isolateItemsByNoteDivisions.gif) 21 | --]] 22 | -------------------------------------------------------------------------------- /Items Editing/pandabot_Isolate time selection by note divisions.lua: -------------------------------------------------------------------------------- 1 | --[[ 2 | Description: Isolate time selection by note divisions 3 | Author: pandabot 4 | License: MIT 5 | Version: 1.0 6 | Donate: https://paypal.me/benjohnson2001 7 | Links: 8 | pandabot (Cockos forum) https://forum.cockos.com/member.php?u=127396 9 | Source repository (GitHub) https://github.com/benjohnson2001/IsolateTimeSelectionByNoteDivisions 10 | Metapackage: true 11 | Provides: 12 | [main] pandabot_Isolate time selection by note divisions/*.lua 13 | About: 14 | ### Isolate time selection by note divisions 15 | 16 | #### What is this? 17 | Isolate time selection of selected tracks by note division lengths with fade-in and fade-outs 18 | 19 | #### How do I use it? 20 | There is an instructional gif [here](https://raw.githubusercontent.com/benjohnson2001/IsolateTimeSelectionByNoteDivisions/master/isolateTimeSelectionByNoteDivisions.gif) 21 | --]] 22 | -------------------------------------------------------------------------------- /Items Editing/rodilab_Move items, preserving crossfade lengths.lua: -------------------------------------------------------------------------------- 1 | -- @description Move items, preserving crossfade lengths 2 | -- @author Rodilab 3 | -- @version 1.0 4 | -- @metapackage 5 | -- @provides 6 | -- [main] rodilab_Move items, preserving crossfade lengths/Move items left, preserving crossfade lengths.lua 7 | -- [main] rodilab_Move items, preserving crossfade lengths/Move items right, preserving crossfade lengths.lua 8 | -- @about 9 | -- Moves selected items left/right (1 pixel), preserving crossfade lengths. 10 | -- If "Move envelope points with media items" is enable, moves envelope points to. 11 | -- 12 | -- by Rodrigo Diaz (aka Rodilab) 13 | 14 | -------------------------------------------------------------------------------- /Items Editing/spk77_Split selected items at mouse cursor.eel: -------------------------------------------------------------------------------- 1 | /* 2 | * ReaScript Name: Split selected items at mouse cursor 3 | * EEL script for Cockos REAPER 4 | * Screenshot: http://stash.reaper.fm/21586/Split%20at%20mouse%20cursor.gif 5 | * Author: spk77 6 | * Author URI: http://forum.cockos.com/member.php?u=49553 7 | * Licence: GPL v3 8 | * Version: 1.0 9 | */ 10 | 11 | // http://forum.cockos.com/showthread.php?t=144828 12 | // Split selected items at mouse cursor (obey snapping, keep edit cursor position 13 | 14 | Undo_BeginBlock(); 15 | PreventUIRefresh(1); 16 | c_pos = GetCursorPosition(); 17 | Main_OnCommand(40513,0); // move edit cursor to mouse cursor 18 | Main_OnCommand(40757,0); // split at edit cursor (no change selection) 19 | SetEditCurPos(c_pos, 0, 0); 20 | PreventUIRefresh(-1); 21 | Undo_EndBlock("Split selected items at mouse cursor",-1); 22 | -------------------------------------------------------------------------------- /Items Editing/triode_Track-based item selection/triode_Unselect all items (track-based item selection).lua: -------------------------------------------------------------------------------- 1 | -- @noindex 2 | 3 | --@description: Unselect all items (Track-based item selection) 4 | --@author: triode 5 | --@version: 0.7 6 | --@requires: SWS Exclusive Toggle B1 to B4 on toolbar 7 | --@donation: https://www.paypal.me/outoftheboxsounds 8 | 9 | 10 | reaper.Main_OnCommand(40289,0) -- unselect all items 11 | 12 | --InitializeSelectionSet 13 | reaper.SetProjExtState( 0, "TrackBasedItems", "SelectionSet","") 14 | 15 | --InitializeTimeSelectionClick 16 | reaper.SetProjExtState( 0, "TrackBasedItems", "ClickStart", "" ) -- Save ClickStart 17 | reaper.SetProjExtState( 0, "TrackBasedItems", "ClickEnd", "" ) -- Save ClickEnd 18 | 19 | --function InitializeTimeSelectionShiftClick() 20 | reaper.SetProjExtState( 0, "TrackBasedItems", "ShiftClickStart", "" ) -- Save ShiftClickStart 21 | reaper.SetProjExtState( 0, "TrackBasedItems", "ShiftClickEnd", "" ) -- Save ShiftClickEnd 22 | 23 | 24 | 25 | 26 | -------------------------------------------------------------------------------- /Items Properties/amagalma_Disable 'No autofades property for selected items.lua: -------------------------------------------------------------------------------- 1 | -- @description Disable 'No autofades" property for selected items 2 | -- @author amagalma 3 | -- @version 1.00 4 | -- @link https://forum.cockos.com/showthread.php?t=244523 5 | -- @donation https://www.paypal.me/amagalma 6 | -- @about Unchecks the "No autofades" property in Media Item Properties for the selected items 7 | 8 | 9 | local item_cnt = reaper.CountSelectedMediaItems( 0 ) 10 | if item_cnt == 0 then return end 11 | for i = 0, item_cnt-1 do 12 | local item = reaper.GetSelectedMediaItem( 0, i ) 13 | local _, chunk = reaper.GetItemStateChunk( item, "", false ) 14 | if chunk:find("FADEFLAG 1") then 15 | chunk = chunk:gsub("FADEFLAG 1\n", "") 16 | reaper.SetItemStateChunk( item, chunk, false ) 17 | end 18 | end 19 | reaper.Undo_OnStateChange( "Disable No autofades property for selected items" ) 20 | -------------------------------------------------------------------------------- /Items Properties/amagalma_Enable 'No autofades' property for selected items.lua: -------------------------------------------------------------------------------- 1 | -- @description Enable 'No autofades' property for selected items 2 | -- @author amagalma 3 | -- @version 1.00 4 | -- @link https://forum.cockos.com/showthread.php?t=244523 5 | -- @donation https://www.paypal.me/amagalma 6 | -- @about Checks the "No autofades" property in the Media Item Properties 7 | 8 | 9 | local item_cnt = reaper.CountSelectedMediaItems( 0 ) 10 | if item_cnt == 0 then return end 11 | for i = 0, item_cnt-1 do 12 | local item = reaper.GetSelectedMediaItem( 0, i ) 13 | local _, chunk = reaper.GetItemStateChunk( item, "", false ) 14 | if not chunk:find("FADEFLAG 1") then 15 | chunk = chunk:gsub("(MUTE.-\n)", "%1FADEFLAG 1\n") 16 | reaper.SetItemStateChunk( item, chunk, false ) 17 | end 18 | end 19 | reaper.Undo_OnStateChange( "Enable 'No autofades' property for selected items" ) 20 | -------------------------------------------------------------------------------- /Items Properties/amagalma_Lock all items in project to their active take (mouse click will not change active take).lua: -------------------------------------------------------------------------------- 1 | -- @description Lock all items in project to their active take (mouse click will not change active take) 2 | -- @author amagalma 3 | -- @version 1.00 4 | 5 | 6 | local item_cnt = reaper.CountMediaItems( 0 ) 7 | if item_cnt == 0 then return reaper.defer(function() end) end 8 | 9 | for i = 0, item_cnt-1 do 10 | local item = reaper.GetMediaItem( 0, i ) 11 | local lock = reaper.GetMediaItemInfo_Value(item, "C_LOCK") 12 | if lock & 2 ~= 2 then 13 | reaper.SetMediaItemInfo_Value(item, "C_LOCK", lock|2) 14 | end 15 | end 16 | 17 | reaper.Undo_OnStateChange("Lock all items in project to their active take (mouse click will not change active take)") 18 | -------------------------------------------------------------------------------- /Items Properties/amagalma_Name selected items notes after the region they are in.lua: -------------------------------------------------------------------------------- 1 | -- @description Name selected items' notes after the region they are in 2 | -- @author amagalma 3 | -- @version 1.00 4 | 5 | local item_cnt = reaper.CountSelectedMediaItems( 0 ) 6 | local _, _, num_regions = reaper.CountProjectMarkers( 0 ) 7 | if item_cnt == 0 or num_regions == 0 then return reaper.defer(function() end) end 8 | for i = 0, item_cnt-1 do 9 | local item = reaper.GetSelectedMediaItem( 0, i ) 10 | local item_pos = reaper.GetMediaItemInfo_Value( item, "D_POSITION" ) 11 | local _, regionidx = reaper.GetLastMarkerAndCurRegion( 0, item_pos ) 12 | local _, _, _, _, name = reaper.EnumProjectMarkers( regionidx ) 13 | if name ~= "" then 14 | reaper.GetSetMediaItemInfo_String( item, "P_NOTES", name, true ) 15 | end 16 | end 17 | reaper.UpdateArrange() 18 | reaper.Undo_OnStateChange( "Name selected items' notes after the region they are in" ) 19 | -------------------------------------------------------------------------------- /Items Properties/spk77_Rename items to track name.eel: -------------------------------------------------------------------------------- 1 | /* 2 | * ReaScript Name: Rename items to track name 3 | * EEL script for Cockos REAPER 4 | * Author: spk77 5 | * Author URI: http://forum.cockos.com/member.php?u=49553 6 | * Licence: GPL v3 7 | * Version: 1.0 8 | */ 9 | 10 | // Rename items to track name (works on selected tracks) 11 | 12 | function rename_tracks() local(t_i, tr, i_i, item, take, name) 13 | ( 14 | t_i = 0; 15 | loop(CountSelectedTracks(0), 16 | (tr = GetSelectedTrack(0, t_i)) ? ( 17 | GetSetMediaTrackInfo_String(tr, "P_NAME", name, 0); 18 | i_i = 0; 19 | loop(CountTrackMediaItems(tr), 20 | (item = GetTrackMediaItem(tr, i_i)) ? ( 21 | (take = GetActiveTake(item)) ? ( 22 | GetSetMediaItemTakeInfo_String(take, "P_NAME", name, 1); 23 | ); 24 | ); 25 | i_i += 1; 26 | ); 27 | t_i += 1; 28 | ); 29 | ); 30 | Undo_OnStateChange("Rename items to track name") 31 | ); 32 | 33 | rename_tracks(); -------------------------------------------------------------------------------- /MIDI Editor/Flaneurette_ReaChorder/LICENSE.txt: -------------------------------------------------------------------------------- 1 | @noindex 2 | 3 | ALL RIGHTS RESERVED (c) COPYRIGHT Alexandra van den Heetkamp. 4 | 5 | REACHORDER IS A PLUGIN FOR COCKOS REAPER, CREATED BY ALEXANDRA VAN DEN HEETKAMP. 6 | THIS SOFTWARE MAY NOT BE SOLD, DISTRIBUTED, EMBEDDED OR ALTERED WITHOUT 7 | EXPLICIT PERMISSION FROM THE COPYRIGHT HOLDER WITH THE EXCEPTION OF 8 | A GUI. THE AFOREMENTIONED COPYRIGHT HOLDER CANNOT BE HELD ACCOUNTABLE 9 | FOR ANY USE, MISUSE, LIABILITY, CLAIMS, THAT MAY ARISE FROM USING THIS SOFTWARE. 10 | 11 | 3RD PARTY PLUGINS MAY HAVE A DIFFERENT LICENSE. WHEREVER POSSIBLE, 12 | TINYSHOP DOES NOT INCLUDE NOR MAKES USE OF 3RD PART SOFTWARE. 13 | 14 | NO SUPPORT IS GIVEN. NO WARRANTY IS GIVEN. 15 | 16 | LICENSE LAST REVISED: 24TH OF OCTOBER 2021, ARNHEM, THE NETHERLANDS. 17 | DUTCH LAW AND COPYRIGHT LAW APPLIES. ALL RIGHTS RESERVED. 18 | -------------------------------------------------------------------------------- /MIDI Editor/Flaneurette_ReaChorder/ReaChorderBassSection.ini: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReaTeam/ReaScripts/d42b747a706524d8d19598d377ccbeb0f80a59d7/MIDI Editor/Flaneurette_ReaChorder/ReaChorderBassSection.ini -------------------------------------------------------------------------------- /MIDI Editor/Flaneurette_ReaChorder/ReaChorderChordSection.ini: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReaTeam/ReaScripts/d42b747a706524d8d19598d377ccbeb0f80a59d7/MIDI Editor/Flaneurette_ReaChorder/ReaChorderChordSection.ini -------------------------------------------------------------------------------- /MIDI Editor/Flaneurette_ReaChorder/ReaChorderDrumSection.ini: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReaTeam/ReaScripts/d42b747a706524d8d19598d377ccbeb0f80a59d7/MIDI Editor/Flaneurette_ReaChorder/ReaChorderDrumSection.ini -------------------------------------------------------------------------------- /MIDI Editor/Flaneurette_ReaChorder/ReaChorderGuitarSection.ini: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReaTeam/ReaScripts/d42b747a706524d8d19598d377ccbeb0f80a59d7/MIDI Editor/Flaneurette_ReaChorder/ReaChorderGuitarSection.ini -------------------------------------------------------------------------------- /MIDI Editor/Flaneurette_ReaChorder/ReaChorderMain.ini: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReaTeam/ReaScripts/d42b747a706524d8d19598d377ccbeb0f80a59d7/MIDI Editor/Flaneurette_ReaChorder/ReaChorderMain.ini -------------------------------------------------------------------------------- /MIDI Editor/Flaneurette_ReaChorder/ReaChorderMelodySection.ini: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReaTeam/ReaScripts/d42b747a706524d8d19598d377ccbeb0f80a59d7/MIDI Editor/Flaneurette_ReaChorder/ReaChorderMelodySection.ini -------------------------------------------------------------------------------- /MIDI Editor/Flaneurette_ReaChorder/_getdirectory_.py: -------------------------------------------------------------------------------- 1 | # @noindex 2 | 3 | try: 4 | import sys 5 | except ImportError: 6 | pass 7 | try: 8 | import os 9 | except ImportError: 10 | pass 11 | 12 | def we_are_frozen(): 13 | return hasattr(sys, "frozen") 14 | 15 | def module_path(): 16 | encoding = sys.getfilesystemencoding() 17 | if we_are_frozen(): 18 | if sys.hexversion < 0x03000000: 19 | return os.path.dirname(unicode(sys.executable, encoding)) 20 | else: 21 | return os.path.dirname(str(sys.executable, encoding)) 22 | if sys.hexversion < 0x03000000: 23 | return os.path.dirname(unicode(__file__, encoding)) 24 | else: 25 | return os.path.dirname(__file__) 26 | 27 | class Test: 28 | autoComplete = 1 29 | -------------------------------------------------------------------------------- /MIDI Editor/Flaneurette_ReaChorder/debug.py: -------------------------------------------------------------------------------- 1 | # @noindex 2 | 3 | try: 4 | from reaper_python import * 5 | except ImportError: 6 | pass 7 | 8 | debug = False 9 | 10 | def msg(m): 11 | if (debug): 12 | RPR_ShowConsoleMsg(str(m)+'\n') 13 | -------------------------------------------------------------------------------- /MIDI Editor/Flaneurette_ReaChorder/screenshot.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReaTeam/ReaScripts/d42b747a706524d8d19598d377ccbeb0f80a59d7/MIDI Editor/Flaneurette_ReaChorder/screenshot.png -------------------------------------------------------------------------------- /MIDI Editor/JRT_Navigate-Next or previous note OR measure.lua: -------------------------------------------------------------------------------- 1 | -- @description Navigate-Next or previous note OR measure 2 | -- @author JRTaylorMusic 3 | -- @version 1.0 4 | -- @metapackage 5 | -- @provides 6 | -- [main] JRT_Navigate-Next or previous note OR measure/JRT_Navigate-Next note OR measure.lua 7 | -- [main] JRT_Navigate-Next or previous note OR measure/JRT_Navigate-Previous note OR measure.lua 8 | -- @about MIDI Editor Navigation; If note(s) selected, move cursor to (and select only) next or previous note; If no note selected, move cursor to next/previous measure. 9 | -------------------------------------------------------------------------------- /MIDI Editor/JRT_Navigate-Zoom vertically OR move notes up or down ignoring key.lua: -------------------------------------------------------------------------------- 1 | -- @description JRT_Navigate-Zoom vertically OR move notes up or down ignoring key 2 | -- @author JRTaylorMusic 3 | -- @version 1.0 4 | -- @metapackage 5 | -- @provides 6 | -- [main] JRT_Navigate-Zoom vertically OR move notes up or down ignoring key/JRT_Navigate-Zoom in vertically OR move notes up ignoring key.lua 7 | -- [main] JRT_Navigate-Zoom vertically OR move notes up or down ignoring key/JRT_Navigate-Zoom out vertically OR move notes down ignoring key.lua 8 | -- @about Midi Editor navigation; if note(s) selected, move up or down, ignoring key; if no notes selected, Zoom Vertically In or Out. 9 | -------------------------------------------------------------------------------- /MIDI Editor/JRT_Scroll view OR move notes up or down.lua: -------------------------------------------------------------------------------- 1 | -- @description Scroll view OR move notes up or down 2 | -- @author JRTaylorMusic 3 | -- @version 1.0 4 | -- @metapackage 5 | -- @provides 6 | -- [main] JRT_Scroll view OR move notes up or down/JRT_Navigate-Scroll view OR move notes up.lua 7 | -- [main] JRT_Scroll view OR move notes up or down/JRT_Navigate-Scroll view OR move notes down.lua 8 | -- @about Midi Editor Navigation; If note(s) selected, move up/down; If no notes selected, scroll view up/down 9 | -------------------------------------------------------------------------------- /MIDI Editor/Lokasenna_CC Ryder/restore_1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReaTeam/ReaScripts/d42b747a706524d8d19598d377ccbeb0f80a59d7/MIDI Editor/Lokasenna_CC Ryder/restore_1.png -------------------------------------------------------------------------------- /MIDI Editor/Lokasenna_CC Ryder/restore_10.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReaTeam/ReaScripts/d42b747a706524d8d19598d377ccbeb0f80a59d7/MIDI Editor/Lokasenna_CC Ryder/restore_10.png -------------------------------------------------------------------------------- /MIDI Editor/Lokasenna_CC Ryder/restore_11.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReaTeam/ReaScripts/d42b747a706524d8d19598d377ccbeb0f80a59d7/MIDI Editor/Lokasenna_CC Ryder/restore_11.png -------------------------------------------------------------------------------- /MIDI Editor/Lokasenna_CC Ryder/restore_12.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReaTeam/ReaScripts/d42b747a706524d8d19598d377ccbeb0f80a59d7/MIDI Editor/Lokasenna_CC Ryder/restore_12.png -------------------------------------------------------------------------------- /MIDI Editor/Lokasenna_CC Ryder/restore_13.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReaTeam/ReaScripts/d42b747a706524d8d19598d377ccbeb0f80a59d7/MIDI Editor/Lokasenna_CC Ryder/restore_13.png -------------------------------------------------------------------------------- /MIDI Editor/Lokasenna_CC Ryder/restore_14.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReaTeam/ReaScripts/d42b747a706524d8d19598d377ccbeb0f80a59d7/MIDI Editor/Lokasenna_CC Ryder/restore_14.png -------------------------------------------------------------------------------- /MIDI Editor/Lokasenna_CC Ryder/restore_15.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReaTeam/ReaScripts/d42b747a706524d8d19598d377ccbeb0f80a59d7/MIDI Editor/Lokasenna_CC Ryder/restore_15.png -------------------------------------------------------------------------------- /MIDI Editor/Lokasenna_CC Ryder/restore_16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReaTeam/ReaScripts/d42b747a706524d8d19598d377ccbeb0f80a59d7/MIDI Editor/Lokasenna_CC Ryder/restore_16.png -------------------------------------------------------------------------------- /MIDI Editor/Lokasenna_CC Ryder/restore_17.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReaTeam/ReaScripts/d42b747a706524d8d19598d377ccbeb0f80a59d7/MIDI Editor/Lokasenna_CC Ryder/restore_17.png -------------------------------------------------------------------------------- /MIDI Editor/Lokasenna_CC Ryder/restore_18.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReaTeam/ReaScripts/d42b747a706524d8d19598d377ccbeb0f80a59d7/MIDI Editor/Lokasenna_CC Ryder/restore_18.png -------------------------------------------------------------------------------- /MIDI Editor/Lokasenna_CC Ryder/restore_19.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReaTeam/ReaScripts/d42b747a706524d8d19598d377ccbeb0f80a59d7/MIDI Editor/Lokasenna_CC Ryder/restore_19.png -------------------------------------------------------------------------------- /MIDI Editor/Lokasenna_CC Ryder/restore_2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReaTeam/ReaScripts/d42b747a706524d8d19598d377ccbeb0f80a59d7/MIDI Editor/Lokasenna_CC Ryder/restore_2.png -------------------------------------------------------------------------------- /MIDI Editor/Lokasenna_CC Ryder/restore_20.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReaTeam/ReaScripts/d42b747a706524d8d19598d377ccbeb0f80a59d7/MIDI Editor/Lokasenna_CC Ryder/restore_20.png -------------------------------------------------------------------------------- /MIDI Editor/Lokasenna_CC Ryder/restore_3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReaTeam/ReaScripts/d42b747a706524d8d19598d377ccbeb0f80a59d7/MIDI Editor/Lokasenna_CC Ryder/restore_3.png -------------------------------------------------------------------------------- /MIDI Editor/Lokasenna_CC Ryder/restore_4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReaTeam/ReaScripts/d42b747a706524d8d19598d377ccbeb0f80a59d7/MIDI Editor/Lokasenna_CC Ryder/restore_4.png -------------------------------------------------------------------------------- /MIDI Editor/Lokasenna_CC Ryder/restore_5.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReaTeam/ReaScripts/d42b747a706524d8d19598d377ccbeb0f80a59d7/MIDI Editor/Lokasenna_CC Ryder/restore_5.png -------------------------------------------------------------------------------- /MIDI Editor/Lokasenna_CC Ryder/restore_6.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReaTeam/ReaScripts/d42b747a706524d8d19598d377ccbeb0f80a59d7/MIDI Editor/Lokasenna_CC Ryder/restore_6.png -------------------------------------------------------------------------------- /MIDI Editor/Lokasenna_CC Ryder/restore_7.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReaTeam/ReaScripts/d42b747a706524d8d19598d377ccbeb0f80a59d7/MIDI Editor/Lokasenna_CC Ryder/restore_7.png -------------------------------------------------------------------------------- /MIDI Editor/Lokasenna_CC Ryder/restore_8.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReaTeam/ReaScripts/d42b747a706524d8d19598d377ccbeb0f80a59d7/MIDI Editor/Lokasenna_CC Ryder/restore_8.png -------------------------------------------------------------------------------- /MIDI Editor/Lokasenna_CC Ryder/restore_9.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReaTeam/ReaScripts/d42b747a706524d8d19598d377ccbeb0f80a59d7/MIDI Editor/Lokasenna_CC Ryder/restore_9.png -------------------------------------------------------------------------------- /MIDI Editor/Lokasenna_CC Ryder/restore_label.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReaTeam/ReaScripts/d42b747a706524d8d19598d377ccbeb0f80a59d7/MIDI Editor/Lokasenna_CC Ryder/restore_label.png -------------------------------------------------------------------------------- /MIDI Editor/Lokasenna_CC Ryder/save_1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReaTeam/ReaScripts/d42b747a706524d8d19598d377ccbeb0f80a59d7/MIDI Editor/Lokasenna_CC Ryder/save_1.png -------------------------------------------------------------------------------- /MIDI Editor/Lokasenna_CC Ryder/save_10.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReaTeam/ReaScripts/d42b747a706524d8d19598d377ccbeb0f80a59d7/MIDI Editor/Lokasenna_CC Ryder/save_10.png -------------------------------------------------------------------------------- /MIDI Editor/Lokasenna_CC Ryder/save_11.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReaTeam/ReaScripts/d42b747a706524d8d19598d377ccbeb0f80a59d7/MIDI Editor/Lokasenna_CC Ryder/save_11.png -------------------------------------------------------------------------------- /MIDI Editor/Lokasenna_CC Ryder/save_12.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReaTeam/ReaScripts/d42b747a706524d8d19598d377ccbeb0f80a59d7/MIDI Editor/Lokasenna_CC Ryder/save_12.png -------------------------------------------------------------------------------- /MIDI Editor/Lokasenna_CC Ryder/save_13.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReaTeam/ReaScripts/d42b747a706524d8d19598d377ccbeb0f80a59d7/MIDI Editor/Lokasenna_CC Ryder/save_13.png -------------------------------------------------------------------------------- /MIDI Editor/Lokasenna_CC Ryder/save_14.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReaTeam/ReaScripts/d42b747a706524d8d19598d377ccbeb0f80a59d7/MIDI Editor/Lokasenna_CC Ryder/save_14.png -------------------------------------------------------------------------------- /MIDI Editor/Lokasenna_CC Ryder/save_15.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReaTeam/ReaScripts/d42b747a706524d8d19598d377ccbeb0f80a59d7/MIDI Editor/Lokasenna_CC Ryder/save_15.png -------------------------------------------------------------------------------- /MIDI Editor/Lokasenna_CC Ryder/save_16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReaTeam/ReaScripts/d42b747a706524d8d19598d377ccbeb0f80a59d7/MIDI Editor/Lokasenna_CC Ryder/save_16.png -------------------------------------------------------------------------------- /MIDI Editor/Lokasenna_CC Ryder/save_17.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReaTeam/ReaScripts/d42b747a706524d8d19598d377ccbeb0f80a59d7/MIDI Editor/Lokasenna_CC Ryder/save_17.png -------------------------------------------------------------------------------- /MIDI Editor/Lokasenna_CC Ryder/save_18.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReaTeam/ReaScripts/d42b747a706524d8d19598d377ccbeb0f80a59d7/MIDI Editor/Lokasenna_CC Ryder/save_18.png -------------------------------------------------------------------------------- /MIDI Editor/Lokasenna_CC Ryder/save_19.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReaTeam/ReaScripts/d42b747a706524d8d19598d377ccbeb0f80a59d7/MIDI Editor/Lokasenna_CC Ryder/save_19.png -------------------------------------------------------------------------------- /MIDI Editor/Lokasenna_CC Ryder/save_2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReaTeam/ReaScripts/d42b747a706524d8d19598d377ccbeb0f80a59d7/MIDI Editor/Lokasenna_CC Ryder/save_2.png -------------------------------------------------------------------------------- /MIDI Editor/Lokasenna_CC Ryder/save_20.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReaTeam/ReaScripts/d42b747a706524d8d19598d377ccbeb0f80a59d7/MIDI Editor/Lokasenna_CC Ryder/save_20.png -------------------------------------------------------------------------------- /MIDI Editor/Lokasenna_CC Ryder/save_3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReaTeam/ReaScripts/d42b747a706524d8d19598d377ccbeb0f80a59d7/MIDI Editor/Lokasenna_CC Ryder/save_3.png -------------------------------------------------------------------------------- /MIDI Editor/Lokasenna_CC Ryder/save_4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReaTeam/ReaScripts/d42b747a706524d8d19598d377ccbeb0f80a59d7/MIDI Editor/Lokasenna_CC Ryder/save_4.png -------------------------------------------------------------------------------- /MIDI Editor/Lokasenna_CC Ryder/save_5.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReaTeam/ReaScripts/d42b747a706524d8d19598d377ccbeb0f80a59d7/MIDI Editor/Lokasenna_CC Ryder/save_5.png -------------------------------------------------------------------------------- /MIDI Editor/Lokasenna_CC Ryder/save_6.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReaTeam/ReaScripts/d42b747a706524d8d19598d377ccbeb0f80a59d7/MIDI Editor/Lokasenna_CC Ryder/save_6.png -------------------------------------------------------------------------------- /MIDI Editor/Lokasenna_CC Ryder/save_7.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReaTeam/ReaScripts/d42b747a706524d8d19598d377ccbeb0f80a59d7/MIDI Editor/Lokasenna_CC Ryder/save_7.png -------------------------------------------------------------------------------- /MIDI Editor/Lokasenna_CC Ryder/save_8.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReaTeam/ReaScripts/d42b747a706524d8d19598d377ccbeb0f80a59d7/MIDI Editor/Lokasenna_CC Ryder/save_8.png -------------------------------------------------------------------------------- /MIDI Editor/Lokasenna_CC Ryder/save_9.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReaTeam/ReaScripts/d42b747a706524d8d19598d377ccbeb0f80a59d7/MIDI Editor/Lokasenna_CC Ryder/save_9.png -------------------------------------------------------------------------------- /MIDI Editor/Lokasenna_CC Ryder/save_label.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReaTeam/ReaScripts/d42b747a706524d8d19598d377ccbeb0f80a59d7/MIDI Editor/Lokasenna_CC Ryder/save_label.png -------------------------------------------------------------------------------- /MIDI Editor/Lokasenna_Duplicate selected notes chromatically/Lokasenna_Duplicate selected notes down 1 semitone.lua: -------------------------------------------------------------------------------- 1 | --[[ 2 | This script is part of Lokasenna_Duplicate selected notes chromatically.lua 3 | NoIndex: true 4 | --]] 5 | 6 | -- Licensed under the GNU GPL v3 7 | 8 | interval = -1 9 | 10 | local script_path = debug.getinfo(1,'S').source:match[[^@?(.*[\/])[^\/]-$]] 11 | dofile(script_path .. "../Lokasenna_Duplicate selected notes chromatically.lua") -------------------------------------------------------------------------------- /MIDI Editor/Lokasenna_Duplicate selected notes chromatically/Lokasenna_Duplicate selected notes down 10 semitones.lua: -------------------------------------------------------------------------------- 1 | --[[ 2 | This script is part of Lokasenna_Duplicate selected notes chromatically.lua 3 | NoIndex: true 4 | --]] 5 | 6 | -- Licensed under the GNU GPL v3 7 | 8 | interval = -10 9 | 10 | local script_path = debug.getinfo(1,'S').source:match[[^@?(.*[\/])[^\/]-$]] 11 | dofile(script_path .. "../Lokasenna_Duplicate selected notes chromatically.lua") -------------------------------------------------------------------------------- /MIDI Editor/Lokasenna_Duplicate selected notes chromatically/Lokasenna_Duplicate selected notes down 11 semitones.lua: -------------------------------------------------------------------------------- 1 | --[[ 2 | This script is part of Lokasenna_Duplicate selected notes chromatically.lua 3 | NoIndex: true 4 | --]] 5 | 6 | -- Licensed under the GNU GPL v3 7 | 8 | interval = -11 9 | 10 | local script_path = debug.getinfo(1,'S').source:match[[^@?(.*[\/])[^\/]-$]] 11 | dofile(script_path .. "../Lokasenna_Duplicate selected notes chromatically.lua") -------------------------------------------------------------------------------- /MIDI Editor/Lokasenna_Duplicate selected notes chromatically/Lokasenna_Duplicate selected notes down 2 semitones.lua: -------------------------------------------------------------------------------- 1 | --[[ 2 | This script is part of Lokasenna_Duplicate selected notes chromatically.lua 3 | NoIndex: true 4 | --]] 5 | 6 | -- Licensed under the GNU GPL v3 7 | 8 | interval = -2 9 | 10 | local script_path = debug.getinfo(1,'S').source:match[[^@?(.*[\/])[^\/]-$]] 11 | dofile(script_path .. "../Lokasenna_Duplicate selected notes chromatically.lua") -------------------------------------------------------------------------------- /MIDI Editor/Lokasenna_Duplicate selected notes chromatically/Lokasenna_Duplicate selected notes down 3 semitones.lua: -------------------------------------------------------------------------------- 1 | --[[ 2 | This script is part of Lokasenna_Duplicate selected notes chromatically.lua 3 | NoIndex: true 4 | --]] 5 | 6 | -- Licensed under the GNU GPL v3 7 | 8 | interval = -3 9 | 10 | local script_path = debug.getinfo(1,'S').source:match[[^@?(.*[\/])[^\/]-$]] 11 | dofile(script_path .. "../Lokasenna_Duplicate selected notes chromatically.lua") -------------------------------------------------------------------------------- /MIDI Editor/Lokasenna_Duplicate selected notes chromatically/Lokasenna_Duplicate selected notes down 4 semitones.lua: -------------------------------------------------------------------------------- 1 | --[[ 2 | This script is part of Lokasenna_Duplicate selected notes chromatically.lua 3 | NoIndex: true 4 | --]] 5 | 6 | -- Licensed under the GNU GPL v3 7 | 8 | interval = -4 9 | 10 | local script_path = debug.getinfo(1,'S').source:match[[^@?(.*[\/])[^\/]-$]] 11 | dofile(script_path .. "../Lokasenna_Duplicate selected notes chromatically.lua") -------------------------------------------------------------------------------- /MIDI Editor/Lokasenna_Duplicate selected notes chromatically/Lokasenna_Duplicate selected notes down 5 semitones.lua: -------------------------------------------------------------------------------- 1 | --[[ 2 | This script is part of Lokasenna_Duplicate selected notes chromatically.lua 3 | NoIndex: true 4 | --]] 5 | 6 | -- Licensed under the GNU GPL v3 7 | 8 | interval = -5 9 | 10 | local script_path = debug.getinfo(1,'S').source:match[[^@?(.*[\/])[^\/]-$]] 11 | dofile(script_path .. "../Lokasenna_Duplicate selected notes chromatically.lua") -------------------------------------------------------------------------------- /MIDI Editor/Lokasenna_Duplicate selected notes chromatically/Lokasenna_Duplicate selected notes down 6 semitones.lua: -------------------------------------------------------------------------------- 1 | --[[ 2 | This script is part of Lokasenna_Duplicate selected notes chromatically.lua 3 | NoIndex: true 4 | --]] 5 | 6 | -- Licensed under the GNU GPL v3 7 | 8 | interval = -6 9 | 10 | local script_path = debug.getinfo(1,'S').source:match[[^@?(.*[\/])[^\/]-$]] 11 | dofile(script_path .. "../Lokasenna_Duplicate selected notes chromatically.lua") -------------------------------------------------------------------------------- /MIDI Editor/Lokasenna_Duplicate selected notes chromatically/Lokasenna_Duplicate selected notes down 7 semitones.lua: -------------------------------------------------------------------------------- 1 | --[[ 2 | This script is part of Lokasenna_Duplicate selected notes chromatically.lua 3 | NoIndex: true 4 | --]] 5 | 6 | -- Licensed under the GNU GPL v3 7 | 8 | interval = -7 9 | 10 | local script_path = debug.getinfo(1,'S').source:match[[^@?(.*[\/])[^\/]-$]] 11 | dofile(script_path .. "../Lokasenna_Duplicate selected notes chromatically.lua") -------------------------------------------------------------------------------- /MIDI Editor/Lokasenna_Duplicate selected notes chromatically/Lokasenna_Duplicate selected notes down 8 semitones.lua: -------------------------------------------------------------------------------- 1 | --[[ 2 | This script is part of Lokasenna_Duplicate selected notes chromatically.lua 3 | NoIndex: true 4 | --]] 5 | 6 | -- Licensed under the GNU GPL v3 7 | 8 | interval = -8 9 | 10 | local script_path = debug.getinfo(1,'S').source:match[[^@?(.*[\/])[^\/]-$]] 11 | dofile(script_path .. "../Lokasenna_Duplicate selected notes chromatically.lua") -------------------------------------------------------------------------------- /MIDI Editor/Lokasenna_Duplicate selected notes chromatically/Lokasenna_Duplicate selected notes down 9 semitones.lua: -------------------------------------------------------------------------------- 1 | --[[ 2 | This script is part of Lokasenna_Duplicate selected notes chromatically.lua 3 | NoIndex: true 4 | --]] 5 | 6 | -- Licensed under the GNU GPL v3 7 | 8 | interval = -9 9 | 10 | local script_path = debug.getinfo(1,'S').source:match[[^@?(.*[\/])[^\/]-$]] 11 | dofile(script_path .. "../Lokasenna_Duplicate selected notes chromatically.lua") -------------------------------------------------------------------------------- /MIDI Editor/Lokasenna_Duplicate selected notes chromatically/Lokasenna_Duplicate selected notes up 1 semitone.lua: -------------------------------------------------------------------------------- 1 | --[[ 2 | This script is part of Lokasenna_Duplicate selected notes chromatically.lua 3 | NoIndex: true 4 | --]] 5 | 6 | -- Licensed under the GNU GPL v3 7 | 8 | interval = 1 9 | 10 | local script_path = debug.getinfo(1,'S').source:match[[^@?(.*[\/])[^\/]-$]] 11 | dofile(script_path .. "../Lokasenna_Duplicate selected notes chromatically.lua") -------------------------------------------------------------------------------- /MIDI Editor/Lokasenna_Duplicate selected notes chromatically/Lokasenna_Duplicate selected notes up 10 semitones.lua: -------------------------------------------------------------------------------- 1 | --[[ 2 | This script is part of Lokasenna_Duplicate selected notes chromatically.lua 3 | NoIndex: true 4 | --]] 5 | 6 | -- Licensed under the GNU GPL v3 7 | 8 | interval = 10 9 | 10 | local script_path = debug.getinfo(1,'S').source:match[[^@?(.*[\/])[^\/]-$]] 11 | dofile(script_path .. "../Lokasenna_Duplicate selected notes chromatically.lua") -------------------------------------------------------------------------------- /MIDI Editor/Lokasenna_Duplicate selected notes chromatically/Lokasenna_Duplicate selected notes up 11 semitones.lua: -------------------------------------------------------------------------------- 1 | --[[ 2 | This script is part of Lokasenna_Duplicate selected notes chromatically.lua 3 | NoIndex: true 4 | --]] 5 | 6 | -- Licensed under the GNU GPL v3 7 | 8 | interval = 11 9 | 10 | local script_path = debug.getinfo(1,'S').source:match[[^@?(.*[\/])[^\/]-$]] 11 | dofile(script_path .. "../Lokasenna_Duplicate selected notes chromatically.lua") -------------------------------------------------------------------------------- /MIDI Editor/Lokasenna_Duplicate selected notes chromatically/Lokasenna_Duplicate selected notes up 2 semitones.lua: -------------------------------------------------------------------------------- 1 | --[[ 2 | This script is part of Lokasenna_Duplicate selected notes chromatically.lua 3 | NoIndex: true 4 | --]] 5 | 6 | -- Licensed under the GNU GPL v3 7 | 8 | interval = 2 9 | 10 | local script_path = debug.getinfo(1,'S').source:match[[^@?(.*[\/])[^\/]-$]] 11 | dofile(script_path .. "../Lokasenna_Duplicate selected notes chromatically.lua") -------------------------------------------------------------------------------- /MIDI Editor/Lokasenna_Duplicate selected notes chromatically/Lokasenna_Duplicate selected notes up 3 semitones.lua: -------------------------------------------------------------------------------- 1 | --[[ 2 | This script is part of Lokasenna_Duplicate selected notes chromatically.lua 3 | NoIndex: true 4 | --]] 5 | 6 | -- Licensed under the GNU GPL v3 7 | 8 | interval = 3 9 | 10 | local script_path = debug.getinfo(1,'S').source:match[[^@?(.*[\/])[^\/]-$]] 11 | dofile(script_path .. "../Lokasenna_Duplicate selected notes chromatically.lua") -------------------------------------------------------------------------------- /MIDI Editor/Lokasenna_Duplicate selected notes chromatically/Lokasenna_Duplicate selected notes up 4 semitones.lua: -------------------------------------------------------------------------------- 1 | --[[ 2 | This script is part of Lokasenna_Duplicate selected notes chromatically.lua 3 | NoIndex: true 4 | --]] 5 | 6 | -- Licensed under the GNU GPL v3 7 | 8 | interval = 4 9 | 10 | local script_path = debug.getinfo(1,'S').source:match[[^@?(.*[\/])[^\/]-$]] 11 | dofile(script_path .. "../Lokasenna_Duplicate selected notes chromatically.lua") -------------------------------------------------------------------------------- /MIDI Editor/Lokasenna_Duplicate selected notes chromatically/Lokasenna_Duplicate selected notes up 5 semitones.lua: -------------------------------------------------------------------------------- 1 | --[[ 2 | This script is part of Lokasenna_Duplicate selected notes chromatically.lua 3 | NoIndex: true 4 | --]] 5 | 6 | -- Licensed under the GNU GPL v3 7 | 8 | interval = 5 9 | 10 | local script_path = debug.getinfo(1,'S').source:match[[^@?(.*[\/])[^\/]-$]] 11 | dofile(script_path .. "../Lokasenna_Duplicate selected notes chromatically.lua") -------------------------------------------------------------------------------- /MIDI Editor/Lokasenna_Duplicate selected notes chromatically/Lokasenna_Duplicate selected notes up 6 semitones.lua: -------------------------------------------------------------------------------- 1 | --[[ 2 | This script is part of Lokasenna_Duplicate selected notes chromatically.lua 3 | NoIndex: true 4 | --]] 5 | 6 | -- Licensed under the GNU GPL v3 7 | 8 | interval = 6 9 | 10 | local script_path = debug.getinfo(1,'S').source:match[[^@?(.*[\/])[^\/]-$]] 11 | dofile(script_path .. "../Lokasenna_Duplicate selected notes chromatically.lua") -------------------------------------------------------------------------------- /MIDI Editor/Lokasenna_Duplicate selected notes chromatically/Lokasenna_Duplicate selected notes up 7 semitones.lua: -------------------------------------------------------------------------------- 1 | --[[ 2 | This script is part of Lokasenna_Duplicate selected notes chromatically.lua 3 | NoIndex: true 4 | --]] 5 | 6 | -- Licensed under the GNU GPL v3 7 | 8 | interval = 7 9 | 10 | local script_path = debug.getinfo(1,'S').source:match[[^@?(.*[\/])[^\/]-$]] 11 | dofile(script_path .. "../Lokasenna_Duplicate selected notes chromatically.lua") -------------------------------------------------------------------------------- /MIDI Editor/Lokasenna_Duplicate selected notes chromatically/Lokasenna_Duplicate selected notes up 8 semitones.lua: -------------------------------------------------------------------------------- 1 | --[[ 2 | This script is part of Lokasenna_Duplicate selected notes chromatically.lua 3 | NoIndex: true 4 | --]] 5 | 6 | -- Licensed under the GNU GPL v3 7 | 8 | interval = 8 9 | 10 | local script_path = debug.getinfo(1,'S').source:match[[^@?(.*[\/])[^\/]-$]] 11 | dofile(script_path .. "../Lokasenna_Duplicate selected notes chromatically.lua") -------------------------------------------------------------------------------- /MIDI Editor/Lokasenna_Duplicate selected notes chromatically/Lokasenna_Duplicate selected notes up 9 semitones.lua: -------------------------------------------------------------------------------- 1 | --[[ 2 | This script is part of Lokasenna_Duplicate selected notes chromatically.lua 3 | NoIndex: true 4 | --]] 5 | 6 | -- Licensed under the GNU GPL v3 7 | 8 | interval = 9 9 | 10 | local script_path = debug.getinfo(1,'S').source:match[[^@?(.*[\/])[^\/]-$]] 11 | dofile(script_path .. "../Lokasenna_Duplicate selected notes chromatically.lua") -------------------------------------------------------------------------------- /MIDI Editor/Lokasenna_Duplicate selected notes diatonically/Lokasenna_Duplicate selected notes down a fifth diatonically.lua: -------------------------------------------------------------------------------- 1 | --[[ 2 | This script is part of Lokasenna_Duplicate selected notes diatonically.lua 3 | NoIndex: true 4 | --]] 5 | 6 | -- Licensed under the GNU GPL v3 7 | 8 | interval = -5 9 | 10 | local script_path = debug.getinfo(1,'S').source:match[[^@?(.*[\/])[^\/]-$]] 11 | dofile(script_path .. "../Lokasenna_Duplicate selected notes diatonically.lua") -------------------------------------------------------------------------------- /MIDI Editor/Lokasenna_Duplicate selected notes diatonically/Lokasenna_Duplicate selected notes down a fourth diatonically.lua: -------------------------------------------------------------------------------- 1 | --[[ 2 | This script is part of Lokasenna_Duplicate selected notes diatonically.lua 3 | NoIndex: true 4 | --]] 5 | 6 | -- Licensed under the GNU GPL v3 7 | 8 | interval = -4 9 | 10 | local script_path = debug.getinfo(1,'S').source:match[[^@?(.*[\/])[^\/]-$]] 11 | dofile(script_path .. "../Lokasenna_Duplicate selected notes diatonically.lua") -------------------------------------------------------------------------------- /MIDI Editor/Lokasenna_Duplicate selected notes diatonically/Lokasenna_Duplicate selected notes down a ninth diatonically.lua: -------------------------------------------------------------------------------- 1 | --[[ 2 | This script is part of Lokasenna_Duplicate selected notes diatonically.lua 3 | NoIndex: true 4 | --]] 5 | 6 | -- Licensed under the GNU GPL v3 7 | 8 | interval = -9 9 | 10 | local script_path = debug.getinfo(1,'S').source:match[[^@?(.*[\/])[^\/]-$]] 11 | dofile(script_path .. "../Lokasenna_Duplicate selected notes diatonically.lua") -------------------------------------------------------------------------------- /MIDI Editor/Lokasenna_Duplicate selected notes diatonically/Lokasenna_Duplicate selected notes down a second diatonically.lua: -------------------------------------------------------------------------------- 1 | --[[ 2 | This script is part of Lokasenna_Duplicate selected notes diatonically.lua 3 | NoIndex: true 4 | --]] 5 | 6 | -- Licensed under the GNU GPL v3 7 | 8 | interval = -2 9 | 10 | local script_path = debug.getinfo(1,'S').source:match[[^@?(.*[\/])[^\/]-$]] 11 | dofile(script_path .. "../Lokasenna_Duplicate selected notes diatonically.lua") -------------------------------------------------------------------------------- /MIDI Editor/Lokasenna_Duplicate selected notes diatonically/Lokasenna_Duplicate selected notes down a seventh diatonically.lua: -------------------------------------------------------------------------------- 1 | --[[ 2 | This script is part of Lokasenna_Duplicate selected notes diatonically.lua 3 | NoIndex: true 4 | --]] 5 | 6 | -- Licensed under the GNU GPL v3 7 | 8 | interval = -7 9 | 10 | local script_path = debug.getinfo(1,'S').source:match[[^@?(.*[\/])[^\/]-$]] 11 | dofile(script_path .. "../Lokasenna_Duplicate selected notes diatonically.lua") -------------------------------------------------------------------------------- /MIDI Editor/Lokasenna_Duplicate selected notes diatonically/Lokasenna_Duplicate selected notes down a sixth diatonically.lua: -------------------------------------------------------------------------------- 1 | --[[ 2 | This script is part of Lokasenna_Duplicate selected notes diatonically.lua 3 | NoIndex: true 4 | --]] 5 | 6 | -- Licensed under the GNU GPL v3 7 | 8 | interval = -6 9 | 10 | local script_path = debug.getinfo(1,'S').source:match[[^@?(.*[\/])[^\/]-$]] 11 | dofile(script_path .. "../Lokasenna_Duplicate selected notes diatonically.lua") -------------------------------------------------------------------------------- /MIDI Editor/Lokasenna_Duplicate selected notes diatonically/Lokasenna_Duplicate selected notes down a tenth diatonically.lua: -------------------------------------------------------------------------------- 1 | --[[ 2 | This script is part of Lokasenna_Duplicate selected notes diatonically.lua 3 | NoIndex: true 4 | --]] 5 | 6 | -- Licensed under the GNU GPL v3 7 | 8 | interval = -10 9 | 10 | local script_path = debug.getinfo(1,'S').source:match[[^@?(.*[\/])[^\/]-$]] 11 | dofile(script_path .. "../Lokasenna_Duplicate selected notes diatonically.lua") -------------------------------------------------------------------------------- /MIDI Editor/Lokasenna_Duplicate selected notes diatonically/Lokasenna_Duplicate selected notes down a third diatonically.lua: -------------------------------------------------------------------------------- 1 | --[[ 2 | This script is part of Lokasenna_Duplicate selected notes diatonically.lua 3 | NoIndex: true 4 | --]] 5 | 6 | -- Licensed under the GNU GPL v3 7 | 8 | interval = -3 9 | 10 | local script_path = debug.getinfo(1,'S').source:match[[^@?(.*[\/])[^\/]-$]] 11 | dofile(script_path .. "../Lokasenna_Duplicate selected notes diatonically.lua") -------------------------------------------------------------------------------- /MIDI Editor/Lokasenna_Duplicate selected notes diatonically/Lokasenna_Duplicate selected notes down an eighth diatonically.lua: -------------------------------------------------------------------------------- 1 | --[[ 2 | This script is part of Lokasenna_Duplicate selected notes diatonically.lua 3 | NoIndex: true 4 | --]] 5 | 6 | -- Licensed under the GNU GPL v3 7 | 8 | interval = -8 9 | 10 | local script_path = debug.getinfo(1,'S').source:match[[^@?(.*[\/])[^\/]-$]] 11 | dofile(script_path .. "../Lokasenna_Duplicate selected notes diatonically.lua") -------------------------------------------------------------------------------- /MIDI Editor/Lokasenna_Duplicate selected notes diatonically/Lokasenna_Duplicate selected notes down an eleventh diatonically.lua: -------------------------------------------------------------------------------- 1 | --[[ 2 | This script is part of Lokasenna_Duplicate selected notes diatonically.lua 3 | NoIndex: true 4 | --]] 5 | 6 | -- Licensed under the GNU GPL v3 7 | 8 | interval = -11 9 | 10 | local script_path = debug.getinfo(1,'S').source:match[[^@?(.*[\/])[^\/]-$]] 11 | dofile(script_path .. "../Lokasenna_Duplicate selected notes diatonically.lua") -------------------------------------------------------------------------------- /MIDI Editor/Lokasenna_Duplicate selected notes diatonically/Lokasenna_Duplicate selected notes up a fifth diatonically.lua: -------------------------------------------------------------------------------- 1 | --[[ 2 | This script is part of Lokasenna_Duplicate selected notes diatonically.lua 3 | NoIndex: true 4 | --]] 5 | 6 | -- Licensed under the GNU GPL v3 7 | 8 | interval = 5 9 | 10 | local script_path = debug.getinfo(1,'S').source:match[[^@?(.*[\/])[^\/]-$]] 11 | dofile(script_path .. "../Lokasenna_Duplicate selected notes diatonically.lua") -------------------------------------------------------------------------------- /MIDI Editor/Lokasenna_Duplicate selected notes diatonically/Lokasenna_Duplicate selected notes up a fourth diatonically.lua: -------------------------------------------------------------------------------- 1 | --[[ 2 | This script is part of Lokasenna_Duplicate selected notes diatonically.lua 3 | NoIndex: true 4 | --]] 5 | 6 | -- Licensed under the GNU GPL v3 7 | 8 | interval = 4 9 | 10 | local script_path = debug.getinfo(1,'S').source:match[[^@?(.*[\/])[^\/]-$]] 11 | dofile(script_path .. "../Lokasenna_Duplicate selected notes diatonically.lua") -------------------------------------------------------------------------------- /MIDI Editor/Lokasenna_Duplicate selected notes diatonically/Lokasenna_Duplicate selected notes up a ninth diatonically.lua: -------------------------------------------------------------------------------- 1 | --[[ 2 | This script is part of Lokasenna_Duplicate selected notes diatonically.lua 3 | NoIndex: true 4 | --]] 5 | 6 | -- Licensed under the GNU GPL v3 7 | 8 | interval = 9 9 | 10 | local script_path = debug.getinfo(1,'S').source:match[[^@?(.*[\/])[^\/]-$]] 11 | dofile(script_path .. "../Lokasenna_Duplicate selected notes diatonically.lua") -------------------------------------------------------------------------------- /MIDI Editor/Lokasenna_Duplicate selected notes diatonically/Lokasenna_Duplicate selected notes up a second diatonically.lua: -------------------------------------------------------------------------------- 1 | --[[ 2 | This script is part of Lokasenna_Duplicate selected notes diatonically.lua 3 | NoIndex: true 4 | --]] 5 | 6 | -- Licensed under the GNU GPL v3 7 | 8 | interval = 2 9 | 10 | local script_path = debug.getinfo(1,'S').source:match[[^@?(.*[\/])[^\/]-$]] 11 | dofile(script_path .. "../Lokasenna_Duplicate selected notes diatonically.lua") -------------------------------------------------------------------------------- /MIDI Editor/Lokasenna_Duplicate selected notes diatonically/Lokasenna_Duplicate selected notes up a seventh diatonically.lua: -------------------------------------------------------------------------------- 1 | --[[ 2 | This script is part of Lokasenna_Duplicate selected notes diatonically.lua 3 | NoIndex: true 4 | --]] 5 | 6 | -- Licensed under the GNU GPL v3 7 | 8 | interval = 7 9 | 10 | local script_path = debug.getinfo(1,'S').source:match[[^@?(.*[\/])[^\/]-$]] 11 | dofile(script_path .. "../Lokasenna_Duplicate selected notes diatonically.lua") -------------------------------------------------------------------------------- /MIDI Editor/Lokasenna_Duplicate selected notes diatonically/Lokasenna_Duplicate selected notes up a sixth diatonically.lua: -------------------------------------------------------------------------------- 1 | --[[ 2 | This script is part of Lokasenna_Duplicate selected notes diatonically.lua 3 | NoIndex: true 4 | --]] 5 | 6 | -- Licensed under the GNU GPL v3 7 | 8 | interval = 6 9 | 10 | local script_path = debug.getinfo(1,'S').source:match[[^@?(.*[\/])[^\/]-$]] 11 | dofile(script_path .. "../Lokasenna_Duplicate selected notes diatonically.lua") -------------------------------------------------------------------------------- /MIDI Editor/Lokasenna_Duplicate selected notes diatonically/Lokasenna_Duplicate selected notes up a tenth diatonically.lua: -------------------------------------------------------------------------------- 1 | --[[ 2 | This script is part of Lokasenna_Duplicate selected notes diatonically.lua 3 | NoIndex: true 4 | --]] 5 | 6 | -- Licensed under the GNU GPL v3 7 | 8 | interval = 10 9 | 10 | local script_path = debug.getinfo(1,'S').source:match[[^@?(.*[\/])[^\/]-$]] 11 | dofile(script_path .. "../Lokasenna_Duplicate selected notes diatonically.lua") -------------------------------------------------------------------------------- /MIDI Editor/Lokasenna_Duplicate selected notes diatonically/Lokasenna_Duplicate selected notes up a third diatonically.lua: -------------------------------------------------------------------------------- 1 | --[[ 2 | This script is part of Lokasenna_Duplicate selected notes diatonically.lua 3 | NoIndex: true 4 | --]] 5 | 6 | -- Licensed under the GNU GPL v3 7 | 8 | interval = 3 9 | 10 | local script_path = debug.getinfo(1,'S').source:match[[^@?(.*[\/])[^\/]-$]] 11 | dofile(script_path .. "../Lokasenna_Duplicate selected notes diatonically.lua") -------------------------------------------------------------------------------- /MIDI Editor/Lokasenna_Duplicate selected notes diatonically/Lokasenna_Duplicate selected notes up an eighth diatonically.lua: -------------------------------------------------------------------------------- 1 | --[[ 2 | This script is part of Lokasenna_Duplicate selected notes diatonically.lua 3 | NoIndex: true 4 | --]] 5 | 6 | -- Licensed under the GNU GPL v3 7 | 8 | interval = 8 9 | 10 | local script_path = debug.getinfo(1,'S').source:match[[^@?(.*[\/])[^\/]-$]] 11 | dofile(script_path .. "../Lokasenna_Duplicate selected notes diatonically.lua") -------------------------------------------------------------------------------- /MIDI Editor/Lokasenna_Duplicate selected notes diatonically/Lokasenna_Duplicate selected notes up an eleventh diatonically.lua: -------------------------------------------------------------------------------- 1 | --[[ 2 | This script is part of Lokasenna_Duplicate selected notes diatonically.lua 3 | NoIndex: true 4 | --]] 5 | 6 | -- Licensed under the GNU GPL v3 7 | 8 | interval = 11 9 | 10 | local script_path = debug.getinfo(1,'S').source:match[[^@?(.*[\/])[^\/]-$]] 11 | dofile(script_path .. "../Lokasenna_Duplicate selected notes diatonically.lua") -------------------------------------------------------------------------------- /MIDI Editor/Lokasenna_Pedal Steel/grid_1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReaTeam/ReaScripts/d42b747a706524d8d19598d377ccbeb0f80a59d7/MIDI Editor/Lokasenna_Pedal Steel/grid_1.png -------------------------------------------------------------------------------- /MIDI Editor/Lokasenna_Pedal Steel/grid_10.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReaTeam/ReaScripts/d42b747a706524d8d19598d377ccbeb0f80a59d7/MIDI Editor/Lokasenna_Pedal Steel/grid_10.png -------------------------------------------------------------------------------- /MIDI Editor/Lokasenna_Pedal Steel/grid_100.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReaTeam/ReaScripts/d42b747a706524d8d19598d377ccbeb0f80a59d7/MIDI Editor/Lokasenna_Pedal Steel/grid_100.png -------------------------------------------------------------------------------- /MIDI Editor/Lokasenna_Pedal Steel/grid_104.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReaTeam/ReaScripts/d42b747a706524d8d19598d377ccbeb0f80a59d7/MIDI Editor/Lokasenna_Pedal Steel/grid_104.png -------------------------------------------------------------------------------- /MIDI Editor/Lokasenna_Pedal Steel/grid_108.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReaTeam/ReaScripts/d42b747a706524d8d19598d377ccbeb0f80a59d7/MIDI Editor/Lokasenna_Pedal Steel/grid_108.png -------------------------------------------------------------------------------- /MIDI Editor/Lokasenna_Pedal Steel/grid_112.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReaTeam/ReaScripts/d42b747a706524d8d19598d377ccbeb0f80a59d7/MIDI Editor/Lokasenna_Pedal Steel/grid_112.png -------------------------------------------------------------------------------- /MIDI Editor/Lokasenna_Pedal Steel/grid_116.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReaTeam/ReaScripts/d42b747a706524d8d19598d377ccbeb0f80a59d7/MIDI Editor/Lokasenna_Pedal Steel/grid_116.png -------------------------------------------------------------------------------- /MIDI Editor/Lokasenna_Pedal Steel/grid_12.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReaTeam/ReaScripts/d42b747a706524d8d19598d377ccbeb0f80a59d7/MIDI Editor/Lokasenna_Pedal Steel/grid_12.png -------------------------------------------------------------------------------- /MIDI Editor/Lokasenna_Pedal Steel/grid_120.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReaTeam/ReaScripts/d42b747a706524d8d19598d377ccbeb0f80a59d7/MIDI Editor/Lokasenna_Pedal Steel/grid_120.png -------------------------------------------------------------------------------- /MIDI Editor/Lokasenna_Pedal Steel/grid_14.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReaTeam/ReaScripts/d42b747a706524d8d19598d377ccbeb0f80a59d7/MIDI Editor/Lokasenna_Pedal Steel/grid_14.png -------------------------------------------------------------------------------- /MIDI Editor/Lokasenna_Pedal Steel/grid_16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReaTeam/ReaScripts/d42b747a706524d8d19598d377ccbeb0f80a59d7/MIDI Editor/Lokasenna_Pedal Steel/grid_16.png -------------------------------------------------------------------------------- /MIDI Editor/Lokasenna_Pedal Steel/grid_18.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReaTeam/ReaScripts/d42b747a706524d8d19598d377ccbeb0f80a59d7/MIDI Editor/Lokasenna_Pedal Steel/grid_18.png -------------------------------------------------------------------------------- /MIDI Editor/Lokasenna_Pedal Steel/grid_2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReaTeam/ReaScripts/d42b747a706524d8d19598d377ccbeb0f80a59d7/MIDI Editor/Lokasenna_Pedal Steel/grid_2.png -------------------------------------------------------------------------------- /MIDI Editor/Lokasenna_Pedal Steel/grid_20.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReaTeam/ReaScripts/d42b747a706524d8d19598d377ccbeb0f80a59d7/MIDI Editor/Lokasenna_Pedal Steel/grid_20.png -------------------------------------------------------------------------------- /MIDI Editor/Lokasenna_Pedal Steel/grid_22.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReaTeam/ReaScripts/d42b747a706524d8d19598d377ccbeb0f80a59d7/MIDI Editor/Lokasenna_Pedal Steel/grid_22.png -------------------------------------------------------------------------------- /MIDI Editor/Lokasenna_Pedal Steel/grid_24.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReaTeam/ReaScripts/d42b747a706524d8d19598d377ccbeb0f80a59d7/MIDI Editor/Lokasenna_Pedal Steel/grid_24.png -------------------------------------------------------------------------------- /MIDI Editor/Lokasenna_Pedal Steel/grid_28.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReaTeam/ReaScripts/d42b747a706524d8d19598d377ccbeb0f80a59d7/MIDI Editor/Lokasenna_Pedal Steel/grid_28.png -------------------------------------------------------------------------------- /MIDI Editor/Lokasenna_Pedal Steel/grid_3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReaTeam/ReaScripts/d42b747a706524d8d19598d377ccbeb0f80a59d7/MIDI Editor/Lokasenna_Pedal Steel/grid_3.png -------------------------------------------------------------------------------- /MIDI Editor/Lokasenna_Pedal Steel/grid_32.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReaTeam/ReaScripts/d42b747a706524d8d19598d377ccbeb0f80a59d7/MIDI Editor/Lokasenna_Pedal Steel/grid_32.png -------------------------------------------------------------------------------- /MIDI Editor/Lokasenna_Pedal Steel/grid_36.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReaTeam/ReaScripts/d42b747a706524d8d19598d377ccbeb0f80a59d7/MIDI Editor/Lokasenna_Pedal Steel/grid_36.png -------------------------------------------------------------------------------- /MIDI Editor/Lokasenna_Pedal Steel/grid_4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReaTeam/ReaScripts/d42b747a706524d8d19598d377ccbeb0f80a59d7/MIDI Editor/Lokasenna_Pedal Steel/grid_4.png -------------------------------------------------------------------------------- /MIDI Editor/Lokasenna_Pedal Steel/grid_40.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReaTeam/ReaScripts/d42b747a706524d8d19598d377ccbeb0f80a59d7/MIDI Editor/Lokasenna_Pedal Steel/grid_40.png -------------------------------------------------------------------------------- /MIDI Editor/Lokasenna_Pedal Steel/grid_44.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReaTeam/ReaScripts/d42b747a706524d8d19598d377ccbeb0f80a59d7/MIDI Editor/Lokasenna_Pedal Steel/grid_44.png -------------------------------------------------------------------------------- /MIDI Editor/Lokasenna_Pedal Steel/grid_48.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReaTeam/ReaScripts/d42b747a706524d8d19598d377ccbeb0f80a59d7/MIDI Editor/Lokasenna_Pedal Steel/grid_48.png -------------------------------------------------------------------------------- /MIDI Editor/Lokasenna_Pedal Steel/grid_5.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReaTeam/ReaScripts/d42b747a706524d8d19598d377ccbeb0f80a59d7/MIDI Editor/Lokasenna_Pedal Steel/grid_5.png -------------------------------------------------------------------------------- /MIDI Editor/Lokasenna_Pedal Steel/grid_52.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReaTeam/ReaScripts/d42b747a706524d8d19598d377ccbeb0f80a59d7/MIDI Editor/Lokasenna_Pedal Steel/grid_52.png -------------------------------------------------------------------------------- /MIDI Editor/Lokasenna_Pedal Steel/grid_56.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReaTeam/ReaScripts/d42b747a706524d8d19598d377ccbeb0f80a59d7/MIDI Editor/Lokasenna_Pedal Steel/grid_56.png -------------------------------------------------------------------------------- /MIDI Editor/Lokasenna_Pedal Steel/grid_6.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReaTeam/ReaScripts/d42b747a706524d8d19598d377ccbeb0f80a59d7/MIDI Editor/Lokasenna_Pedal Steel/grid_6.png -------------------------------------------------------------------------------- /MIDI Editor/Lokasenna_Pedal Steel/grid_60.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReaTeam/ReaScripts/d42b747a706524d8d19598d377ccbeb0f80a59d7/MIDI Editor/Lokasenna_Pedal Steel/grid_60.png -------------------------------------------------------------------------------- /MIDI Editor/Lokasenna_Pedal Steel/grid_64.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReaTeam/ReaScripts/d42b747a706524d8d19598d377ccbeb0f80a59d7/MIDI Editor/Lokasenna_Pedal Steel/grid_64.png -------------------------------------------------------------------------------- /MIDI Editor/Lokasenna_Pedal Steel/grid_68.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReaTeam/ReaScripts/d42b747a706524d8d19598d377ccbeb0f80a59d7/MIDI Editor/Lokasenna_Pedal Steel/grid_68.png -------------------------------------------------------------------------------- /MIDI Editor/Lokasenna_Pedal Steel/grid_7.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReaTeam/ReaScripts/d42b747a706524d8d19598d377ccbeb0f80a59d7/MIDI Editor/Lokasenna_Pedal Steel/grid_7.png -------------------------------------------------------------------------------- /MIDI Editor/Lokasenna_Pedal Steel/grid_72.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReaTeam/ReaScripts/d42b747a706524d8d19598d377ccbeb0f80a59d7/MIDI Editor/Lokasenna_Pedal Steel/grid_72.png -------------------------------------------------------------------------------- /MIDI Editor/Lokasenna_Pedal Steel/grid_76.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReaTeam/ReaScripts/d42b747a706524d8d19598d377ccbeb0f80a59d7/MIDI Editor/Lokasenna_Pedal Steel/grid_76.png -------------------------------------------------------------------------------- /MIDI Editor/Lokasenna_Pedal Steel/grid_8.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReaTeam/ReaScripts/d42b747a706524d8d19598d377ccbeb0f80a59d7/MIDI Editor/Lokasenna_Pedal Steel/grid_8.png -------------------------------------------------------------------------------- /MIDI Editor/Lokasenna_Pedal Steel/grid_80.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReaTeam/ReaScripts/d42b747a706524d8d19598d377ccbeb0f80a59d7/MIDI Editor/Lokasenna_Pedal Steel/grid_80.png -------------------------------------------------------------------------------- /MIDI Editor/Lokasenna_Pedal Steel/grid_84.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReaTeam/ReaScripts/d42b747a706524d8d19598d377ccbeb0f80a59d7/MIDI Editor/Lokasenna_Pedal Steel/grid_84.png -------------------------------------------------------------------------------- /MIDI Editor/Lokasenna_Pedal Steel/grid_88.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReaTeam/ReaScripts/d42b747a706524d8d19598d377ccbeb0f80a59d7/MIDI Editor/Lokasenna_Pedal Steel/grid_88.png -------------------------------------------------------------------------------- /MIDI Editor/Lokasenna_Pedal Steel/grid_92.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReaTeam/ReaScripts/d42b747a706524d8d19598d377ccbeb0f80a59d7/MIDI Editor/Lokasenna_Pedal Steel/grid_92.png -------------------------------------------------------------------------------- /MIDI Editor/Lokasenna_Pedal Steel/grid_96.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReaTeam/ReaScripts/d42b747a706524d8d19598d377ccbeb0f80a59d7/MIDI Editor/Lokasenna_Pedal Steel/grid_96.png -------------------------------------------------------------------------------- /MIDI Editor/Lokasenna_Pedal Steel/left_+1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReaTeam/ReaScripts/d42b747a706524d8d19598d377ccbeb0f80a59d7/MIDI Editor/Lokasenna_Pedal Steel/left_+1.png -------------------------------------------------------------------------------- /MIDI Editor/Lokasenna_Pedal Steel/left_-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReaTeam/ReaScripts/d42b747a706524d8d19598d377ccbeb0f80a59d7/MIDI Editor/Lokasenna_Pedal Steel/left_-1.png -------------------------------------------------------------------------------- /MIDI Editor/Lokasenna_Pedal Steel/left_10.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReaTeam/ReaScripts/d42b747a706524d8d19598d377ccbeb0f80a59d7/MIDI Editor/Lokasenna_Pedal Steel/left_10.png -------------------------------------------------------------------------------- /MIDI Editor/Lokasenna_Pedal Steel/left_20.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReaTeam/ReaScripts/d42b747a706524d8d19598d377ccbeb0f80a59d7/MIDI Editor/Lokasenna_Pedal Steel/left_20.png -------------------------------------------------------------------------------- /MIDI Editor/Lokasenna_Pedal Steel/left_30.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReaTeam/ReaScripts/d42b747a706524d8d19598d377ccbeb0f80a59d7/MIDI Editor/Lokasenna_Pedal Steel/left_30.png -------------------------------------------------------------------------------- /MIDI Editor/Lokasenna_Pedal Steel/left_40.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReaTeam/ReaScripts/d42b747a706524d8d19598d377ccbeb0f80a59d7/MIDI Editor/Lokasenna_Pedal Steel/left_40.png -------------------------------------------------------------------------------- /MIDI Editor/Lokasenna_Pedal Steel/left_50.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReaTeam/ReaScripts/d42b747a706524d8d19598d377ccbeb0f80a59d7/MIDI Editor/Lokasenna_Pedal Steel/left_50.png -------------------------------------------------------------------------------- /MIDI Editor/Lokasenna_Pedal Steel/left_60.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReaTeam/ReaScripts/d42b747a706524d8d19598d377ccbeb0f80a59d7/MIDI Editor/Lokasenna_Pedal Steel/left_60.png -------------------------------------------------------------------------------- /MIDI Editor/Lokasenna_Pedal Steel/left_70.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReaTeam/ReaScripts/d42b747a706524d8d19598d377ccbeb0f80a59d7/MIDI Editor/Lokasenna_Pedal Steel/left_70.png -------------------------------------------------------------------------------- /MIDI Editor/Lokasenna_Pedal Steel/left_80.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReaTeam/ReaScripts/d42b747a706524d8d19598d377ccbeb0f80a59d7/MIDI Editor/Lokasenna_Pedal Steel/left_80.png -------------------------------------------------------------------------------- /MIDI Editor/Lokasenna_Pedal Steel/range_B1-A#2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReaTeam/ReaScripts/d42b747a706524d8d19598d377ccbeb0f80a59d7/MIDI Editor/Lokasenna_Pedal Steel/range_B1-A#2.png -------------------------------------------------------------------------------- /MIDI Editor/Lokasenna_Pedal Steel/range_B2-E4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReaTeam/ReaScripts/d42b747a706524d8d19598d377ccbeb0f80a59d7/MIDI Editor/Lokasenna_Pedal Steel/range_B2-E4.png -------------------------------------------------------------------------------- /MIDI Editor/Lokasenna_Pedal Steel/range_D#3-G#4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReaTeam/ReaScripts/d42b747a706524d8d19598d377ccbeb0f80a59d7/MIDI Editor/Lokasenna_Pedal Steel/range_D#3-G#4.png -------------------------------------------------------------------------------- /MIDI Editor/Lokasenna_Pedal Steel/range_D2-C#3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReaTeam/ReaScripts/d42b747a706524d8d19598d377ccbeb0f80a59d7/MIDI Editor/Lokasenna_Pedal Steel/range_D2-C#3.png -------------------------------------------------------------------------------- /MIDI Editor/Lokasenna_Pedal Steel/range_E2-D#3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReaTeam/ReaScripts/d42b747a706524d8d19598d377ccbeb0f80a59d7/MIDI Editor/Lokasenna_Pedal Steel/range_E2-D#3.png -------------------------------------------------------------------------------- /MIDI Editor/Lokasenna_Pedal Steel/range_E3-A4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReaTeam/ReaScripts/d42b747a706524d8d19598d377ccbeb0f80a59d7/MIDI Editor/Lokasenna_Pedal Steel/range_E3-A4.png -------------------------------------------------------------------------------- /MIDI Editor/Lokasenna_Pedal Steel/range_F#2-F3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReaTeam/ReaScripts/d42b747a706524d8d19598d377ccbeb0f80a59d7/MIDI Editor/Lokasenna_Pedal Steel/range_F#2-F3.png -------------------------------------------------------------------------------- /MIDI Editor/Lokasenna_Pedal Steel/range_F#3-B4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReaTeam/ReaScripts/d42b747a706524d8d19598d377ccbeb0f80a59d7/MIDI Editor/Lokasenna_Pedal Steel/range_F#3-B4.png -------------------------------------------------------------------------------- /MIDI Editor/Lokasenna_Pedal Steel/range_G#2-C#4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReaTeam/ReaScripts/d42b747a706524d8d19598d377ccbeb0f80a59d7/MIDI Editor/Lokasenna_Pedal Steel/range_G#2-C#4.png -------------------------------------------------------------------------------- /MIDI Editor/Lokasenna_Pedal Steel/range_G#3-C#5.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReaTeam/ReaScripts/d42b747a706524d8d19598d377ccbeb0f80a59d7/MIDI Editor/Lokasenna_Pedal Steel/range_G#3-C#5.png -------------------------------------------------------------------------------- /MIDI Editor/Lokasenna_Pedal Steel/top_CC1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReaTeam/ReaScripts/d42b747a706524d8d19598d377ccbeb0f80a59d7/MIDI Editor/Lokasenna_Pedal Steel/top_CC1.png -------------------------------------------------------------------------------- /MIDI Editor/Lokasenna_Pedal Steel/top_CC2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReaTeam/ReaScripts/d42b747a706524d8d19598d377ccbeb0f80a59d7/MIDI Editor/Lokasenna_Pedal Steel/top_CC2.png -------------------------------------------------------------------------------- /MIDI Editor/Lokasenna_Pedal Steel/top_CC3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReaTeam/ReaScripts/d42b747a706524d8d19598d377ccbeb0f80a59d7/MIDI Editor/Lokasenna_Pedal Steel/top_CC3.png -------------------------------------------------------------------------------- /MIDI Editor/Lokasenna_Pedal Steel/top_CC4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReaTeam/ReaScripts/d42b747a706524d8d19598d377ccbeb0f80a59d7/MIDI Editor/Lokasenna_Pedal Steel/top_CC4.png -------------------------------------------------------------------------------- /MIDI Editor/Lokasenna_Pedal Steel/top_Main.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReaTeam/ReaScripts/d42b747a706524d8d19598d377ccbeb0f80a59d7/MIDI Editor/Lokasenna_Pedal Steel/top_Main.png -------------------------------------------------------------------------------- /MIDI Editor/cfillion_Toggle MIDI preview on transport change.lua: -------------------------------------------------------------------------------- 1 | -- @description Toggle MIDI preview on transport change 2 | -- @author cfillion 3 | -- @version 1.1.1 4 | -- @changelog Register the script in the main section too 5 | -- @provides [main=main,midi_editor] . 6 | -- @link 7 | -- https://cfillion.ca 8 | -- Forum Thread http://forum.cockos.com/showthread.php?t=169896 9 | -- @donation https://www.paypal.me/cfillion 10 | 11 | local TOGGLE_CMD, last_state, do_toggle = 40041, false, false 12 | 13 | function main_loop() 14 | local state = reaper.GetPlayState() == 1 15 | 16 | if do_toggle and reaper.MIDIEditor_GetActive() then 17 | reaper.MIDIEditor_LastFocused_OnCommand(TOGGLE_CMD, 0) 18 | do_toggle = false 19 | end 20 | 21 | if state ~= last_state then 22 | do_toggle = not do_toggle 23 | last_state = state 24 | end 25 | 26 | reaper.defer(main_loop) 27 | end 28 | 29 | reaper.defer(main_loop) 30 | -------------------------------------------------------------------------------- /MIDI Editor/edgemeal_Close all floating MIDI windows.lua: -------------------------------------------------------------------------------- 1 | -- @description Close all floating MIDI windows 2 | -- @author Edgemeal 3 | -- @version 1.0 4 | -- @provides [main=main] . 5 | 6 | function Main() 7 | local ret, list = reaper.JS_MIDIEditor_ListAll() -- get list of midi editors 8 | if ret < 1 then return end -- no MEs found or error 9 | local rea_hwnd = reaper.GetMainHwnd() -- reaper hwnd 10 | for adr in list:gmatch("[^,]+") do -- loop thru list 11 | local hwnd = reaper.JS_Window_HandleFromAddress(adr) -- convert address to handle 12 | if reaper.JS_Window_GetParent(hwnd) == rea_hwnd then -- midi window is floating (not docked). 13 | reaper.JS_Window_Destroy(hwnd) -- close floating midi window. 14 | end 15 | end 16 | end 17 | 18 | if not reaper.APIExists("JS_Localize") then 19 | reaper.MB("js_ReaScriptAPI extension is required for this script.", "Missing API", 0) 20 | else 21 | Main() 22 | end 23 | reaper.defer(function () end) 24 | 25 | -------------------------------------------------------------------------------- /MIDI Editor/js_Mouse editing - Arch and Tilt.cur: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReaTeam/ReaScripts/d42b747a706524d8d19598d377ccbeb0f80a59d7/MIDI Editor/js_Mouse editing - Arch and Tilt.cur -------------------------------------------------------------------------------- /MIDI Editor/js_Mouse editing - Extract nodes.cur: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReaTeam/ReaScripts/d42b747a706524d8d19598d377ccbeb0f80a59d7/MIDI Editor/js_Mouse editing - Extract nodes.cur -------------------------------------------------------------------------------- /MIDI Editor/js_Mouse editing - Multi compress.cur: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReaTeam/ReaScripts/d42b747a706524d8d19598d377ccbeb0f80a59d7/MIDI Editor/js_Mouse editing - Multi compress.cur -------------------------------------------------------------------------------- /MIDI Editor/js_Mouse editing - Redo.cur: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReaTeam/ReaScripts/d42b747a706524d8d19598d377ccbeb0f80a59d7/MIDI Editor/js_Mouse editing - Redo.cur -------------------------------------------------------------------------------- /MIDI Editor/js_Mouse editing - Scale bottom.cur: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReaTeam/ReaScripts/d42b747a706524d8d19598d377ccbeb0f80a59d7/MIDI Editor/js_Mouse editing - Scale bottom.cur -------------------------------------------------------------------------------- /MIDI Editor/js_Mouse editing - Scale top.cur: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReaTeam/ReaScripts/d42b747a706524d8d19598d377ccbeb0f80a59d7/MIDI Editor/js_Mouse editing - Scale top.cur -------------------------------------------------------------------------------- /MIDI Editor/js_Mouse editing - Slice notes.cur: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReaTeam/ReaScripts/d42b747a706524d8d19598d377ccbeb0f80a59d7/MIDI Editor/js_Mouse editing - Slice notes.cur -------------------------------------------------------------------------------- /MIDI Editor/js_Mouse editing - Stretch bottom.cur: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReaTeam/ReaScripts/d42b747a706524d8d19598d377ccbeb0f80a59d7/MIDI Editor/js_Mouse editing - Stretch bottom.cur -------------------------------------------------------------------------------- /MIDI Editor/js_Mouse editing - Stretch top.cur: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReaTeam/ReaScripts/d42b747a706524d8d19598d377ccbeb0f80a59d7/MIDI Editor/js_Mouse editing - Stretch top.cur -------------------------------------------------------------------------------- /MIDI Editor/js_Mouse editing - Undo.cur: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReaTeam/ReaScripts/d42b747a706524d8d19598d377ccbeb0f80a59d7/MIDI Editor/js_Mouse editing - Undo.cur -------------------------------------------------------------------------------- /MIDI Editor/js_Panic - Stop all keystroke intercepts by scripts.lua: -------------------------------------------------------------------------------- 1 | --[[ 2 | ReaScript name: js_Panic - Stop all keystroke intercepts by scripts.lua 3 | Version: 1.00 4 | Author: juliansader 5 | Website: http://forum.cockos.com/showthread.php?t=176878 6 | ]] 7 | 8 | --[[ 9 | Changelog: 10 | * v1.00 (2019-05-05) 11 | + Initial release. 12 | ]] 13 | 14 | for i = 1, 256 do 15 | OK = reaper.JS_VKeys_Intercept(-1, -1) 16 | if OK == 0 then break end 17 | end 18 | if not (OK == 0) then reaper.MB("Some strange error occured, and the intercepts could not be stopped...", "ERROR", 0) end 19 | -------------------------------------------------------------------------------- /MIDI Editor/kl_Preset velocity/Note Preview.jsfx: -------------------------------------------------------------------------------- 1 | noindex: true 2 | 3 | version: 0.1 4 | author: KL 5 | # Preset Velocity 6 | desc: Note Preview 7 | 8 | options:gmem=ddddddddddddddddddsgd334f3e_____________________gh 9 | @init 10 | 11 | @slider 12 | 13 | @block 14 | 15 | while (midirecv(offset,msg1,msg2,msg3)) ( 16 | (play_state==0)&&(msg1&$xF0==$x90)&&(msg3!==0)?( 17 | midisend(offset, msg1,msg2, gmem[0]); ):(midisend(offset, msg1,msg2,msg3); 18 | ); 19 | ); 20 | -------------------------------------------------------------------------------- /MIDI Editor/kl_Preset velocity/Velocity Slider.jsfx: -------------------------------------------------------------------------------- 1 | noindex: true 2 | 3 | version: 0.1 4 | author: KL 5 | # Preset Velocity 6 | desc: Velocity Slider 7 | slider1:vel=1< 1,127,1> Preset velocity 8 | 9 | options:gmem=ddddddddddddddddddsgd334f3e_____________________gh 10 | 11 | @init 12 | 13 | ext_noinit =1.0; 14 | 15 | gmem[0]=vel; 16 | 17 | 18 | @slider 19 | 20 | gmem[0] = vel; 21 | gmem[1] = vel; 22 | //gmem[12] = 1; 23 | gmem[9] = vel 24 | 25 | @block 26 | 27 | (gmem[9] == 1)?( 28 | gmem[9] = 0; 29 | vel=gmem[0]; 30 | ); 31 | 32 | 33 | 34 | @sample //Pass-through audio 35 | spl0 = spl0; 36 | spl1 = spl1; 37 | -------------------------------------------------------------------------------- /MIDI Editor/spk77_Move edit cursor to start of previous measure.eel: -------------------------------------------------------------------------------- 1 | /* 2 | * ReaScript Name: Move edit cursor to start of previous measure 3 | * EEL script for Cockos REAPER 4 | * Author: spk77 5 | * Author URI: http://forum.cockos.com/member.php?u=49553 6 | * Licence: GPL v3 7 | * Version: 1.0 8 | */ 9 | 10 | // Move edit cursor to start of previous measure 11 | // EEL script by spk77 - 26.9.2014 12 | 13 | function move_cursor_to_start_of_prev_meas() local(meas) 14 | ( 15 | TimeMap2_timeToBeats(0, GetCursorPosition(), meas, 0, 0, 0); 16 | meas == 0 ? ( 17 | SetEditCurPos(TimeMap2_beatsToTime(0, 0, meas), 1, 0); 18 | ) : ( 19 | SetEditCurPos(TimeMap2_beatsToTime(0, 0, meas - 1), 1, 0); 20 | ); 21 | Undo_OnStateChange("Go to start of previous measure"); 22 | ); 23 | 24 | move_cursor_to_start_of_prev_meas(); 25 | -------------------------------------------------------------------------------- /MIDI Editor/talagan_Find overlapping notes.lua: -------------------------------------------------------------------------------- 1 | --[[ 2 | @description Find overlapping notes in project / active take 3 | @version 0.5 4 | @author Ben 'Talagan' Babut 5 | @donation https://www.paypal.com/donate/?business=3YEZMY9D6U8NC&no_recurring=1¤cy_code=EUR 6 | @license MIT 7 | @changelog 8 | - Initial Release 9 | @metapackage 10 | @provides 11 | [main=main,midi_editor] talagan_Find overlapping notes/actions/talagan_Find overlapping notes in active take and select them.lua > . 12 | [main=main,midi_editor] talagan_Find overlapping notes/actions/talagan_Find overlapping notes in project and report items.lua > . 13 | [nomain] talagan_Find overlapping notes/overlapping_lib.lua 14 | @about 15 | Simple scripts to detect overlapping notes. Currently comes in two actions : 16 | - One to search in the whole project, that will give you a report per track+item if some overlapping notes were found 17 | - One to launch with a MIDI Editor open, it will select problematic notes if found 18 | --]] 19 | -------------------------------------------------------------------------------- /MIDI Editor/talagan_Find overlapping notes/actions/talagan_Find overlapping notes in active take and select them.lua: -------------------------------------------------------------------------------- 1 | -- @noindex 2 | -- @author Ben 'Talagan' Babut 3 | -- @license MIT 4 | -- @description Secondary action for the "Find overlapping notes" package 5 | 6 | package.path = debug.getinfo(1, "S").source:match [[^@?(.*[\/])[^\/]-$]] .. "?.lua;" .. package.path 7 | 8 | local ok, overlib = pcall(require, "talagan_Find overlapping notes/overlapping_lib") 9 | if not ok then 10 | reaper.MB("This script is not well installed. Please reinstall it through Reapack", "Ouch!", 0); 11 | return 12 | end 13 | 14 | overlib.findOverlappingNotesInCurrentMETake() 15 | -------------------------------------------------------------------------------- /MIDI Editor/talagan_Find overlapping notes/actions/talagan_Find overlapping notes in project and report items.lua: -------------------------------------------------------------------------------- 1 | -- @noindex 2 | -- @author Ben 'Talagan' Babut 3 | -- @license MIT 4 | -- @description Secondary action for the "Find overlapping notes" package 5 | 6 | package.path = debug.getinfo(1, "S").source:match [[^@?(.*[\/])[^\/]-$]] .. "?.lua;" .. package.path 7 | 8 | local ok, overlib = pcall(require, "talagan_Find overlapping notes/overlapping_lib") 9 | if not ok then 10 | reaper.MB("This script is not well installed. Please reinstall it through Reapack", "Ouch!", 0); 11 | return 12 | end 13 | 14 | overlib.findOverlappinNotesInAlltakes() 15 | 16 | -------------------------------------------------------------------------------- /MIDI Editor/talagan_Legatool/ext/imgui.lua: -------------------------------------------------------------------------------- 1 | -- @noindex 2 | -- @author Ben 'Talagan' Babut 3 | -- @license MIT 4 | -- @description This file is part of Spectracular 5 | 6 | local ImGui = require 'imgui' '0.9.3' 7 | 8 | return ImGui 9 | -------------------------------------------------------------------------------- /MIDI Editor/talagan_Legatool/modules/context.lua: -------------------------------------------------------------------------------- 1 | -- @noindex 2 | -- @author Ben 'Talagan' Babut 3 | -- @license MIT 4 | -- @description This file is part of Legatool 5 | 6 | local S = require "modules/settings" 7 | 8 | -- Private pointers 9 | local OS = reaper.GetOS() 10 | local is_windows = OS:match('Win') 11 | local is_macos = OS:match('OSX') or OS:match('macOS') 12 | local is_linux = OS:match('Other') 13 | 14 | local full_context = { 15 | is_windows = is_windows, 16 | is_macos = is_macos, 17 | is_linux = is_linux, 18 | } 19 | 20 | return full_context 21 | -------------------------------------------------------------------------------- /MIDI Editor/talagan_MaCCLane/actions/generic_action.lua: -------------------------------------------------------------------------------- 1 | -- @noindex 2 | -- @author Ben 'Talagan' Babut 3 | -- @license MIT 4 | -- @description This file is part of MaCCLane 5 | 6 | PATH = debug.getinfo(1,"S").source:match[[^@?(.*[\/])[^\/]-$]] 7 | package.path = PATH .. "talagan_MaCCLane/?.lua" .. ";" .. package.path 8 | 9 | local ACTION = require "modules/action_interface" 10 | local action = debug.getinfo(1,"S").source 11 | 12 | ACTION.EnqueueAction(action) 13 | 14 | -------------------------------------------------------------------------------- /MIDI Editor/talagan_MaCCLane/data/_PUT_YOUR_MACCLANE_TEMPLATES_HERE.md: -------------------------------------------------------------------------------- 1 | If you want MaCCLane to propose you some templates in the popup menu of the '+' button, save your templates here. -------------------------------------------------------------------------------- /MIDI Editor/talagan_MaCCLane/images/read.lua: -------------------------------------------------------------------------------- 1 | -- @noindex 2 | -- @author Ben 'Talagan' Babut 3 | -- @license MIT 4 | -- @description This is part of One Small Step 5 | 6 | return "\z 7 | \x89\x50\x4E\x47\x0D\x0A\x1A\x0A\x00\x00\x00\x0D\x49\x48\x44\x52\x00\x00\x00\x12\x00\x00\x00\x12\x08\x06\x00\x00\x00\x56\xCE\x8E\x57\x00\x00\x00\x01\x73\x52\x47\z 8 | \x42\x00\xAE\xCE\x1C\xE9\x00\x00\x00\x5D\x49\x44\x41\x54\x38\x4F\x63\x64\xA0\x12\x60\xA4\x92\x39\x0C\xF4\x33\xE8\xFF\xFF\xFF\xFF\x41\xAE\x66\x64\x64\xC4\x6B\x29\z 9 | \x41\x17\x8D\x1A\x44\x38\xD6\x28\x0E\x23\x90\x01\xA0\x98\x42\x36\x08\x26\x86\x2D\xED\xE1\x8D\x35\x98\x21\x30\x8D\xF8\x92\x00\x8A\x41\xD8\x6C\xC4\xE5\x35\x74\xB5\z 10 | \x04\x0D\xC2\x95\x85\xE8\x67\x10\x29\x99\x18\x39\xCC\x08\x66\x11\x62\x0D\x1E\x7C\x06\x01\x00\xBD\x4C\x48\x13\xA4\x47\x56\xB6\x00\x00\x00\x00\x49\x45\x4E\x44\xAE\z 11 | \x42\x60\x82" 12 | ; 13 | -------------------------------------------------------------------------------- /MIDI Editor/talagan_MaCCLane/modules/action_interface.lua: -------------------------------------------------------------------------------- 1 | -- @noindex 2 | -- @author Ben 'Talagan' Babut 3 | -- @license MIT 4 | -- @description This file is part of MaCCLane 5 | 6 | local S = require "modules/settings" 7 | local JSON = require "lib/json" 8 | 9 | local pattern = "by (%l+) (.*)%.lua" 10 | 11 | function EnqueueAction(action) 12 | local by_what, ident = action:match(pattern) 13 | if by_what then 14 | if by_what == 'role' then 15 | S.setSetting("QueuedAction", JSON.encode({ role=ident , type = 'role' })) 16 | elseif by_what == 'name' then 17 | S.setSetting("QueuedAction", JSON.encode({ name=ident , type = 'name' })) 18 | elseif by_what == 'number' then 19 | ident = tonumber(ident) 20 | if ident then 21 | S.setSetting("QueuedAction", JSON.encode({ number=ident , type = 'number' })) 22 | end 23 | end 24 | end 25 | end 26 | 27 | return { 28 | EnqueueAction = EnqueueAction 29 | } -------------------------------------------------------------------------------- /MIDI Editor/talagan_MaCCLane/modules/chunk.lua: -------------------------------------------------------------------------------- 1 | -- @noindex 2 | -- @author Ben 'Talagan' Babut 3 | -- @license MIT 4 | -- @description This file is part of MaCCLane 5 | 6 | local function getChunk(object, type) 7 | if not reaper.ValidatePtr(object, type .. "*") then 8 | error("Not a valid " .. type .. "!!") 9 | end 10 | 11 | local fastStr = reaper.SNM_CreateFastString("") 12 | 13 | local chunkOK = reaper.SNM_GetSetObjectState(object, fastStr, false, false) 14 | if not chunkOK then 15 | return nil 16 | end 17 | 18 | local chunk = reaper.SNM_GetFastString(fastStr) 19 | 20 | reaper.SNM_DeleteFastString(fastStr) 21 | 22 | return chunk 23 | end 24 | 25 | local function getItemChunk(item) 26 | return getChunk(item, "MediaItem") 27 | end 28 | 29 | local function getTrackChunk(track) 30 | return getChunk(track, "MediaTrack") 31 | end 32 | 33 | 34 | 35 | return { 36 | getItemChunk = getItemChunk, 37 | getTrackChunk = getTrackChunk 38 | } 39 | -------------------------------------------------------------------------------- /MIDI Editor/talagan_MaCCLane/modules/midi.lua: -------------------------------------------------------------------------------- 1 | -- @noindex 2 | -- @author Ben 'Talagan' Babut 3 | -- @license MIT 4 | -- @description This file is part of MaCCLane 5 | 6 | local note_names = { "C", "C#", "D", "D#", "E", "F", "F#", "G", "G#", "A", "A#", "B" } 7 | local function noteName(note_num) 8 | local n = math.floor(note_num + 0.5) -- use round if floating 9 | local nn = (n % 12) 10 | local o = math.floor(n/12) - 1 11 | return "" .. note_names[nn+1] .. "" .. o 12 | end 13 | 14 | return { 15 | noteName = noteName 16 | } -------------------------------------------------------------------------------- /MIDI Editor/talagan_MaCCLane/modules/pitch_snap.lua: -------------------------------------------------------------------------------- 1 | -- @noindex 2 | -- @author Ben 'Talagan' Babut 3 | -- @license MIT 4 | -- @description This file is part of MaCCLane 5 | 6 | local function hasPitchBendSnap(track_chunk) 7 | local snap = 0 8 | for line in track_chunk:gmatch("[^\n]+") do 9 | if line:find("MIDIEDITOR ") then 10 | local i = 0 11 | for w in line:gmatch("%S+") do 12 | if i == 2 then snap = tonumber(w) or 0; break; end 13 | i = i + 1 14 | end 15 | break 16 | end 17 | end 18 | return (snap == 1) 19 | end 20 | 21 | return { 22 | hasPitchBendSnap = hasPitchBendSnap 23 | } 24 | -------------------------------------------------------------------------------- /MIDI Editor/talagan_OneSmallStep/actions/talagan_OneSmallStep Change edit mode - (MIDI).lua: -------------------------------------------------------------------------------- 1 | -- @noindex 2 | -- @author Ben 'Talagan' Babut 3 | -- @license MIT 4 | -- @description This is part of One Small Step 5 | 6 | package.path = debug.getinfo(1,"S").source:match[[^@?(.*[\/])actions[\/][^\/]-$]] .. "classes/" .. "?.lua;".. package.path; 7 | local S = require "modules/settings"; 8 | local _,fname,_,_,_,_,v,ctxs = reaper.get_action_context() 9 | local param = fname:match("%- %(([^%s]*)%)%.lua$"); 10 | 11 | if (param == "MIDI") and (ctxs:match("^midi:")) then 12 | local vcount = 5 13 | local mn = math.floor(0.5 + (v / 127.0) * (vcount-1)) + 1 14 | 15 | if(mn == 1) then param = "Write" 16 | elseif(mn == 2) then param = "Insert" 17 | elseif(mn == 3) then param = "Replace" 18 | elseif(mn == 4) then param = "Repitch" 19 | else param = "Navigate" 20 | end 21 | 22 | S.setSetting("EditMode", param) 23 | end 24 | 25 | -------------------------------------------------------------------------------- /MIDI Editor/talagan_OneSmallStep/actions/talagan_OneSmallStep Change edit mode.lua: -------------------------------------------------------------------------------- 1 | -- @noindex 2 | -- @author Ben 'Talagan' Babut 3 | -- @license MIT 4 | -- @description This is part of One Small Step 5 | 6 | package.path = debug.getinfo(1,"S").source:match[[^@?(.*[\/])actions[\/][^\/]-$]] .. "classes/" .. "?.lua;".. package.path; 7 | local S = require "modules/settings"; 8 | local param = select(2, reaper.get_action_context()):match("%- ([^%s]*)%.lua$"); 9 | 10 | S.setSetting("EditMode", param) 11 | -------------------------------------------------------------------------------- /MIDI Editor/talagan_OneSmallStep/actions/talagan_OneSmallStep Change input mode - (MIDI).lua: -------------------------------------------------------------------------------- 1 | -- @noindex 2 | -- @author Ben 'Talagan' Babut 3 | -- @license MIT 4 | -- @description This is part of One Small Step 5 | 6 | package.path = debug.getinfo(1,"S").source:match[[^@?(.*[\/])actions[\/][^\/]-$]] .. "classes/" .. "?.lua;".. package.path 7 | 8 | local S = require "modules/settings" 9 | local D = require "modules/defines" 10 | 11 | local _,fname,_,_,_,_,v,ctxs = reaper.get_action_context() 12 | local param = fname:match("%- %(([^%s]*)%)%.lua$"); 13 | 14 | if (param == "MIDI") and (ctxs:match("^midi:")) then 15 | local vcount = 3 16 | local mn = math.floor(0.5 + (v / 127.0) * (vcount-1)) + 1 17 | 18 | if(mn == 1) then param = "KeyboardPress" 19 | elseif(mn == 2) then param = "Punch" 20 | else param = "KeyboardRelease" 21 | end 22 | 23 | S.setInputMode(D.InputMode[param]) 24 | end 25 | 26 | 27 | -------------------------------------------------------------------------------- /MIDI Editor/talagan_OneSmallStep/actions/talagan_OneSmallStep Change input mode.lua: -------------------------------------------------------------------------------- 1 | -- @noindex 2 | -- @author Ben 'Talagan' Babut 3 | -- @license MIT 4 | -- @description This is part of One Small Step 5 | 6 | package.path = debug.getinfo(1,"S").source:match[[^@?(.*[\/])actions[\/][^\/]-$]] .. "classes/" .. "?.lua;".. package.path 7 | 8 | local S = require "modules/settings" 9 | local D = require "modules/defines" 10 | 11 | local param = select(2, reaper.get_action_context()):match("%- ([^%s]*)%.lua$") 12 | 13 | S.setInputMode(D.InputMode[param]) 14 | -------------------------------------------------------------------------------- /MIDI Editor/talagan_OneSmallStep/actions/talagan_OneSmallStep Change note len modifier.lua: -------------------------------------------------------------------------------- 1 | -- @noindex 2 | -- @author Ben 'Talagan' Babut 3 | -- @license MIT 4 | -- @description This is part of One Small Step 5 | 6 | package.path = debug.getinfo(1,"S").source:match[[^@?(.*[\/])actions[\/][^\/]-$]] .. "classes/" .. "?.lua;".. package.path 7 | 8 | local S = require "modules/settings" 9 | local D = require "modules/defines" 10 | 11 | local param = select(2, reaper.get_action_context()):match("%- ([^%s]*)%.lua$") 12 | 13 | S.setNoteLenModifier(D.NoteLenModifier[param]) -------------------------------------------------------------------------------- /MIDI Editor/talagan_OneSmallStep/actions/talagan_OneSmallStep Change note len param source - (MIDI).lua: -------------------------------------------------------------------------------- 1 | -- @noindex 2 | -- @author Ben 'Talagan' Babut 3 | -- @license MIT 4 | -- @description This is part of One Small Step 5 | 6 | package.path = debug.getinfo(1,"S").source:match[[^@?(.*[\/])actions[\/][^\/]-$]] .. "classes/" .. "?.lua;".. package.path 7 | 8 | local S = require "modules/settings" 9 | local D = require "modules/defines" 10 | 11 | local _,fname,_,_,_,_,v,ctxs = reaper.get_action_context() 12 | local param = fname:match("%- %(([^%s]*)%)%.lua$"); 13 | 14 | if (param == "MIDI") and (ctxs:match("^midi:")) then 15 | local vcount = 3 16 | local mn = math.floor(0.5 + (v / 127.0) * (vcount-1)) + 1 17 | 18 | if(mn == 1) then param = "OSS" 19 | elseif(mn == 2) then param = "ProjectGrid" 20 | else param = "ItemConf" 21 | end 22 | 23 | S.setNoteLenParamSource(D.NoteLenParamSource[param]) 24 | end 25 | 26 | -------------------------------------------------------------------------------- /MIDI Editor/talagan_OneSmallStep/actions/talagan_OneSmallStep Change note len param source.lua: -------------------------------------------------------------------------------- 1 | -- @noindex 2 | -- @author Ben 'Talagan' Babut 3 | -- @license MIT 4 | -- @description This is part of One Small Step 5 | 6 | package.path = debug.getinfo(1,"S").source:match[[^@?(.*[\/])actions[\/][^\/]-$]] .. "classes/" .. "?.lua;".. package.path 7 | 8 | local S = require "modules/settings" 9 | local D = require "modules/defines" 10 | 11 | local param = select(2, reaper.get_action_context()):match("%- ([^%s]*)%.lua$") 12 | 13 | S.setNoteLenParamSource(D.NoteLenParamSource[param]) -------------------------------------------------------------------------------- /MIDI Editor/talagan_OneSmallStep/actions/talagan_OneSmallStep Change note len.lua: -------------------------------------------------------------------------------- 1 | -- @noindex 2 | -- @author Ben 'Talagan' Babut 3 | -- @license MIT 4 | -- @description This is part of One Small Step 5 | 6 | package.path = debug.getinfo(1,"S").source:match[[^@?(.*[\/])actions[\/][^\/]-$]] .. "classes/" .. "?.lua;".. package.path 7 | local S = require "modules/settings" 8 | local param = select(2, reaper.get_action_context()):match("%- ([^%s]*)%.lua$") 9 | 10 | S.setNoteLen(param) 11 | -------------------------------------------------------------------------------- /MIDI Editor/talagan_OneSmallStep/actions/talagan_OneSmallStep Cleanup helper JSFXs.lua: -------------------------------------------------------------------------------- 1 | -- @noindex 2 | -- @author Ben 'Talagan' Babut 3 | -- @license MIT 4 | -- @description This is part of One Small Step 5 | 6 | package.path = debug.getinfo(1,"S").source:match[[^@?(.*[\/])actions[\/][^\/]-$]] .. "classes/" .. "?.lua;".. package.path 7 | 8 | local helper_lib = require "helper_lib"; 9 | 10 | reaper.Undo_BeginBlock(); 11 | helper_lib.cleanupAllTrackFXs(); 12 | reaper.Undo_EndBlock("One Small Step - Cleanup helper JSFXs",-1); -------------------------------------------------------------------------------- /MIDI Editor/talagan_OneSmallStep/actions/talagan_OneSmallStep Decrease note len.lua: -------------------------------------------------------------------------------- 1 | -- @noindex 2 | -- @author Ben 'Talagan' Babut 3 | -- @license MIT 4 | -- @description This is part of One Small Step 5 | 6 | package.path = debug.getinfo(1,"S").source:match[[^@?(.*[\/])actions[\/][^\/]-$]] .. "classes/" .. "?.lua;".. package.path 7 | 8 | local S = require "modules/settings" 9 | 10 | S.decreaseNoteLen() 11 | -------------------------------------------------------------------------------- /MIDI Editor/talagan_OneSmallStep/actions/talagan_OneSmallStep Edit Action.lua: -------------------------------------------------------------------------------- 1 | -- @noindex 2 | -- @author Ben 'Talagan' Babut 3 | -- @license MIT 4 | -- @description This is part of One Small Step 5 | 6 | package.path = debug.getinfo(1,"S").source:match[[^@?(.*[\/])actions[\/][^\/]-$]] .. "classes/" .. "?.lua;".. package.path 7 | 8 | local E = require "engine_lib"; 9 | local param = select(2, reaper.get_action_context()):match("%- ([^%s]*)%.lua$"); 10 | 11 | if not param or param == "" then 12 | param = "Commit" 13 | end 14 | 15 | E.reaperAction(param) 16 | -------------------------------------------------------------------------------- /MIDI Editor/talagan_OneSmallStep/actions/talagan_OneSmallStep Increase note len.lua: -------------------------------------------------------------------------------- 1 | -- @noindex 2 | -- @author Ben 'Talagan' Babut 3 | -- @license MIT 4 | -- @description This is part of One Small Step 5 | 6 | package.path = debug.getinfo(1,"S").source:match[[^@?(.*[\/])actions[\/][^\/]-$]] .. "classes/" .. "?.lua;".. package.path 7 | 8 | local S = require "modules/settings" 9 | 10 | S.increaseNoteLen() 11 | 12 | -------------------------------------------------------------------------------- /MIDI Editor/talagan_OneSmallStep/actions/talagan_OneSmallStep Set or remove operation marker.lua: -------------------------------------------------------------------------------- 1 | -- @noindex 2 | -- @author Ben 'Talagan' Babut 3 | -- @license MIT 4 | -- @description This is part of One Small Step. Will replay the n last measures. 5 | 6 | package.path = debug.getinfo(1,"S").source:match[[^@?(.*[\/])actions[\/][^\/]-$]] .. "classes/" .. "?.lua;".. package.path 7 | local MK = require "modules/markers" 8 | 9 | MK.setOperationMarkerAtCurrentPos() 10 | -------------------------------------------------------------------------------- /MIDI Editor/talagan_OneSmallStep/actions/talagan_OneSmallStep Set or remove playback marker.lua: -------------------------------------------------------------------------------- 1 | -- @noindex 2 | -- @author Ben 'Talagan' Babut 3 | -- @license MIT 4 | -- @description This is part of One Small Step. Will replay the n last measures. 5 | 6 | package.path = debug.getinfo(1,"S").source:match[[^@?(.*[\/])actions[\/][^\/]-$]] .. "classes/" .. "?.lua;".. package.path 7 | local MK = require "modules/markers" 8 | 9 | MK.setPlaybackMarkerAtCurrentPos() 10 | -------------------------------------------------------------------------------- /MIDI Editor/talagan_OneSmallStep/actions/talagan_OneSmallStep Toggle Debugger.lua: -------------------------------------------------------------------------------- 1 | -- @noindex 2 | -- @author Ben 'Talagan' Babut 3 | -- @license MIT 4 | -- @description Enables/Disables debugging with mobdebug 5 | 6 | package.path = debug.getinfo(1,"S").source:match[[^@?(.*[\/])actions[\/][^\/]-$]] .. "classes/" .. "?.lua;".. package.path 7 | 8 | local S = require "modules/settings" 9 | 10 | local don = S.getSetting("UseDebugger") 11 | don = not don 12 | 13 | S.setSetting("UseDebugger", don) 14 | -------------------------------------------------------------------------------- /MIDI Editor/talagan_OneSmallStep/actions/talagan_OneSmallStep Toggle armed.lua: -------------------------------------------------------------------------------- 1 | -- @noindex 2 | -- @author Ben 'Talagan' Babut 3 | -- @license MIT 4 | -- @description Enables/Disables debugging with mobdebug 5 | 6 | package.path = debug.getinfo(1,"S").source:match[[^@?(.*[\/])actions[\/][^\/]-$]] .. "classes/" .. "?.lua;".. package.path 7 | 8 | local S = require "modules/settings" 9 | 10 | local don = S.getSetting("Disarmed") 11 | don = not don 12 | 13 | S.setSetting("Disarmed", don) 14 | -------------------------------------------------------------------------------- /MIDI Editor/talagan_OneSmallStep/images/edit_mode_write.lua: -------------------------------------------------------------------------------- 1 | -- @noindex 2 | -- @author Ben 'Talagan' Babut 3 | -- @license MIT 4 | -- @description This is part of One Small Step 5 | 6 | return "\z 7 | \x89\x50\x4E\x47\x0D\x0A\x1A\x0A\x00\x00\x00\x0D\x49\x48\x44\x52\x00\x00\x00\x14\x00\x00\x00\x14\x08\x06\x00\x00\x00\x8D\x89\x1D\x0D\x00\x00\x00\x09\x70\x48\x59\z 8 | \x73\x00\x00\x0B\x13\x00\x00\x0B\x13\x01\x00\x9A\x9C\x18\x00\x00\x00\x5D\x49\x44\x41\x54\x38\x8D\xED\x93\x4B\x0E\x00\x10\x0C\x44\x55\xDC\xFF\xCA\x63\x61\x23\x55\z 9 | \xFD\x48\x13\x16\xDE\xD6\x78\xA9\x49\x11\x80\x92\x49\x4D\xB5\x7D\x61\x0A\xCD\x99\xD3\x56\x81\x4E\x84\x64\x47\x06\xD7\x9E\xCC\x91\x2A\x20\x4D\x08\x1E\x94\x2E\x4B\z 10 | \xEC\x84\xEE\xCE\xBC\xC2\x19\x6B\xDA\xB0\x30\x34\xED\x2C\xE4\x45\x4B\x22\x28\x67\x8B\xD0\x33\x89\x99\x79\xFF\x2F\xBF\x2F\xEC\x3B\xD9\x09\x3D\x5B\xDD\x05\x09\x00\z 11 | \x00\x00\x00\x49\x45\x4E\x44\xAE\x42\x60\x82" 12 | ; 13 | -------------------------------------------------------------------------------- /MIDI Editor/talagan_OneSmallStep/images/frac_1.lua: -------------------------------------------------------------------------------- 1 | -- @noindex 2 | -- @author Ben 'Talagan' Babut 3 | -- @license MIT 4 | -- @description This is part of One Small Step 5 | 6 | return "\z 7 | \x89\x50\x4E\x47\x0D\x0A\x1A\x0A\x00\x00\x00\x0D\x49\x48\x44\x52\x00\x00\x00\x14\x00\x00\x00\x14\x08\x06\x00\x00\x00\x8D\x89\x1D\x0D\x00\x00\x00\x09\x70\x48\x59\z 8 | \x73\x00\x00\x0B\x13\x00\x00\x0B\x13\x01\x00\x9A\x9C\x18\x00\x00\x00\x44\x49\x44\x41\x54\x38\x8D\xED\xD4\xB1\x0D\x00\x20\x08\x44\xD1\xAF\xB3\xE1\xD6\xAE\xE2\x2C\z 9 | \x67\x69\x29\x24\xC4\x46\x7E\x72\x1D\x79\x25\x4D\x12\x99\xF5\x54\xAD\xC0\x67\xA0\x01\x02\x56\x16\x38\x81\xE1\xC1\xBC\x60\xA8\x0F\x41\x24\xDD\x66\x3A\xAD\xDB\x7D\z 10 | \xAB\xE7\x50\x60\xBC\x0D\x63\x99\x48\x23\xF0\x2F\x34\x68\x00\x00\x00\x00\x49\x45\x4E\x44\xAE\x42\x60\x82" 11 | ; 12 | -------------------------------------------------------------------------------- /MIDI Editor/talagan_OneSmallStep/images/frac_2.lua: -------------------------------------------------------------------------------- 1 | -- @noindex 2 | -- @author Ben 'Talagan' Babut 3 | -- @license MIT 4 | -- @description This is part of One Small Step 5 | 6 | return "\z 7 | \x89\x50\x4E\x47\x0D\x0A\x1A\x0A\x00\x00\x00\x0D\x49\x48\x44\x52\x00\x00\x00\x14\x00\x00\x00\x14\x08\x06\x00\x00\x00\x8D\x89\x1D\x0D\x00\x00\x00\x09\x70\x48\x59\z 8 | \x73\x00\x00\x0B\x13\x00\x00\x0B\x13\x01\x00\x9A\x9C\x18\x00\x00\x00\x7E\x49\x44\x41\x54\x38\x8D\xED\x93\xC1\x09\xC3\x30\x10\x04\x47\xE9\x40\x29\xC1\xB5\xB8\x05\z 9 | \xB7\x90\x16\x52\x4B\x5C\x82\x5B\x48\x4F\x6E\x61\xFC\x70\x1E\x79\xDD\x49\x60\xFC\x30\x5E\x10\x42\x30\x0C\xE2\x56\x2A\x2A\x47\xE6\x71\xA8\xED\x16\x9E\x26\x1C\x81\z 10 | \x15\x10\x78\xA7\xB4\x9A\xAD\x8F\x5A\xD5\xC9\x3D\x35\xE2\x4B\xE7\x3B\x5C\x81\x67\x04\xF4\x08\x5F\xBF\x7D\x8E\xA0\xD6\x52\x06\xA0\x66\x32\xA0\x69\x86\x83\xBA\xFC\z 11 | \x9D\xC7\x88\xCF\x6E\x58\x81\x2F\x30\xB1\xB7\x9C\xCE\xA7\xB7\x94\x34\xD7\xF8\x29\xB7\x30\xCE\x06\x06\x79\x8F\x50\x06\x2A\xD0\x8D\x00\x00\x00\x00\x49\x45\x4E\x44\z 12 | \xAE\x42\x60\x82" 13 | ; 14 | -------------------------------------------------------------------------------- /MIDI Editor/talagan_OneSmallStep/images/frac_4.lua: -------------------------------------------------------------------------------- 1 | -- @noindex 2 | -- @author Ben 'Talagan' Babut 3 | -- @license MIT 4 | -- @description This is part of One Small Step 5 | 6 | return "\z 7 | \x89\x50\x4E\x47\x0D\x0A\x1A\x0A\x00\x00\x00\x0D\x49\x48\x44\x52\x00\x00\x00\x14\x00\x00\x00\x14\x08\x06\x00\x00\x00\x8D\x89\x1D\x0D\x00\x00\x00\x09\x70\x48\x59\z 8 | \x73\x00\x00\x0B\x13\x00\x00\x0B\x13\x01\x00\x9A\x9C\x18\x00\x00\x00\x63\x49\x44\x41\x54\x38\x8D\x63\xFC\xFF\xFF\x3F\x03\x35\x01\x13\x55\x4D\x1B\x35\x90\xEE\x06\z 9 | \x76\x30\x30\x30\xCC\xA4\x96\x81\xA1\x0C\x0C\x0C\x2E\xC4\x28\x24\xC6\x40\x25\x28\x5E\x4D\x0D\x03\x05\x19\x20\x5E\xED\x24\xC6\x30\x06\x06\x06\x06\x86\xFF\xFF\xFF\z 10 | \xE3\xC3\x2E\xFF\x31\xC1\x4C\x7C\x7A\x18\x49\xC8\x7A\xE5\x0C\x10\xAF\xA7\xE3\x53\x44\xF5\x64\x43\x8A\x0B\x89\x02\xC3\x2B\xA7\x8C\x1A\x88\x1D\x00\x00\xC7\x58\x4E\z 11 | \x83\x1A\xAC\x9B\xEF\x00\x00\x00\x00\x49\x45\x4E\x44\xAE\x42\x60\x82" 12 | ; 13 | -------------------------------------------------------------------------------- /MIDI Editor/talagan_OneSmallStep/images/marker.lua: -------------------------------------------------------------------------------- 1 | -- @noindex 2 | -- @author Ben 'Talagan' Babut 3 | -- @license MIT 4 | -- @description This is part of One Small Step 5 | 6 | return "\z 7 | \x89\x50\x4E\x47\x0D\x0A\x1A\x0A\x00\x00\x00\x0D\x49\x48\x44\x52\x00\x00\x00\x14\x00\x00\x00\x14\x08\x06\x00\x00\x00\x8D\x89\x1D\x0D\x00\x00\x00\x09\x70\x48\x59\z 8 | \x73\x00\x00\x0B\x13\x00\x00\x0B\x13\x01\x00\x9A\x9C\x18\x00\x00\x00\x63\x49\x44\x41\x54\x38\x8D\xDD\xD4\xC1\x0E\x00\x11\x0C\x04\x50\xF5\xFF\xFF\x3C\x2E\x2B\x82\z 9 | \xED\xEE\x0C\x3D\x88\x9E\xA4\x87\x37\xA2\x30\x00\x29\xB2\x72\xA8\xE6\x80\x70\xD6\xCB\xE0\x57\x40\x08\x28\xA1\xCA\x19\x52\xA8\x02\x5A\x24\x48\x61\x2C\x48\x63\x0C\z 10 | \x28\x61\x0C\x28\xD7\x1D\xE0\x78\xFF\xE0\xF4\x69\xF0\x17\x59\x01\xED\xC1\xDE\xA6\xDE\x85\xEC\xBE\x94\x29\x64\x77\x28\x75\xE7\xAD\x71\xFC\x8F\x5D\x00\x0F\xFC\x14\z 11 | \x1C\x3B\x36\xB9\x12\x00\x00\x00\x00\x49\x45\x4E\x44\xAE\x42\x60\x82" 12 | ; 13 | -------------------------------------------------------------------------------- /MIDI Editor/talagan_OneSmallStep/images/note_highlighting.lua: -------------------------------------------------------------------------------- 1 | -- @noindex 2 | -- @author Ben 'Talagan' Babut 3 | -- @license MIT 4 | -- @description This is part of One Small Step 5 | 6 | return "\z 7 | \x89\x50\x4E\x47\x0D\x0A\x1A\x0A\x00\x00\x00\x0D\x49\x48\x44\x52\x00\x00\x00\x14\x00\x00\x00\x14\x08\x06\x00\x00\x00\x8D\x89\x1D\x0D\x00\x00\x00\x09\x70\x48\x59\z 8 | \x73\x00\x00\x0B\x13\x00\x00\x0B\x13\x01\x00\x9A\x9C\x18\x00\x00\x00\x6B\x49\x44\x41\x54\x38\x8D\x63\xFC\xFF\xFF\x3F\x03\x35\x01\x13\x55\x4D\x63\x60\x60\x60\x81\z 9 | \x31\xAE\x5C\xB9\x82\xE1\xD4\x7D\xFB\xF6\x11\x6D\x50\x5E\x5E\x1E\x23\x03\x03\x0D\x5C\xC8\x08\x0B\xC3\x9A\x9A\x1A\x8A\x5C\x78\xEC\xD8\x31\xDA\xB8\x10\x1E\x86\x11\z 10 | \x11\x11\x18\x92\x62\x62\x62\x24\x1B\x38\x1A\x86\xA8\x60\x70\x85\x21\x03\x03\x03\xA5\x99\x9A\xC6\x61\x58\x53\x53\x83\x21\x49\x62\x2C\x33\x30\x30\x8C\xF8\x58\xA6\z 11 | \x0A\xA0\xBA\x0B\x01\x7D\x98\x2E\xFD\xE9\xEA\xE4\xE1\x00\x00\x00\x00\x49\x45\x4E\x44\xAE\x42\x60\x82" 12 | ; 13 | -------------------------------------------------------------------------------- /MIDI Editor/talagan_OneSmallStep/images/note_len_mode_inote.lua: -------------------------------------------------------------------------------- 1 | -- @noindex 2 | -- @author Ben 'Talagan' Babut 3 | -- @license MIT 4 | -- @description This is part of One Small Step 5 | 6 | return "\z 7 | \x89\x50\x4E\x47\x0D\x0A\x1A\x0A\x00\x00\x00\x0D\x49\x48\x44\x52\x00\x00\x00\x14\x00\x00\x00\x14\x08\x06\x00\x00\x00\x8D\x89\x1D\x0D\x00\x00\x00\x09\x70\x48\x59\z 8 | \x73\x00\x00\x0B\x13\x00\x00\x0B\x13\x01\x00\x9A\x9C\x18\x00\x00\x00\x73\x49\x44\x41\x54\x38\x8D\xED\x54\x41\x0E\xC0\x20\x08\x83\x65\x5F\xE8\xFF\xFF\x87\x8F\xE8\z 9 | \x4E\x2E\x6E\x21\x3A\x18\xD9\x69\x4D\xBC\x88\x96\x36\x45\x95\xA4\x54\x62\x2B\x65\x13\x91\x3D\x73\xA9\xB5\x76\xDA\x02\xA0\x97\x22\xC9\xD4\x32\x33\x7A\xFB\xE5\x96\z 10 | \x7F\xC2\x67\xE8\x29\x8F\x69\x77\xA8\x37\xD8\xC3\x41\x05\x10\x6A\xB6\x52\x18\x7E\x46\x33\x42\x9D\xD4\x52\x84\x29\xAC\x08\xC3\x2A\xBF\x55\x18\x4D\x58\xE4\xF6\xDB\z 11 | \x78\x73\x15\x45\xB9\x65\x77\xB0\xDF\xA0\x5C\xE1\x01\xE9\xA2\x5A\x23\x44\x22\x38\x99\x00\x00\x00\x00\x49\x45\x4E\x44\xAE\x42\x60\x82" 12 | ; 13 | -------------------------------------------------------------------------------- /MIDI Editor/talagan_OneSmallStep/images/playback.lua: -------------------------------------------------------------------------------- 1 | -- @noindex 2 | -- @author Ben 'Talagan' Babut 3 | -- @license MIT 4 | -- @description This is part of One Small Step 5 | 6 | return "\z 7 | \x89\x50\x4E\x47\x0D\x0A\x1A\x0A\x00\x00\x00\x0D\x49\x48\x44\x52\x00\x00\x00\x14\x00\x00\x00\x14\x08\x06\x00\x00\x00\x8D\x89\x1D\x0D\x00\x00\x00\x09\x70\x48\x59\z 8 | \x73\x00\x00\x0B\x13\x00\x00\x0B\x13\x01\x00\x9A\x9C\x18\x00\x00\x00\x6E\x49\x44\x41\x54\x38\x8D\xE5\x94\x49\x0A\x00\x20\x08\x45\x35\xBA\xFF\x95\x6D\x13\x51\xF0\z 9 | \x95\x1C\xA0\x45\x6D\xA4\x8F\x3C\x9C\x59\x44\xA8\xF2\xB5\x52\xDA\x9F\xC0\x3E\x6D\x55\x67\xB8\xEF\x9F\x24\x4C\x88\x1E\xD7\xF0\xAA\x2C\xDE\x08\x11\xF4\xD0\x22\x29\z 10 | \x9B\x91\x46\x6B\xA8\x42\x33\x4D\x81\xD0\x06\x1C\x34\x6B\x41\x97\x0F\x3B\xAE\x0D\x72\xE4\xA9\xAF\x19\xCE\xA4\x0C\x17\x21\x0A\x54\xB7\x2A\x02\x34\x57\xD4\x0B\x44\z 11 | \xB0\x43\xF3\x00\xAF\x8E\xC7\x00\xA4\x35\x16\x1F\x3F\xFC\x38\x64\x00\x00\x00\x00\x49\x45\x4E\x44\xAE\x42\x60\x82" 12 | ; 13 | -------------------------------------------------------------------------------- /MIDI Editor/talagan_OneSmallStep/toolbar_icons/toolbar_one_small_step.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReaTeam/ReaScripts/d42b747a706524d8d19598d377ccbeb0f80a59d7/MIDI Editor/talagan_OneSmallStep/toolbar_icons/toolbar_one_small_step.png -------------------------------------------------------------------------------- /MIDI Editor/talagan_OneSmallStep/toolbar_icons/toolbar_one_small_step_cleanup.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReaTeam/ReaScripts/d42b747a706524d8d19598d377ccbeb0f80a59d7/MIDI Editor/talagan_OneSmallStep/toolbar_icons/toolbar_one_small_step_cleanup.png -------------------------------------------------------------------------------- /Markers/Lokasenna_Go to marker 00.lua: -------------------------------------------------------------------------------- 1 | --[[ 2 | Description: Go to marker 00 3 | Version: 1.0 4 | Author: Lokasenna 5 | Donation: https://paypal.me/Lokasenna 6 | Changelog: 7 | Initial release 8 | Links: 9 | Lokasenna's Website http://forum.cockos.com/member.php?u=10417 10 | About: 11 | Moves the cursor to a marker with index 0 12 | Extensions: 13 | --]] 14 | 15 | -- Licensed under the GNU GPL v3 16 | 17 | reaper.GoToMarker(0, 0, false) -------------------------------------------------------------------------------- /Markers/cfillion_Delete last marker left of the play or edit cursor.lua: -------------------------------------------------------------------------------- 1 | -- @description Delete last marker left of the play or edit cursor 2 | -- @version 1.0 3 | -- @author cfillion 4 | -- @website cfillion.ca https://cfillion.ca 5 | -- @donate https://www.paypal.com/cgi-bin/webscr?business=T3DEWBQJAV7WL&cmd=_donations¤cy_code=CAD&item_name=ReaScript%3A+Delete+last+marker+left+of+the+play+or+edit+cursor 6 | 7 | local UNDO_STATE_MISCCFG = 8 8 | local SCRIPT_NAME = ({reaper.get_action_context()})[2]:match("([^/\\_]+).lua$") 9 | 10 | local function position() 11 | if reaper.GetPlayState() & 1 == 0 then 12 | return reaper.GetCursorPosition() 13 | else 14 | return reaper.GetPlayPosition2() 15 | end 16 | end 17 | 18 | local marker = reaper.GetLastMarkerAndCurRegion(0, position()) 19 | 20 | if marker > -1 then 21 | reaper.Undo_BeginBlock() 22 | reaper.DeleteProjectMarkerByIndex(0, marker) 23 | reaper.Undo_EndBlock(SCRIPT_NAME, UNDO_STATE_MISCCFG) 24 | else 25 | reaper.defer(function() end) -- no undo point 26 | end 27 | -------------------------------------------------------------------------------- /Markers/rekseffeks_protoolsmarkerjump.lua: -------------------------------------------------------------------------------- 1 | -- @description Pro Tools-like marker jump behavior 2 | -- @author Rek's Effeks 3 | -- @version 1.0.2 4 | -- @changelog fixed behavior with manually-numbered markers having higher numbers than the total count. no longer provides error message on failure. 5 | -- @about 6 | -- Pro Tools marker jump behavior. Opens a text box allowing multi-digit input, after which the edit cursor will jump to the entered marker ID. 7 | -- Run the script, enter a numerical input (other characters are sanitized out), press enter. 8 | -- Recommended to bind to numpad enter as I couldn't figure out how to treat numpad period as an enter character. 9 | 10 | ret, user_input = reaper.GetUserInputs("Pro Tools marker behavior", 1, "Enter marker number:", "") 11 | local number 12 | local res 13 | if ret == true then 14 | if (user_input ~= "") then 15 | res, _ = user_input:gsub("%D+", "") 16 | number = tonumber(res) 17 | reaper.GoToMarker(0, number, 0) 18 | end 19 | end 20 | -------------------------------------------------------------------------------- /Project Properties/BenjyO_Reset project start measure.lua: -------------------------------------------------------------------------------- 1 | -- @description Reset project start measure 2 | -- @author BenjyO 3 | -- @version 1.0 4 | -- @changelog Initial release 5 | -- @link https://forum.cockos.com/member.php?u=39350 6 | -- @about 7 | -- ### Reset project start measure 8 | -- - The script sets measure 1 to start of project. It works the same as the option in Project settings. 9 | -- - Requires SWS extension to run 10 | 11 | local sws_exist = reaper.APIExists("SNM_SetIntConfigVar") 12 | if sws_exist then 13 | reaper.SNM_SetIntConfigVar("projmeasoffs", 0) 14 | reaper.UpdateTimeline() 15 | else 16 | reaper.ShowConsoleMsg("This script requires the SWS extension for REAPER. Please install it and try again.") 17 | end 18 | -------------------------------------------------------------------------------- /Project Properties/BenjyO_Reset project start time.lua: -------------------------------------------------------------------------------- 1 | -- @description Reset project start time 2 | -- @author BenjyO 3 | -- @version 1.0 4 | -- @changelog Initial release 5 | -- @link https://forum.cockos.com/member.php?u=39350 6 | -- @about 7 | -- ### Reset project start time 8 | -- - The script sets 0:00 time to start of project. It works the same as the option in Project settings. 9 | -- - Requires SWS extension to run. 10 | 11 | local sws_exist = reaper.APIExists("SNM_SetDoubleConfigVar") 12 | if sws_exist then 13 | reaper.SNM_SetDoubleConfigVar("projtimeoffs", 0) 14 | reaper.UpdateTimeline() 15 | else 16 | reaper.ShowConsoleMsg("This script requires the SWS extension for REAPER. Please install it and try again.") 17 | end 18 | -------------------------------------------------------------------------------- /Project Properties/amagalma_Set project length limit to edit cursor position.lua: -------------------------------------------------------------------------------- 1 | -- @description Set project length limit to edit cursor position 2 | -- @author amagalma 3 | -- @version 1.01 4 | -- @changelog - enable project limit, if not already enabled 5 | -- @about - requires SWS extensions 6 | 7 | 8 | if reaper.APIExists("SNM_SetDoubleConfigVar") then 9 | reaper.SNM_SetDoubleConfigVar("projmaxlen", reaper.GetCursorPosition()) 10 | if reaper.SNM_GetIntConfigVar("projmaxlenuse", "-1234") ~= 1 then 11 | reaper.SNM_SetIntConfigVar("projmaxlenuse", 1) 12 | end 13 | reaper.UpdateTimeline() 14 | else 15 | reaper.MB("Please, install SWS Extensions and run again.", "SWS Extensions are not installed!", 0) 16 | end 17 | reaper.defer(function() end) 18 | -------------------------------------------------------------------------------- /Project Properties/edgemeal_Do not process muted tracks toggle.lua: -------------------------------------------------------------------------------- 1 | -- @description Do not process muted tracks toggle 2 | -- @author Edgemeal 3 | -- @version 1.0 4 | -- @donation Donate https://www.paypal.me/Edgemeal 5 | -- @about This is a toggle only, to persist the setting set in REAPER preferences. 6 | 7 | function ToolbarButton(enable) 8 | local _, _, section_id, command_id = reaper.get_action_context() 9 | reaper.SetToggleCommandState(section_id, command_id, enable) 10 | reaper.RefreshToolbar2(section_id, command_id) 11 | end 12 | 13 | function Main() 14 | local val = reaper.SNM_GetIntConfigVar("norunmute", 0) 15 | if not ((val & 1) == 1) then -- enable 16 | reaper.SNM_SetIntConfigVar("norunmute", 1) 17 | ToolbarButton(1) 18 | else -- disable 19 | reaper.SNM_SetIntConfigVar("norunmute", 0) 20 | ToolbarButton(0) 21 | end 22 | end 23 | 24 | if not reaper.APIExists('SNM_GetIntConfigVar') then 25 | reaper.MB("The SWS extension is required for this script.", "ERROR", 0) 26 | else 27 | Main() 28 | end -------------------------------------------------------------------------------- /Project Properties/nickstomp_Import Export track group names.lua: -------------------------------------------------------------------------------- 1 | -- @description Import/export track group names 2 | -- @author nickstomp 3 | -- @version 1.0.0 4 | -- @metapackage 5 | -- @provides 6 | -- [main] nickstomp_Import Export track group names/nickstomp_Export track group names.lua 7 | -- [main] nickstomp_Import Export track group names/nickstomp_Import track group names.lua 8 | -- @about 9 | -- # Export and import the track group names to a text file 10 | -- 11 | -- This allows to export the group names from a project and import it into another one. 12 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # ReaTeam Scripts Repository 2 | 3 | ![check](https://github.com/ReaTeam/ReaScripts/workflows/check/badge.svg) 4 | 5 | Community-maintained collection of scripts for REAPER. 6 | 7 | ## Installation 8 | 9 | Copy and paste this URL in Extensions > ReaPack > Import a repository: 10 | 11 | https://github.com/ReaTeam/ReaScripts/raw/master/index.xml 12 | 13 | ## Contributing 14 | 15 | Use to upload your scripts on this repository. 16 | 17 | Have a question? Come discuss in the [development thread](https://forum.cockos.com/showthread.php?t=169127). 18 | -------------------------------------------------------------------------------- /Regions/Thonex_Set region at edit cursor to time selection.lua: -------------------------------------------------------------------------------- 1 | --[[ 2 | Description: Set region at edit cursor to time selection 3 | Version: 1.0.0 4 | Author: Thonex 5 | Changelog: 6 | Initial Release 7 | ]]-- 8 | 9 | function Main() 10 | 11 | Cur_Pos = reaper.GetCursorPosition() 12 | markeridx, regionidx = reaper.GetLastMarkerAndCurRegion( 0, Cur_Pos) 13 | retval, isrgn, pos, rgnend, name, markrgnindexnumber = reaper.EnumProjectMarkers( regionidx ) 14 | local L_Start, R_End = reaper.GetSet_LoopTimeRange(false, false, 0, 0, false) 15 | reaper.SetProjectMarker( markrgnindexnumber, true, L_Start, R_End, name ) 16 | end 17 | 18 | Main() -------------------------------------------------------------------------------- /Regions/Thonex_Set time selection to region at edit cursor.lua: -------------------------------------------------------------------------------- 1 | --[[ 2 | Description: Set time selection to region at edit cursor 3 | Version: 1.0.0 4 | Author: Thonex 5 | Changelog: 6 | Initial Release 7 | ]]-- 8 | 9 | 10 | 11 | function Main() 12 | 13 | Cur_Pos = reaper.GetCursorPosition() 14 | markeridx, regionidx = reaper.GetLastMarkerAndCurRegion( 0, Cur_Pos) 15 | retval, isrgn, pos, rgnend, name, markrgnindexnumber = reaper.EnumProjectMarkers( regionidx ) 16 | reaper.GetSet_LoopTimeRange(true, false, pos, rgnend, false ) 17 | end 18 | 19 | Main() -------------------------------------------------------------------------------- /Regions/edgemeal_Select region in region manager window.lua: -------------------------------------------------------------------------------- 1 | -- @description Select region in region manager window (Next/Previous) 2 | -- @author Edgemeal 3 | -- @version 1.01 4 | -- @changelog Support newer versions of REAPER (last tested v6.75) 5 | -- @metapackage 6 | -- @provides 7 | -- [main] edgemeal_Select region in region manager window/edgemeal_Select next region in region manager window.lua 8 | -- [main] edgemeal_Select region in region manager window/edgemeal_Select previous region in region manager window.lua 9 | -- @link Forum https://forum.cockos.com/showthread.php?t=256856 10 | -- @donation Donate https://www.paypal.me/Edgemeal 11 | -- @about Requires js_ReaScriptAPI extension version v1.217 or later. 12 | 13 | -------------------------------------------------------------------------------- /Rendering/uorcun_Insert start and end markers to time selection for subprojects.lua: -------------------------------------------------------------------------------- 1 | -- @description Insert =START and =END markers to time selection for subprojects 2 | -- @author Ugurcan Orcun 3 | -- @version 1.1 4 | -- @changelog Script now first removes existing =START and =END markers to avoid confusion 5 | -- @about Automatically inserts =START and =END markers to each side of time selection. Rendering Subprojects obey these two markers. 6 | 7 | reaper.Undo_BeginBlock() 8 | marker_start, marker_end = reaper.GetSet_LoopTimeRange(false, true, 0, 0, 0) 9 | 10 | --Remove existing markers 11 | for i = reaper.CountProjectMarkers(0), 0, -1 do 12 | a, b, c, d, name, index = reaper.EnumProjectMarkers2(0,i) 13 | if (name == "=START") or (name == "=END") then 14 | reaper.DeleteProjectMarkerByIndex(0, i) 15 | end 16 | end 17 | 18 | --Add new markers 19 | if marker_start < marker_end then 20 | reaper.AddProjectMarker(0, false, marker_start, 0, "=START", -1) 21 | reaper.AddProjectMarker(0, false, marker_end, 0, "=END", -1) 22 | end 23 | -------------------------------------------------------------------------------- /Takes Properties/Nagasaki45_Randomize active takes pan in selected items.lua: -------------------------------------------------------------------------------- 1 | -- @description Randomize active takes pan in selected items 2 | -- @version 0.1 3 | -- @author Nagasaki45 4 | 5 | selected_item_count = reaper.CountSelectedMediaItems(0) 6 | for i = 0, selected_item_count - 1 do 7 | item = reaper.GetSelectedMediaItem(0, i) 8 | item_take = reaper.GetActiveTake(item) 9 | random_pan = math.random() * 2 - 1 10 | reaper.SetMediaItemTakeInfo_Value(item_take, 'D_PAN', random_pan) 11 | reaper.UpdateItemInProject(item) 12 | end 13 | -------------------------------------------------------------------------------- /Takes Properties/spk77_Randomize active takes pitch in selected items.eel: -------------------------------------------------------------------------------- 1 | /* 2 | * ReaScript Name: Randomize active takes pitch in selected items 3 | * EEL script for Cockos REAPER 4 | * Author: spk77 5 | * Author URI: http://forum.cockos.com/member.php?u=49553 6 | * Licence: GPL v3 7 | * Version: 1.0 8 | */ 9 | 10 | function rand_take_pitch(range) local(i, item, take) 11 | ( 12 | i = 0; 13 | loop(CountSelectedMediaItems(0), 14 | (item = GetSelectedMediaItem(0, i)) ? ( 15 | (take = GetActiveTake(item)) ? ( 16 | SetMediaItemTakeInfo_Value(take, "D_PITCH", 0.5*range*(rand(2)-1)); 17 | ); 18 | ); 19 | i += 1; 20 | ); 21 | UpdateArrange(); // refresh arrange view 22 | Undo_OnStateChange("Randomize take pitch"); 23 | ); 24 | 25 | rand_take_pitch(0.06); -------------------------------------------------------------------------------- /Takes Properties/spk77_Reset takes pan to center.eel: -------------------------------------------------------------------------------- 1 | /* 2 | * ReaScript Name: Reset takes pan to center 3 | * EEL script for Cockos REAPER 4 | * Author: spk77 5 | * Author URI: http://forum.cockos.com/member.php?u=49553 6 | * Licence: GPL v3 7 | * Version: 1.0 8 | */ 9 | 10 | // Reset take pan to center 11 | // EEL script by spk77 15.11.2014 12 | // 13 | // Version: 0.2014.11.15 14 | 15 | function reset_take_pan_to_center() local(i, item, take) 16 | ( 17 | i = 0; 18 | loop(CountSelectedMediaItems(0), 19 | (item = GetSelectedMediaItem(0, i)) ? ( 20 | (take = GetActiveTake(item)) ? ( 21 | SetMediaItemTakeInfo_Value(take, "D_PAN", 0.0); 22 | ); 23 | ); 24 | i += 1; 25 | ); 26 | UpdateArrange(); 27 | Undo_OnStateChange("Reset take pan to center"); 28 | ); 29 | 30 | reset_take_pan_to_center(); 31 | -------------------------------------------------------------------------------- /Time Selection/Lokasenna_Move time selection left by time selection length.lua: -------------------------------------------------------------------------------- 1 | --[[ 2 | Description: Move time selection left by time selection length 3 | Version: 1.0 4 | Author: Lokasenna 5 | Donation: https://paypal.me/Lokasenna 6 | Changelog: 7 | Links: 8 | Lokasenna's Website http://forum.cockos.com/member.php?u=10417 9 | About: 10 | --]] 11 | 12 | -- Licensed under the GNU GPL v3 13 | 14 | local pos_a, pos_b = reaper.GetSet_LoopTimeRange( false, false, 0, 0, false ) 15 | 16 | if not (pos_a and pos_b) then return end 17 | 18 | pos_b = pos_a - (pos_b - pos_a) 19 | 20 | reaper.GetSet_LoopTimeRange( true, false, pos_b, pos_a, false ) -------------------------------------------------------------------------------- /Time Selection/Lokasenna_Move time selection right by time selection length.lua: -------------------------------------------------------------------------------- 1 | --[[ 2 | Description: Move time selection right by time selection length 3 | Version: 1.0 4 | Author: Lokasenna 5 | Donation: https://paypal.me/Lokasenna 6 | Changelog: 7 | Links: 8 | Lokasenna's Website http://forum.cockos.com/member.php?u=10417 9 | About: 10 | --]] 11 | 12 | -- Licensed under the GNU GPL v3 13 | 14 | local pos_a, pos_b = reaper.GetSet_LoopTimeRange( false, false, 0, 0, false ) 15 | 16 | if not (pos_a and pos_b) then return end 17 | 18 | pos_a = pos_b + (pos_b - pos_a) 19 | 20 | reaper.GetSet_LoopTimeRange( true, false, pos_b, pos_a, false ) -------------------------------------------------------------------------------- /Time Selection/Lokasenna_Set time selection from edit cursor to play cursor.lua: -------------------------------------------------------------------------------- 1 | --[[ 2 | Description: Set time selection from edit cursor to play cursor 3 | Version: 1.0 4 | Author: Lokasenna 5 | Donation: https://paypal.me/Lokasenna 6 | Changelog: 7 | Links: 8 | Lokasenna's Website http://forum.cockos.com/member.php?u=10417 9 | About: 10 | Creates a time selection between the edit cursor and play cursor 11 | 12 | Will snap to grid if snap is enabled, and will follow grid 13 | visibility changes (different zoom levels, etc) 14 | --]] 15 | 16 | -- Licensed under the GNU GPL v3 17 | 18 | local pos_a = reaper.GetCursorPosition() 19 | local pos_b = reaper.SnapToGrid( 0, reaper.GetPlayPosition() ) 20 | 21 | if pos_a > pos_b then pos_a, pos_b = pos_b, pos_a end 22 | 23 | reaper.GetSet_LoopTimeRange( true, false, pos_a, pos_b, false ) -------------------------------------------------------------------------------- /Time Selection/cfillion_Extend time selection to cover selected items.lua: -------------------------------------------------------------------------------- 1 | -- @description Extend time selection to cover selected items 2 | -- @author cfillion 3 | -- @version 1.0 4 | -- @link 5 | -- cfillion.ca https://cfillion.ca 6 | -- Request post https://forum.cockos.com/showthread.php?p=2349505 7 | -- @donation https://paypal.me/cfillion 8 | 9 | local mint, maxt = reaper.GetSet_LoopTimeRange(false, false, 0, 0, false) 10 | if mint == maxt then return end 11 | 12 | for i = 0, reaper.CountSelectedMediaItems(nil) - 1 do 13 | local item = reaper.GetSelectedMediaItem(nil, i) 14 | local pos = reaper.GetMediaItemInfo_Value(item, 'D_POSITION') 15 | local len = reaper.GetMediaItemInfo_Value(item, 'D_LENGTH') 16 | 17 | mint = math.min(mint, pos) 18 | maxt = math.max(maxt, pos + len) 19 | end 20 | 21 | reaper.GetSet_LoopTimeRange(true, false, mint, maxt, false) 22 | -------------------------------------------------------------------------------- /Time Selection/edgemeal_Move time selection to cursor.lua: -------------------------------------------------------------------------------- 1 | -- @description Move time selection to cursor 2 | -- @author Edgemeal 3 | -- @version 1.0 4 | -- @link Forum https://forum.cockos.com/showthread.php?p=2190109 5 | -- @donation Donate https://www.paypal.me/Edgemeal 6 | 7 | function Main() 8 | local start_time, end_time = reaper.GetSet_LoopTimeRange(false, false, 0, 0, false) 9 | if start_time == end_time then return end 10 | local length = end_time-start_time 11 | local cursor = reaper.GetCursorPosition() 12 | reaper.GetSet_LoopTimeRange(true, false, cursor, cursor+length, false) 13 | end 14 | 15 | Main() 16 | reaper.defer(function () end) -------------------------------------------------------------------------------- /Time Selection/edgemeal_Select non-locked items in time selection.lua: -------------------------------------------------------------------------------- 1 | -- @description Select non-locked items in time selection 2 | -- @author Edgemeal 3 | -- @version 1.0 4 | -- @link Forum https://forum.cockos.com/showthread.php?t=225526 5 | -- @donation Donate https://www.paypal.me/Edgemeal 6 | 7 | function Main() 8 | reaper.Main_OnCommand(40717, 0) 9 | local cnt = reaper.CountSelectedMediaItems() 10 | if cnt == 0 then return end 11 | for i = cnt-1, 0, -1 do 12 | local item = reaper.GetSelectedMediaItem(0,i) 13 | if reaper.GetMediaItemInfo_Value(item, 'C_LOCK', 0) == 1 then 14 | reaper.SetMediaItemInfo_Value(item, 'B_UISEL', 0) 15 | end 16 | end 17 | reaper.UpdateArrange() 18 | end 19 | 20 | Main() 21 | -------------------------------------------------------------------------------- /Time Selection/rodilab_Play next item once.lua: -------------------------------------------------------------------------------- 1 | -- @description Play next item once 2 | -- @author Rodilab 3 | -- @version 1.1 4 | -- @changelog Update : Prevent UI Refresh 5 | -- @about 6 | -- Select, set time selection and play the next item of the track once. 7 | -- 8 | -- by Rodrigo Diaz (aka Rodilab) 9 | 10 | reaper.Undo_BeginBlock() 11 | reaper.PreventUIRefresh(1) 12 | 13 | -- Disable "repeat" 14 | if reaper.GetToggleCommandState(1068) == 1 then 15 | reaper.Main_OnCommand(1068,0) 16 | end 17 | 18 | -- Enable Play/Stop repeat loop 19 | if reaper.GetToggleCommandState(41834) == 0 then 20 | reaper.Main_OnCommand(41834,0) 21 | end 22 | 23 | -- Select and move next item 24 | reaper.Main_OnCommand(40417,0) 25 | -- Time selection on item 26 | reaper.Main_OnCommand(40290,0) 27 | -- Loop on item 28 | reaper.Main_OnCommand(41039,0) 29 | -- Play 30 | reaper.Main_OnCommand(1007,0) 31 | 32 | reaper.Undo_EndBlock("Play next item once",0) 33 | reaper.PreventUIRefresh(-1) 34 | reaper.UpdateArrange() 35 | -------------------------------------------------------------------------------- /Tracks Properties/AZ_Toggle exclusive solo for track under mouse.eel: -------------------------------------------------------------------------------- 1 | // @description Toggle exclusive solo for track under mouse 2 | // @author AZ 3 | // @version 1.1 4 | // @changelog Fixed wrong behavior if several tracks are soloed. 5 | // @about 6 | // # Toggle exclusive solo for track under mouse 7 | // 8 | // The script changes selection of track and toggles solo in exclusive mode. 9 | 10 | 11 | function solo() ( 12 | Main_OnCommandEx(41110, 0, 0 ); //select track under mouse 13 | x=GetMediaTrackInfo_Value ( GetSelectedTrack(0, 0), "I_SOLO"); 14 | x!=0 ? ( //if any solo mode 15 | Main_OnCommandEx(40340, 1, 0 ); //unsolo all tracks 16 | ); 17 | 18 | x==0 ? ( 19 | Main_OnCommandEx(40340, 1, 0 ); //unsolo all tracks 20 | SetMediaTrackInfo_Value(GetSelectedTrack(0, 0), "I_SOLO", 2); 21 | ); 22 | ); 23 | 24 | 25 | Undo_BeginBlock(); 26 | PreventUIRefresh(1); 27 | solo(); 28 | PreventUIRefresh(-1); 29 | Undo_EndBlock("Solo exclusive tracks under mouse", -1); 30 | -------------------------------------------------------------------------------- /Tracks Properties/Argitoth_Set number of channels for selected tracks.eel: -------------------------------------------------------------------------------- 1 | /* 2 | * ReaScript Name: Set number of channels for selected tracks 3 | * EEL script for Cockos REAPER 4 | * Author: Elan Hickler (Argitoth) 5 | * Author URI: http://forum.cockos.com/member.php?u=7973 6 | * Licence: GPL v3 7 | * Version: 1.0 8 | */ 9 | 10 | // Set number of channels for selected tracks 11 | 12 | // by Elan Hickler 13 | // www.Soundemote.com 14 | // www.elanhickler.com 15 | 16 | tracks = CountSelectedTracks(0); 17 | tracks > 0 ? ( 18 | #input = "2"; 19 | Query = GetUserInputs("Set track number of channel count", 1, "number of channels:", #input); 20 | match("%{input}i",#input); 21 | Query == 1 ? ( 22 | Undo_BeginBlock2(0); 23 | i = 0; 24 | loop(tracks, 25 | track = GetSelectedTrack(0, i); 26 | SetMediaTrackInfo_Value(track, "I_NCHAN", input); 27 | i+=1; 28 | ); 29 | Undo_EndBlock2(0, sprintf(#,"Set number of channels for %{tracks}i tracks"), -1); 30 | ); 31 | ); -------------------------------------------------------------------------------- /Tracks Properties/bryanchi_FXD - Vertical FX list/Images/hide.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReaTeam/ReaScripts/d42b747a706524d8d19598d377ccbeb0f80a59d7/Tracks Properties/bryanchi_FXD - Vertical FX list/Images/hide.png -------------------------------------------------------------------------------- /Tracks Properties/bryanchi_FXD - Vertical FX list/Images/link.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReaTeam/ReaScripts/d42b747a706524d8d19598d377ccbeb0f80a59d7/Tracks Properties/bryanchi_FXD - Vertical FX list/Images/link.png -------------------------------------------------------------------------------- /Tracks Properties/bryanchi_FXD - Vertical FX list/Images/receive.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReaTeam/ReaScripts/d42b747a706524d8d19598d377ccbeb0f80a59d7/Tracks Properties/bryanchi_FXD - Vertical FX list/Images/receive.png -------------------------------------------------------------------------------- /Tracks Properties/bryanchi_FXD - Vertical FX list/Images/send.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReaTeam/ReaScripts/d42b747a706524d8d19598d377ccbeb0f80a59d7/Tracks Properties/bryanchi_FXD - Vertical FX list/Images/send.png -------------------------------------------------------------------------------- /Tracks Properties/bryanchi_FXD - Vertical FX list/Images/show.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReaTeam/ReaScripts/d42b747a706524d8d19598d377ccbeb0f80a59d7/Tracks Properties/bryanchi_FXD - Vertical FX list/Images/show.png -------------------------------------------------------------------------------- /Tracks Properties/bryanchi_FXD - Vertical FX list/Images/star.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReaTeam/ReaScripts/d42b747a706524d8d19598d377ccbeb0f80a59d7/Tracks Properties/bryanchi_FXD - Vertical FX list/Images/star.png -------------------------------------------------------------------------------- /Tracks Properties/bryanchi_FXD - Vertical FX list/Images/starHollow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReaTeam/ReaScripts/d42b747a706524d8d19598d377ccbeb0f80a59d7/Tracks Properties/bryanchi_FXD - Vertical FX list/Images/starHollow.png -------------------------------------------------------------------------------- /Tracks Properties/cfillion_Duplicate tracks (preserving SWS track notes).lua: -------------------------------------------------------------------------------- 1 | -- @description Duplicate tracks (preserving SWS track notes) 2 | -- @author cfillion 3 | -- @version 1.0 4 | -- @link 5 | -- cfillion.ca https://cfillion.ca 6 | -- Request thread https://github.com/reaper-oss/sws/issues/1415 7 | -- @donation https://paypal.me/cfillion 8 | 9 | local notes = {} 10 | 11 | for i = 0, reaper.CountSelectedTracks(nil) - 1 do 12 | local track = reaper.GetSelectedTrack(nil, i) 13 | notes[i] = reaper.NF_GetSWSTrackNotes(track) 14 | end 15 | 16 | reaper.Main_OnCommand(40062, 0) -- Track: Duplicate tracks 17 | 18 | for i = 0, reaper.CountSelectedTracks(nil) - 1 do 19 | local track = reaper.GetSelectedTrack(nil, i) 20 | reaper.NF_SetSWSTrackNotes(track, notes[i]) 21 | end 22 | -------------------------------------------------------------------------------- /Tracks Properties/cfillion_Remove hardware outputs of selected tracks.lua: -------------------------------------------------------------------------------- 1 | -- @description Remove hardware outputs of selected tracks 2 | -- @author cfillion 3 | -- @version 1.0.1 4 | -- @changelog Optimize processing in projects with high track counts 5 | -- @link http://forum.cockos.com/showthread.php?t=189761 6 | -- @donation https://reapack.com/donate 7 | 8 | local SCRIPT_NAME = select(2, reaper.get_action_context()):match('([^/\\_]+).lua$') 9 | local UNDO_STATE_TRACKCFG = 1 10 | local HARDWARE_OUT = 1 -- > 0 11 | 12 | local seltracks = reaper.CountSelectedTracks() 13 | if seltracks < 1 then return reaper.defer(function() end) end 14 | 15 | reaper.PreventUIRefresh(1) 16 | reaper.Undo_BeginBlock() 17 | 18 | for ti = 0, seltracks - 1 do 19 | local track = reaper.GetSelectedTrack(nil, ti) 20 | for si = 0, reaper.GetTrackNumSends(track, HARDWARE_OUT) - 1 do 21 | reaper.RemoveTrackSend(track, HARDWARE_OUT, 0) 22 | end 23 | end 24 | 25 | reaper.Undo_EndBlock(SCRIPT_NAME, UNDO_STATE_TRACKCFG) 26 | reaper.PreventUIRefresh(-1) 27 | -------------------------------------------------------------------------------- /Tracks Properties/cfillion_Reset TCP height of selected tracks to default.lua: -------------------------------------------------------------------------------- 1 | -- @description Reset TCP height of selected tracks to default 2 | -- @author cfillion 3 | -- @version 1.0 4 | -- @link https://cfillion.ca 5 | -- @donation https://paypal.me/cfillion 6 | 7 | local UNDO_STATE_TRACKCFG = 1 8 | local I_HEIGHTOVERRIDE = 'I_HEIGHTOVERRIDE' 9 | local SCRIPT_NAME = ({reaper.get_action_context()})[2]:match("([^/\\_]+)%.lua$") 10 | 11 | local didSomething = false 12 | 13 | for i=0,reaper.CountSelectedTracks(0)-1 do 14 | local track = reaper.GetSelectedTrack(0, i) 15 | 16 | if reaper.GetMediaTrackInfo_Value(track, I_HEIGHTOVERRIDE) > 0 then 17 | if not didSomething then 18 | reaper.Undo_BeginBlock() 19 | didSomething = true 20 | end 21 | 22 | reaper.SetMediaTrackInfo_Value(track, I_HEIGHTOVERRIDE, 0) 23 | end 24 | end 25 | 26 | if didSomething then 27 | reaper.Undo_EndBlock(SCRIPT_NAME, UNDO_STATE_TRACKCFG) 28 | reaper.TrackList_AdjustWindows(true) 29 | else 30 | reaper.defer(function() end) 31 | end 32 | -------------------------------------------------------------------------------- /Tracks Properties/cfillion_Reset stereo width of selected tracks to 100%.lua: -------------------------------------------------------------------------------- 1 | -- @description Reset stereo width of selected tracks to 100% 2 | -- @version 1.0 3 | -- @author cfillion 4 | -- @website http://forum.cockos.com/showthread.php?t=189761 5 | -- @donation https://www.paypal.me/cfillion 6 | 7 | local self = ({reaper.get_action_context()})[2]:match('([^/\\_]+).lua$') 8 | local UNDO_STATE_TRACKCFG = 1 9 | 10 | local seltracks = reaper.CountSelectedTracks() 11 | if seltracks < 1 then return reaper.defer(function() end) end 12 | 13 | reaper.Undo_BeginBlock() 14 | 15 | for i=0, seltracks-1 do 16 | local track = reaper.GetSelectedTrack(0, i) 17 | reaper.SetMediaTrackInfo_Value(track, 'D_WIDTH', 1) 18 | end 19 | 20 | reaper.Undo_EndBlock(self, UNDO_STATE_TRACKCFG) 21 | -------------------------------------------------------------------------------- /Tracks Properties/cfillion_Select source tracks of selected tracks receives recursively.lua: -------------------------------------------------------------------------------- 1 | -- @description Select source tracks of selected tracks receives recursively 2 | -- @version 1.2.1 3 | -- @author cfillion 4 | -- @changelog Fix crash when encountering feedback routings 5 | -- @donation https://www.paypal.me/cfillion 6 | -- @metapackage 7 | -- @provides 8 | -- [main] cfillion_Select destination tracks of selected tracks sends recursively.lua > cfillion_Select source tracks of selected tracks receives recursively.lua 9 | -- [main] cfillion_Select destination tracks of selected tracks sends recursively.lua > cfillion_Select source tracks of selected tracks receives recursively (background).lua 10 | 11 | -- The contents of this script is in `cfillion_Select destination tracks of selected tracks sends recursively.lua`. 12 | -------------------------------------------------------------------------------- /Tracks Properties/edgemeal_Enable playback offset for selected tracks.lua: -------------------------------------------------------------------------------- 1 | -- @description Enable track playback offset for selected tracks 2 | -- @author Edgemeal 3 | -- @version 1.00 4 | -- @link Forum https://forum.cockos.com/showthread.php?t=243019 5 | -- @donation Donate https://www.paypal.me/Edgemeal 6 | 7 | reaper.Undo_BeginBlock() 8 | local trackcount = reaper.CountSelectedTracks() 9 | for i = 0, trackcount-1 do 10 | local track = reaper.GetSelectedTrack(0, i) 11 | local val = reaper.GetMediaTrackInfo_Value(track, "I_PLAY_OFFSET_FLAG") 12 | if val&1 ~= 0 then 13 | reaper.SetMediaTrackInfo_Value(track, "I_PLAY_OFFSET_FLAG", val&(~1)) 14 | end 15 | end 16 | reaper.Undo_EndBlock('Enable playback offset for selected tracks', -1) 17 | -------------------------------------------------------------------------------- /Tracks Properties/edgemeal_Enable track playback offset for selected tracks (Samples).lua: -------------------------------------------------------------------------------- 1 | -- @description Enable track playback offset for selected tracks (Samples) 2 | -- @author Edgemeal 3 | -- @version 1.00 4 | -- @donation Donate https://www.paypal.me/Edgemeal 5 | 6 | reaper.Undo_BeginBlock() 7 | local trackcount = reaper.CountSelectedTracks() 8 | for i = 0, trackcount-1 do 9 | local track = reaper.GetSelectedTrack(0, i) 10 | reaper.SetMediaTrackInfo_Value(track, "I_PLAY_OFFSET_FLAG", 2) 11 | end 12 | reaper.Undo_EndBlock('Enable track playback offset for selected tracks (Samples)', -1) 13 | -------------------------------------------------------------------------------- /Tracks Properties/edgemeal_Remove muted track sends from selected tracks.lua: -------------------------------------------------------------------------------- 1 | -- @description Remove muted track sends from selected tracks 2 | -- @author Edgemeal 3 | -- @version 1.0 4 | -- @link Forum Thread https://forum.cockos.com/showthread.php?t=239747 5 | -- @donation Donate https://www.paypal.me/Edgemeal 6 | 7 | reaper.PreventUIRefresh(1) 8 | reaper.Undo_BeginBlock() 9 | local track_count = reaper.CountSelectedTracks(0) 10 | for i = 0, track_count-1 do 11 | track = reaper.GetSelectedTrack(0,i) 12 | local send_cnt = reaper.GetTrackNumSends(track, 0) 13 | for send_index = send_cnt-1,0,-1 do 14 | local muted = reaper.GetTrackSendInfo_Value(track, 0, send_index, "B_MUTE") 15 | if muted == 1 then reaper.RemoveTrackSend(track, 0, send_index) end 16 | end 17 | end 18 | reaper.Undo_EndBlock('Remove muted track sends from selected tracks', -1) 19 | reaper.TrackList_AdjustWindows(false) 20 | reaper.UpdateArrange() 21 | reaper.PreventUIRefresh(-1) 22 | -------------------------------------------------------------------------------- /Tracks Properties/edgemeal_Remove muted track sends.lua: -------------------------------------------------------------------------------- 1 | -- @description Remove muted track sends 2 | -- @author Edgemeal 3 | -- @version 1.0 4 | -- @link Forum Thread https://forum.cockos.com/showthread.php?t=239747 5 | -- @donation Donate https://www.paypal.me/Edgemeal 6 | 7 | reaper.PreventUIRefresh(1) 8 | reaper.Undo_BeginBlock() 9 | local track_count = reaper.CountTracks(0) 10 | for i = 0, track_count-1 do 11 | track = reaper.GetTrack(0,i) 12 | local send_cnt = reaper.GetTrackNumSends(track, 0) 13 | for send_index = send_cnt-1,0,-1 do 14 | local muted = reaper.GetTrackSendInfo_Value(track, 0, send_index, "B_MUTE") 15 | if muted == 1 then reaper.RemoveTrackSend(track, 0, send_index) end 16 | end 17 | end 18 | reaper.Undo_EndBlock('Remove muted track sends', -1) 19 | reaper.TrackList_AdjustWindows(false) 20 | reaper.UpdateArrange() 21 | reaper.PreventUIRefresh(-1) 22 | -------------------------------------------------------------------------------- /Tracks Properties/edgemeal_Select tracks with locked items.lua: -------------------------------------------------------------------------------- 1 | -- @description Select tracks with locked items 2 | -- @author Edgemeal 3 | -- @version 1.0 4 | -- @link Forum https://forum.cockos.com/showthread.php?p=2209858 5 | -- @donation Donate https://www.paypal.me/Edgemeal 6 | 7 | reaper.Undo_BeginBlock(0) 8 | reaper.PreventUIRefresh(1) 9 | reaper.Main_OnCommand(40297, 0) -- Track: Unselect all tracks 10 | local track_count = reaper.CountTracks() 11 | for i = 0, track_count - 1 do 12 | local track = reaper.GetTrack(0, i) 13 | local item_count = reaper.CountTrackMediaItems(track) 14 | for j = 0, item_count - 1 do 15 | local item = reaper.GetTrackMediaItem(track, j) 16 | if reaper.GetMediaItemInfo_Value(item, 'C_LOCK') == 1 then 17 | reaper.SetTrackSelected(track, true) 18 | break 19 | end 20 | end 21 | end 22 | reaper.UpdateArrange() 23 | reaper.PreventUIRefresh(-1) 24 | reaper.Undo_EndBlock('Select tracks with locked items', -1) -------------------------------------------------------------------------------- /Tracks Properties/edgemeal_Show VSTi from selected MIDI track sends.lua: -------------------------------------------------------------------------------- 1 | -- @description Show VSTi from selected MIDI track sends 2 | -- @author Edgemeal 3 | -- @version 1.0 4 | -- @link Forum Thread https://forum.cockos.com/showthread.php?t=249614 5 | -- @donation Donate https://www.paypal.me/Edgemeal 6 | 7 | local track = reaper.GetSelectedTrack(0, 0) 8 | if track ~= nil then 9 | local send_cnt = reaper.GetTrackNumSends(track, 0) 10 | for i = 0, send_cnt-1 do 11 | local dest_track = reaper.GetTrackSendInfo_Value(track, 0, i, "P_DESTTRACK") 12 | if dest_track ~= nil then 13 | local vsti_index = reaper.TrackFX_GetInstrument(dest_track) 14 | if vsti_index > -1 then 15 | reaper.TrackFX_Show(dest_track, vsti_index, 3) 16 | end 17 | end 18 | end 19 | end 20 | -------------------------------------------------------------------------------- /Tracks Properties/edgemeal_Unselect last (bottom) selected track.lua: -------------------------------------------------------------------------------- 1 | -- @description Unselect last (bottom) selected track 2 | -- @author Edgemeal 3 | -- @version 1.0 4 | -- @link Forum Thread https://forum.cockos.com/showpost.php?p=2337148&postcount=2108 5 | -- @donation Donate https://www.paypal.me/Edgemeal 6 | 7 | local num_tracks = reaper.CountSelectedTracks(0) 8 | if num_tracks > 0 then 9 | reaper.SetTrackSelected(reaper.GetSelectedTrack(0, num_tracks-1), false) 10 | reaper.TrackList_AdjustWindows(false) 11 | end 12 | reaper.defer(function () end) 13 | -------------------------------------------------------------------------------- /Tracks Properties/spk77_Reset all tracks pan.eel: -------------------------------------------------------------------------------- 1 | /* 2 | * ReaScript Name: Reset all tracks pan 3 | * EEL script for Cockos REAPER 4 | * Author: spk77 5 | * Author URI: http://forum.cockos.com/member.php?u=49553 6 | * Licence: GPL v3 7 | * Version: 1.0 8 | */ 9 | 10 | // Reset track pan knobs to center - EEL script by spk77 8.2.2015 11 | // 12 | // Version: 0.2015.2.8 13 | 14 | function reset_pan() local(i, tr) 15 | ( 16 | i = 0; 17 | loop(CountTracks(0), 18 | (tr = GetTrack(0, i)) ? ( 19 | SetMediaTrackInfo_Value(tr, "D_PAN", 0.0); 20 | ); 21 | i += 1; 22 | ); 23 | Undo_OnStateChangeEx2(0, "Reset track pan knobs to center", -1, -1); 24 | ); 25 | 26 | reset_pan(); 27 | -------------------------------------------------------------------------------- /Tracks Properties/spk77_Reset all tracks volume.eel: -------------------------------------------------------------------------------- 1 | /* 2 | * ReaScript Name: Reset all tracks volume 3 | * EEL script for Cockos REAPER 4 | * Author: spk77 5 | * Author URI: http://forum.cockos.com/member.php?u=49553 6 | * Licence: GPL v3 7 | * Version: 1.0 8 | */ 9 | 10 | // Reset track volume faders to 0 dB - EEL script by spk77 8.2.2015 11 | // Version: 0.2015.2.8 12 | 13 | function reset_vol() local(i, tr) 14 | ( 15 | i = 0; 16 | loop(CountTracks(0), 17 | (tr = GetTrack(0, i)) ? ( 18 | SetMediaTrackInfo_Value(tr, "D_VOL", 1.0); 19 | ); 20 | i += 1; 21 | ); 22 | Undo_OnStateChangeEx2(0, "Reset track volume faders to 0 dB", -1, -1); 23 | ); 24 | 25 | reset_vol(); 26 | -------------------------------------------------------------------------------- /Tracks Properties/talagan_Track color layouts/toolbar_talagan_track_color_layout_1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReaTeam/ReaScripts/d42b747a706524d8d19598d377ccbeb0f80a59d7/Tracks Properties/talagan_Track color layouts/toolbar_talagan_track_color_layout_1.png -------------------------------------------------------------------------------- /Tracks Properties/talagan_Track color layouts/toolbar_talagan_track_color_layout_2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReaTeam/ReaScripts/d42b747a706524d8d19598d377ccbeb0f80a59d7/Tracks Properties/talagan_Track color layouts/toolbar_talagan_track_color_layout_2.png -------------------------------------------------------------------------------- /Tracks Properties/talagan_Track color layouts/toolbar_talagan_track_color_layout_3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReaTeam/ReaScripts/d42b747a706524d8d19598d377ccbeb0f80a59d7/Tracks Properties/talagan_Track color layouts/toolbar_talagan_track_color_layout_3.png -------------------------------------------------------------------------------- /Tracks Properties/talagan_Track color layouts/toolbar_talagan_track_color_layout_4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReaTeam/ReaScripts/d42b747a706524d8d19598d377ccbeb0f80a59d7/Tracks Properties/talagan_Track color layouts/toolbar_talagan_track_color_layout_4.png -------------------------------------------------------------------------------- /Tracks Properties/tm_Set hardware outputs of selected tracks to post-fader.lua: -------------------------------------------------------------------------------- 1 | -- @description Set hardware outputs of selected tracks to post-fader 2 | -- @author TM 3 | -- @version 1.0 4 | -- @donation https://www.paypal.me/cfillion 5 | -- @about All credits go to cfillion for his original script and to nofish for helping me editing it. 6 | 7 | local self = ({reaper.get_action_context()})[2]:match('([^/\\_]+).lua$') 8 | local UNDO_STATE_TRACKCFG = 1 9 | local HARDWARE_OUT = 1 -- > 0 10 | local postfader=0 11 | local prefx=1 12 | local postfx=3 13 | 14 | local seltracks = reaper.CountSelectedTracks() 15 | if seltracks < 1 then return reaper.defer(function() end) end 16 | 17 | reaper.Undo_BeginBlock() 18 | 19 | for ti=0, seltracks-1 do 20 | local track = reaper.GetSelectedTrack(0, ti) 21 | for si=0, reaper.GetTrackNumSends(track, HARDWARE_OUT)-1 do 22 | reaper.SetTrackSendInfo_Value(track, 1, si, "I_SENDMODE", postfader) 23 | end 24 | end 25 | 26 | reaper.Undo_EndBlock(self, UNDO_STATE_TRACKCFG) 27 | -------------------------------------------------------------------------------- /Tracks Properties/tm_Set hardware outputs of selected tracks to pre-fader (post-fx).lua: -------------------------------------------------------------------------------- 1 | -- @description Set hardware outputs of selected tracks to pre-fader (post-fx) 2 | -- @author TM 3 | -- @version 1.0 4 | -- @donation https://www.paypal.me/cfillion 5 | -- @about All credits go to cfillion for his original script and to nofish for helping me editing it. 6 | 7 | local self = ({reaper.get_action_context()})[2]:match('([^/\\_]+).lua$') 8 | local UNDO_STATE_TRACKCFG = 1 9 | local HARDWARE_OUT = 1 -- > 0 10 | local postfader=0 11 | local prefx=1 12 | local postfx=3 13 | 14 | local seltracks = reaper.CountSelectedTracks() 15 | if seltracks < 1 then return reaper.defer(function() end) end 16 | 17 | reaper.Undo_BeginBlock() 18 | 19 | for ti=0, seltracks-1 do 20 | local track = reaper.GetSelectedTrack(0, ti) 21 | for si=0, reaper.GetTrackNumSends(track, HARDWARE_OUT)-1 do 22 | reaper.SetTrackSendInfo_Value(track, 1, si, "I_SENDMODE", postfx) 23 | end 24 | end 25 | 26 | reaper.Undo_EndBlock(self, UNDO_STATE_TRACKCFG) 27 | -------------------------------------------------------------------------------- /Tracks Properties/tm_Set hardware outputs of selected tracks to pre-fader (pre-fx).lua: -------------------------------------------------------------------------------- 1 | -- @description Set hardware outputs of selected tracks to pre-fader (pre-fx) 2 | -- @author TM 3 | -- @version 1.0 4 | -- @donation https://www.paypal.me/cfillion 5 | -- @about All credits go to cfillion for his original script and to nofish for helping me editing it. 6 | 7 | local self = ({reaper.get_action_context()})[2]:match('([^/\\_]+).lua$') 8 | local UNDO_STATE_TRACKCFG = 1 9 | local HARDWARE_OUT = 1 -- > 0 10 | local postfader=0 11 | local prefx=1 12 | local postfx=3 13 | 14 | local seltracks = reaper.CountSelectedTracks() 15 | if seltracks < 1 then return reaper.defer(function() end) end 16 | 17 | reaper.Undo_BeginBlock() 18 | 19 | for ti=0, seltracks-1 do 20 | local track = reaper.GetSelectedTrack(0, ti) 21 | for si=0, reaper.GetTrackNumSends(track, HARDWARE_OUT)-1 do 22 | reaper.SetTrackSendInfo_Value(track, 1, si, "I_SENDMODE", prefx) 23 | end 24 | end 25 | 26 | reaper.Undo_EndBlock(self, UNDO_STATE_TRACKCFG) 27 | -------------------------------------------------------------------------------- /Tracks/reatips_Track icon selector/Menu.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReaTeam/ReaScripts/d42b747a706524d8d19598d377ccbeb0f80a59d7/Tracks/reatips_Track icon selector/Menu.png -------------------------------------------------------------------------------- /Tracks/reatips_Track icon selector/Reset.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReaTeam/ReaScripts/d42b747a706524d8d19598d377ccbeb0f80a59d7/Tracks/reatips_Track icon selector/Reset.png -------------------------------------------------------------------------------- /Various/ED_Smart toggle mute (items, automation items, tracks).lua: -------------------------------------------------------------------------------- 1 | --[[ 2 | * @description Smart toggle mute (items, automation items, tracks) 3 | * @about This script will toggle the mute state of selected items, automation items or tracks, depending on where the mouse clicked last 4 | * @author EvilDragon 5 | * @donate https://www.paypal.me/EvilDragon 6 | * @version 1.0 7 | * Licence: GPL v3 8 | * REAPER: 5.0+ 9 | * Extensions: none required 10 | --]] 11 | 12 | reaper.Undo_BeginBlock() 13 | 14 | last_context = reaper.GetCursorContext2(true) 15 | 16 | if last_context < 2 then 17 | reaper.Main_OnCommand(40183, 0) -- toggle mute tracks or items depending on context 18 | else 19 | reaper.Main_OnCommand(42211, 0) -- toggle mute AIs 20 | end 21 | 22 | reaper.Undo_EndBlock("Smart toggle mute (items, automation items, tracks)", 0) 23 | -------------------------------------------------------------------------------- /Various/FnA_Solo in front dimming louder.eel: -------------------------------------------------------------------------------- 1 | // Description: Solo in front dimming louder 2 | // Version: 1.0 3 | // Author: FnA 4 | // Changelog: Initial release 5 | // Link: Forum Thread http://forum.cockos.com/showthread.php?t=195464 6 | // About: 7 | // Limits and step size modeled on factory mousewheel action for main section. 8 | // Decreases solo in front dimming. In other words, makes non-soloed tracks louder 9 | 10 | // User Variables --------------------------------- 11 | dB10 = 30;// step size. dB value x 10. 35 = 3.5dB, etc. use integers only. 12 | Hi_Limit = -1;// wont go above this. dB value x 10. 35 = 3.5dB, etc. use integers only. 13 | // End of User Variables -------------------------- 14 | 15 | x = dB10 + extension_api("SNM_GetIntConfigVar", "solodimdb10", 666); 16 | extension_api("SNM_SetIntConfigVar", "solodimdb10", x < Hi_Limit ? x : Hi_Limit); 17 | 18 | function NoUndo()(abs(0)); 19 | defer ("NoUndo()"); 20 | -------------------------------------------------------------------------------- /Various/FnA_Solo in front dimming quieter.eel: -------------------------------------------------------------------------------- 1 | // Description: Solo in front dimming quieter 2 | // Version: 1.0 3 | // Author: FnA 4 | // Changelog: Initial release 5 | // Link: Forum Thread http://forum.cockos.com/showthread.php?t=195464 6 | // About: 7 | // Limits and step size modeled on factory mousewheel action for main section. 8 | // Increases solo in front dimming. In other words, makes non-soloed tracks quieter 9 | 10 | // User Variables --------------------------------- 11 | dB10 = 30;// step size. dB value x 10. 35 = 3.5dB, etc. use integers only. 12 | Lo_Limit = -600;// wont go below this. dB value x 10. 35 = 3.5dB, etc. use integers only. 13 | // End of User Variables -------------------------- 14 | 15 | x = (dB10*(-1)) + extension_api("SNM_GetIntConfigVar", "solodimdb10", 666); 16 | extension_api("SNM_SetIntConfigVar", "solodimdb10", x > Lo_Limit ? x : Lo_Limit); 17 | 18 | function NoUndo()(abs(0)); 19 | defer ("NoUndo()"); 20 | -------------------------------------------------------------------------------- /Various/HeDa_View Scroll Bottom.lua: -------------------------------------------------------------------------------- 1 | --[[ 2 | * ReaScript Name: View Scroll Bottom 3 | * Lua script for Cockos REAPER 4 | * Author: HeDa 5 | * Author URI: http://forum.cockos.com/member.php?u=47822 6 | * Licence: GPL v3 7 | * Version: 1.0 8 | ]] 9 | 10 | local function Save_Selected_Tracks(table) 11 | for i=1, reaper.CountTracks(0) do 12 | table[i]=reaper.IsTrackSelected(reaper.GetTrack(0,i-1)) 13 | end 14 | end 15 | local function Restore_Selected_Tracks(table) 16 | for k,v in pairs(table) do 17 | reaper.SetTrackSelected(reaper.GetTrack(0,k-1), v) 18 | end 19 | end 20 | 21 | reaper.Undo_BeginBlock2(0) 22 | reaper.PreventUIRefresh(1) 23 | tracks = {} 24 | Save_Selected_Tracks(tracks) 25 | reaper.SetOnlyTrackSelected(reaper.GetTrack(0,reaper.CountTracks(0)-1)) -- select last 26 | reaper.Main_OnCommand(40913,0) -- scroll into view 27 | Restore_Selected_Tracks(tracks) 28 | reaper.PreventUIRefresh(-1) 29 | reaper.Undo_EndBlock2(0, "Scroll Bottom", -1) 30 | -------------------------------------------------------------------------------- /Various/HeDa_View Scroll Top.lua: -------------------------------------------------------------------------------- 1 | --[[ 2 | * ReaScript Name: View Scroll Top 3 | * Lua script for Cockos REAPER 4 | * Author: HeDa 5 | * Author URI: http://forum.cockos.com/member.php?u=47822 6 | * Licence: GPL v3 7 | * Version: 1.0 8 | ]] 9 | 10 | local function Save_Selected_Tracks(table) 11 | for i=1, reaper.CountTracks(0) do 12 | table[i]=reaper.IsTrackSelected(reaper.GetTrack(0,i-1)) 13 | end 14 | end 15 | local function Restore_Selected_Tracks(table) 16 | for k,v in pairs(table) do 17 | reaper.SetTrackSelected(reaper.GetTrack(0,k-1), v) 18 | end 19 | end 20 | 21 | reaper.Undo_BeginBlock2(0) 22 | reaper.PreventUIRefresh(1) 23 | tracks = {} 24 | Save_Selected_Tracks(tracks) 25 | reaper.SetOnlyTrackSelected(reaper.GetTrack(0,0)) -- select first 26 | reaper.Main_OnCommand(40913,0) -- scroll into view 27 | Restore_Selected_Tracks(tracks) 28 | reaper.PreventUIRefresh(-1) 29 | reaper.Undo_EndBlock2(0, "Scroll Top", -1) 30 | -------------------------------------------------------------------------------- /Various/Lokasenna_Open Reaper folder.lua: -------------------------------------------------------------------------------- 1 | --[[ 2 | Description: Open Reaper folder 3 | Version: 1.0 4 | Author: Lokasenna 5 | Donation: https://paypal.me/Lokasenna 6 | Changelog: 7 | Links: 8 | Lokasenna's Website http://forum.cockos.com/member.php?u=10417 9 | About: 10 | Opens the folder containing Reaper's executable file. 11 | Extensions: 12 | Provides: 13 | --]] 14 | 15 | -- Licensed under the GNU GPL v3 16 | 17 | local path = reaper.GetExePath() 18 | local OS = reaper.GetOS() 19 | 20 | if OS == "OSX32" or OS == "OSX64" then 21 | os.execute('open "" "' .. path .. '"') 22 | else 23 | os.execute('start "" "' .. path .. '"') 24 | end -------------------------------------------------------------------------------- /Various/Lokasenna_Open Resource folder.lua: -------------------------------------------------------------------------------- 1 | --[[ 2 | Description: Open Resource folder 3 | Version: 1.0 4 | Author: Lokasenna 5 | Donation: https://paypal.me/Lokasenna 6 | Changelog: 7 | Links: 8 | Lokasenna's Website http://forum.cockos.com/member.php?u=10417 9 | About: 10 | Opens the folder containing Reaper's resources (effects, scripts, etc) 11 | Extensions: 12 | Provides: 13 | --]] 14 | 15 | -- Licensed under the GNU GPL v3 16 | 17 | local path = reaper.GetResourcePath() 18 | local OS = reaper.GetOS() 19 | 20 | if OS == "OSX32" or OS == "OSX64" then 21 | os.execute('open "" "' .. path .. '"') 22 | else 23 | os.execute('start "" "' .. path .. '"') 24 | end -------------------------------------------------------------------------------- /Various/Lokasenna_Radial Menu/Lokasenna_Radial Menu Setup.lua: -------------------------------------------------------------------------------- 1 | --[[ 2 | This script is part of Lokasenna_Radial Menu.lua 3 | NoIndex: true 4 | --]] 5 | 6 | -- Licensed under the GNU GPL v3 7 | 8 | setup = true 9 | 10 | local script_path = debug.getinfo(1,'S').source:match[[^@?(.*[\/])[^\/]-$]] 11 | dofile(script_path .. "Lokasenna_Radial Menu.lua") 12 | -------------------------------------------------------------------------------- /Various/Lokasenna_Refresh current theme.lua: -------------------------------------------------------------------------------- 1 | --[[ 2 | Description: Refresh current theme 3 | Version: 1.0.0 4 | Author: Lokasenna 5 | Donation: https://paypal.me/Lokasenna 6 | Changelog: 7 | Initial release 8 | Links: 9 | Lokasenna's Website http://forum.cockos.com/member.php?u=10417 10 | About: 11 | Reloads the current Reaper theme 12 | 13 | Donation: https://www.paypal.me/Lokasenna 14 | ]]-- 15 | 16 | local themePath = reaper.GetLastColorThemeFile() 17 | reaper.OpenColorThemeFile(themePath) 18 | reaper.UpdateArrange() 19 | reaper.UpdateTimeline() 20 | -------------------------------------------------------------------------------- /Various/Lokasenna_Scroll mixer to first selected track.lua: -------------------------------------------------------------------------------- 1 | --[[ 2 | Description: Scroll mixer to first selected track 3 | Version: 1.0.1 4 | Author: Lokasenna 5 | Donation: https://paypal.me/Lokasenna 6 | Changelog: 7 | Bug fix 8 | Links: 9 | Lokasenna's Website http://forum.cockos.com/member.php?u=10417 10 | About: 11 | Scrolls the mixer so that the first selected track 12 | is at the left-hand side, if possible. 13 | Extensions: 14 | --]] 15 | 16 | -- Licensed under the GNU GPL v3 17 | 18 | if reaper.CountSelectedTracks( 0 ) > 0 then 19 | reaper.SetMixerScroll( reaper.GetSelectedTrack(0, 0) ) 20 | end 21 | -------------------------------------------------------------------------------- /Various/amagalma_Go to track (mousewheel only) reverse.eel: -------------------------------------------------------------------------------- 1 | // @description amagalma_Go to track (mousewheel only) reverse 2 | // @author amagalma 3 | // @version 1.0 4 | // @about 5 | // # Works in a reverse direction to action "View: Go to track (MIDI CC/OSC only)" (993) 6 | // 7 | 8 | function main() 9 | ( 10 | PreventUIRefresh(1); 11 | lasttrack = GetLastTouchedTrack(); 12 | get_action_context(#filename,sectionID,cmdID,mode,resolution,val); 13 | val > 0 ? // Mousewheel up 14 | ( 15 | SetOnlyTrackSelected(lasttrack); 16 | Main_OnCommand(40286,0); // Track: Go to previous track 17 | ) 18 | : // Mousewheel down 19 | ( 20 | SetOnlyTrackSelected(lasttrack); 21 | Main_OnCommand(40285,0); // Track: Go to next track 22 | ); 23 | PreventUIRefresh(-1); 24 | ); 25 | 26 | defer("main()"); // No undo point creation 27 | -------------------------------------------------------------------------------- /Various/amagalma_Grid Settings button/amagalma_dot.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReaTeam/ReaScripts/d42b747a706524d8d19598d377ccbeb0f80a59d7/Various/amagalma_Grid Settings button/amagalma_dot.png -------------------------------------------------------------------------------- /Various/amagalma_Grid Settings button/amagalma_eighth_note.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReaTeam/ReaScripts/d42b747a706524d8d19598d377ccbeb0f80a59d7/Various/amagalma_Grid Settings button/amagalma_eighth_note.png -------------------------------------------------------------------------------- /Various/amagalma_Grid Settings button/amagalma_grid_button.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReaTeam/ReaScripts/d42b747a706524d8d19598d377ccbeb0f80a59d7/Various/amagalma_Grid Settings button/amagalma_grid_button.png -------------------------------------------------------------------------------- /Various/amagalma_Grid Settings button/amagalma_half_note.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReaTeam/ReaScripts/d42b747a706524d8d19598d377ccbeb0f80a59d7/Various/amagalma_Grid Settings button/amagalma_half_note.png -------------------------------------------------------------------------------- /Various/amagalma_Grid Settings button/amagalma_quarter_note.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReaTeam/ReaScripts/d42b747a706524d8d19598d377ccbeb0f80a59d7/Various/amagalma_Grid Settings button/amagalma_quarter_note.png -------------------------------------------------------------------------------- /Various/amagalma_Grid Settings button/amagalma_sixteenth_note.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReaTeam/ReaScripts/d42b747a706524d8d19598d377ccbeb0f80a59d7/Various/amagalma_Grid Settings button/amagalma_sixteenth_note.png -------------------------------------------------------------------------------- /Various/amagalma_Grid Settings button/amagalma_sixtyfourth_note.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReaTeam/ReaScripts/d42b747a706524d8d19598d377ccbeb0f80a59d7/Various/amagalma_Grid Settings button/amagalma_sixtyfourth_note.png -------------------------------------------------------------------------------- /Various/amagalma_Grid Settings button/amagalma_thirtysecond_note.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReaTeam/ReaScripts/d42b747a706524d8d19598d377ccbeb0f80a59d7/Various/amagalma_Grid Settings button/amagalma_thirtysecond_note.png -------------------------------------------------------------------------------- /Various/amagalma_Grid Settings button/amagalma_triplet.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReaTeam/ReaScripts/d42b747a706524d8d19598d377ccbeb0f80a59d7/Various/amagalma_Grid Settings button/amagalma_triplet.png -------------------------------------------------------------------------------- /Various/amagalma_Grid Settings button/amagalma_whole_note.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReaTeam/ReaScripts/d42b747a706524d8d19598d377ccbeb0f80a59d7/Various/amagalma_Grid Settings button/amagalma_whole_note.png -------------------------------------------------------------------------------- /Various/amagalma_Toggle behavior of Play-Stop buttons.lua: -------------------------------------------------------------------------------- 1 | -- @description amagalma_Toggle behavior of Play-Stop buttons 2 | -- @author amagalma 3 | -- @version 1.0 4 | -- @about 5 | -- # Toggles behavior of Play-Stop actions between amagalma's custom or Reaper's default 6 | -- 7 | -- - To be used in conjunction with my "Transport (with memory - no undo)" scripts 8 | 9 | ------------------------------------------------------------------------------------------- 10 | 11 | local reaper = reaper 12 | 13 | local cmdID = reaper.NamedCommandLookup("_RS4b332fb0ea338b4991de7e2e9cd81032d79647da") 14 | local script_state = reaper.GetToggleCommandStateEx(0,cmdID) 15 | 16 | if script_state < 1 then 17 | script_state = 1 18 | else 19 | script_state = 0 20 | end 21 | 22 | reaper.SetToggleCommandState(0,cmdID, script_state) 23 | reaper.RefreshToolbar2(0,cmdID) 24 | 25 | -- No undo point 26 | function NoUndoPoint() end reaper.defer(NoUndoPoint) 27 | -------------------------------------------------------------------------------- /Various/amagalma_Toggle show media itemtake or automation item properties, depending on last touched context.lua: -------------------------------------------------------------------------------- 1 | -- @description Toggle show media item/take or automation item properties, depending on last touched context 2 | -- @author amagalma 3 | -- @version 1.00 4 | -- @donation https://www.paypal.me/amagalma 5 | -- @about 6 | -- Runs action "Item properties: Toggle show media item/take properties" or "Envelope: Automation item properties..." depending on last touched cursor context 7 | -- 8 | -- Good to replace native F2 key shortcut 9 | 10 | 11 | local context = reaper.GetCursorContext2( true ) 12 | if context == 2 then 13 | reaper.Main_OnCommand(42090, 0) -- Automation item properties... 14 | else 15 | reaper.Main_OnCommand(41589, 0) -- Toggle show media item/take properties 16 | end 17 | reaper.defer( function() end ) 18 | -------------------------------------------------------------------------------- /Various/beaunus_Clip_Splicer/example/example.json: -------------------------------------------------------------------------------- 1 | { 2 | "title": "An example REAPER Clip Splicer specification.", 3 | "path": "clips", 4 | "components": [{ 5 | "type": "REGION", 6 | "name": "Simple example", 7 | "components": [{ 8 | "type": "MEDIA ITEM", 9 | "track": "Person1", 10 | "name": "Word1", 11 | "length": 200, 12 | "mute": true, 13 | "filename": "P1-W1.wav" 14 | }, 15 | { 16 | "type": "MEDIA ITEM", 17 | "track": "Person2", 18 | "name": "Pause after clip.", 19 | "length": 2 20 | }, 21 | { 22 | "type": "REGION", 23 | "components": [ 24 | { 25 | "type": "MEDIA ITEM", 26 | "length": 1e-1 27 | } 28 | ] 29 | } 30 | ] 31 | }] 32 | } 33 | -------------------------------------------------------------------------------- /Various/cfillion_Enable or disable external timecode synchronization.lua: -------------------------------------------------------------------------------- 1 | -- @description Enable or disable external timecode synchronization 2 | -- @author cfillion 3 | -- @version 1.0 4 | -- @metapackage 5 | -- @provides 6 | -- [main] . > cfillion_Enable external timecode synchronization.lua 7 | -- [main] . > cfillion_Disable external timecode synchronization.lua 8 | -- @about This package provides two actions for enabling or disabling REAPER's external timecode synchronization. 9 | 10 | local action = 40620 -- Toggle external timecode synchronization 11 | local modes = {Enable=1, Disable=0} 12 | local name = ({reaper.get_action_context()})[2]:match("([^/\\_]+)%.lua$") 13 | local state = reaper.GetToggleCommandState(action) 14 | local mode = assert(modes[name:match('^%w+')], 'Invalid script filename') 15 | 16 | if state ~= mode then 17 | reaper.Main_OnCommand(action, 0) 18 | end 19 | -------------------------------------------------------------------------------- /Various/edgemeal_Maximize foreground window.lua: -------------------------------------------------------------------------------- 1 | -- @description Maximize foreground window 2 | -- @author Edgemeal 3 | -- @version 1.0 4 | -- @about 5 | -- Call this script from a keyboard shortcut. 6 | -- Mainly useful for floating FX and similar windows that don't have a Maximize option. 7 | -- Companion script: Restore foreground window. 8 | 9 | if not reaper.APIExists("JS_WindowMessage_Post") then 10 | reaper.MB("js_ReaScriptAPI extension is required for this script.", "Missing API", 0) 11 | else 12 | -- Get foreground window, if child of reaper then maximize it. 13 | local hwnd = reaper.JS_Window_GetForeground() 14 | if reaper.JS_Window_GetParent(hwnd) == reaper.GetMainHwnd() then 15 | reaper.JS_WindowMessage_Post(hwnd, "WM_SYSCOMMAND", 0xF030, 0, 0, 0) 16 | end 17 | end 18 | 19 | reaper.defer(function () end) 20 | -------------------------------------------------------------------------------- /Various/edgemeal_Restore foreground window.lua: -------------------------------------------------------------------------------- 1 | -- @description Restore foreground window 2 | -- @author Edgemeal 3 | -- @version 1.0 4 | -- @about 5 | -- Call this script from a keyboard shortcut. 6 | -- Mainly useful for floating FX and similar windows. 7 | -- Companion script: Maximize foreground window. 8 | 9 | if not reaper.APIExists("JS_WindowMessage_Post") then 10 | reaper.MB("js_ReaScriptAPI extension is required for this script.", "Missing API", 0) 11 | else 12 | -- Get foreground window, if child of reaper then maximize it. 13 | local hwnd = reaper.JS_Window_GetForeground() 14 | if reaper.JS_Window_GetParent(hwnd) == reaper.GetMainHwnd() then 15 | reaper.JS_WindowMessage_Post(hwnd, "WM_SYSCOMMAND", 0xF120, 0, 0, 0) 16 | end 17 | end 18 | 19 | reaper.defer(function () end) -------------------------------------------------------------------------------- /Various/mschnell_Mini song switcher/mschnell_Mini song switcher project.eel: -------------------------------------------------------------------------------- 1 | // @noindex 2 | 3 | #tab_id = " "; 4 | get_action_context(#filename, sectionID, cmdID, mode, resolution, val) ? ( 5 | c0 = (val / 10) | 0; 6 | c1 = (val % 10) | 0; 7 | str_setchar(#tab_id, 0, c0+'0'); 8 | str_setchar(#tab_id, 1, c1+'0'); 9 | ); 10 | SetExtState("Mini_Song_Switcher", "tab_id", #tab_id, 0); 11 | -------------------------------------------------------------------------------- /Various/rodilab_Color palette/color_palette_arm.cur: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReaTeam/ReaScripts/d42b747a706524d8d19598d377ccbeb0f80a59d7/Various/rodilab_Color palette/color_palette_arm.cur -------------------------------------------------------------------------------- /Various/rodilab_Color palette/color_palette_arm_insert.cur: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReaTeam/ReaScripts/d42b747a706524d8d19598d377ccbeb0f80a59d7/Various/rodilab_Color palette/color_palette_arm_insert.cur -------------------------------------------------------------------------------- /Various/spk77_Track IO mixer/spk77_volthumb_47x21.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReaTeam/ReaScripts/d42b747a706524d8d19598d377ccbeb0f80a59d7/Various/spk77_Track IO mixer/spk77_volthumb_47x21.png -------------------------------------------------------------------------------- /Various/talagan_Spectracular/ext/imgui.lua: -------------------------------------------------------------------------------- 1 | -- @noindex 2 | -- @author Ben 'Talagan' Babut 3 | -- @license MIT 4 | -- @description This file is part of Spectracular 5 | 6 | local ImGui = require 'imgui' '0.9.3' 7 | 8 | return ImGui -------------------------------------------------------------------------------- /Various/talagan_Spectracular/images/spectracular.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReaTeam/ReaScripts/d42b747a706524d8d19598d377ccbeb0f80a59d7/Various/talagan_Spectracular/images/spectracular.png -------------------------------------------------------------------------------- /Various/talagan_Spectracular/modules/csv.lua: -------------------------------------------------------------------------------- 1 | -- @noindex 2 | -- @author Ben 'Talagan' Babut 3 | -- @license MIT 4 | -- @description This file is part of Spectracular 5 | 6 | -- Helper debug dump functions 7 | local function file_dumper(file_name, count, func) 8 | local file = io.open(file_name, "wb") 9 | if not file then return end 10 | 11 | for i=1, count do 12 | file:write(func(i)) 13 | end 14 | 15 | file:close() 16 | end 17 | 18 | local function dump(file_name, values) 19 | file_dumper(file_name, #values, function(i) return "" .. values[i] .. "\n" end) 20 | end 21 | 22 | local function dump2(file_name, xvalues, yvalues) 23 | file_dumper(file_name, #xvalues, function(i) return "" .. xvalues[i] .. "," .. yvalues[i] .. "\n" end) 24 | end 25 | 26 | return { 27 | dump = dump, 28 | dump2 = dump2 29 | } 30 | -------------------------------------------------------------------------------- /Various/talagan_Spectracular/modules/dsp/fft_bins_to_db.eel: -------------------------------------------------------------------------------- 1 | // @noindex 2 | // @author Ben 'Talagan' Babut 3 | // @license MIT 4 | // @description This file is part of Spectracular 5 | 6 | function fft_to_db(fft_bins, bin_count, ref_energy, floor_db) 7 | local(mult) 8 | ( 9 | mult = 1.0 / ref_energy; 10 | bin_of_floor = pow(10, 0.1 * floor_db) / mult; 11 | 12 | i = 0; 13 | while(i < bin_count) ( 14 | 15 | fft_bins[i] = (fft_bins[i] < bin_of_floor)?(floor_db):(10 * log10(fft_bins[i] * mult)); 16 | 17 | i = i + 1; 18 | ); 19 | 20 | ); 21 | 22 | fft_to_db(_FFT_BINS, _FFT_BIN_COUNT, _REF_ENERGY, _FLOOR_DB); 23 | -------------------------------------------------------------------------------- /Various/talagan_Spectracular/modules/midi.lua: -------------------------------------------------------------------------------- 1 | -- @noindex 2 | -- @author Ben 'Talagan' Babut 3 | -- @license MIT 4 | -- @description This file is part of Spectracular 5 | 6 | -- A few midi helpers 7 | 8 | local function midiNoteToFrequency(n) 9 | return 440 * 2^( (n-69)/12 ) 10 | end 11 | 12 | -- Midi note number. octava_num goes from -1 to 9 13 | local function midiNoteNumber(ocatava_num, index_0_11) 14 | -- A4 -> 69 15 | return (ocatava_num + 1) * 12 + index_0_11 16 | end 17 | 18 | local note_names = { "C", "C#", "D", "D#", "E", "F", "F#", "G", "G#", "A", "A#", "B" } 19 | local function noteName(note_num) 20 | local n = math.floor(note_num + 0.5) -- use round if floating 21 | local nn = (n % 12) 22 | local o = math.floor(n/12) - 1 23 | return "" .. note_names[nn+1] .. "" .. o 24 | end 25 | 26 | return { 27 | noteNumber = midiNoteNumber, 28 | noteToFrequency = midiNoteToFrequency, 29 | noteName = noteName 30 | } 31 | -------------------------------------------------------------------------------- /Various/talagan_Spectracular/modules/unit_test.lua: -------------------------------------------------------------------------------- 1 | -- @noindex 2 | -- @author Ben 'Talagan' Babut 3 | -- @license MIT 4 | -- @description This file is part of Spectracular 5 | 6 | local DSP_UT = require "unit_tests/dsp" 7 | 8 | local function launch() 9 | 10 | if false then 11 | DSP_UT.resample() 12 | end 13 | 14 | DSP_UT.interleave_deinterleave() 15 | DSP_UT.hann_window() 16 | end 17 | 18 | return { 19 | launch = launch 20 | } 21 | -------------------------------------------------------------------------------- /Various/timtam_IntelliFreeze/timtam_IntelliFreeze Freeze all selected tracks to mono recursively.lua: -------------------------------------------------------------------------------- 1 | -- @noindex 2 | 3 | -- fixing script path for correct require calls 4 | local path = ({reaper.get_action_context()})[2]:match('^.+[\\//]') 5 | package.path = path .. "?.lua" 6 | 7 | local IntelliFreeze = require("timtam_IntelliFreeze") 8 | 9 | local tracks = IntelliFreeze.getSelectedTracks(nil, true) 10 | 11 | IntelliFreeze.filterArrayInplace(tracks, IntelliFreeze.getTrackRequiresFreezing) 12 | 13 | IntelliFreeze.freezeTracks(tracks, 0) 14 | -------------------------------------------------------------------------------- /Various/timtam_IntelliFreeze/timtam_IntelliFreeze Freeze all selected tracks to multi-channel recursively.lua: -------------------------------------------------------------------------------- 1 | -- @noindex 2 | 3 | -- fixing script path for correct require calls 4 | local path = ({reaper.get_action_context()})[2]:match('^.+[\\//]') 5 | package.path = path .. "?.lua" 6 | 7 | local IntelliFreeze = require("timtam_IntelliFreeze") 8 | 9 | local tracks = IntelliFreeze.getSelectedTracks(nil, true) 10 | 11 | IntelliFreeze.filterArrayInplace(tracks, IntelliFreeze.getTrackRequiresFreezing) 12 | 13 | IntelliFreeze.freezeTracks(tracks, 2) 14 | -------------------------------------------------------------------------------- /Various/timtam_IntelliFreeze/timtam_IntelliFreeze Freeze all selected tracks to stereo recursively.lua: -------------------------------------------------------------------------------- 1 | -- @noindex 2 | 3 | -- fixing script path for correct require calls 4 | local path = ({reaper.get_action_context()})[2]:match('^.+[\\//]') 5 | package.path = path .. "?.lua" 6 | 7 | local IntelliFreeze = require("timtam_IntelliFreeze") 8 | 9 | local tracks = IntelliFreeze.getSelectedTracks(nil, true) 10 | 11 | IntelliFreeze.filterArrayInplace(tracks, IntelliFreeze.getTrackRequiresFreezing) 12 | 13 | IntelliFreeze.freezeTracks(tracks, 1) 14 | -------------------------------------------------------------------------------- /Various/timtam_IntelliFreeze/timtam_IntelliFreeze Unfreeze all selected tracks recursively.lua: -------------------------------------------------------------------------------- 1 | -- @noindex 2 | 3 | -- fixing script path for correct require calls 4 | local path = ({reaper.get_action_context()})[2]:match('^.+[\\//]') 5 | package.path = path .. "?.lua" 6 | 7 | local IntelliFreeze = require("timtam_IntelliFreeze") 8 | 9 | local tracks = IntelliFreeze.getSelectedTracks(nil, true) 10 | 11 | IntelliFreeze.freezeTracks(tracks, 3) 12 | -------------------------------------------------------------------------------- /View/amagalma_Zoom to current region (where edit cursor is).lua: -------------------------------------------------------------------------------- 1 | -- @description Zoom to current region (where edit cursor is) 2 | -- @author amagalma 3 | -- @version 1.00 4 | -- @about Requires JS_ReaScriptAPI 5 | 6 | local pixels=20 -- Set how many pixels of clearance you want 7 | local A1a,A2a,A3a,A4a,A5a,A6a,A7a=reaper.GetSet_ArrangeView2, reaper.GetCursorPosition,reaper.EnumProjectMarkers,reaper.JS_Window_FindChildByID,reaper.GetLastMarkerAndCurRegion,reaper.GetMainHwnd,reaper.JS_Window_GetClientRect if A4a then local _,hfbn=A5a(0,A2a())if hfbn~=-1 then local retval,sra,HHs,ojdJ,ojS,sojJ=A3a(hfbn) local uh3HH=A4a(A6a(),0x3E8)if uh3HH then local ppp,qq2,kkk3,dxx,uuU3=A7a(uh3HH)if ppp then A1a(0,1,qq2+pixels,dxx-pixels,HHs,ojdJ) end end end end reaper.defer(function()end) 8 | -------------------------------------------------------------------------------- /View/talagan_Docking tools/actions/talagan_Generic dock resize action.lua: -------------------------------------------------------------------------------- 1 | -- @noindex 2 | -- @author Ben 'Talagan' Babut 3 | -- @license MIT 4 | -- @description This is part of Talagan Docking Tools 5 | 6 | package.path = debug.getinfo(1,"S").source:match[[^@?(.*[\/])[^\/]-$]] .."?.lua;".. package.path 7 | 8 | local ok, docking_lib = pcall(require, "talagan_Docking tools/docking_lib") 9 | if not ok then 10 | reaper.MB("This script is not well installed. Please install 'Docking tools' with Reapack.","Ouch!",0) 11 | return 12 | end 13 | 14 | if not docking_lib.CheckDependencies() then return end 15 | 16 | docking_lib.resizeDockFromActionName(debug.getinfo(1,"S").source) 17 | 18 | --------------------------------------------------------------------------------