diff --git a/Customization/Bluethereal fonts/PatternConfig.xml b/Customization/Bluethereal fonts/PatternConfig.xml new file mode 100644 index 0000000..2260c63 --- /dev/null +++ b/Customization/Bluethereal fonts/PatternConfig.xml @@ -0,0 +1,23 @@ + + + + 11,11 + Fonts/DejaVuSansMono.ttf + YES + + + 11,11 + Fonts/PatternFont.ttf + YES + + + 12,12 + Fonts/PatternFont.ttf + YES + + + 13,13 + Fonts/PatternFont.ttf + YES + + diff --git a/Customization/Bluethereal fonts/PatternFont.ttf b/Customization/Bluethereal fonts/PatternFont.ttf new file mode 100644 index 0000000..059c940 Binary files /dev/null and b/Customization/Bluethereal fonts/PatternFont.ttf differ diff --git a/DeviceChains/colourcopy-valhalladelay-pingpong-niceness.xrnt b/DeviceChains/colourcopy-valhalladelay-pingpong-niceness.xrnt new file mode 100644 index 0000000..25b2450 --- /dev/null +++ b/DeviceChains/colourcopy-valhalladelay-pingpong-niceness.xrnt @@ -0,0 +1,322 @@ + + + Init + Bundled Content + false + + + false + false + Init + Bundled Content + true + + 1.0 + Device only + + -1 + AU + aumf:uLyr:UHfX + AU: u-he: ColourCopy + ColourCopy + 472,320 + Chunk + + + + 0.189999998 + Device only + + + 0.74444443 + Device only + + + 0.5 + Device only + + + 0.0 + Device only + + + 0.400000006 + Device only + + + 0.0 + Device only + + + 0.0 + Device only + + + 1.0 + Device only + + + 1.0 + Device only + + + 0.0 + Device only + + + 0.200000003 + Device only + + + 0.5 + Device only + + + 0.610000014 + Device only + + + 0.0 + Device only + + + 0.379999995 + Device only + + + 1.0 + Device only + + + 0.75 + Device only + + + 1.0 + Device only + + + 0.0 + Device only + + + 0.666666687 + Device only + + + 0.0 + Device only + + + 0.0 + Device only + + + 1.0 + Device only + + + 0.5 + Device only + + + 0.5 + Device only + + + 0.5 + Device only + + + 0.0 + Device only + + + 0.0 + Device only + + + 0.0 + Device only + + + 0.0 + Device only + + + + + false + true + Init + Bundled Content + true + + 1.0 + Device only + + -1 + AU + aufx:dLay:oDin + AU: Valhalla DSP, LLC: ValhallaDelay + ValhallaDelay + 566,308 + Chunk + + + + 0.136000007 + Device only + + + 0.963 + Device only + + + 0.25 + Device only + + + 0.200000003 + Device only + + + 0.55400002 + Device only + + + 0.25 + Device only + + + 0.200000003 + Device only + + + 0.300000012 + Device only + + + 0.5 + Device only + + + 0.586000025 + Device only + + + 0.614141405 + Device only + + + 1.0 + Device only + + + 1.0 + Device only + + + 1.0 + Device only + + + 1.0 + Device only + + + 1.0 + Device only + + + 0.407999992 + Device only + + + 1.0 + Device only + + + 0.0 + Device only + + + 1.0 + Device only + + + 0.358999997 + Device only + + + 1.0 + Device only + + + 0.0540000014 + Device only + + + 1.0 + Device only + + + 0.273834109 + Device only + + + 0.5 + Device only + + + 0.5 + Device only + + + 0.5 + Device only + + + 0.5 + Device only + + + 0.579999983 + Device only + + + 0.5 + Device only + + + 0.5 + Device only + + + 0.0416666679 + Device only + + + 0.333333343 + Device only + + + 0.0 + Device only + + + 0.0 + Device only + + + 0.0 + Device only + + + 0.0 + Device only + + + + + diff --git a/KeyBindings/2024_08_16_midimappings_midimix.xrnm b/KeyBindings/2024_08_16_midimappings_midimix.xrnm deleted file mode 100644 index c73c0b7..0000000 --- a/KeyBindings/2024_08_16_midimappings_midimix.xrnm +++ /dev/null @@ -1,313 +0,0 @@ - - - - - Paketti:Midi Selected Instrument Macro 2 (Cutoff) - - - Controllers - Absolute 7 bit - Trigger - 0 - 20 - 0.0 - 1.0 - - - - - Paketti:Midi Selected Instrument Macro 3 (Resonance) - - - Controllers - Absolute 7 bit - Trigger - 0 - 24 - 0.0 - 1.0 - - - - - Paketti:Midi Selected Instrument Macro 4 (Cutoff LfoAmp) - - - Controllers - Absolute 7 bit - Trigger - 0 - 28 - 0.0 - 1.0 - - - - - Paketti:Midi Selected Instrument Macro 5 (Cutoff LfoFreq) - - - Controllers - Absolute 7 bit - Trigger - 0 - 46 - 0.0 - 1.0 - - - - - Paketti:Midi Selected Instrument Macro 6 (Overdrive) - - - Controllers - Absolute 7 bit - Trigger - 0 - 50 - 0.0 - 1.0 - - - - - Paketti:Midi Selected Instrument Macro 7 (Volume LfoAmp) - - - Controllers - Absolute 7 bit - Trigger - 0 - 54 - 0.0 - 1.0 - - - - - Paketti:Midi Selected Instrument Macro 8 (Volume LfoFreq) - - - Controllers - Absolute 7 bit - Trigger - 0 - 58 - 0.0 - 1.0 - - - - - Paketti:Midi Change Selected Track x[Knob] - - - Controllers - Absolute 7 bit - Trigger - 0 - 17 - 0.0 - 1.0 - - - - - Paketti:Midi Change Selected Instrument x[Knob] - - - Controllers - Absolute 7 bit - Trigger - 0 - 21 - 0.0 - 1.0 - - - - - Paketti:Midi Change Octave x[Knob] - - - Controllers - Absolute 7 bit - Trigger - 0 - 25 - 0.0 - 1.0 - - - - - Paketti:Midi Automation Selection 01 Start x[Knob] - - - Controllers - Absolute 7 bit - Trigger - 0 - 18 - 0.0 - 1.0 - - - - - Paketti:Midi Automation Selection 02 End x[Knob] - - - Controllers - Absolute 7 bit - Trigger - 0 - 22 - 0.0 - 1.0 - - - - - Track Automation:Paketti:Midi Automation Curve Draw Selection x[Knob] - - - Controllers - Absolute 7 bit - Trigger - 0 - 26 - 0.0 - 1.0 - - - - - Paketti:Computer Keyboard Velocity Slider x[Knob] - - - Controllers - Absolute 7 bit - Trigger - 0 - 29 - 0.0 - 1.0 - - - - - Paketti:Shift Sample Buffer Down x[Knob] - - - Controllers - Absolute 7 bit - Trigger - 0 - 56 - 0.0 - 1.0 - - - - - Paketti:Shift Sample Buffer Up x[Knob] - - - Controllers - Absolute 7 bit - Trigger - 0 - 52 - 0.0 - 1.0 - - - - - Paketti:Rotate Sample Buffer Content Backward [Set] - - - Controllers - Absolute 7 bit - Trigger - 0 - 48 - 0.0 - 1.0 - - - - - Paketti:Rotate Sample Buffer Content Forward [Set] - - - Controllers - Absolute 7 bit - Trigger - 0 - 60 - 0.0 - 1.0 - - - - - Paketti:Midi Change 01 Volume Column Value x[Knob] - - - Controllers - Absolute 7 bit - Trigger - 0 - 47 - 0.0 - 1.0 - - - - - Paketti:Midi Change 02 Panning Column Value x[Knob] - - - Controllers - Absolute 7 bit - Trigger - 0 - 51 - 0.0 - 1.0 - - - - - Paketti:Midi Change 03 Delay Column Value x[Knob] - - - Controllers - Absolute 7 bit - Trigger - 0 - 55 - 0.0 - 1.0 - - - - - Paketti:Midi Change 04 Effect Column Value x[Knob] - - - Controllers - Absolute 7 bit - Trigger - 0 - 59 - 0.0 - 1.0 - - - - - diff --git a/KeyBindings/2024_11_03_midimappings_midimix.xrnm b/KeyBindings/2024_11_03_midimappings_midimix.xrnm deleted file mode 100644 index 80bc8da..0000000 --- a/KeyBindings/2024_11_03_midimappings_midimix.xrnm +++ /dev/null @@ -1,327 +0,0 @@ - - - - - Paketti:Midi Selected Instrument Macro 2 (Cutoff) - - - Controllers - Absolute 7 bit - Trigger - 0 - 20 - 0.0 - 1.0 - - - - - Paketti:Midi Selected Instrument Macro 3 (Resonance) - - - Controllers - Absolute 7 bit - Trigger - 0 - 24 - 0.0 - 1.0 - - - - - Paketti:Midi Selected Instrument Macro 4 (Cutoff LfoAmp) - - - Controllers - Absolute 7 bit - Trigger - 0 - 28 - 0.0 - 1.0 - - - - - Paketti:Midi Selected Instrument Macro 5 (Cutoff LfoFreq) - - - Controllers - Absolute 7 bit - Trigger - 0 - 46 - 0.0 - 1.0 - - - - - Paketti:Midi Selected Instrument Macro 6 (Overdrive) - - - Controllers - Absolute 7 bit - Trigger - 0 - 50 - 0.0 - 1.0 - - - - - Paketti:Midi Change Selected Track x[Knob] - - - Controllers - Absolute 7 bit - Trigger - 0 - 17 - 0.0 - 1.0 - - - - - Paketti:Midi Change Selected Instrument x[Knob] - - - Controllers - Absolute 7 bit - Trigger - 0 - 21 - 0.0 - 1.0 - - - - - Paketti:Midi Change Octave x[Knob] - - - Controllers - Absolute 7 bit - Trigger - 0 - 25 - 0.0 - 1.0 - - - - - Paketti:Midi Automation Selection 01 Start x[Knob] - - - Controllers - Absolute 7 bit - Trigger - 0 - 18 - 0.0 - 1.0 - - - - - Paketti:Midi Automation Selection 02 End x[Knob] - - - Controllers - Absolute 7 bit - Trigger - 0 - 22 - 0.0 - 1.0 - - - - - Track Automation:Paketti:Midi Automation Curve Draw Selection x[Knob] - - - Controllers - Absolute 7 bit - Trigger - 0 - 26 - 0.0 - 1.0 - - - - - Paketti:Computer Keyboard Velocity Slider x[Knob] - - - Controllers - Absolute 7 bit - Trigger - 0 - 29 - 0.0 - 1.0 - - - - - Paketti:Shift Sample Buffer Down x[Knob] - - - Controllers - Absolute 7 bit - Trigger - 0 - 56 - 0.0 - 1.0 - - - - - Paketti:Shift Sample Buffer Up x[Knob] - - - Controllers - Absolute 7 bit - Trigger - 0 - 52 - 0.0 - 1.0 - - - - - Paketti:Rotate Sample Buffer Content Backward [Set] - - - Controllers - Absolute 7 bit - Trigger - 0 - 48 - 0.0 - 1.0 - - - - - Paketti:Rotate Sample Buffer Content Forward [Set] - - - Controllers - Absolute 7 bit - Trigger - 0 - 60 - 0.0 - 1.0 - - - - - Paketti:Midi Change 01 Volume Column Value x[Knob] - - - Controllers - Absolute 7 bit - Trigger - 0 - 47 - 0.0 - 1.0 - - - - - Paketti:Midi Change 02 Panning Column Value x[Knob] - - - Controllers - Absolute 7 bit - Trigger - 0 - 51 - 0.0 - 1.0 - - - - - Paketti:Midi Change 03 Delay Column Value x[Knob] - - - Controllers - Absolute 7 bit - Trigger - 0 - 55 - 0.0 - 1.0 - - - - - Paketti:Midi Change 04 Effect Column Value x[Knob] - - - Controllers - Absolute 7 bit - Trigger - 0 - 59 - 0.0 - 1.0 - - - - - Paketti:Record Automation to Selected Parameter - - - Controllers - Absolute 7 bit - Trigger - 0 - 16 - 0.0 - 1.0 - - - - - Paketti:Midi Selected Instrument Macro 7 (ParallelCompression) - - - Controllers - Absolute 7 bit - Trigger - 0 - 54 - 0.0 - 1.0 - - - - - Paketti:Midi Selected Instrument Macro 8 (Glide Inertia) - - - Controllers - Absolute 7 bit - Trigger - 0 - 58 - 0.0 - 1.0 - - - - - diff --git a/KeyBindings/2024_11_09_PakettiKeyBindings.xml b/KeyBindings/2024_11_09_PakettiKeyBindings.xml deleted file mode 100644 index 735333e..0000000 --- a/KeyBindings/2024_11_09_PakettiKeyBindings.xml +++ /dev/null @@ -1,20382 +0,0 @@ - - - - - - Global - - - View - Attach/Detach Instrument Editor - - - View - Toggle Track- and Instrument Editors - - - View - Show/Focus Instrument Editors - - - View - Show/Focus Track Editors - Option + K - - - View - Show/Hide Upper Frame - - - View - Show/Hide Lower Frame - Option + L - - - View - Show/Hide Disk Browser - Option + B - - - View - Show/Hide Instrument Box - - - View - Show/Hide Instrument Properties - Shift + Option + N - - - View - Show/Hide Pattern Matrix - - - View - Show/Hide Phrase Editor - - - View - Recall View Preset 1 - - - View - Recall View Preset 2 - - - View - Recall View Preset 3 - - - View - Recall View Preset 4 - - - View - Recall View Preset 5 - - - View - Recall View Preset 6 - - - View - Recall View Preset 7 - - - View - Recall View Preset 8 - - - View - Focus/Show Disk Browser - - - View - Focus/Show Instrument Box - - - View - Focus/Show Pattern Sequencer - - - View - Focus/Show Pattern Matrix - - - View - Focus/Show Pattern Editor - - - View - Focus/Show Mixer - - - View - Focus/Show Sample Keyzones - - - View - Focus/Show Sample Modulation - - - View - Focus/Show Sample Effects - - - View - Focus/Show Phrase Editor - - - View - Focus/Show Sample Editor - - - View - Focus/Show Plugin Instrument - - - View - Focus/Show MIDI Instrument - - - View - Focus/Show Track DSPs - - - View - Focus/Show Automation - - - View - Show Scopes - - - View - Show Spectrum - - - View - Open MIDI Mapping Dialog... - Command + M - - - View - Show Used MIDI Mappings... - - - View - Open Render Plugin To Instrument Dialog... - - - Song Control - Toggle Automatic Plugin Delay Compensation - - - Song Control - Toggle Metronome Precount - - - Instruments - Open Instrument Editor - - - Song Control - Toggle Follow Pattern - - - Song Control - Toggle Metronome - - - View - Open Render Dialog... - Shift + Option + Command + R - - - View - Show Song Comments... - - - View - Focus Next View - - - View - Focus Previous View - Shift + Option + Tab - - - Transport - Toggle Loop Pattern - Command + F13 - - - Transport - Play/Stop/Edit - - - Transport - Toggle Block Playing - NumpadEnter - - - Transport - Panic - Control + Escape - - - Transport - Play Pattern - F6 - - - Transport - Play Pattern from Current Line - - - Transport - Play Song - - - Transport - Play Song from Current Line - Shift + RControl - - - Transport - Pause/Continue - RMeta - - - Transport - Pause/Continue (from cursor) - - - Transport - Schedule Edited Sequence for Playback - Command + Space - - - Transport - Play from Edited Sequence - Shift + Command + Space - - - Transport - Record Song - - - Transport - Record Pattern - Shift + RShift - - - Transport - Stop Song - RAlt - - - Transport - Play from Cursor - - - Transport - Select Previous LoopBlock - Command + NumpadMinus - - - Transport - Select Next LoopBlock - Command + NumpadPlus - - - Transport - Halve LoopBlock Size - Command + NumpadDivide - - - Transport - Double LoopBlock Size - Command + NumpadMultiply - - - Transport - Go to Previous Pattern in Sequence - - - Transport - Go to Next Pattern in Sequence - - - Transport - Note Off - - - Transport - Note Off (2nd) - - - Transport - Smart Note Off - - - Transport - Smart Note Off (2nd) - - - Transport - Note Off Row - Shift + Command + Capital - - - Transport - Note Off Row (2nd) - - - Transport - Smart Note Off Row - - - Transport - Smart Note Off Row (2nd) - - - Instruments - Select Previous Instrument - NumpadMinus - - - Instruments - Select Previous Instrument (2nd) - Command + Up - - - Instruments - Select Next Instrument - NumpadPlus - - - Instruments - Select Next Instrument (2nd) - Command + Down - - - Instruments - Select Previous Instrument Page - - - Instruments - Select Next Instrument Page - - - Instruments - Select First Instrument - Option + Home - - - Instruments - Select Last Instrument - Option + End - - - Instruments - Select 1st Instrument - - - Instruments - Select 2nd Instrument - - - Instruments - Select 3rd Instrument - - - Instruments - Select 4th Instrument - - - Instruments - Select 5th Instrument - - - Instruments - Select 6th Instrument - - - Instruments - Select 7th Instrument - - - Instruments - Select 8th Instrument - - - Instruments - Select 9th Instrument - - - Instruments - Select Previous Sample in Instrument - Shift + NumpadMinus - - - Instruments - Select Previous Sample in Instrument (2nd) - - - Instruments - Select Next Sample in Instrument - Shift + NumpadPlus - - - Instruments - Select Next Sample in Instrument (2nd) - - - Instruments - Load Instrument... - - - Instruments - Save Instrument As... - - - Instruments - Load Sample... - - - Instruments - Save Sample As... - - - Track Muting - Mute Track - - - Track Muting - Mute Track Secondary - - - Track Muting - Mute Group - - - Track Muting - Mute Group Secondary - - - Song Control - Toggle Auto Solo - - - Track Muting - Solo Track - - - Track Muting - Solo Group - - - Track Muting - Unmute All Tracks - - - Track Muting - Mute Track 1 - Command + F1 - - - Track Muting - Mute Track 2 - Command + F2 - - - Track Muting - Mute Track 3 - Command + F3 - - - Track Muting - Mute Track 4 - Command + F4 - - - Track Muting - Mute Track 5 - Command + F5 - - - Track Muting - Mute Track 6 - Command + F6 - - - Track Muting - Mute Track 7 - Command + F7 - - - Track Muting - Mute Track 8 - Command + F8 - - - Track Muting - Mute Track 9 - Command + Numpad9 - - - Track Muting - Mute Track 10 - - - Track Muting - Mute Track 11 - - - Track Muting - Mute Track 12 - - - Track Muting - Mute Track 13 - - - Track Muting - Mute Track 14 - - - Track Muting - Mute Track 15 - - - Track Muting - Mute Track 16 - - - Track Muting - Mute Track 17 - - - Track Muting - Mute Track 18 - - - Track Muting - Mute Track 19 - - - Track Muting - Mute Track 20 - - - Track Muting - Mute Track 21 - - - Track Muting - Mute Track 22 - - - Track Muting - Mute Track 23 - - - Track Muting - Mute Track 24 - - - Track Muting - Mute Track 25 - - - Track Muting - Mute Track 26 - - - Track Muting - Mute Track 27 - - - Track Muting - Mute Track 28 - - - Track Muting - Mute Track 29 - - - Track Muting - Mute Track 30 - - - Track Muting - Mute Track 31 - - - Track Muting - Mute Track 32 - - - Octave - Increase Octave - NumpadMultiply - - - Octave - Decrease Octave - NumpadDivide - - - Octave - Increase Octave (2nd) - Shift + PeakedBracket - - - Octave - Decrease Octave (2nd) - PeakedBracket - - - Octave - Set Octave to 0 - - - Octave - Set Octave to 1 - - - Octave - Set Octave to 2 - - - Octave - Set Octave to 3 - - - Octave - Set Octave to 4 - - - Octave - Set Octave to 5 - - - Octave - Set Octave to 6 - - - Octave - Set Octave to 7 - - - Octave - Set Octave to 8 - - - View - Open Sample Record Dialog... - Shift + F3 - - - Playback - Play Selected Sample - - - Application - Quit - Control + Q - - - Application - Preferences... - Command + Comma - - - Application - Hide Renoise - - - Application - Hide All Others - Option + Command + H - - - Application - Focus Previous Window - Shift + Command + PeakedBracket - - - Application - Focus Next Window - - - File - New Song - Shift + Control + N - - - File - New Song (no template) - - - File - Open Song... - Control + L - - - File - Save Song... - - - File - Save Song As... - - - File - Save Song As Template... - - - Document - Undo - Command + Z - - - Document - Redo - Shift + Command + Z - - - Clipboard - Select Clipboard 1 - - - Clipboard - Select Clipboard 2 - - - Clipboard - Select Clipboard 3 - - - Clipboard - Select Clipboard 4 - - - View - Attach/Detach Mixer View - - - Application - Toggle Fullscreen/Windowed Mode - Option + Return - - - Paketti - ∿ Offset Dialog... - - - MidiPerformer - ∿ Show dialog... - - - Tools - ∿ Setup automation device - - - Paketti - ∿ Show Paketti Preferences... - Shift + Command + Comma - - - Paketti - ∿ Paketti MIDI Mappings... - - - Paketti - ∿ Generate Paketti Midi Mappings to Console - - - Paketti - ∿ Show Paketti KeyBindings Dialog - Command + K - - - Paketti - ∿ Show Renoise KeyBindings Dialog - Shift + Command + K - - - Paketti Theme Selector - ∿ Open Paketti Theme Selector Dialog - Shift + Option + Comma - - - Paketti Theme Selector - ∿ Pick a Random Theme (All) - Shift + Option + Control + Comma - - - Paketti Theme Selector - ∿ Pick a Random Theme (Favorites) - Shift + Control + Comma - - - Paketti - ∿ Paketti eSpeak Text-to-Speech - Control + E - - - Paketti - ∿ Paketti eSpeak Generate Sample - - - Paketti - ∿ Paketti eSpeak Generate Selection - - - Paketti - ∿ Paketti eSpeak Generate Row 00 - - - Paketti - ∿ Paketti eSpeak Generate Row 01 - - - Paketti - ∿ Paketti eSpeak Generate Row 02 - - - Paketti - ∿ Paketti eSpeak Generate Row 03 - - - Paketti - ∿ Paketti eSpeak Generate Row 04 - - - Paketti - ∿ Paketti eSpeak Generate Row 05 - - - Paketti - ∿ Paketti eSpeak Generate Row 06 - - - Paketti - ∿ Paketti eSpeak Generate Row 07 - - - Paketti - ∿ Paketti eSpeak Generate Row 08 - - - Paketti - ∿ Paketti eSpeak Generate Row 09 - - - Paketti - ∿ Paketti eSpeak Generate Row 10 - - - Paketti - ∿ Paketti eSpeak Generate Row 11 - - - Paketti - ∿ Paketti eSpeak Generate Row 12 - - - Paketti - ∿ Paketti eSpeak Generate Row 13 - - - Paketti - ∿ Paketti eSpeak Generate Row 14 - - - Paketti - ∿ Paketti eSpeak Generate Row 15 - - - Paketti - ∿ Paketti eSpeak Generate Row 16 - - - Paketti - ∿ Paketti eSpeak Generate Row 17 - - - Paketti - ∿ Paketti eSpeak Generate Row 18 - - - Paketti - ∿ Paketti eSpeak Generate Row 19 - - - Paketti - ∿ Paketti eSpeak Generate Row 20 - - - Paketti - ∿ Paketti eSpeak Generate Row 21 - - - Paketti - ∿ Paketti eSpeak Generate Row 22 - - - Paketti - ∿ Paketti eSpeak Generate Row 23 - - - Paketti - ∿ Paketti eSpeak Generate Row 24 - - - Paketti - ∿ Paketti eSpeak Generate Row 25 - - - Paketti - ∿ Paketti eSpeak Generate Row 26 - - - Paketti - ∿ Paketti eSpeak Generate Row 27 - - - Paketti - ∿ Paketti eSpeak Generate Row 28 - - - Paketti - ∿ Paketti eSpeak Generate Row 29 - - - Paketti - ∿ Paketti eSpeak Generate Row 30 - - - Paketti - ∿ Paketti eSpeak Generate Row 31 - - - Paketti - ∿ Paketti eSpeak Refresh - - - Paketti - ∿ Paketti Automation - Option + T - - - Paketti - ∿ Switch to Automation - - - Paketti.. - ∿ Automation Ramp Up (Exp) - - - Paketti.. - ∿ Automation Ramp Down (Exp) - - - Paketti.. - ∿ Automation Ramp Up (Lin) - - - Paketti.. - ∿ Automation Ramp Down (Lin) - - - Paketti.. - ∿ Automation Center to Top (Exp) - - - Paketti.. - ∿ Automation Top to Center (Exp) - - - Paketti.. - ∿ Automation Center to Bottom (Exp) - - - Paketti.. - ∿ Automation Bottom to Center (Exp) - - - Paketti.. - ∿ Automation Center to Top (Lin) - - - Paketti.. - ∿ Automation Top to Center (Lin) - - - Paketti.. - ∿ Automation Center to Bottom (Lin) - - - Paketti.. - ∿ Automation Bottom to Center (Lin) - - - Paketti - ∿ Randomize Automation Envelope - Shift + Option + R - - - Paketti - ∿ Randomize Automation Envelopes for Device - Option + Command + R - - - Paketti - ∿ Switch to Automation Dynamic - A - - - Paketti - ∿ Paketti Audio Processing Tools Dialog... - Control + A - - - Paketti - ∿ Strip Silence - Shift + Option + S - - - Paketti - ∿ Move Beginning Silence to End - - - Paketti - ∿ Diagonal Line to 16800 length Sample - - - Paketti - ∿ Paketti Normalize Sample - - - Paketti - ∿ BeatDetector Modified... - - - Paketti - ∿ Save Song (2nd) - - - Paketti - ∿ Record+Follow Toggle (2nd) - RShift - - - Paketti - ∿ Record+Follow Toggle (3rd) - - - Paketti - ∿ Record+Follow Toggle (4th) - - - Paketti - ∿ Toggle EditMode (2nd) - - - Paketti - ∿ Toggle EditMode (3rd) - Escape - - - Paketti - ∿ Record+Follow+Metronome Toggle - Shift + Escape - - - Paketti - ∿ Toggle Follow Pattern (2nd) - - - Paketti - ∿ Fullscreen (2nd) - - - Paketti - ∿ KeybOctave Up - - - Paketti - ∿ KeybOctave Down - - - Paketti - ∿ Simple Play - - - Paketti - ∿ Toggle Metronome On/Off - - - Paketti - ∿ Song Details (Filename, BPM, LPB) - - - Paketti - ∿ Contour Shuttle Record Off - - - Paketti - ∿ Contour Shuttle Record On - - - Paketti - ∿ Global Edit Mode Toggle - - - Paketti - ∿ Rewind Playback by 4 steps - - - Paketti - ∿ Pattern Editor <-> Midi Editor Switcher - - - Paketti - ∿ Select Track (Next) - - - Paketti - ∿ Select Track (Previous) - - - Paketti - ∿ Insert Track (2nd) - - - Paketti - ∿ Sample Editor Tab Switcher (01 Phrases) - - - Paketti - ∿ Sample Editor Tab Switcher (02 Keyzones) - - - Paketti - ∿ Sample Editor Tab Switcher (03 Waveform) - - - Paketti - ∿ Sample Editor Tab Switcher (04 Modulation) - - - Paketti - ∿ Sample Editor Tab Switcher (05 Effects) - - - Paketti - ∿ Sample Editor Tab Switcher (06 Plugin Editor) - - - Paketti - ∿ Sample Editor Tab Switcher (07 Midi Editor) - - - Paketti - ∿ Select LoopBlock Backwards (Previous) - - - Paketti - ∿ Select LoopBlock Forwards (Next) - - - Paketti - ∿ Set EditStep to 00 - - - Paketti - ∿ Set EditStep to 01 - - - Paketti - ∿ Set EditStep to 02 - - - Paketti - ∿ Set EditStep to 03 - - - Paketti - ∿ Set EditStep to 04 - - - Paketti - ∿ Set EditStep to 05 - - - Paketti - ∿ Set EditStep to 06 - - - Paketti - ∿ Set EditStep to 07 - - - Paketti - ∿ Set EditStep to 08 - - - Paketti - ∿ Set EditStep to 09 - - - Paketti - ∿ Set EditStep to 10 - - - Paketti - ∿ Set EditStep to 11 - - - Paketti - ∿ Set EditStep to 12 - - - Paketti - ∿ Set EditStep to 13 - - - Paketti - ∿ Set EditStep to 14 - - - Paketti - ∿ Set EditStep to 15 - - - Paketti - ∿ Set EditStep to 16 - - - Paketti - ∿ Set EditStep to 17 - - - Paketti - ∿ Set EditStep to 18 - - - Paketti - ∿ Set EditStep to 19 - - - Paketti - ∿ Set EditStep to 20 - - - Paketti - ∿ Set EditStep to 21 - - - Paketti - ∿ Set EditStep to 22 - - - Paketti - ∿ Set EditStep to 23 - - - Paketti - ∿ Set EditStep to 24 - - - Paketti - ∿ Set EditStep to 25 - - - Paketti - ∿ Set EditStep to 26 - - - Paketti - ∿ Set EditStep to 27 - - - Paketti - ∿ Set EditStep to 28 - - - Paketti - ∿ Set EditStep to 29 - - - Paketti - ∿ Set EditStep to 30 - - - Paketti - ∿ Set EditStep to 31 - - - Paketti - ∿ Set EditStep to 32 - - - Paketti - ∿ Set EditStep to 33 - - - Paketti - ∿ Set EditStep to 34 - - - Paketti - ∿ Set EditStep to 35 - - - Paketti - ∿ Set EditStep to 36 - - - Paketti - ∿ Set EditStep to 37 - - - Paketti - ∿ Set EditStep to 38 - - - Paketti - ∿ Set EditStep to 39 - - - Paketti - ∿ Set EditStep to 40 - - - Paketti - ∿ Set EditStep to 41 - - - Paketti - ∿ Set EditStep to 42 - - - Paketti - ∿ Set EditStep to 43 - - - Paketti - ∿ Set EditStep to 44 - - - Paketti - ∿ Set EditStep to 45 - - - Paketti - ∿ Set EditStep to 46 - - - Paketti - ∿ Set EditStep to 47 - - - Paketti - ∿ Set EditStep to 48 - - - Paketti - ∿ Set EditStep to 49 - - - Paketti - ∿ Set EditStep to 50 - - - Paketti - ∿ Set EditStep to 51 - - - Paketti - ∿ Set EditStep to 52 - - - Paketti - ∿ Set EditStep to 53 - - - Paketti - ∿ Set EditStep to 54 - - - Paketti - ∿ Set EditStep to 55 - - - Paketti - ∿ Set EditStep to 56 - - - Paketti - ∿ Set EditStep to 57 - - - Paketti - ∿ Set EditStep to 58 - - - Paketti - ∿ Set EditStep to 59 - - - Paketti - ∿ Set EditStep to 60 - - - Paketti - ∿ Set EditStep to 61 - - - Paketti - ∿ Set EditStep to 62 - - - Paketti - ∿ Set EditStep to 63 - - - Paketti - ∿ Set EditStep to 64 - - - Paketti - ∿ Create New Track&Load Random Device Chain/Preset - - - Paketti - ∿ Load Device Chain EQ10 Macro Experimental - Shift + Q - - - Paketti - ∿ Load Device Chain SimpleSend - - - Paketti - ∿ Load Device Chain Paketti Doofer Rudiments - - - Paketti - ∿ Load Device Chain ClippyClip - - - Paketti - ∿ Load Device Chain Track Compressor (NPC1) - - - Paketti - ∿ Load Device Chain Low - High Cut (steep) (NPC1) - - - Paketti - ∿ Load Device Chain Low - High Cut (halfsteep) (NPC1) - - - Paketti - ∿ Load Device Chain Low - High Cut (flat) (NPC1) - - - Paketti - ∿ Cycle Paketti Dynamic View 01 - F2 - - - Paketti - ∿ Cycle Paketti Dynamic View 02 - F3 - - - Paketti - ∿ Cycle Paketti Dynamic View 03 - F4 - - - Paketti - ∿ Cycle Paketti Dynamic View 04 - F11 - - - Paketti - ∿ Cycle Paketti Dynamic View 05 - - - Paketti - ∿ Cycle Paketti Dynamic View 06 - - - Paketti - ∿ Cycle Paketti Dynamic View 07 - - - Paketti - ∿ Cycle Paketti Dynamic View 08 - - - Paketti - ∿ Paketti Dynamic View Preferences Dialog 1-4... - - - Paketti - ∿ Paketti Dynamic View Preferences Dialog 5-8... - - - Paketti - ∿ Paketti Groovebox 8120 - Option + 8 - - - Paketti - ∿ Paketti Gater Dialog... - Control + G - - - Paketti - ∿ Paketti Gater Insert Commands - Shift + Control + G - - - Paketti - ∿ Impulse Tracker F2 Pattern Editor - - - Paketti - ∿ Impulse Tracker F2 Pattern Editor ONLY - - - Paketti - ∿ Impulse Tracker F2 Pattern Editor Mini - - - Paketti - ∿ Impulse Tracker F3 Sample Editor - - - Paketti - ∿ Impulse Tracker F3 Sample Editor Only - - - Paketti - ∿ Impulse Tracker F4 Instrument Editor - - - Paketti - ∿ Impulse Tracker F5 Start Playback - F5 - - - Paketti - ∿ Impulse Tracker F5 Start Playback (2nd) - - - Paketti - ∿ Impulse Tracker F7 Start Playback from Cursor Row - F7 - - - Paketti - ∿ Impulse Tracker F7 Start Playback from Cursor Row (2nd) - RControl - - - Paketti - ∿ Impulse Tracker F8 Stop Playback (Panic) - F8 - - - Paketti - ∿ Impulse Tracker F8 Stop Playback (Panic) (2nd) - - - Paketti - ∿ Impulse Tracker F8 Stop/Start Playback (Panic) - - - Paketti - ∿ Impulse Tracker F11 Order List - - - Paketti - ∿ Impulse Tracker F12 Master - F12 - - - Paketti - ∿ Impulse Tracker Pattern (Next) - - - Paketti - ∿ Impulse Tracker Pattern (Previous) - - - Paketti - ∿ Impulse Tracker Pattern (Next) 2nd - - - Paketti - ∿ Impulse Tracker Pattern (Previous) 2nd - - - Paketti - ∿ Impulse Tracker PageUp Jump Lines - - - Paketti - ∿ Impulse Tracker PageDown Jump Lines - - - Paketti - ∿ Impulse Tracker 8 Play Current Line & Advance by EditStep - - - Paketti - ∿ Impulse Tracker ALT-F10 (Solo Toggle) - - - Paketti - ∿ Impulse Tracker CTRL-N New Song Dialog - Control + N - - - Paketti - ∿ Impulse Tracker ALT-U Unmark Selection - - - Paketti - ∿ Impulse Tracker ALT-U Unmark Selection (2nd) - - - Paketti - ∿ Impulse Tracker ALT-Y Swap Block - Command + Y - - - Tools - ∿ ALT-X *2 (Interpolate and Clear Effect Columns) - - - Paketti - ∿ Duplicate Instrument and Select New Instrument - Shift + Command + D - - - Paketti - ∿ Duplicate Instrument and Select New Instrument (2nd) - - - Paketti - ∿ Duplicate Instrument and Select New Instrument (3rd) - - - Paketti - ∿ Duplicate Instrument and Select Last Instrument - - - Paketti - ∿ Numpad SelectPlay 0 - - - Paketti - ∿ Numpad SelectPlay 1 - - - Paketti - ∿ Numpad SelectPlay 2 - - - Paketti - ∿ Numpad SelectPlay 3 - - - Paketti - ∿ Numpad SelectPlay 4 - - - Paketti - ∿ Numpad SelectPlay 5 - - - Paketti - ∿ Numpad SelectPlay 6 - - - Paketti - ∿ Numpad SelectPlay 7 - - - Paketti - ∿ Numpad SelectPlay 8 - - - Paketti - ∿ Numpad SelectPlay 9 - - - Paketti - ∿ Capture Nearest Instrument and Octave - Return - - - Paketti - ∿ Select Next Chunk (00..F0) - Shift + Option + Command + Right - - - Paketti - ∿ Select Previous Chunk (00..F0) - Shift + Option + Command + Left - - - Paketti - ∿ Select Chunk 00 - - - Paketti - ∿ Select Chunk 10 - - - Paketti - ∿ Select Chunk 20 - - - Paketti - ∿ Select Chunk 30 - - - Paketti - ∿ Select Chunk 40 - - - Paketti - ∿ Select Chunk 50 - - - Paketti - ∿ Select Chunk 60 - - - Paketti - ∿ Select Chunk 70 - - - Paketti - ∿ Select Chunk 80 - - - Paketti - ∿ Select Chunk 90 - - - Paketti - ∿ Select Chunk A0 - - - Paketti - ∿ Select Chunk B0 - - - Paketti - ∿ Select Chunk C0 - - - Paketti - ∿ Select Chunk D0 - - - Paketti - ∿ Select Chunk E0 - - - Paketti - ∿ Select Chunk F0 - Shift + Option + F - - - Paketti - ∿ AU/VST/VST3/Native Plugins/Effects Lister Dump - - - Paketti - ∿ Dump Current Instrument parameters - - - Paketti - ∿ Open External Editor for Plugin - Apostrophe - - - Paketti - ∿ Open External Editor for Plugin (2nd) - - - Paketti - ∿ Add Filter & LFO (AutoFilter) - Shift + Command + F - - - Paketti - ∿ Load Rhino 2.1 AU - - - Paketti - ∿ Load FabFilter One - Option + Command + F - - - Paketti - ∿ Load Surge (VST) - - - Paketti - ∿ Load U-He Zebra (VST) - Option + Z - - - Paketti - ∿ Load Waldorf PPG v2 (VST) - - - Paketti - ∿ Load Waldorf Attack (VST) - - - Track Devices - ∿ Load Renoise Analog Filter - - - Track Devices - ∿ Load Renoise Bus Compressor - - - Track Devices - ∿ Load Renoise Cabinet Simulator - - - Track Devices - ∿ Load Renoise Chorus - - - Track Devices - ∿ Load Renoise Chorus 2 - - - Track Devices - ∿ Load Renoise Comb Filter 2 - - - Track Devices - ∿ Load Renoise Compressor - Shift + H - - - Track Devices - ∿ Load Renoise Convolver - Shift + C - - - Track Devices - ∿ Load Renoise DC Offset - - - Track Devices - ∿ Load Renoise Delay - - - Track Devices - ∿ Load Renoise Digital Filter - - - Track Devices - ∿ Load Renoise Distortion 2 - - - Track Devices - ∿ Load Renoise Doofer - Control + D - - - Track Devices - ∿ Load Renoise EQ 5 - - - Track Devices - ∿ Load Renoise EQ 10 - - - Track Devices - ∿ Load Renoise Exciter - - - Track Devices - ∿ Load Renoise Flanger 2 - - - Track Devices - ∿ Load Renoise Gainer - Shift + G - - - Track Devices - ∿ Load Renoise Gate 2 - - - Track Devices - ∿ Load Renoise LofiMat 2 - - - Track Devices - ∿ Load Renoise Maximizer - Shift + X - - - Track Devices - ∿ Load Renoise Mixer EQ - - - Track Devices - ∿ Load Renoise mpReverb 2 - Shift + N - - - Track Devices - ∿ Load Renoise Multitap - - - Track Devices - ∿ Load Renoise Phaser 2 - - - Track Devices - ∿ Load Renoise Repeater - - - Track Devices - ∿ Load Renoise Reverb - - - Track Devices - ∿ Load Renoise RingMod 2 - - - Track Devices - ∿ Load Renoise Stereo Expander - - - Track Devices - ∿ Load Renoise #Line Input - Shift + I - - - Track Devices - ∿ Load Renoise #Multiband Send - Shift + Control + S - - - Track Devices - ∿ Load Renoise #ReWire Input - - - Track Devices - ∿ Load Renoise #Send - Shift + S - - - Track Devices - ∿ Load Renoise #Sidechain - - - Track Devices - ∿ Load Renoise *Formula - Shift + F - - - Track Devices - ∿ Load Renoise *Hydra - - - Track Devices - ∿ Load Renoise *Instr. Automation - Shift + Control + A - - - Track Devices - ∿ Load Renoise *Instr. Macros - Shift + M - - - Track Devices - ∿ Load Renoise *Instr. MIDI Control - - - Track Devices - ∿ Load Renoise *Key Tracker - - - Track Devices - ∿ Load Renoise *LFO - Shift + L - - - Track Devices - ∿ Load Renoise *Meta Mixer - - - Track Devices - ∿ Load Renoise *Signal Follower - - - Track Devices - ∿ Load Renoise *Velocity Tracker - - - Track Devices - ∿ Load Renoise *XY Pad - - - Track Devices - ∿ Load Renoise (Hidden) Chorus - - - Track Devices - ∿ Load Renoise (Hidden) Comb Filter - - - Track Devices - ∿ Load Renoise (Hidden) Distortion - - - Track Devices - ∿ Load Renoise (Hidden) Filter - - - Track Devices - ∿ Load Renoise (Hidden) Filter 2 - - - Track Devices - ∿ Load Renoise (Hidden) Filter 3 - - - Track Devices - ∿ Load Renoise (Hidden) Flanger - - - Track Devices - ∿ Load Renoise (Hidden) Gate - - - Track Devices - ∿ Load Renoise (Hidden) LofiMat - - - Track Devices - ∿ Load Renoise (Hidden) mpReverb - - - Track Devices - ∿ Load Renoise (Hidden) Phaser - - - Track Devices - ∿ Load Renoise (Hidden) RingMod - - - Track Devices - ∿ Load Renoise (Hidden) Scream Filter - - - Track Devices - ∿ Load Renoise (Hidden) Shaper - - - Track Devices - ∿ Load Renoise (Hidden) Stutter - - - Track Devices - ∿ Load U-He Colour Copy - Option + C - - - Track Devices - ∿ Load Koen KTGranulator (AU) - - - Track Devices - ∿ Load Uhbik U-He Runciter - - - Track Devices - ∿ Load SphereDelay Maybe? - - - Track Devices - ∿ Load D16 Syntorus 2 - Shift + A - - - Track Devices - ∿ Load D16 Toraverb - - - Track Devices - ∿ Load D16 Frontier - - - Track Devices - ∿ Load D16 Toraverb 2 - Shift + T - - - Track Devices - ∿ Load D16 Repeater - Shift + Control + D - - - Track Devices - ∿ Load D16 Repeater (2nd) - - - Track Devices - ∿ Load George Yohng's W1 1 - - - Track Devices - ∿ Load George Yohng's W1 2 - Shift + W - - - Track Devices - ∿ Load OhmForce Predatohm - - - Track Devices - ∿ Load OhmForce Hematohm - - - Track Devices - ∿ Load OhmForce OhmBoyz - - - Track Devices - ∿ Load QuikQuak FusionField - - - Track Devices - ∿ Load Schaack Transient Shaper (VST) - Shift + E - - - Track Devices - ∿ Load FabFilter Pro-Q 3 - Shift + Z - - - Track Devices - ∿ Load FabFilter Pro-Q 3 (VST) - - - Track Devices - ∿ Load TAL-Reverb 4 - Shift + R - - - Track Devices - ∿ Load TAL-Dub 3 AU - - - Track Devices - ∿ Load TAL-Chorus LX - - - Track Devices - ∿ Load TAL-Chorus - - - Track Devices - ∿ Load ValhallaRoom - - - Track Devices - ∿ Load ValhallaShimmer - Shift + Command + V - - - Track Devices - ∿ Load ValhallaFreqEchoMkI - - - Track Devices - ∿ Load ValhallaDelay - Shift + D - - - Track Devices - ∿ Load ValhallaVintageVerb - Shift + V - - - Track Devices - ∿ Load ValhallaSpaceModulator (AU) - - - Track Devices - ∿ Load ValhallaRoom (VST) - - - Track Devices - ∿ Load ValhallaShimmer (VST) - - - Track Devices - ∿ Load ValhallaFreqEchoMkI (VST) - - - Track Devices - ∿ Load ValhallaDelay (VST) - - - Track Devices - ∿ Load ValhallaVintageVerb (VST) - - - Track Devices - ∿ Load ValhallaSpaceModulator (VST) - - - Track Devices - ∿ Load FabFilter Pro-Q (VST) - - - Track Devices - ∿ Load GRM PitchAccum Stereo (VST) - - - Track Devices - ∿ Load GRM Delays Stereo (VST) - - - Track Devices - ∿ Load GRM Reson Stereo (VST) - - - Track Devices - ∿ Load TAL-Dub 3 (VST) - - - Track Devices - ∿ Load WatKat (VST) - - - Track Devices - ∿ Load EQ10+Schaack Transient Shaper (VST) - - - Paketti - ∿ Open External Editor of Selected Effect - - - Paketti - ∿ Hide Track DSP Device External Editors - - - Paketti - ∿ Inspect Plugin - - - Paketti - ∿ Inspect Device in Slot 2 - - - Paketti - ∿ Load Modulation Device (01 Volume) AHDSR - - - Paketti - ∿ Load Modulation Device (02 Panning) AHDSR - - - Paketti - ∿ Load Modulation Device (03 Pitch) AHDSR - - - Paketti - ∿ Load Modulation Device (04 Cutoff) AHDSR - - - Paketti - ∿ Load Modulation Device (05 Resonance) AHDSR - - - Paketti - ∿ Load Modulation Device (06 Drive) AHDSR - - - Paketti - ∿ Load Modulation Device (01 Volume) Envelope - - - Paketti - ∿ Load Modulation Device (02 Panning) Envelope - - - Paketti - ∿ Load Modulation Device (03 Pitch) Envelope - - - Paketti - ∿ Load Modulation Device (04 Cutoff) Envelope - - - Paketti - ∿ Load Modulation Device (05 Resonance) Envelope - - - Paketti - ∿ Load Modulation Device (06 Drive) Envelope - - - Paketti - ∿ Load Modulation Device (01 Volume) Fader - - - Paketti - ∿ Load Modulation Device (02 Panning) Fader - - - Paketti - ∿ Load Modulation Device (03 Pitch) Fader - - - Paketti - ∿ Load Modulation Device (04 Cutoff) Fader - - - Paketti - ∿ Load Modulation Device (05 Resonance) Fader - - - Paketti - ∿ Load Modulation Device (06 Drive) Fader - - - Paketti - ∿ Load Modulation Device (01 Volume) Key Tracking - - - Paketti - ∿ Load Modulation Device (02 Panning) Key Tracking - - - Paketti - ∿ Load Modulation Device (03 Pitch) Key Tracking - - - Paketti - ∿ Load Modulation Device (04 Cutoff) Key Tracking - - - Paketti - ∿ Load Modulation Device (05 Resonance) Key Tracking - - - Paketti - ∿ Load Modulation Device (06 Drive) Key Tracking - - - Paketti - ∿ Load Modulation Device (01 Volume) LFO - - - Paketti - ∿ Load Modulation Device (02 Panning) LFO - - - Paketti - ∿ Load Modulation Device (03 Pitch) LFO - - - Paketti - ∿ Load Modulation Device (04 Cutoff) LFO - - - Paketti - ∿ Load Modulation Device (05 Resonance) LFO - - - Paketti - ∿ Load Modulation Device (06 Drive) LFO - - - Paketti - ∿ Load Modulation Device (01 Volume) Operand - - - Paketti - ∿ Load Modulation Device (02 Panning) Operand - - - Paketti - ∿ Load Modulation Device (03 Pitch) Operand - - - Paketti - ∿ Load Modulation Device (04 Cutoff) Operand - - - Paketti - ∿ Load Modulation Device (05 Resonance) Operand - - - Paketti - ∿ Load Modulation Device (06 Drive) Operand - - - Paketti - ∿ Load Modulation Device (01 Volume) Stepper - - - Paketti - ∿ Load Modulation Device (02 Panning) Stepper - - - Paketti - ∿ Load Modulation Device (03 Pitch) Stepper - - - Paketti - ∿ Load Modulation Device (04 Cutoff) Stepper - - - Paketti - ∿ Load Modulation Device (05 Resonance) Stepper - - - Paketti - ∿ Load Modulation Device (06 Drive) Stepper - - - Paketti - ∿ Load Modulation Device (01 Volume) Velocity Tracking - - - Paketti - ∿ Load Modulation Device (02 Panning) Velocity Tracking - - - Paketti - ∿ Load Modulation Device (03 Pitch) Velocity Tracking - - - Paketti - ∿ Load Modulation Device (04 Cutoff) Velocity Tracking - - - Paketti - ∿ Load Modulation Device (05 Resonance) Velocity Tracking - - - Paketti - ∿ Load Modulation Device (06 Drive) Velocity Tracking - - - Paketti - ∿ Expose/Hide Selected Device Parameters in Mixer - - - Paketti - ∿ Expose/Hide Selected Track ALL Device Parameters - - - Paketti - ∿ Bypass All Devices on Track - - - Paketti - ∿ Enable All Devices on Track - - - Paketti - ∿ Bypass All Devices on All Tracks - - - Paketti - ∿ Enable All Devices on All Tracks - - - Paketti - ∿ Insert Stereo -> Mono device to Beginning of DSP Chain - - - Paketti - ∿ Insert Stereo -> Mono device to End of DSP Chain - Option + S - - - Paketti - ∿ Insert Stereo -> Mono device to Beginning of Master - - - Paketti - ∿ Insert Stereo -> Mono device to End of Master - - - Paketti - ∿ Hide Track DSP Device External Editors for All Tracks - Command + H - - - Paketti - ∿ Show/Hide Track DSP and FX Chain Device External Editors - Shift + Command + H - - - Paketti - ∿ Randomize Devices and Plugins Dialog - - - Paketti - ∿ Randomize Selected Device with User1 (%) - - - Paketti - ∿ Randomize Selected Device with User2 (%) - - - Paketti - ∿ Randomize Selected Device with User3 (%) - - - Paketti - ∿ Randomize Selected Device with User4 (%) - - - Paketti - ∿ Randomize Selected Device with User5 (%) - - - Paketti - ∿ Randomize All Devices of Track with User1 (%) - - - Paketti - ∿ Randomize All Devices of Track with User2 (%) - - - Paketti - ∿ Randomize All Devices of Track with User3 (%) - - - Paketti - ∿ Randomize All Devices of Track with User4 (%) - - - Paketti - ∿ Randomize All Devices of Track with User5 (%) - - - Paketti - ∿ Randomize Selected Plugin with User1 (%) - - - Paketti - ∿ Randomize Selected Plugin with User2 (%) - - - Paketti - ∿ Randomize Selected Plugin with User3 (%) - - - Paketti - ∿ Randomize Selected Plugin with User4 (%) - - - Paketti - ∿ Randomize Selected Plugin with User5 (%) - - - Paketti - ∿ Randomize All Plugins in Song with User1 (%) - - - Paketti - ∿ Randomize All Plugins in Song with User2 (%) - - - Paketti - ∿ Randomize All Plugins in Song with User3 (%) - - - Paketti - ∿ Randomize All Plugins in Song with User4 (%) - - - Paketti - ∿ Randomize All Plugins in Song with User5 (%) - - - Paketti - ∿ Randomize Selected Plugin - - - Paketti - ∿ Randomize Selected Device - Option + R - - - Paketti - ∿ Clear All TrackDSPs from Current Track - Shift + Option + T - - - Paketti - ∿ Insert Inverter Device to TrackDSP/SampleFX - Option + I - - - Paketti - ∿ Load Plugin (AU) Knif Audio Knifonium - - - Paketti - ∿ Load Plugin (VST) BucketOne - - - Paketti - ∿ Load Plugin (VST3) Kontakt 7 - - - Paketti - ∿ Load Plugin (AU) Amigo - Shift + Option + A - - - Paketti - ∿ Load Plugin (AU) Bucket ONE - Shift + Command + B - - - Paketti - ∿ Load Plugin (AU) Kontakt 7 - - - Paketti - ∿ Load Plugin (AU) Scaler 2 - - - Paketti - ∿ Load Plugin (AU) XO - Shift + Command + X - - - Paketti - ∿ Load Plugin (AU) PPG Wave 2.V - - - Paketti - ∿ Load Plugin (VST) ANA2 - - - Paketti - ∿ Load Plugin (VST3) Bucket ONE - - - Paketti - ∿ Load Plugin (AU) Zebralette - - - Paketti - ∿ Load Plugin (VST) XO - - - Paketti - ∿ Load Plugin (VST) Scaler2 - - - Paketti - ∿ Load Plugin (VST3) Kontakt - - - Paketti - ∿ Load Plugin (AU) Attack - Option + A - - - Paketti - ∿ Load Plugin (AU) Vintage - Option + V - - - Paketti - ∿ Load Plugin (AU) One - - - Paketti - ∿ Load Plugin (VST) MonoFury - - - Paketti - ∿ Load Plugin (VST) Absynth 5 - - - Paketti - ∿ Load Plugin (VST) Reaktor 6 - - - Paketti - ∿ ∿ Squiggly Sinewave to Clipboard (macOS) - - - Paketti - ∿ Toggle Paketti Dialog of Dialogs - - - Paketti - ∿ Selected Instrument Midi Program +1 (Next) - - - Paketti - ∿ Selected Instrument Midi Program -1 (Previous) - - - Paketti - ∿ Paketti MIDI Populator Dialog... - - - Paketti - ∿ Quantization Decrease (-1) - - - Paketti - ∿ Quantization Increase (+1) - - - Paketti - ∿ Metronome LPB Decrease (-1) - - - Paketti - ∿ Metronome LPB Increase (+1) - - - Paketti - ∿ Metronome BPB Decrease (-1) - - - Paketti - ∿ Metronome BPB Increase (+1) - - - Paketti - ∿ LPB Decrease (-1) - - - Paketti - ∿ LPB Increase (+1) - - - Paketti - ∿ TPL Decrease (-1) - - - Paketti - ∿ TPL Increase (+1) - - - Paketti - ∿ Solo Channel + Play + Follow - - - Paketti - ∿ Uncollapse All Tracks - - - Paketti - ∿ Collapse All Tracks - - - Paketti - ∿ Computer Keyboard Velocity (-1) - - - Paketti - ∿ Computer Keyboard Velocity (+1) - - - Paketti - ∿ Computer Keyboard Velocity (-10) - - - Paketti - ∿ Computer Keyboard Velocity (+10) - - - Paketti - ∿ BPM Decrease (-1) - Backslash - - - Paketti - ∿ BPM Increase (+1) - Shift + Backslash - - - Paketti - ∿ BPM Decrease (-0.1) - Shift + RBracket - - - Paketti - ∿ BPM Increase (+0.1) - Command + RBracket - - - Paketti - ∿ BPM Decrease (-0.5) - Shift + Control + Backslash - - - Paketti - ∿ BPM Increase (+0.5) - Control + Backslash - - - Paketti - ∿ Play at 75% Speed (Song BPM) - - - Paketti - ∿ Play at 100% Speed (Song BPM) - - - Paketti - ∿ Random BPM from List - - - Paketti - ∿ Select Specific Track 01 - Shift + 1 - - - Paketti - ∿ Select Specific Track 02 - Shift + 2 - - - Paketti - ∿ Select Specific Track 03 - Shift + 3 - - - Paketti - ∿ Select Specific Track 04 - Shift + 4 - - - Paketti - ∿ Select Specific Track 05 - Shift + 5 - - - Paketti - ∿ Select Specific Track 06 - Shift + 6 - - - Paketti - ∿ Select Specific Track 07 - Shift + 7 - - - Paketti - ∿ Select Specific Track 08 - Shift + 8 - - - Paketti - ∿ Select Specific Track 09 - Shift + 9 - - - Paketti - ∿ Select Specific Track 10 - Shift + 0 - - - Paketti - ∿ Select Specific Track 11 - - - Paketti - ∿ Select Specific Track 12 - - - Paketti - ∿ Select Specific Track 13 - - - Paketti - ∿ Select Specific Track 14 - - - Paketti - ∿ Select Specific Track 15 - - - Paketti - ∿ Select Specific Track 16 - - - Paketti - ∿ Clone Current Pattern to Current Sequence - - - Paketti - ∿ Clone Current Pattern to Current Sequence (2nd) - - - Paketti - ∿ Clone Current Pattern to Current Sequence (3rd) - - - Paketti - ∿ Clone and Expand Pattern to LPB*2 - - - Paketti - ∿ Clone and Shrink Pattern to LPB/2 - - - Paketti - ∿ Toggle Edit Mode and Tint Track - - - Paketti - ∿ Duplicate Effect Column Content to Pattern or Selection - Option + X - - - Paketti - ∿ Randomize Effect Column Parameters - Shift + Option + X - - - Paketti - ∿ Interpolate Effect Column Parameters - Shift + Option + I - - - Paketti - ∿ Wipe Selected Track TrackDSPs - Control + X - - - Paketti - ∿ Insert Random Delay to Selected Row - - - Paketti - ∿ Insert Random Panning to Selected Row - - - Paketti - ∿ Insert Random Volume to Selected Row - - - Paketti - ∿ Expose and Select Next Column - Shift + Command + Right - - - Paketti - ∿ Hide Current and Select Previous Column - Shift + Command + Left - - - Tools - ∿ Toggle Match EditStep with Note Placement - - - Paketti - ∿ Pattern Effect Command CheatSheet - F1 - - - Paketti - ∿ Show/Hide Pattern Matrix - - - Paketti - ∿ Clone Current Sequence - - - Paketti - ∿ Open Paketti Init Phrase Dialog... - Command + I - - - Paketti - ∿ Create New Phrase using Paketti Settings - - - Paketti - ∿ Modify Current Phrase using Paketti Settings - - - Paketti - ∿ Phrase Editor Visible - - - Paketti - ∿ Add New Phrase - - - Paketti - ∿ Open Player Pro Note Column Dialog - - - Paketti - ∿ Send Selected Sample to AppSelection1 - - - Paketti - ∿ Send Selected Sample to AppSelection2 - - - Paketti - ∿ Send Selected Sample to AppSelection3 - - - Paketti - ∿ Send Selected Sample to AppSelection4 - - - Paketti - ∿ Send Selected Sample to AppSelection5 - - - Paketti - ∿ Send Selected Sample to AppSelection6 - - - Paketti - ∿ Save Sample to Smart/Backup Folder 1 - - - Paketti - ∿ Save Sample to Smart/Backup Folder 2 - - - Paketti - ∿ Save Sample to Smart/Backup Folder 3 - - - Paketti - ∿ Save All Samples to Smart/Backup Folder 1 - - - Paketti - ∿ Save All Samples to Smart/Backup Folder 2 - - - Paketti - ∿ Save All Samples to Smart/Backup Folder 3 - - - Paketti - ∿ Paketti PitchBend Drumkit Sample Loader - Shift + Command + O - - - Paketti - ∿ Create New Instrument & Loop from Selection - Option + Command + Right - - - Paketti - ∿ Paketti PitchBend Multiple Sample Loader - Command + O - - - Paketti - ∿ Paketti PitchBend Multiple Sample Loader (Normalize) - Shift + Option + O - - - Paketti - ∿ Init Selected Sample (Autofade,Interpolation,Oversample) - - - Paketti - ∿ Add Sample Slot to Instrument - - - Paketti - ∿ Add 84 Sample Slots to Instrument - - - Paketti - ∿ Set Sample to One-Shot + NNA Continue - - - Paketti - ∿ Wipe&Slice (2) - Option + 1 - - - Paketti - ∿ Wipe&Slice (4) - Option + 2 - - - Paketti - ∿ Wipe&Slice (8) - Option + 3 - - - Paketti - ∿ Wipe&Slice (16) - Option + 4 - - - Paketti - ∿ Wipe&Slice (32) - Option + 5 - - - Paketti - ∿ Wipe&Slice (64) - Option + 6 - - - Paketti - ∿ Wipe&Slice (128) - Option + 7 - - - Paketti - ∿ Wipe Slices - Option + 0 - - - Paketti - ∿ Show DSP FX Chain - - - Paketti - ∿ Paketti Save Selected Sample .WAV - Command + W - - - Paketti - ∿ Paketti Save Selected Sample .FLAC - - - Paketti - ∿ Wipe Song Retain Sample - - - Paketti - ∿ Reset Slice Counter - - - Paketti - ∿ Sample Loop Cycler (Forwards) - - - Paketti - ∿ Sample Loop Cycler (Backwards) - - - Paketti - ∿ All Samples Loop Cycler (Forwards) - - - Paketti - ∿ All Samples Loop Cycler (Backwards) - - - Paketti - ∿ Duplicate and Reverse Instrument - Shift + Command + R - - - Paketti - ∿ Paketti Save Selected Sample Range .WAV - Shift + Command + W - - - Paketti - ∿ Paketti Save Selected Sample Range .FLAC - - - Paketti.. - ∿ FT2 Minimize Selected Sample - - - Paketti - ∿ Randomize Selected Instrument Modulation Filter Type - Shift + Option + M - - - Paketti - ∿ Clean Render&Save Selected Track/Group (.WAV) - Shift + Control + R - - - Paketti - ∿ Clean Render&Save Selected Track/Group (.FLAC) - - - Paketti - ∿ Pakettify Current Instrument - Shift + Control + 8 - - - Paketti - ∿ Show/Hide PitchStep on Selected Instrument - Option + P - - - Paketti - ∿ Smart BeatSync from Selection - Shift + Command + S - - - Paketti - ∿ Eight 120-fy - Shift + Option + 8 - - - Paketti - ∿ Modify PitchStep Steps (Octave Up+2, Octave Down-2) - Option + Command + P - - - Paketti - ∿ Modify PitchStep Steps (Random) - Shift + Option + Command + P - - - Paketti - ∿ Modify PitchStep Steps (Octave Up, Octave Down) - Shift + Command + P - - - Paketti - ∿ Clear PitchStep Steps - Shift + Option + P - - - Paketti - ∿ Load Random AKWF Sample - Shift + Command + 1 - - - Paketti - ∿ Load Random amount (1...12) of AKWF Samples - Shift + Command + 2 - - - Paketti - ∿ Load 05 AKWF Samples - - - Paketti - ∿ Load 12 AKWF Samples - - - Paketti - ∿ Load 02 AKWF Samples - - - Paketti - ∿ Toggle Sequence Selection 00 - - - Paketti - ∿ Toggle Sequence Selection 01 - - - Paketti - ∿ Toggle Sequence Selection 02 - - - Paketti - ∿ Toggle Sequence Selection 03 - - - Paketti - ∿ Toggle Sequence Selection 04 - - - Paketti - ∿ Toggle Sequence Selection 05 - - - Paketti - ∿ Toggle Sequence Selection 06 - - - Paketti - ∿ Toggle Sequence Selection 07 - - - Paketti - ∿ Toggle Sequence Selection 08 - - - Paketti - ∿ Toggle Sequence Selection 09 - - - Paketti - ∿ Toggle Sequence Selection 10 - - - Paketti - ∿ Toggle Sequence Selection 11 - - - Paketti - ∿ Toggle Sequence Selection 12 - - - Paketti - ∿ Toggle Sequence Selection 13 - - - Paketti - ∿ Toggle Sequence Selection 14 - - - Paketti - ∿ Toggle Sequence Selection 15 - - - Paketti - ∿ Toggle Sequence Selection 16 - - - Paketti - ∿ Toggle Sequence Selection 17 - - - Paketti - ∿ Toggle Sequence Selection 18 - - - Paketti - ∿ Toggle Sequence Selection 19 - - - Paketti - ∿ Toggle Sequence Selection 20 - - - Paketti - ∿ Toggle Sequence Selection 21 - - - Paketti - ∿ Toggle Sequence Selection 22 - - - Paketti - ∿ Toggle Sequence Selection 23 - - - Paketti - ∿ Toggle Sequence Selection 24 - - - Paketti - ∿ Toggle Sequence Selection 25 - - - Paketti - ∿ Toggle Sequence Selection 26 - - - Paketti - ∿ Toggle Sequence Selection 27 - - - Paketti - ∿ Toggle Sequence Selection 28 - - - Paketti - ∿ Toggle Sequence Selection 29 - - - Paketti - ∿ Toggle Sequence Selection 30 - - - Paketti - ∿ Toggle Sequence Selection 31 - - - Paketti - ∿ Toggle Sequence Selection 32 - - - Paketti - ∿ Toggle Sequence Selection to Loop - - - Paketti - ∿ Toggle Sequence Selection (All) On/Off - - - Paketti - ∿ Set Sequence Selection Off - - - Paketti - ∿ Toggle Current Sequence Selection On/Off - - - Paketti - ∿ Select and Loop Sequence Section 01 - - - Paketti - ∿ Select and Loop Sequence Section 02 - - - Paketti - ∿ Select and Loop Sequence Section 03 - - - Paketti - ∿ Select and Loop Sequence Section 04 - - - Paketti - ∿ Select and Loop Sequence Section 05 - - - Paketti - ∿ Select and Loop Sequence Section 06 - - - Paketti - ∿ Select and Loop Sequence Section 07 - - - Paketti - ∿ Select and Loop Sequence Section 08 - - - Paketti - ∿ Select and Loop Sequence Section 09 - - - Paketti - ∿ Select and Loop Sequence Section 10 - - - Paketti - ∿ Select and Loop Sequence Section 11 - - - Paketti - ∿ Select and Loop Sequence Section 12 - - - Paketti - ∿ Select and Loop Sequence Section 13 - - - Paketti - ∿ Select and Loop Sequence Section 14 - - - Paketti - ∿ Select and Loop Sequence Section 15 - - - Paketti - ∿ Select and Loop Sequence Section 16 - - - Paketti - ∿ Select and Loop Sequence Section 17 - - - Paketti - ∿ Select and Loop Sequence Section 18 - - - Paketti - ∿ Select and Loop Sequence Section 19 - - - Paketti - ∿ Select and Loop Sequence Section 20 - - - Paketti - ∿ Select and Loop Sequence Section 21 - - - Paketti - ∿ Select and Loop Sequence Section 22 - - - Paketti - ∿ Select and Loop Sequence Section 23 - - - Paketti - ∿ Select and Loop Sequence Section 24 - - - Paketti - ∿ Select and Loop Sequence Section 25 - - - Paketti - ∿ Select and Loop Sequence Section 26 - - - Paketti - ∿ Select and Loop Sequence Section 27 - - - Paketti - ∿ Select and Loop Sequence Section 28 - - - Paketti - ∿ Select and Loop Sequence Section 29 - - - Paketti - ∿ Select and Loop Sequence Section 30 - - - Paketti - ∿ Select and Loop Sequence Section 31 - - - Paketti - ∿ Select and Loop Sequence Section 32 - - - Paketti - ∿ Select and Loop Section (Next) - - - Paketti - ∿ Select and Loop Section (Previous) - - - Paketti - ∿ Set Sequence Loop Selection Off - - - Paketti - ∿ Jump to Sequence (Next) - - - Paketti - ∿ Jump to Sequence (Previous) - - - Paketti - ∿ Continue Sequence 00 From Same Line - - - Paketti - ∿ Continue Sequence 01 From Same Line - - - Paketti - ∿ Continue Sequence 02 From Same Line - - - Paketti - ∿ Continue Sequence 03 From Same Line - - - Paketti - ∿ Continue Sequence 04 From Same Line - - - Paketti - ∿ Continue Sequence 05 From Same Line - - - Paketti - ∿ Continue Sequence 06 From Same Line - - - Paketti - ∿ Continue Sequence 07 From Same Line - - - Paketti - ∿ Continue Sequence 08 From Same Line - - - Paketti - ∿ Continue Sequence 09 From Same Line - - - Paketti - ∿ Continue Sequence 10 From Same Line - - - Paketti - ∿ Continue Sequence 11 From Same Line - - - Paketti - ∿ Continue Sequence 12 From Same Line - - - Paketti - ∿ Continue Sequence 13 From Same Line - - - Paketti - ∿ Continue Sequence 14 From Same Line - - - Paketti - ∿ Continue Sequence 15 From Same Line - - - Paketti - ∿ Continue Sequence 16 From Same Line - - - Paketti - ∿ Continue Sequence 17 From Same Line - - - Paketti - ∿ Continue Sequence 18 From Same Line - - - Paketti - ∿ Continue Sequence 19 From Same Line - - - Paketti - ∿ Continue Sequence 20 From Same Line - - - Paketti - ∿ Continue Sequence 21 From Same Line - - - Paketti - ∿ Continue Sequence 22 From Same Line - - - Paketti - ∿ Continue Sequence 23 From Same Line - - - Paketti - ∿ Continue Sequence 24 From Same Line - - - Paketti - ∿ Continue Sequence 25 From Same Line - - - Paketti - ∿ Continue Sequence 26 From Same Line - - - Paketti - ∿ Continue Sequence 27 From Same Line - - - Paketti - ∿ Continue Sequence 28 From Same Line - - - Paketti - ∿ Continue Sequence 29 From Same Line - - - Paketti - ∿ Continue Sequence 30 From Same Line - - - Paketti - ∿ Continue Sequence 31 From Same Line - - - Paketti - ∿ Continue Current Sequence From Same Line - - - Paketti - ∿ Selected Specific Sequence 00 - - - Paketti - ∿ Selected Specific Sequence 01 - - - Paketti - ∿ Selected Specific Sequence 02 - - - Paketti - ∿ Selected Specific Sequence 03 - - - Paketti - ∿ Selected Specific Sequence 04 - - - Paketti - ∿ Selected Specific Sequence 05 - - - Paketti - ∿ Selected Specific Sequence 06 - - - Paketti - ∿ Selected Specific Sequence 07 - - - Paketti - ∿ Selected Specific Sequence 08 - - - Paketti - ∿ Selected Specific Sequence 09 - - - Paketti - ∿ Selected Specific Sequence 10 - - - Paketti - ∿ Selected Specific Sequence 11 - - - Paketti - ∿ Selected Specific Sequence 12 - - - Paketti - ∿ Selected Specific Sequence 13 - - - Paketti - ∿ Selected Specific Sequence 14 - - - Paketti - ∿ Selected Specific Sequence 15 - - - Paketti - ∿ Selected Specific Sequence 16 - - - Paketti - ∿ Selected Specific Sequence 17 - - - Paketti - ∿ Selected Specific Sequence 18 - - - Paketti - ∿ Selected Specific Sequence 19 - - - Paketti - ∿ Selected Specific Sequence 20 - - - Paketti - ∿ Selected Specific Sequence 21 - - - Paketti - ∿ Selected Specific Sequence 22 - - - Paketti - ∿ Selected Specific Sequence 23 - - - Paketti - ∿ Selected Specific Sequence 24 - - - Paketti - ∿ Selected Specific Sequence 25 - - - Paketti - ∿ Selected Specific Sequence 26 - - - Paketti - ∿ Selected Specific Sequence 27 - - - Paketti - ∿ Selected Specific Sequence 28 - - - Paketti - ∿ Selected Specific Sequence 29 - - - Paketti - ∿ Selected Specific Sequence 30 - - - Paketti - ∿ Selected Specific Sequence 31 - - - Paketti - ∿ Trigger Sequence 00 - - - Paketti - ∿ Trigger Sequence 01 - - - Paketti - ∿ Trigger Sequence 02 - - - Paketti - ∿ Trigger Sequence 03 - - - Paketti - ∿ Trigger Sequence 04 - - - Paketti - ∿ Trigger Sequence 05 - - - Paketti - ∿ Trigger Sequence 06 - - - Paketti - ∿ Trigger Sequence 07 - - - Paketti - ∿ Trigger Sequence 08 - - - Paketti - ∿ Trigger Sequence 09 - - - Paketti - ∿ Trigger Sequence 10 - - - Paketti - ∿ Trigger Sequence 11 - - - Paketti - ∿ Trigger Sequence 12 - - - Paketti - ∿ Trigger Sequence 13 - - - Paketti - ∿ Trigger Sequence 14 - - - Paketti - ∿ Trigger Sequence 15 - - - Paketti - ∿ Trigger Sequence 16 - - - Paketti - ∿ Trigger Sequence 17 - - - Paketti - ∿ Trigger Sequence 18 - - - Paketti - ∿ Trigger Sequence 19 - - - Paketti - ∿ Trigger Sequence 20 - - - Paketti - ∿ Trigger Sequence 21 - - - Paketti - ∿ Trigger Sequence 22 - - - Paketti - ∿ Trigger Sequence 23 - - - Paketti - ∿ Trigger Sequence 24 - - - Paketti - ∿ Trigger Sequence 25 - - - Paketti - ∿ Trigger Sequence 26 - - - Paketti - ∿ Trigger Sequence 27 - - - Paketti - ∿ Trigger Sequence 28 - - - Paketti - ∿ Trigger Sequence 29 - - - Paketti - ∿ Trigger Sequence 30 - - - Paketti - ∿ Trigger Sequence 31 - - - Paketti - ∿ Set Sequence 00 as Scheduled List - - - Paketti - ∿ Set Sequence 01 as Scheduled List - - - Paketti - ∿ Set Sequence 02 as Scheduled List - - - Paketti - ∿ Set Sequence 03 as Scheduled List - - - Paketti - ∿ Set Sequence 04 as Scheduled List - - - Paketti - ∿ Set Sequence 05 as Scheduled List - - - Paketti - ∿ Set Sequence 06 as Scheduled List - - - Paketti - ∿ Set Sequence 07 as Scheduled List - - - Paketti - ∿ Set Sequence 08 as Scheduled List - - - Paketti - ∿ Set Sequence 09 as Scheduled List - - - Paketti - ∿ Set Sequence 10 as Scheduled List - - - Paketti - ∿ Set Sequence 11 as Scheduled List - - - Paketti - ∿ Set Sequence 12 as Scheduled List - - - Paketti - ∿ Set Sequence 13 as Scheduled List - - - Paketti - ∿ Set Sequence 14 as Scheduled List - - - Paketti - ∿ Set Sequence 15 as Scheduled List - - - Paketti - ∿ Set Sequence 16 as Scheduled List - - - Paketti - ∿ Set Sequence 17 as Scheduled List - - - Paketti - ∿ Set Sequence 18 as Scheduled List - - - Paketti - ∿ Set Sequence 19 as Scheduled List - - - Paketti - ∿ Set Sequence 20 as Scheduled List - - - Paketti - ∿ Set Sequence 21 as Scheduled List - - - Paketti - ∿ Set Sequence 22 as Scheduled List - - - Paketti - ∿ Set Sequence 23 as Scheduled List - - - Paketti - ∿ Set Sequence 24 as Scheduled List - - - Paketti - ∿ Set Sequence 25 as Scheduled List - - - Paketti - ∿ Set Sequence 26 as Scheduled List - - - Paketti - ∿ Set Sequence 27 as Scheduled List - - - Paketti - ∿ Set Sequence 28 as Scheduled List - - - Paketti - ∿ Set Sequence 29 as Scheduled List - - - Paketti - ∿ Set Sequence 30 as Scheduled List - - - Paketti - ∿ Set Sequence 31 as Scheduled List - - - Paketti - ∿ Set Current Sequence as Scheduled List - - - Paketti - ∿ Add Current Sequence to Scheduled List - - - Paketti - ∿ Add Sequence 00 to Scheduled List - - - Paketti - ∿ Add Sequence 01 to Scheduled List - - - Paketti - ∿ Add Sequence 02 to Scheduled List - - - Paketti - ∿ Add Sequence 03 to Scheduled List - - - Paketti - ∿ Add Sequence 04 to Scheduled List - - - Paketti - ∿ Add Sequence 05 to Scheduled List - - - Paketti - ∿ Add Sequence 06 to Scheduled List - - - Paketti - ∿ Add Sequence 07 to Scheduled List - - - Paketti - ∿ Add Sequence 08 to Scheduled List - - - Paketti - ∿ Add Sequence 09 to Scheduled List - - - Paketti - ∿ Add Sequence 10 to Scheduled List - - - Paketti - ∿ Add Sequence 11 to Scheduled List - - - Paketti - ∿ Add Sequence 12 to Scheduled List - - - Paketti - ∿ Add Sequence 13 to Scheduled List - - - Paketti - ∿ Add Sequence 14 to Scheduled List - - - Paketti - ∿ Add Sequence 15 to Scheduled List - - - Paketti - ∿ Add Sequence 16 to Scheduled List - - - Paketti - ∿ Add Sequence 17 to Scheduled List - - - Paketti - ∿ Add Sequence 18 to Scheduled List - - - Paketti - ∿ Add Sequence 19 to Scheduled List - - - Paketti - ∿ Add Sequence 20 to Scheduled List - - - Paketti - ∿ Add Sequence 21 to Scheduled List - - - Paketti - ∿ Add Sequence 22 to Scheduled List - - - Paketti - ∿ Add Sequence 23 to Scheduled List - - - Paketti - ∿ Add Sequence 24 to Scheduled List - - - Paketti - ∿ Add Sequence 25 to Scheduled List - - - Paketti - ∿ Add Sequence 26 to Scheduled List - - - Paketti - ∿ Add Sequence 27 to Scheduled List - - - Paketti - ∿ Add Sequence 28 to Scheduled List - - - Paketti - ∿ Add Sequence 29 to Scheduled List - - - Paketti - ∿ Add Sequence 30 to Scheduled List - - - Paketti - ∿ Add Sequence 31 to Scheduled List - - - Paketti - ∿ Toggle Sequence Loop to 00 - - - Paketti - ∿ Toggle Sequence Loop to 01 - - - Paketti - ∿ Toggle Sequence Loop to 02 - - - Paketti - ∿ Toggle Sequence Loop to 03 - - - Paketti - ∿ Toggle Sequence Loop to 04 - - - Paketti - ∿ Toggle Sequence Loop to 05 - - - Paketti - ∿ Toggle Sequence Loop to 06 - - - Paketti - ∿ Toggle Sequence Loop to 07 - - - Paketti - ∿ Toggle Sequence Loop to 08 - - - Paketti - ∿ Toggle Sequence Loop to 09 - - - Paketti - ∿ Toggle Sequence Loop to 10 - - - Paketti - ∿ Toggle Sequence Loop to 11 - - - Paketti - ∿ Toggle Sequence Loop to 12 - - - Paketti - ∿ Toggle Sequence Loop to 13 - - - Paketti - ∿ Toggle Sequence Loop to 14 - - - Paketti - ∿ Toggle Sequence Loop to 15 - - - Paketti - ∿ Toggle Sequence Loop to 16 - - - Paketti - ∿ Toggle Sequence Loop to 17 - - - Paketti - ∿ Toggle Sequence Loop to 18 - - - Paketti - ∿ Toggle Sequence Loop to 19 - - - Paketti - ∿ Toggle Sequence Loop to 20 - - - Paketti - ∿ Toggle Sequence Loop to 21 - - - Paketti - ∿ Toggle Sequence Loop to 22 - - - Paketti - ∿ Toggle Sequence Loop to 23 - - - Paketti - ∿ Toggle Sequence Loop to 24 - - - Paketti - ∿ Toggle Sequence Loop to 25 - - - Paketti - ∿ Toggle Sequence Loop to 26 - - - Paketti - ∿ Toggle Sequence Loop to 27 - - - Paketti - ∿ Toggle Sequence Loop to 28 - - - Paketti - ∿ Toggle Sequence Loop to 29 - - - Paketti - ∿ Toggle Sequence Loop to 30 - - - Paketti - ∿ Toggle Sequence Loop to 31 - - - Paketti - ∿ Clear Pattern Sequence Loop - - - Paketti - ∿ Set Sequence Loop from Current to 00 - - - Paketti - ∿ Set Sequence Loop from Current to 01 - - - Paketti - ∿ Set Sequence Loop from Current to 02 - - - Paketti - ∿ Set Sequence Loop from Current to 03 - - - Paketti - ∿ Set Sequence Loop from Current to 04 - - - Paketti - ∿ Set Sequence Loop from Current to 05 - - - Paketti - ∿ Set Sequence Loop from Current to 06 - - - Paketti - ∿ Set Sequence Loop from Current to 07 - - - Paketti - ∿ Set Sequence Loop from Current to 08 - - - Paketti - ∿ Set Sequence Loop from Current to 09 - - - Paketti - ∿ Set Sequence Loop from Current to 10 - - - Paketti - ∿ Set Sequence Loop from Current to 11 - - - Paketti - ∿ Set Sequence Loop from Current to 12 - - - Paketti - ∿ Set Sequence Loop from Current to 13 - - - Paketti - ∿ Set Sequence Loop from Current to 14 - - - Paketti - ∿ Set Sequence Loop from Current to 15 - - - Paketti - ∿ Set Sequence Loop from Current to 16 - - - Paketti - ∿ Set Sequence Loop from Current to 17 - - - Paketti - ∿ Set Sequence Loop from Current to 18 - - - Paketti - ∿ Set Sequence Loop from Current to 19 - - - Paketti - ∿ Set Sequence Loop from Current to 20 - - - Paketti - ∿ Set Sequence Loop from Current to 21 - - - Paketti - ∿ Set Sequence Loop from Current to 22 - - - Paketti - ∿ Set Sequence Loop from Current to 23 - - - Paketti - ∿ Set Sequence Loop from Current to 24 - - - Paketti - ∿ Set Sequence Loop from Current to 25 - - - Paketti - ∿ Set Sequence Loop from Current to 26 - - - Paketti - ∿ Set Sequence Loop from Current to 27 - - - Paketti - ∿ Set Sequence Loop from Current to 28 - - - Paketti - ∿ Set Sequence Loop from Current to 29 - - - Paketti - ∿ Set Sequence Loop from Current to 30 - - - Paketti - ∿ Set Sequence Loop from Current to 31 - - - Paketti - ∿ Set Current Section as Scheduled Sequence - - - Paketti - ∿ Add Current Section to Scheduled Sequences - - - Paketti - ∿ Section Loop (Next) - - - Paketti - ∿ Section Loop (Previous) - - - Paketti - ∿ Sequence Selection (Next) - Command + Control + 2 - - - Paketti - ∿ Sequence Selection (Previous) - Command + Control + 1 - - - Paketti - ∿ Sequence Loop Selection (Next) - - - Paketti - ∿ Sequence Loop Selection (Previous) - - - Paketti - ∿ Set Section Loop and Schedule Section - - - Paketti - ∿ Set Current Sequence as Scheduled and Loop - - - Paketti - ∿ Select, Trigger and Loop Section 00 - - - Paketti - ∿ Select, Schedule and Loop Section 00 - - - Paketti - ∿ Select, Add to Schedule and Loop Section 00 - - - Paketti - ∿ Select, Trigger and Loop Section 01 - - - Paketti - ∿ Select, Schedule and Loop Section 01 - - - Paketti - ∿ Select, Add to Schedule and Loop Section 01 - - - Paketti - ∿ Select, Trigger and Loop Section 02 - - - Paketti - ∿ Select, Schedule and Loop Section 02 - - - Paketti - ∿ Select, Add to Schedule and Loop Section 02 - - - Paketti - ∿ Select, Trigger and Loop Section 03 - - - Paketti - ∿ Select, Schedule and Loop Section 03 - - - Paketti - ∿ Select, Add to Schedule and Loop Section 03 - - - Paketti - ∿ Select, Trigger and Loop Section 04 - - - Paketti - ∿ Select, Schedule and Loop Section 04 - - - Paketti - ∿ Select, Add to Schedule and Loop Section 04 - - - Paketti - ∿ Select, Trigger and Loop Section 05 - - - Paketti - ∿ Select, Schedule and Loop Section 05 - - - Paketti - ∿ Select, Add to Schedule and Loop Section 05 - - - Paketti - ∿ Select, Trigger and Loop Section 06 - - - Paketti - ∿ Select, Schedule and Loop Section 06 - - - Paketti - ∿ Select, Add to Schedule and Loop Section 06 - - - Paketti - ∿ Select, Trigger and Loop Section 07 - - - Paketti - ∿ Select, Schedule and Loop Section 07 - - - Paketti - ∿ Select, Add to Schedule and Loop Section 07 - - - Paketti - ∿ Select, Trigger and Loop Section 08 - - - Paketti - ∿ Select, Schedule and Loop Section 08 - - - Paketti - ∿ Select, Add to Schedule and Loop Section 08 - - - Paketti - ∿ Select, Trigger and Loop Section 09 - - - Paketti - ∿ Select, Schedule and Loop Section 09 - - - Paketti - ∿ Select, Add to Schedule and Loop Section 09 - - - Paketti - ∿ Select, Trigger and Loop Section 10 - - - Paketti - ∿ Select, Schedule and Loop Section 10 - - - Paketti - ∿ Select, Add to Schedule and Loop Section 10 - - - Paketti - ∿ Select, Trigger and Loop Section 11 - - - Paketti - ∿ Select, Schedule and Loop Section 11 - - - Paketti - ∿ Select, Add to Schedule and Loop Section 11 - - - Paketti - ∿ Select, Trigger and Loop Section 12 - - - Paketti - ∿ Select, Schedule and Loop Section 12 - - - Paketti - ∿ Select, Add to Schedule and Loop Section 12 - - - Paketti - ∿ Select, Trigger and Loop Section 13 - - - Paketti - ∿ Select, Schedule and Loop Section 13 - - - Paketti - ∿ Select, Add to Schedule and Loop Section 13 - - - Paketti - ∿ Select, Trigger and Loop Section 14 - - - Paketti - ∿ Select, Schedule and Loop Section 14 - - - Paketti - ∿ Select, Add to Schedule and Loop Section 14 - - - Paketti - ∿ Select, Trigger and Loop Section 15 - - - Paketti - ∿ Select, Schedule and Loop Section 15 - - - Paketti - ∿ Select, Add to Schedule and Loop Section 15 - - - Paketti - ∿ Select, Trigger and Loop Section 16 - - - Paketti - ∿ Select, Schedule and Loop Section 16 - - - Paketti - ∿ Select, Add to Schedule and Loop Section 16 - - - Paketti - ∿ Select, Trigger and Loop Section 17 - - - Paketti - ∿ Select, Schedule and Loop Section 17 - - - Paketti - ∿ Select, Add to Schedule and Loop Section 17 - - - Paketti - ∿ Select, Trigger and Loop Section 18 - - - Paketti - ∿ Select, Schedule and Loop Section 18 - - - Paketti - ∿ Select, Add to Schedule and Loop Section 18 - - - Paketti - ∿ Select, Trigger and Loop Section 19 - - - Paketti - ∿ Select, Schedule and Loop Section 19 - - - Paketti - ∿ Select, Add to Schedule and Loop Section 19 - - - Paketti - ∿ Select, Trigger and Loop Section 20 - - - Paketti - ∿ Select, Schedule and Loop Section 20 - - - Paketti - ∿ Select, Add to Schedule and Loop Section 20 - - - Paketti - ∿ Select, Trigger and Loop Section 21 - - - Paketti - ∿ Select, Schedule and Loop Section 21 - - - Paketti - ∿ Select, Add to Schedule and Loop Section 21 - - - Paketti - ∿ Select, Trigger and Loop Section 22 - - - Paketti - ∿ Select, Schedule and Loop Section 22 - - - Paketti - ∿ Select, Add to Schedule and Loop Section 22 - - - Paketti - ∿ Select, Trigger and Loop Section 23 - - - Paketti - ∿ Select, Schedule and Loop Section 23 - - - Paketti - ∿ Select, Add to Schedule and Loop Section 23 - - - Paketti - ∿ Select, Trigger and Loop Section 24 - - - Paketti - ∿ Select, Schedule and Loop Section 24 - - - Paketti - ∿ Select, Add to Schedule and Loop Section 24 - - - Paketti - ∿ Select, Trigger and Loop Section 25 - - - Paketti - ∿ Select, Schedule and Loop Section 25 - - - Paketti - ∿ Select, Add to Schedule and Loop Section 25 - - - Paketti - ∿ Select, Trigger and Loop Section 26 - - - Paketti - ∿ Select, Schedule and Loop Section 26 - - - Paketti - ∿ Select, Add to Schedule and Loop Section 26 - - - Paketti - ∿ Select, Trigger and Loop Section 27 - - - Paketti - ∿ Select, Schedule and Loop Section 27 - - - Paketti - ∿ Select, Add to Schedule and Loop Section 27 - - - Paketti - ∿ Select, Trigger and Loop Section 28 - - - Paketti - ∿ Select, Schedule and Loop Section 28 - - - Paketti - ∿ Select, Add to Schedule and Loop Section 28 - - - Paketti - ∿ Select, Trigger and Loop Section 29 - - - Paketti - ∿ Select, Schedule and Loop Section 29 - - - Paketti - ∿ Select, Add to Schedule and Loop Section 29 - - - Paketti - ∿ Select, Trigger and Loop Section 30 - - - Paketti - ∿ Select, Schedule and Loop Section 30 - - - Paketti - ∿ Select, Add to Schedule and Loop Section 30 - - - Paketti - ∿ Select, Trigger and Loop Section 31 - - - Paketti - ∿ Select, Schedule and Loop Section 31 - - - Paketti - ∿ Select, Add to Schedule and Loop Section 31 - - - Paketti - ∿ Select, Trigger and Loop Section 32 - - - Paketti - ∿ Select, Schedule and Loop Section 32 - - - Paketti - ∿ Select, Add to Schedule and Loop Section 32 - - - Paketti - ∿ Select, Trigger and Loop Section 33 - - - Paketti - ∿ Select, Schedule and Loop Section 33 - - - Paketti - ∿ Select, Add to Schedule and Loop Section 33 - - - Paketti - ∿ Select, Trigger and Loop Section 34 - - - Paketti - ∿ Select, Schedule and Loop Section 34 - - - Paketti - ∿ Select, Add to Schedule and Loop Section 34 - - - Paketti - ∿ Select, Trigger and Loop Section 35 - - - Paketti - ∿ Select, Schedule and Loop Section 35 - - - Paketti - ∿ Select, Add to Schedule and Loop Section 35 - - - Paketti - ∿ Select, Trigger and Loop Section 36 - - - Paketti - ∿ Select, Schedule and Loop Section 36 - - - Paketti - ∿ Select, Add to Schedule and Loop Section 36 - - - Paketti - ∿ Select, Trigger and Loop Section 37 - - - Paketti - ∿ Select, Schedule and Loop Section 37 - - - Paketti - ∿ Select, Add to Schedule and Loop Section 37 - - - Paketti - ∿ Select, Trigger and Loop Section 38 - - - Paketti - ∿ Select, Schedule and Loop Section 38 - - - Paketti - ∿ Select, Add to Schedule and Loop Section 38 - - - Paketti - ∿ Select, Trigger and Loop Section 39 - - - Paketti - ∿ Select, Schedule and Loop Section 39 - - - Paketti - ∿ Select, Add to Schedule and Loop Section 39 - - - Paketti - ∿ Select, Trigger and Loop Section 40 - - - Paketti - ∿ Select, Schedule and Loop Section 40 - - - Paketti - ∿ Select, Add to Schedule and Loop Section 40 - - - Paketti - ∿ Select, Trigger and Loop Section 41 - - - Paketti - ∿ Select, Schedule and Loop Section 41 - - - Paketti - ∿ Select, Add to Schedule and Loop Section 41 - - - Paketti - ∿ Select, Trigger and Loop Section 42 - - - Paketti - ∿ Select, Schedule and Loop Section 42 - - - Paketti - ∿ Select, Add to Schedule and Loop Section 42 - - - Paketti - ∿ Select, Trigger and Loop Section 43 - - - Paketti - ∿ Select, Schedule and Loop Section 43 - - - Paketti - ∿ Select, Add to Schedule and Loop Section 43 - - - Paketti - ∿ Select, Trigger and Loop Section 44 - - - Paketti - ∿ Select, Schedule and Loop Section 44 - - - Paketti - ∿ Select, Add to Schedule and Loop Section 44 - - - Paketti - ∿ Select, Trigger and Loop Section 45 - - - Paketti - ∿ Select, Schedule and Loop Section 45 - - - Paketti - ∿ Select, Add to Schedule and Loop Section 45 - - - Paketti - ∿ Select, Trigger and Loop Section 46 - - - Paketti - ∿ Select, Schedule and Loop Section 46 - - - Paketti - ∿ Select, Add to Schedule and Loop Section 46 - - - Paketti - ∿ Select, Trigger and Loop Section 47 - - - Paketti - ∿ Select, Schedule and Loop Section 47 - - - Paketti - ∿ Select, Add to Schedule and Loop Section 47 - - - Paketti - ∿ Select, Trigger and Loop Section 48 - - - Paketti - ∿ Select, Schedule and Loop Section 48 - - - Paketti - ∿ Select, Add to Schedule and Loop Section 48 - - - Paketti - ∿ Select, Trigger and Loop Section 49 - - - Paketti - ∿ Select, Schedule and Loop Section 49 - - - Paketti - ∿ Select, Add to Schedule and Loop Section 49 - - - Paketti - ∿ Select, Trigger and Loop Section 50 - - - Paketti - ∿ Select, Schedule and Loop Section 50 - - - Paketti - ∿ Select, Add to Schedule and Loop Section 50 - - - Paketti - ∿ Select, Trigger and Loop Section 51 - - - Paketti - ∿ Select, Schedule and Loop Section 51 - - - Paketti - ∿ Select, Add to Schedule and Loop Section 51 - - - Paketti - ∿ Select, Trigger and Loop Section 52 - - - Paketti - ∿ Select, Schedule and Loop Section 52 - - - Paketti - ∿ Select, Add to Schedule and Loop Section 52 - - - Paketti - ∿ Select, Trigger and Loop Section 53 - - - Paketti - ∿ Select, Schedule and Loop Section 53 - - - Paketti - ∿ Select, Add to Schedule and Loop Section 53 - - - Paketti - ∿ Select, Trigger and Loop Section 54 - - - Paketti - ∿ Select, Schedule and Loop Section 54 - - - Paketti - ∿ Select, Add to Schedule and Loop Section 54 - - - Paketti - ∿ Select, Trigger and Loop Section 55 - - - Paketti - ∿ Select, Schedule and Loop Section 55 - - - Paketti - ∿ Select, Add to Schedule and Loop Section 55 - - - Paketti - ∿ Select, Trigger and Loop Section 56 - - - Paketti - ∿ Select, Schedule and Loop Section 56 - - - Paketti - ∿ Select, Add to Schedule and Loop Section 56 - - - Paketti - ∿ Select, Trigger and Loop Section 57 - - - Paketti - ∿ Select, Schedule and Loop Section 57 - - - Paketti - ∿ Select, Add to Schedule and Loop Section 57 - - - Paketti - ∿ Select, Trigger and Loop Section 58 - - - Paketti - ∿ Select, Schedule and Loop Section 58 - - - Paketti - ∿ Select, Add to Schedule and Loop Section 58 - - - Paketti - ∿ Select, Trigger and Loop Section 59 - - - Paketti - ∿ Select, Schedule and Loop Section 59 - - - Paketti - ∿ Select, Add to Schedule and Loop Section 59 - - - Paketti - ∿ Select, Trigger and Loop Section 60 - - - Paketti - ∿ Select, Schedule and Loop Section 60 - - - Paketti - ∿ Select, Add to Schedule and Loop Section 60 - - - Paketti - ∿ Select, Trigger and Loop Section 61 - - - Paketti - ∿ Select, Schedule and Loop Section 61 - - - Paketti - ∿ Select, Add to Schedule and Loop Section 61 - - - Paketti - ∿ Select, Trigger and Loop Section 62 - - - Paketti - ∿ Select, Schedule and Loop Section 62 - - - Paketti - ∿ Select, Add to Schedule and Loop Section 62 - - - Paketti - ∿ Select, Trigger and Loop Section 63 - - - Paketti - ∿ Select, Schedule and Loop Section 63 - - - Paketti - ∿ Select, Add to Schedule and Loop Section 63 - - - Paketti - ∿ Select, Trigger and Loop Section 64 - - - Paketti - ∿ Select, Schedule and Loop Section 64 - - - Paketti - ∿ Select, Add to Schedule and Loop Section 64 - - - Paketti - ∿ Set ReWire Channel (Next) - - - Paketti - ∿ Contour Shuttle Record Prototype - - - Paketti - ∿ Sample NOW then F3 (Record) - - - Paketti - ∿ Record to Current Track - - - Paketti - ∿ Record to Current Track w/Metronome - - - Paketti - ∿ Record Follow - - - Paketti - ∿ Simple Play Record Follow - - - Paketti - ∿ Simple Play Record Follow (2nd) - - - Paketti - ∿ TouchOSC Sample Recorder and Record - - - Paketti - ∿ TouchOSC Pattern Editor - Option + F2 - - - Paketti - ∿ TouchOSC Sample Editor - Option + Control + F3 - - - Paketti - ∿ Start/Stop Sample Recording and Pakettify - Option + F3 - - - Tools - ∿ Paketti Coluga Downloader - Control + C - - - Paketti - ∿ Set Selected Sample Loop Release On/Off - - - Paketti - ∿ Set Selected Sample One-Shot On/Off - - - Paketti - ∿ Set Selected Sample Loop 1 (Off) - - - Paketti - ∿ Set Selected Sample Loop 2 (Forward) - - - Paketti - ∿ Set Selected Sample Loop 3 (Backward) - - - Paketti - ∿ Set Selected Sample Loop 4 (PingPong) - - - Paketti - ∿ Set Selected Sample Transpose (-1) - - - Paketti - ∿ Set Selected Sample Transpose (+1) - - - Paketti - ∿ Set Selected Sample Transpose (-12) - - - Paketti - ∿ Set Selected Sample Transpose (+12) - - - Paketti - ∿ Selected Sample Transpose (0) - - - Paketti - ∿ Set Selected Sample Finetune (-1) - - - Paketti - ∿ Set Selected Sample Finetune (+1) - - - Paketti - ∿ Set Selected Sample Finetune (-10) - - - Paketti - ∿ Set Selected Sample Finetune (+10) - - - Paketti - ∿ Set Selected Sample Finetune (0) - - - Paketti - ∿ Set Selected Sample Panning 0.5 (Center) - - - Paketti - ∿ Set Selected Sample Panning 0.0 (Left) - - - Paketti - ∿ Set Selected Sample Panning 1.0 (Right) - - - Paketti - ∿ Set Selected Sample Panning (+0.01) - - - Paketti - ∿ Set Selected Sample Panning (-0.01) - - - Paketti - ∿ Set Selected Sample Volume (+0.01) - - - Paketti - ∿ Set Selected Sample Volume (-0.01) - - - Paketti - ∿ Set Selected Sample Volume Reset (0.0dB) - - - Paketti - ∿ Set Selected Sample Interpolation to 1 (None) - - - Paketti - ∿ Set Selected Sample Interpolation to 2 (Linear) - - - Paketti - ∿ Set Selected Sample Interpolation to 3 (Cubic) - - - Paketti - ∿ Set Selected Sample Interpolation to 4 (Sinc) - - - Paketti - ∿ Set Selected Sample Oversample On - - - Paketti - ∿ Set Selected Sample Oversample Off - - - Paketti - ∿ Set Selected Sample Oversample On/Off - - - Paketti - ∿ Set Selected Sample Beatsync 1 (Repitch) - - - Paketti - ∿ Set Selected Sample Beatsync 2 (Time-Stretch Percussion) - - - Paketti - ∿ Set Selected Sample Beatsync 3 (Time-Stretch Texture) - - - Paketti - ∿ Set Selected Sample Beatsync On/Off 1 (Repitch) - - - Paketti - ∿ Set Selected Sample Beatsync On/Off 2 (Time-Stretch Percussion) - - - Paketti - ∿ Set Selected Sample Beatsync On/Off 3 (Time-Stretch Texture) - - - Paketti - ∿ Set Selected Sample Beatsync On/Off - - - Paketti - ∿ Set Selected Sample Beatsync Line (+1) - - - Paketti - ∿ Set Selected Sample Beatsync Line (-1) - - - Paketti - ∿ Set Selected Sample Autofade On/Off - - - Paketti - ∿ Set Selected Sample Autoseek On/Off - - - Paketti - ∿ Set Selected Sample NNA to 1 (Cut) - - - Paketti - ∿ Set Selected Sample NNA to 2 (Note-Off) - - - Paketti - ∿ Set Selected Sample NNA to 3 (Continue) - - - Paketti - ∿ Set Selected Sample Mute Group to 0 (Off) - - - Paketti - ∿ Set Selected Sample Mute Group to 1 - - - Paketti - ∿ Set Selected Sample Mute Group to 2 - - - Paketti - ∿ Set Selected Sample Mute Group to 3 - - - Paketti - ∿ Set Selected Sample Mute Group to 4 - - - Paketti - ∿ Set Selected Sample Mute Group to 5 - - - Paketti - ∿ Set Selected Sample Mute Group to 6 - - - Paketti - ∿ Set Selected Sample Mute Group to 7 - - - Paketti - ∿ Set Selected Sample Mute Group to 8 - - - Paketti - ∿ Set Selected Sample Mute Group to 9 - - - Paketti - ∿ Set Selected Sample Mute Group to A - - - Paketti - ∿ Set Selected Sample Mute Group to B - - - Paketti - ∿ Set Selected Sample Mute Group to C - - - Paketti - ∿ Set Selected Sample Mute Group to D - - - Paketti - ∿ Set Selected Sample Mute Group to E - - - Paketti - ∿ Set Selected Sample Mute Group to F - - - Paketti - ∿ Set Selected Track Output Routing 00 - - - Paketti - ∿ Set Selected Track Output Routing 01 - - - Paketti - ∿ Set Selected Track Output Routing 02 - - - Paketti - ∿ Set Selected Track Output Routing 03 - - - Paketti - ∿ Set Selected Track Output Routing 04 - - - Paketti - ∿ Set Selected Track Output Routing 05 - - - Paketti - ∿ Set Selected Track Output Routing 06 - - - Paketti - ∿ Set Selected Track Output Routing 07 - - - Paketti - ∿ Set Selected Track Output Routing 08 - - - Paketti - ∿ Set Selected Track Output Routing 09 - - - Paketti - ∿ Set Selected Track Output Routing 10 - - - Paketti - ∿ Set Selected Track Output Routing 11 - - - Paketti - ∿ Set Selected Track Output Routing 12 - - - Paketti - ∿ Set Selected Track Output Routing 13 - - - Paketti - ∿ Set Selected Track Output Routing 14 - - - Paketti - ∿ Set Selected Track Output Routing 15 - - - Paketti - ∿ Set Selected Track Output Routing 16 - - - Paketti - ∿ Set Selected Track Output Routing 17 - - - Paketti - ∿ Set Selected Track Output Routing 18 - - - Paketti - ∿ Set Selected Track Output Routing 19 - - - Paketti - ∿ Set Selected Track Output Routing 20 - - - Paketti - ∿ Set Selected Track Output Routing 21 - - - Paketti - ∿ Set Selected Track Output Routing 22 - - - Paketti - ∿ Set Selected Track Output Routing 23 - - - Paketti - ∿ Set Selected Track Output Routing 24 - - - Paketti - ∿ Set Selected Track Output Routing 25 - - - Paketti - ∿ Set Selected Track Output Routing 26 - - - Paketti - ∿ Set Selected Track Output Routing 27 - - - Paketti - ∿ Set Selected Track Output Routing 28 - - - Paketti - ∿ Set Selected Track Output Routing 29 - - - Paketti - ∿ Set Selected Track Output Routing 30 - - - Paketti - ∿ Set Selected Track Output Routing 31 - - - Paketti - ∿ Set Selected Track Output Routing 32 - - - Paketti - ∿ Set Selected Track Output Routing 33 - - - Paketti - ∿ Set Selected Track Output Routing 34 - - - Paketti - ∿ Set Selected Track Output Routing 35 - - - Paketti - ∿ Set Selected Track Output Routing 36 - - - Paketti - ∿ Set Selected Track Output Routing 37 - - - Paketti - ∿ Set Selected Track Output Routing 38 - - - Paketti - ∿ Set Selected Track Output Routing 39 - - - Paketti - ∿ Set Selected Track Output Routing 40 - - - Paketti - ∿ Set Selected Track Output Routing 41 - - - Paketti - ∿ Set Selected Track Output Routing 42 - - - Paketti - ∿ Set Selected Track Output Routing 43 - - - Paketti - ∿ Set Selected Track Output Routing 44 - - - Paketti - ∿ Set Selected Track Output Routing 45 - - - Paketti - ∿ Set Selected Track Output Routing 46 - - - Paketti - ∿ Set Selected Track Output Routing 47 - - - Paketti - ∿ Set Selected Track Output Routing 48 - - - Paketti - ∿ Set Selected Track Output Routing 49 - - - Paketti - ∿ Set Selected Track Output Routing 50 - - - Paketti - ∿ Set Selected Track Output Routing 51 - - - Paketti - ∿ Set Selected Track Output Routing 52 - - - Paketti - ∿ Set Selected Track Output Routing 53 - - - Paketti - ∿ Set Selected Track Output Routing 54 - - - Paketti - ∿ Set Selected Track Output Routing 55 - - - Paketti - ∿ Set Selected Track Output Routing 56 - - - Paketti - ∿ Set Selected Track Output Routing 57 - - - Paketti - ∿ Set Selected Track Output Routing 58 - - - Paketti - ∿ Set Selected Track Output Routing 59 - - - Paketti - ∿ Set Selected Track Output Routing 60 - - - Paketti - ∿ Set Selected Track Output Routing 61 - - - Paketti - ∿ Set Selected Track Output Routing 62 - - - Paketti - ∿ Set Selected Track Output Routing 63 - - - Paketti - ∿ Set Master Track Output Routing 00 - - - Paketti - ∿ Set Master Track Output Routing 01 - - - Paketti - ∿ Set Master Track Output Routing 02 - - - Paketti - ∿ Set Master Track Output Routing 03 - - - Paketti - ∿ Set Master Track Output Routing 04 - - - Paketti - ∿ Set Master Track Output Routing 05 - - - Paketti - ∿ Set Master Track Output Routing 06 - - - Paketti - ∿ Set Master Track Output Routing 07 - - - Paketti - ∿ Set Master Track Output Routing 08 - - - Paketti - ∿ Set Master Track Output Routing 09 - - - Paketti - ∿ Set Master Track Output Routing 10 - - - Paketti - ∿ Set Master Track Output Routing 11 - - - Paketti - ∿ Set Master Track Output Routing 12 - - - Paketti - ∿ Set Master Track Output Routing 13 - - - Paketti - ∿ Set Master Track Output Routing 14 - - - Paketti - ∿ Set Master Track Output Routing 15 - - - Paketti - ∿ Set Master Track Output Routing 16 - - - Paketti - ∿ Set Master Track Output Routing 17 - - - Paketti - ∿ Set Master Track Output Routing 18 - - - Paketti - ∿ Set Master Track Output Routing 19 - - - Paketti - ∿ Set Master Track Output Routing 20 - - - Paketti - ∿ Set Master Track Output Routing 21 - - - Paketti - ∿ Set Master Track Output Routing 22 - - - Paketti - ∿ Set Master Track Output Routing 23 - - - Paketti - ∿ Set Master Track Output Routing 24 - - - Paketti - ∿ Set Master Track Output Routing 25 - - - Paketti - ∿ Set Master Track Output Routing 26 - - - Paketti - ∿ Set Master Track Output Routing 27 - - - Paketti - ∿ Set Master Track Output Routing 28 - - - Paketti - ∿ Set Master Track Output Routing 29 - - - Paketti - ∿ Set Master Track Output Routing 30 - - - Paketti - ∿ Set Master Track Output Routing 31 - - - Paketti - ∿ Set Master Track Output Routing 32 - - - Paketti - ∿ Set Master Track Output Routing 33 - - - Paketti - ∿ Set Master Track Output Routing 34 - - - Paketti - ∿ Set Master Track Output Routing 35 - - - Paketti - ∿ Set Master Track Output Routing 36 - - - Paketti - ∿ Set Master Track Output Routing 37 - - - Paketti - ∿ Set Master Track Output Routing 38 - - - Paketti - ∿ Set Master Track Output Routing 39 - - - Paketti - ∿ Set Master Track Output Routing 40 - - - Paketti - ∿ Set Master Track Output Routing 41 - - - Paketti - ∿ Set Master Track Output Routing 42 - - - Paketti - ∿ Set Master Track Output Routing 43 - - - Paketti - ∿ Set Master Track Output Routing 44 - - - Paketti - ∿ Set Master Track Output Routing 45 - - - Paketti - ∿ Set Master Track Output Routing 46 - - - Paketti - ∿ Set Master Track Output Routing 47 - - - Paketti - ∿ Set Master Track Output Routing 48 - - - Paketti - ∿ Set Master Track Output Routing 49 - - - Paketti - ∿ Set Master Track Output Routing 50 - - - Paketti - ∿ Set Master Track Output Routing 51 - - - Paketti - ∿ Set Master Track Output Routing 52 - - - Paketti - ∿ Set Master Track Output Routing 53 - - - Paketti - ∿ Set Master Track Output Routing 54 - - - Paketti - ∿ Set Master Track Output Routing 55 - - - Paketti - ∿ Set Master Track Output Routing 56 - - - Paketti - ∿ Set Master Track Output Routing 57 - - - Paketti - ∿ Set Master Track Output Routing 58 - - - Paketti - ∿ Set Master Track Output Routing 59 - - - Paketti - ∿ Set Master Track Output Routing 60 - - - Paketti - ∿ Set Master Track Output Routing 61 - - - Paketti - ∿ Set Master Track Output Routing 62 - - - Paketti - ∿ Set Master Track Output Routing 63 - - - Paketti - ∿ Set Selected Sample Beatsync Line (Power of Two Above) - - - Paketti - ∿ Set Selected Sample Beatsync Line (Power of Two Below) - - - Paketti - ∿ Computer Keyboard Velocity (-16) - - - Paketti - ∿ Computer Keyboard Velocity (+16) - - - Paketti - ∿ BPM Decrease (-5) - - - Paketti - ∿ BPM Increase (+5) - - - Paketti - ∿ Selected Sample Exit Loop Note-Off Toggle - - - Paketti - ∿ Selected Sample Exit Loop Note-Off Off - - - Paketti - ∿ Selected Sample Exit Loop Note-Off On - - - Paketti - ∿ Set Selected Sample Autofade On - - - Paketti - ∿ Set Selected Sample Autofade Off - - - Paketti - ∿ Set Selected Sample Finetune (-5) - - - Paketti - ∿ Set Selected Sample Finetune (+5) - - - Paketti - ∿ Set Selected Sample Volume (+0.05) - - - Paketti - ∿ Set Selected Sample Volume (-0.05) - - - Paketti - ∿ Set Selected Sample Panning (+0.05) - - - Paketti - ∿ Set Selected Sample Panning (-0.05) - - - Paketti - ∿ Set Selected Sample Transpose (-5) - - - Paketti - ∿ Set Selected Sample Transpose (+5) - - - Paketti - ∿ Set Selected Sample Mod to 00 - - - Paketti - ∿ Set Selected Sample Mod to 01 - - - Paketti - ∿ Set Selected Sample Mod to 02 - - - Paketti - ∿ Set Selected Sample Mod to 03 - - - Paketti - ∿ Set Selected Sample Mod to 04 - - - Paketti - ∿ Set Selected Sample Mod to 05 - - - Paketti - ∿ Set Selected Sample Mod to 06 - - - Paketti - ∿ Set Selected Sample Mod to 07 - - - Paketti - ∿ Set Selected Sample Mod to 08 - - - Paketti - ∿ Set Selected Sample Mod to 09 - - - Paketti - ∿ Set Selected Sample Mod to 10 - - - Paketti - ∿ Set Selected Sample Mod to 11 - - - Paketti - ∿ Set Selected Sample Mod to 12 - - - Paketti - ∿ Set Selected Sample Mod to 13 - - - Paketti - ∿ Set Selected Sample Mod to 14 - - - Paketti - ∿ Set Selected Sample Mod to 15 - - - Paketti - ∿ Set Selected Sample Mod to 16 - - - Paketti - ∿ Set Selected Sample Mod to 17 - - - Paketti - ∿ Set Selected Sample Mod to 18 - - - Paketti - ∿ Set Selected Sample Mod to 19 - - - Paketti - ∿ Set Selected Sample Mod to 20 - - - Paketti - ∿ Set Selected Sample Mod to 21 - - - Paketti - ∿ Set Selected Sample Mod to 22 - - - Paketti - ∿ Set Selected Sample Mod to 23 - - - Paketti - ∿ Set Selected Sample Mod to 24 - - - Paketti - ∿ Set Selected Sample Mod to 25 - - - Paketti - ∿ Set Selected Sample Mod to 26 - - - Paketti - ∿ Set Selected Sample Mod to 27 - - - Paketti - ∿ Set Selected Sample Mod to 28 - - - Paketti - ∿ Set Selected Sample Mod to 29 - - - Paketti - ∿ Set Selected Sample Mod to 30 - - - Paketti - ∿ Set Selected Sample Mod to 31 - - - Paketti - ∿ Set Selected Sample Mod to 32 - - - Paketti - ∿ Set Selected Sample FX to 00 - - - Paketti - ∿ Set Selected Sample FX to 01 - - - Paketti - ∿ Set Selected Sample FX to 02 - - - Paketti - ∿ Set Selected Sample FX to 03 - - - Paketti - ∿ Set Selected Sample FX to 04 - - - Paketti - ∿ Set Selected Sample FX to 05 - - - Paketti - ∿ Set Selected Sample FX to 06 - - - Paketti - ∿ Set Selected Sample FX to 07 - - - Paketti - ∿ Set Selected Sample FX to 08 - - - Paketti - ∿ Set Selected Sample FX to 09 - - - Paketti - ∿ Set Selected Sample FX to 10 - - - Paketti - ∿ Set Selected Sample FX to 11 - - - Paketti - ∿ Set Selected Sample FX to 12 - - - Paketti - ∿ Set Selected Sample FX to 13 - - - Paketti - ∿ Set Selected Sample FX to 14 - - - Paketti - ∿ Set Selected Sample FX to 15 - - - Paketti - ∿ Set Selected Sample FX to 16 - - - Paketti - ∿ Set Selected Sample FX to 17 - - - Paketti - ∿ Set Selected Sample FX to 18 - - - Paketti - ∿ Set Selected Sample FX to 19 - - - Paketti - ∿ Set Selected Sample FX to 20 - - - Paketti - ∿ Set Selected Sample FX to 21 - - - Paketti - ∿ Set Selected Sample FX to 22 - - - Paketti - ∿ Set Selected Sample FX to 23 - - - Paketti - ∿ Set Selected Sample FX to 24 - - - Paketti - ∿ Set Selected Sample FX to 25 - - - Paketti - ∿ Set Selected Sample FX to 26 - - - Paketti - ∿ Set Selected Sample FX to 27 - - - Paketti - ∿ Set Selected Sample FX to 28 - - - Paketti - ∿ Set Selected Sample FX to 29 - - - Paketti - ∿ Set Selected Sample FX to 30 - - - Paketti - ∿ Set Selected Sample FX to 31 - - - Paketti - ∿ Set Selected Sample FX to 32 - - - Paketti - ∿ Set Selected Instrument All Mod to 00 - - - Paketti - ∿ Set Selected Instrument All Mod to 01 - - - Paketti - ∿ Set Selected Instrument All Mod to 02 - - - Paketti - ∿ Set Selected Instrument All Mod to 03 - - - Paketti - ∿ Set Selected Instrument All Mod to 04 - - - Paketti - ∿ Set Selected Instrument All Mod to 05 - - - Paketti - ∿ Set Selected Instrument All Mod to 06 - - - Paketti - ∿ Set Selected Instrument All Mod to 07 - - - Paketti - ∿ Set Selected Instrument All Mod to 08 - - - Paketti - ∿ Set Selected Instrument All Mod to 09 - - - Paketti - ∿ Set Selected Instrument All Mod to 10 - - - Paketti - ∿ Set Selected Instrument All Mod to 11 - - - Paketti - ∿ Set Selected Instrument All Mod to 12 - - - Paketti - ∿ Set Selected Instrument All Mod to 13 - - - Paketti - ∿ Set Selected Instrument All Mod to 14 - - - Paketti - ∿ Set Selected Instrument All Mod to 15 - - - Paketti - ∿ Set Selected Instrument All Mod to 16 - - - Paketti - ∿ Set Selected Instrument All Mod to 17 - - - Paketti - ∿ Set Selected Instrument All Mod to 18 - - - Paketti - ∿ Set Selected Instrument All Mod to 19 - - - Paketti - ∿ Set Selected Instrument All Mod to 20 - - - Paketti - ∿ Set Selected Instrument All Mod to 21 - - - Paketti - ∿ Set Selected Instrument All Mod to 22 - - - Paketti - ∿ Set Selected Instrument All Mod to 23 - - - Paketti - ∿ Set Selected Instrument All Mod to 24 - - - Paketti - ∿ Set Selected Instrument All Mod to 25 - - - Paketti - ∿ Set Selected Instrument All Mod to 26 - - - Paketti - ∿ Set Selected Instrument All Mod to 27 - - - Paketti - ∿ Set Selected Instrument All Mod to 28 - - - Paketti - ∿ Set Selected Instrument All Mod to 29 - - - Paketti - ∿ Set Selected Instrument All Mod to 30 - - - Paketti - ∿ Set Selected Instrument All Mod to 31 - - - Paketti - ∿ Set Selected Instrument All Mod to 32 - - - Paketti - ∿ Set Selected Instrument All Fx to 01 - - - Paketti - ∿ Set Selected Instrument All Fx to 02 - - - Paketti - ∿ Set Selected Instrument All Fx to 03 - - - Paketti - ∿ Set Selected Instrument All Fx to 04 - - - Paketti - ∿ Set Selected Instrument All Fx to 05 - - - Paketti - ∿ Set Selected Instrument All Fx to 06 - - - Paketti - ∿ Set Selected Instrument All Fx to 07 - - - Paketti - ∿ Set Selected Instrument All Fx to 08 - - - Paketti - ∿ Set Selected Instrument All Fx to 09 - - - Paketti - ∿ Set Selected Instrument All Fx to 10 - - - Paketti - ∿ Set Selected Instrument All Fx to 11 - - - Paketti - ∿ Set Selected Instrument All Fx to 12 - - - Paketti - ∿ Set Selected Instrument All Fx to 13 - - - Paketti - ∿ Set Selected Instrument All Fx to 14 - - - Paketti - ∿ Set Selected Instrument All Fx to 15 - - - Paketti - ∿ Set Selected Instrument All Fx to 16 - - - Paketti - ∿ Set Selected Instrument All Fx to 17 - - - Paketti - ∿ Set Selected Instrument All Fx to 18 - - - Paketti - ∿ Set Selected Instrument All Fx to 19 - - - Paketti - ∿ Set Selected Instrument All Fx to 20 - - - Paketti - ∿ Set Selected Instrument All Fx to 21 - - - Paketti - ∿ Set Selected Instrument All Fx to 22 - - - Paketti - ∿ Set Selected Instrument All Fx to 23 - - - Paketti - ∿ Set Selected Instrument All Fx to 24 - - - Paketti - ∿ Set Selected Instrument All Fx to 25 - - - Paketti - ∿ Set Selected Instrument All Fx to 26 - - - Paketti - ∿ Set Selected Instrument All Fx to 27 - - - Paketti - ∿ Set Selected Instrument All Fx to 28 - - - Paketti - ∿ Set Selected Instrument All Fx to 29 - - - Paketti - ∿ Set Selected Instrument All Fx to 30 - - - Paketti - ∿ Set Selected Instrument All Fx to 31 - - - Paketti - ∿ Set Selected Instrument All Fx to 32 - - - Paketti - ∿ Set Selected Instrument All Autofade On/Off - - - Paketti - ∿ Set Selected Instrument All Autofade On - - - Paketti - ∿ Set Selected Instrument All Autofade Off - - - Paketti - ∿ Halve Beatsync Lines (All) - - - Paketti - ∿ Halve Beatsync Lines (Selected Sample) - - - Paketti - ∿ Double Beatsync Lines (All) - - - Paketti - ∿ Double Beatsync Lines (Selected Sample) - - - Paketti - ∿ Halve Halve Beatsync Lines (All) - - - Paketti - ∿ Halve Halve Beatsync Lines (Selected Sample) - - - Paketti - ∿ Double Double Beatsync Lines (All) - - - Paketti - ∿ Double Double Beatsync Lines (Selected Sample) - - - Paketti - ∿ 12st PitchBend Instrument Init - - - Paketti - ∿ 24st PitchBend Instrument Init - - - Paketti - ∿ 36st PitchBend Instrument Init - - - Paketti - ∿ 48st PitchBend Instrument Init - - - Paketti - ∿ 64st PitchBend Instrument Init - - - Paketti - ∿ 96st PitchBend Instrument Init - - - Paketti - ∿ PitchBend Drumkit Instrument Init - - - Paketti - ∿ Set Selected Instrument Transpose (-1) - - - Paketti - ∿ Set Selected Instrument Transpose (+1) - - - Paketti - ∿ Set Selected Instrument Transpose (-12) - - - Paketti - ∿ Set Selected Instrument Transpose (+12) - - - Paketti - ∿ Set Selected Instrument Transpose 0 (Reset) - - - Paketti - ∿ Set Selected Instrument Velocity Tracking On - - - Paketti - ∿ Set Selected Instrument Velocity Tracking Off - - - Paketti - ∿ Toggle Selected Sample Velocity Tracking - - - Paketti - ∿ Set Selected Sample Velocity Tracking On - - - Paketti - ∿ Set Selected Sample Velocity Tracking Off - - - Paketti - ∿ Select Instrument 00 - - - Paketti - ∿ Select Instrument 01 - - - Paketti - ∿ Select Instrument 02 - - - Paketti - ∿ Select Instrument 03 - - - Paketti - ∿ Select Instrument 04 - - - Paketti - ∿ Select Instrument 05 - - - Paketti - ∿ Select Instrument 06 - - - Paketti - ∿ Select Instrument 07 - - - Paketti - ∿ Select Instrument 08 - - - Paketti - ∿ Select Instrument 09 - - - Paketti - ∿ Select Instrument 10 - - - Paketti - ∿ Select Instrument 11 - - - Paketti - ∿ Select Instrument 12 - - - Paketti - ∿ Select Instrument 13 - - - Paketti - ∿ Select Instrument 14 - - - Paketti - ∿ Select Instrument 15 - - - Paketti - ∿ Select Instrument 16 - - - Paketti - ∿ Select Instrument 17 - - - Paketti - ∿ Select Instrument 18 - - - Paketti - ∿ Select Instrument 19 - - - Paketti - ∿ Select Instrument 20 - - - Paketti - ∿ Select Instrument 21 - - - Paketti - ∿ Select Instrument 22 - - - Paketti - ∿ Select Instrument 23 - - - Paketti - ∿ Select Instrument 24 - - - Paketti - ∿ Select Instrument 25 - - - Paketti - ∿ Select Instrument 26 - - - Paketti - ∿ Select Instrument 27 - - - Paketti - ∿ Select Instrument 28 - - - Paketti - ∿ Select Instrument 29 - - - Paketti - ∿ Select Instrument 30 - - - Paketti - ∿ Select Instrument 31 - - - Paketti - ∿ Select Instrument 32 - - - Paketti - ∿ Select Group (Next) - - - Paketti - ∿ Select Group (Previous) - - - Paketti - ∿ Delete / Clear / Wipe Entire Row - - - Paketti - ∿ Delete / Clear / Wipe Selected Note Column with EditStep - Shift + Command + G - - - Paketti - ∿ Set Selected Instrument Volume (All) (+0.01) - - - Paketti - ∿ Set Selected Instrument Volume (All) (-0.01) - - - Paketti - ∿ Set Selected Instrument Volume Reset (All) (0.0dB) - - - Paketti - ∿ Set Selected Instrument Volume (All) (-INF dB) - - - Paketti - ∿ Set Selected Instrument Global Volume (+0.01) - - - Paketti - ∿ Set Selected Instrument Global Volume (-0.01) - - - Paketti - ∿ Set Selected Instrument Global Volume (0.0dB) - - - Paketti - ∿ Set Selected Instrument Global Volume (-INF dB) - - - Paketti - ∿ Set Selected Instrument Panning (+0.01) - - - Paketti - ∿ Set Selected Instrument Panning (-0.01) - - - Paketti - ∿ Set Selected Instrument Panning Reset (Center) - - - Paketti - ∿ Set Selected Instrument Panning 0.0 (Left) - - - Paketti - ∿ Set Selected Instrument Panning 1.0 (Right) - - - Paketti - ∿ Catch Octave - - - Paketti - ∿ Set Selected Instrument Interpolation to 1 (None) - - - Paketti - ∿ Set Selected Instrument Interpolation to 2 (Linear) - - - Paketti - ∿ Set Selected Instrument Interpolation to 3 (Cubic) - - - Paketti - ∿ Set Selected Instrument Interpolation to 4 (Sinc) - - - Paketti - ∿ Set Selected Instrument Finetune (-1) - - - Paketti - ∿ Set Selected Instrument Finetune (+1) - - - Paketti - ∿ Set Selected Instrument Finetune (-10) - - - Paketti - ∿ Set Selected Instrument Finetune (+10) - - - Paketti - ∿ Set Selected Instrument Finetune (0) - - - Paketti - ∿ Set Selected Sample Mod Group (Next) - - - Paketti - ∿ Set Selected Sample Mod Group (Previous) - - - Paketti - ∿ Set Selected Sample FX Group (Next) - - - Paketti - ∿ Set Selected Sample FX Group (Previous) - - - Paketti - ∿ Set Selected Instrument Mod Group (Next) - - - Paketti - ∿ Set Selected Instrument Mod Group (Previous) - - - Paketti - ∿ Set Selected Instrument FX Group (Next) - - - Paketti - ∿ Set Selected Instrument FX Group (Previous) - - - Paketti - ∿ Duplicate Track, set to Selected Instrument - - - Paketti - ∿ Duplicate Track Duplicate Instrument - - - Paketti - ∿ Bypass All Other Track DSP Devices (Toggle) - - - Paketti - ∿ Create Identical Track - - - Paketti - ∿ Note Column Solo Toggle - - - Paketti - ∿ Group Tracks Note Column Solo Toggle - - - Paketti - ∿ Move Slice Start Left by 10 - - - Paketti - ∿ Move Slice Start Right by 10 - - - Paketti - ∿ Move Slice End Left by 10 - - - Paketti - ∿ Move Slice End Right by 10 - - - Paketti - ∿ Move Slice Start Left by 100 - - - Paketti - ∿ Move Slice Start Right by 100 - - - Paketti - ∿ Move Slice End Left by 100 - - - Paketti - ∿ Move Slice End Right by 100 - - - Paketti - ∿ Move Slice Start Left by 300 - - - Paketti - ∿ Move Slice Start Right by 300 - - - Paketti - ∿ Move Slice End Left by 300 - - - Paketti - ∿ Move Slice End Right by 300 - - - Paketti - ∿ Move Slice Start Left by 500 - - - Paketti - ∿ Move Slice Start Right by 500 - - - Paketti - ∿ Move Slice End Left by 500 - - - Paketti - ∿ Move Slice End Right by 500 - - - Paketti - ∿ Isolate Slices or Samples to New Instruments - - - Paketti - ∿ Octave Basenote Up - - - Paketti - ∿ Octave Basenote Down - - - Paketti - ∿ Populate Send Tracks for All Tracks - - - Paketti - ∿ Populate Send Tracks for Selected Track - - - Paketti - ∿ Populate Send Tracks for All Selected Tracks - - - Paketti - ∿ Send Reverser - - - Paketti - ∿ Set Selected Track Volume to -INF dB - - - Paketti - ∿ Set Selected Track Volume to 0.0dB - - - Paketti - ∿ Set Master Track Volume to -INF dB - - - Paketti - ∿ Set Master Track Volume to 0.0dB - - - Paketti - ∿ Change Master Track Volume by +0.1dB - - - Paketti - ∿ Change Master Track Volume by -0.1dB - - - Paketti - ∿ Pattern Resize and Fill 032 - - - Paketti - ∿ Pattern Resize and Fill 064 - - - Paketti - ∿ Pattern Resize and Fill 128 - - - Paketti - ∿ Pattern Resize and Fill 256 - - - Paketti - ∿ Pattern Resize and Fill 512 - - - Paketti - ∿ Open Oblique Strategies Dialog... - Control + O - - - Paketti - ∿ Shuffle Oblique Strategies Cards - - - Paketti - ∿ Paketti Track Dater & Titler - Control + S - - - Paketti - ∿ Set Selected Sample Volume to -INF dB - - - Paketti - ∿ Set Selected Sample Volume 0.0dB, others -INF - - - Paketti - ∿ Record+Follow+Metronome Precount 1 Bar - - - Paketti - ∿ Record+Follow+Metronome Precount 2 Bar - - - Paketti - ∿ Record+Follow+Metronome Precount 3 Bar - - - Paketti - ∿ Record+Follow+Metronome Precount 4 Bar - - - Paketti - ∿ Set Selected Sample (+1) Velocity Range 7F others 00 - - - Paketti - ∿ Set Selected Sample (-1) Velocity Range 7F others 00 - - - Paketti - ∿ Set Selected Sample (Random) Velocity Range 7F others 00 - - - Paketti - ∿ Set Selected Sample Velocity Range 7F - - - Paketti - ∿ Set Selected Sample Velocity Range 00 - - - Paketti - ∿ Set All Samples Velocity Range 7F - - - Paketti - ∿ Resize all non-empty Patterns to 96 - - - Paketti - ∿ Resize all non-empty Patterns to current Pattern length - - - Paketti - ∿ Randomize Selected Sample Finetune/Transpose +6/-6 - - - Paketti - ∿ Randomize Selected Sample Transpose +6/-6 Finetune +127/-127 - - - Paketti - ∿ Double LPB - - - Paketti - ∿ Halve LPB - - - Paketti - ∿ Double Double LPB - - - Paketti - ∿ Halve Halve LPB - - - Paketti - ∿ Halve BPM - - - Paketti - ∿ Double BPM - - - Paketti - ∿ Halve Halve BPM - - - Paketti - ∿ Double Double BPM - - - Paketti - ∿ Jump to Sends - Shift + Command + Control + Right - - - Paketti - ∿ Master TDR Kotelnikov Show/Hide - - - Paketti - ∿ Show/Hide User Preference Devices Master Dialog - Shift + Option + 0 - - - Paketti - ∿ Open User Preferences Dialog - - - Paketti - ∿ Show/Hide Slot 01 on Master - - - Paketti - ∿ Show/Hide Slot 01 on Selected Track - - - Paketti - ∿ Show/Hide Slot 02 on Master - - - Paketti - ∿ Show/Hide Slot 02 on Selected Track - - - Paketti - ∿ Show/Hide Slot 03 on Master - - - Paketti - ∿ Show/Hide Slot 03 on Selected Track - - - Paketti - ∿ Show/Hide Slot 04 on Master - - - Paketti - ∿ Show/Hide Slot 04 on Selected Track - - - Paketti - ∿ Show/Hide Slot 05 on Master - - - Paketti - ∿ Show/Hide Slot 05 on Selected Track - - - Paketti - ∿ Show/Hide Slot 06 on Master - - - Paketti - ∿ Show/Hide Slot 06 on Selected Track - - - Paketti - ∿ Show/Hide Slot 07 on Master - - - Paketti - ∿ Show/Hide Slot 07 on Selected Track - - - Paketti - ∿ Show/Hide Slot 08 on Master - - - Paketti - ∿ Show/Hide Slot 08 on Selected Track - - - Paketti - ∿ Show/Hide Slot 09 on Master - - - Paketti - ∿ Show/Hide Slot 09 on Selected Track - - - Paketti - ∿ Show/Hide Slot 10 on Master - - - Paketti - ∿ Show/Hide Slot 10 on Selected Track - - - Paketti - ∿ Set Selected Sample FX Group to None - - - Paketti - ∿ Change Selected Track Volume by +0.1dB - Shift + Control + Minus - - - Paketti - ∿ Change Selected Track Volume by +0.5dB - - - Paketti - ∿ Change Selected Track Volume by +1dB - - - Paketti - ∿ Change Selected Track Volume by -0.1dB - Shift + Control + Slash - - - Paketti - ∿ Change Selected Track Volume by -0.5dB - - - Paketti - ∿ Change Selected Track Volume by -1dB - - - Paketti - ∿ Loop Set Percussion - Shift + Command + Y - - - Paketti - ∿ Loop Set Texture - Shift + Command + U - - - Paketti - ∿ Select Sample Next - - - Paketti - ∿ Select Sample Previous - - - Paketti - ∿ Output Routing (Non-Continual, Skip Master, Exclude Master) - - - Paketti - ∿ Output Routing (Continual, Skip Master, Exclude Master) - - - Paketti - ∿ Output Routing (Non-Continual, Include Master, Exclude Master) - - - Paketti - ∿ Output Routing (Continual, Include Master, Exclude Master) - - - Paketti - ∿ Output Routing (Non-Continual, Skip Master, Include Master in Cycle) - - - Paketti - ∿ Output Routing (Continual, Skip Master, Include Master in Cycle) - - - Paketti - ∿ Output Routing (Non-Continual, Include Master, Include Master in Cycle) - - - Paketti - ∿ Output Routing (Continual, Include Master, Include Master in Cycle) - - - Paketti - ∿ Reset Output Routings to Master - - - Paketti - ∿ Play Current Line&Step Forwards - - - Paketti - ∿ Play Current Line&Step Backwards - - - Paketti - ∿ Play Current Line&Step Random - - - Paketti - ∿ Device Control 01 (Enable) - - - Paketti - ∿ Device Control 01 (Disable) - - - Paketti - ∿ Device Control 01 (Toggle) - - - Paketti - ∿ Device Control 02 (Enable) - - - Paketti - ∿ Device Control 02 (Disable) - - - Paketti - ∿ Device Control 02 (Toggle) - - - Paketti - ∿ Device Control 03 (Enable) - - - Paketti - ∿ Device Control 03 (Disable) - - - Paketti - ∿ Device Control 03 (Toggle) - - - Paketti - ∿ Device Control 04 (Enable) - - - Paketti - ∿ Device Control 04 (Disable) - - - Paketti - ∿ Device Control 04 (Toggle) - - - Paketti - ∿ Device Control 05 (Enable) - - - Paketti - ∿ Device Control 05 (Disable) - - - Paketti - ∿ Device Control 05 (Toggle) - - - Paketti - ∿ Device Control 06 (Enable) - - - Paketti - ∿ Device Control 06 (Disable) - - - Paketti - ∿ Device Control 06 (Toggle) - - - Paketti - ∿ Device Control 07 (Enable) - - - Paketti - ∿ Device Control 07 (Disable) - - - Paketti - ∿ Device Control 07 (Toggle) - - - Paketti - ∿ Device Control 08 (Enable) - - - Paketti - ∿ Device Control 08 (Disable) - - - Paketti - ∿ Device Control 08 (Toggle) - - - Paketti - ∿ Device Control 09 (Enable) - - - Paketti - ∿ Device Control 09 (Disable) - - - Paketti - ∿ Device Control 09 (Toggle) - - - Paketti - ∿ Device Control 10 (Enable) - - - Paketti - ∿ Device Control 10 (Disable) - - - Paketti - ∿ Device Control 10 (Toggle) - - - Paketti - ∿ Device Control 11 (Enable) - - - Paketti - ∿ Device Control 11 (Disable) - - - Paketti - ∿ Device Control 11 (Toggle) - - - Paketti - ∿ Device Control 12 (Enable) - - - Paketti - ∿ Device Control 12 (Disable) - - - Paketti - ∿ Device Control 12 (Toggle) - - - Paketti - ∿ Device Control 13 (Enable) - - - Paketti - ∿ Device Control 13 (Disable) - - - Paketti - ∿ Device Control 13 (Toggle) - - - Paketti - ∿ Device Control 14 (Enable) - - - Paketti - ∿ Device Control 14 (Disable) - - - Paketti - ∿ Device Control 14 (Toggle) - - - Paketti - ∿ Device Control 15 (Enable) - - - Paketti - ∿ Device Control 15 (Disable) - - - Paketti - ∿ Device Control 15 (Toggle) - - - Paketti - ∿ Device Control 16 (Enable) - - - Paketti - ∿ Device Control 16 (Disable) - - - Paketti - ∿ Device Control 16 (Toggle) - - - Paketti - ∿ Device Control 17 (Enable) - - - Paketti - ∿ Device Control 17 (Disable) - - - Paketti - ∿ Device Control 17 (Toggle) - - - Paketti - ∿ Device Control 18 (Enable) - - - Paketti - ∿ Device Control 18 (Disable) - - - Paketti - ∿ Device Control 18 (Toggle) - - - Paketti - ∿ Device Control 19 (Enable) - - - Paketti - ∿ Device Control 19 (Disable) - - - Paketti - ∿ Device Control 19 (Toggle) - - - Paketti - ∿ Device Control 20 (Enable) - - - Paketti - ∿ Device Control 20 (Disable) - - - Paketti - ∿ Device Control 20 (Toggle) - - - Paketti - ∿ Device Control 21 (Enable) - - - Paketti - ∿ Device Control 21 (Disable) - - - Paketti - ∿ Device Control 21 (Toggle) - - - Paketti - ∿ Device Control 22 (Enable) - - - Paketti - ∿ Device Control 22 (Disable) - - - Paketti - ∿ Device Control 22 (Toggle) - - - Paketti - ∿ Device Control 23 (Enable) - - - Paketti - ∿ Device Control 23 (Disable) - - - Paketti - ∿ Device Control 23 (Toggle) - - - Paketti - ∿ Device Control 24 (Enable) - - - Paketti - ∿ Device Control 24 (Disable) - - - Paketti - ∿ Device Control 24 (Toggle) - - - Paketti - ∿ Device Control 25 (Enable) - - - Paketti - ∿ Device Control 25 (Disable) - - - Paketti - ∿ Device Control 25 (Toggle) - - - Paketti - ∿ Device Control 26 (Enable) - - - Paketti - ∿ Device Control 26 (Disable) - - - Paketti - ∿ Device Control 26 (Toggle) - - - Paketti - ∿ Device Control 27 (Enable) - - - Paketti - ∿ Device Control 27 (Disable) - - - Paketti - ∿ Device Control 27 (Toggle) - - - Paketti - ∿ Device Control 28 (Enable) - - - Paketti - ∿ Device Control 28 (Disable) - - - Paketti - ∿ Device Control 28 (Toggle) - - - Paketti - ∿ Device Control 29 (Enable) - - - Paketti - ∿ Device Control 29 (Disable) - - - Paketti - ∿ Device Control 29 (Toggle) - - - Paketti - ∿ Device Control 30 (Enable) - - - Paketti - ∿ Device Control 30 (Disable) - - - Paketti - ∿ Device Control 30 (Toggle) - - - Paketti - ∿ Device Control 31 (Enable) - - - Paketti - ∿ Device Control 31 (Disable) - - - Paketti - ∿ Device Control 31 (Toggle) - - - Paketti - ∿ Device Control 32 (Enable) - - - Paketti - ∿ Device Control 32 (Disable) - - - Paketti - ∿ Device Control 32 (Toggle) - - - Paketti - ∿ Device Control 33 (Enable) - - - Paketti - ∿ Device Control 33 (Disable) - - - Paketti - ∿ Device Control 33 (Toggle) - - - Paketti - ∿ Device Control 34 (Enable) - - - Paketti - ∿ Device Control 34 (Disable) - - - Paketti - ∿ Device Control 34 (Toggle) - - - Paketti - ∿ Play at Random Line in Current Pattern - - - Paketti - ∿ Play at Random Line in Current Pattern 2 - - - Paketti - ∿ Play at Random Line in Current Pattern 4 - - - Paketti - ∿ Play at Random Line in Current Pattern LPB - - - Paketti - ∿ Play at Row 000 (000) - - - Paketti - ∿ Play at Row 001 (001) - - - Paketti - ∿ Play at Row 002 (002) - - - Paketti - ∿ Play at Row 003 (003) - - - Paketti - ∿ Play at Row 004 (004) - - - Paketti - ∿ Play at Row 005 (005) - - - Paketti - ∿ Play at Row 006 (006) - - - Paketti - ∿ Play at Row 007 (007) - - - Paketti - ∿ Play at Row 008 (008) - - - Paketti - ∿ Play at Row 009 (009) - - - Paketti - ∿ Play at Row 010 (00A) - - - Paketti - ∿ Play at Row 011 (00B) - - - Paketti - ∿ Play at Row 012 (00C) - - - Paketti - ∿ Play at Row 013 (00D) - - - Paketti - ∿ Play at Row 014 (00E) - - - Paketti - ∿ Play at Row 015 (00F) - - - Paketti - ∿ Play at Row 016 (010) - - - Paketti - ∿ Play at Row 017 (011) - - - Paketti - ∿ Play at Row 018 (012) - - - Paketti - ∿ Play at Row 019 (013) - - - Paketti - ∿ Play at Row 020 (014) - - - Paketti - ∿ Play at Row 021 (015) - - - Paketti - ∿ Play at Row 022 (016) - - - Paketti - ∿ Play at Row 023 (017) - - - Paketti - ∿ Play at Row 024 (018) - - - Paketti - ∿ Play at Row 025 (019) - - - Paketti - ∿ Play at Row 026 (01A) - - - Paketti - ∿ Play at Row 027 (01B) - - - Paketti - ∿ Play at Row 028 (01C) - - - Paketti - ∿ Play at Row 029 (01D) - - - Paketti - ∿ Play at Row 030 (01E) - - - Paketti - ∿ Play at Row 031 (01F) - - - Paketti - ∿ Play at Row 032 (020) - - - Paketti - ∿ Play at Row 033 (021) - - - Paketti - ∿ Play at Row 034 (022) - - - Paketti - ∿ Play at Row 035 (023) - - - Paketti - ∿ Play at Row 036 (024) - - - Paketti - ∿ Play at Row 037 (025) - - - Paketti - ∿ Play at Row 038 (026) - - - Paketti - ∿ Play at Row 039 (027) - - - Paketti - ∿ Play at Row 040 (028) - - - Paketti - ∿ Play at Row 041 (029) - - - Paketti - ∿ Play at Row 042 (02A) - - - Paketti - ∿ Play at Row 043 (02B) - - - Paketti - ∿ Play at Row 044 (02C) - - - Paketti - ∿ Play at Row 045 (02D) - - - Paketti - ∿ Play at Row 046 (02E) - - - Paketti - ∿ Play at Row 047 (02F) - - - Paketti - ∿ Play at Row 048 (030) - - - Paketti - ∿ Play at Row 049 (031) - - - Paketti - ∿ Play at Row 050 (032) - - - Paketti - ∿ Play at Row 051 (033) - - - Paketti - ∿ Play at Row 052 (034) - - - Paketti - ∿ Play at Row 053 (035) - - - Paketti - ∿ Play at Row 054 (036) - - - Paketti - ∿ Play at Row 055 (037) - - - Paketti - ∿ Play at Row 056 (038) - - - Paketti - ∿ Play at Row 057 (039) - - - Paketti - ∿ Play at Row 058 (03A) - - - Paketti - ∿ Play at Row 059 (03B) - - - Paketti - ∿ Play at Row 060 (03C) - - - Paketti - ∿ Play at Row 061 (03D) - - - Paketti - ∿ Play at Row 062 (03E) - - - Paketti - ∿ Play at Row 063 (03F) - - - Paketti - ∿ Play at Row 064 (040) - - - Paketti - ∿ Play at Row 065 (041) - - - Paketti - ∿ Play at Row 066 (042) - - - Paketti - ∿ Play at Row 067 (043) - - - Paketti - ∿ Play at Row 068 (044) - - - Paketti - ∿ Play at Row 069 (045) - - - Paketti - ∿ Play at Row 070 (046) - - - Paketti - ∿ Play at Row 071 (047) - - - Paketti - ∿ Play at Row 072 (048) - - - Paketti - ∿ Play at Row 073 (049) - - - Paketti - ∿ Play at Row 074 (04A) - - - Paketti - ∿ Play at Row 075 (04B) - - - Paketti - ∿ Play at Row 076 (04C) - - - Paketti - ∿ Play at Row 077 (04D) - - - Paketti - ∿ Play at Row 078 (04E) - - - Paketti - ∿ Play at Row 079 (04F) - - - Paketti - ∿ Play at Row 080 (050) - - - Paketti - ∿ Play at Row 081 (051) - - - Paketti - ∿ Play at Row 082 (052) - - - Paketti - ∿ Play at Row 083 (053) - - - Paketti - ∿ Play at Row 084 (054) - - - Paketti - ∿ Play at Row 085 (055) - - - Paketti - ∿ Play at Row 086 (056) - - - Paketti - ∿ Play at Row 087 (057) - - - Paketti - ∿ Play at Row 088 (058) - - - Paketti - ∿ Play at Row 089 (059) - - - Paketti - ∿ Play at Row 090 (05A) - - - Paketti - ∿ Play at Row 091 (05B) - - - Paketti - ∿ Play at Row 092 (05C) - - - Paketti - ∿ Play at Row 093 (05D) - - - Paketti - ∿ Play at Row 094 (05E) - - - Paketti - ∿ Play at Row 095 (05F) - - - Paketti - ∿ Play at Row 096 (060) - - - Paketti - ∿ Play at Row 097 (061) - - - Paketti - ∿ Play at Row 098 (062) - - - Paketti - ∿ Play at Row 099 (063) - - - Paketti - ∿ Play at Row 100 (064) - - - Paketti - ∿ Play at Row 101 (065) - - - Paketti - ∿ Play at Row 102 (066) - - - Paketti - ∿ Play at Row 103 (067) - - - Paketti - ∿ Play at Row 104 (068) - - - Paketti - ∿ Play at Row 105 (069) - - - Paketti - ∿ Play at Row 106 (06A) - - - Paketti - ∿ Play at Row 107 (06B) - - - Paketti - ∿ Play at Row 108 (06C) - - - Paketti - ∿ Play at Row 109 (06D) - - - Paketti - ∿ Play at Row 110 (06E) - - - Paketti - ∿ Play at Row 111 (06F) - - - Paketti - ∿ Play at Row 112 (070) - - - Paketti - ∿ Play at Row 113 (071) - - - Paketti - ∿ Play at Row 114 (072) - - - Paketti - ∿ Play at Row 115 (073) - - - Paketti - ∿ Play at Row 116 (074) - - - Paketti - ∿ Play at Row 117 (075) - - - Paketti - ∿ Play at Row 118 (076) - - - Paketti - ∿ Play at Row 119 (077) - - - Paketti - ∿ Play at Row 120 (078) - - - Paketti - ∿ Play at Row 121 (079) - - - Paketti - ∿ Play at Row 122 (07A) - - - Paketti - ∿ Play at Row 123 (07B) - - - Paketti - ∿ Play at Row 124 (07C) - - - Paketti - ∿ Play at Row 125 (07D) - - - Paketti - ∿ Play at Row 126 (07E) - - - Paketti - ∿ Play at Row 127 (07F) - - - Paketti - ∿ Play at Row 128 (080) - - - Paketti - ∿ Play at Row 129 (081) - - - Paketti - ∿ Play at Row 130 (082) - - - Paketti - ∿ Play at Row 131 (083) - - - Paketti - ∿ Play at Row 132 (084) - - - Paketti - ∿ Play at Row 133 (085) - - - Paketti - ∿ Play at Row 134 (086) - - - Paketti - ∿ Play at Row 135 (087) - - - Paketti - ∿ Play at Row 136 (088) - - - Paketti - ∿ Play at Row 137 (089) - - - Paketti - ∿ Play at Row 138 (08A) - - - Paketti - ∿ Play at Row 139 (08B) - - - Paketti - ∿ Play at Row 140 (08C) - - - Paketti - ∿ Play at Row 141 (08D) - - - Paketti - ∿ Play at Row 142 (08E) - - - Paketti - ∿ Play at Row 143 (08F) - - - Paketti - ∿ Play at Row 144 (090) - - - Paketti - ∿ Play at Row 145 (091) - - - Paketti - ∿ Play at Row 146 (092) - - - Paketti - ∿ Play at Row 147 (093) - - - Paketti - ∿ Play at Row 148 (094) - - - Paketti - ∿ Play at Row 149 (095) - - - Paketti - ∿ Play at Row 150 (096) - - - Paketti - ∿ Play at Row 151 (097) - - - Paketti - ∿ Play at Row 152 (098) - - - Paketti - ∿ Play at Row 153 (099) - - - Paketti - ∿ Play at Row 154 (09A) - - - Paketti - ∿ Play at Row 155 (09B) - - - Paketti - ∿ Play at Row 156 (09C) - - - Paketti - ∿ Play at Row 157 (09D) - - - Paketti - ∿ Play at Row 158 (09E) - - - Paketti - ∿ Play at Row 159 (09F) - - - Paketti - ∿ Play at Row 160 (0A0) - - - Paketti - ∿ Play at Row 161 (0A1) - - - Paketti - ∿ Play at Row 162 (0A2) - - - Paketti - ∿ Play at Row 163 (0A3) - - - Paketti - ∿ Play at Row 164 (0A4) - - - Paketti - ∿ Play at Row 165 (0A5) - - - Paketti - ∿ Play at Row 166 (0A6) - - - Paketti - ∿ Play at Row 167 (0A7) - - - Paketti - ∿ Play at Row 168 (0A8) - - - Paketti - ∿ Play at Row 169 (0A9) - - - Paketti - ∿ Play at Row 170 (0AA) - - - Paketti - ∿ Play at Row 171 (0AB) - - - Paketti - ∿ Play at Row 172 (0AC) - - - Paketti - ∿ Play at Row 173 (0AD) - - - Paketti - ∿ Play at Row 174 (0AE) - - - Paketti - ∿ Play at Row 175 (0AF) - - - Paketti - ∿ Play at Row 176 (0B0) - - - Paketti - ∿ Play at Row 177 (0B1) - - - Paketti - ∿ Play at Row 178 (0B2) - - - Paketti - ∿ Play at Row 179 (0B3) - - - Paketti - ∿ Play at Row 180 (0B4) - - - Paketti - ∿ Play at Row 181 (0B5) - - - Paketti - ∿ Play at Row 182 (0B6) - - - Paketti - ∿ Play at Row 183 (0B7) - - - Paketti - ∿ Play at Row 184 (0B8) - - - Paketti - ∿ Play at Row 185 (0B9) - - - Paketti - ∿ Play at Row 186 (0BA) - - - Paketti - ∿ Play at Row 187 (0BB) - - - Paketti - ∿ Play at Row 188 (0BC) - - - Paketti - ∿ Play at Row 189 (0BD) - - - Paketti - ∿ Play at Row 190 (0BE) - - - Paketti - ∿ Play at Row 191 (0BF) - - - Paketti - ∿ Play at Row 192 (0C0) - - - Paketti - ∿ Play at Row 193 (0C1) - - - Paketti - ∿ Play at Row 194 (0C2) - - - Paketti - ∿ Play at Row 195 (0C3) - - - Paketti - ∿ Play at Row 196 (0C4) - - - Paketti - ∿ Play at Row 197 (0C5) - - - Paketti - ∿ Play at Row 198 (0C6) - - - Paketti - ∿ Play at Row 199 (0C7) - - - Paketti - ∿ Play at Row 200 (0C8) - - - Paketti - ∿ Play at Row 201 (0C9) - - - Paketti - ∿ Play at Row 202 (0CA) - - - Paketti - ∿ Play at Row 203 (0CB) - - - Paketti - ∿ Play at Row 204 (0CC) - - - Paketti - ∿ Play at Row 205 (0CD) - - - Paketti - ∿ Play at Row 206 (0CE) - - - Paketti - ∿ Play at Row 207 (0CF) - - - Paketti - ∿ Play at Row 208 (0D0) - - - Paketti - ∿ Play at Row 209 (0D1) - - - Paketti - ∿ Play at Row 210 (0D2) - - - Paketti - ∿ Play at Row 211 (0D3) - - - Paketti - ∿ Play at Row 212 (0D4) - - - Paketti - ∿ Play at Row 213 (0D5) - - - Paketti - ∿ Play at Row 214 (0D6) - - - Paketti - ∿ Play at Row 215 (0D7) - - - Paketti - ∿ Play at Row 216 (0D8) - - - Paketti - ∿ Play at Row 217 (0D9) - - - Paketti - ∿ Play at Row 218 (0DA) - - - Paketti - ∿ Play at Row 219 (0DB) - - - Paketti - ∿ Play at Row 220 (0DC) - - - Paketti - ∿ Play at Row 221 (0DD) - - - Paketti - ∿ Play at Row 222 (0DE) - - - Paketti - ∿ Play at Row 223 (0DF) - - - Paketti - ∿ Play at Row 224 (0E0) - - - Paketti - ∿ Play at Row 225 (0E1) - - - Paketti - ∿ Play at Row 226 (0E2) - - - Paketti - ∿ Play at Row 227 (0E3) - - - Paketti - ∿ Play at Row 228 (0E4) - - - Paketti - ∿ Play at Row 229 (0E5) - - - Paketti - ∿ Play at Row 230 (0E6) - - - Paketti - ∿ Play at Row 231 (0E7) - - - Paketti - ∿ Play at Row 232 (0E8) - - - Paketti - ∿ Play at Row 233 (0E9) - - - Paketti - ∿ Play at Row 234 (0EA) - - - Paketti - ∿ Play at Row 235 (0EB) - - - Paketti - ∿ Play at Row 236 (0EC) - - - Paketti - ∿ Play at Row 237 (0ED) - - - Paketti - ∿ Play at Row 238 (0EE) - - - Paketti - ∿ Play at Row 239 (0EF) - - - Paketti - ∿ Play at Row 240 (0F0) - - - Paketti - ∿ Play at Row 241 (0F1) - - - Paketti - ∿ Play at Row 242 (0F2) - - - Paketti - ∿ Play at Row 243 (0F3) - - - Paketti - ∿ Play at Row 244 (0F4) - - - Paketti - ∿ Play at Row 245 (0F5) - - - Paketti - ∿ Play at Row 246 (0F6) - - - Paketti - ∿ Play at Row 247 (0F7) - - - Paketti - ∿ Play at Row 248 (0F8) - - - Paketti - ∿ Play at Row 249 (0F9) - - - Paketti - ∿ Play at Row 250 (0FA) - - - Paketti - ∿ Play at Row 251 (0FB) - - - Paketti - ∿ Play at Row 252 (0FC) - - - Paketti - ∿ Play at Row 253 (0FD) - - - Paketti - ∿ Play at Row 254 (0FE) - - - Paketti - ∿ Play at Row 255 (0FF) - - - Paketti - ∿ Play at Row 256 (100) - - - Paketti - ∿ Play at Row 257 (101) - - - Paketti - ∿ Play at Row 258 (102) - - - Paketti - ∿ Play at Row 259 (103) - - - Paketti - ∿ Play at Row 260 (104) - - - Paketti - ∿ Play at Row 261 (105) - - - Paketti - ∿ Play at Row 262 (106) - - - Paketti - ∿ Play at Row 263 (107) - - - Paketti - ∿ Play at Row 264 (108) - - - Paketti - ∿ Play at Row 265 (109) - - - Paketti - ∿ Play at Row 266 (10A) - - - Paketti - ∿ Play at Row 267 (10B) - - - Paketti - ∿ Play at Row 268 (10C) - - - Paketti - ∿ Play at Row 269 (10D) - - - Paketti - ∿ Play at Row 270 (10E) - - - Paketti - ∿ Play at Row 271 (10F) - - - Paketti - ∿ Play at Row 272 (110) - - - Paketti - ∿ Play at Row 273 (111) - - - Paketti - ∿ Play at Row 274 (112) - - - Paketti - ∿ Play at Row 275 (113) - - - Paketti - ∿ Play at Row 276 (114) - - - Paketti - ∿ Play at Row 277 (115) - - - Paketti - ∿ Play at Row 278 (116) - - - Paketti - ∿ Play at Row 279 (117) - - - Paketti - ∿ Play at Row 280 (118) - - - Paketti - ∿ Play at Row 281 (119) - - - Paketti - ∿ Play at Row 282 (11A) - - - Paketti - ∿ Play at Row 283 (11B) - - - Paketti - ∿ Play at Row 284 (11C) - - - Paketti - ∿ Play at Row 285 (11D) - - - Paketti - ∿ Play at Row 286 (11E) - - - Paketti - ∿ Play at Row 287 (11F) - - - Paketti - ∿ Play at Row 288 (120) - - - Paketti - ∿ Play at Row 289 (121) - - - Paketti - ∿ Play at Row 290 (122) - - - Paketti - ∿ Play at Row 291 (123) - - - Paketti - ∿ Play at Row 292 (124) - - - Paketti - ∿ Play at Row 293 (125) - - - Paketti - ∿ Play at Row 294 (126) - - - Paketti - ∿ Play at Row 295 (127) - - - Paketti - ∿ Play at Row 296 (128) - - - Paketti - ∿ Play at Row 297 (129) - - - Paketti - ∿ Play at Row 298 (12A) - - - Paketti - ∿ Play at Row 299 (12B) - - - Paketti - ∿ Play at Row 300 (12C) - - - Paketti - ∿ Play at Row 301 (12D) - - - Paketti - ∿ Play at Row 302 (12E) - - - Paketti - ∿ Play at Row 303 (12F) - - - Paketti - ∿ Play at Row 304 (130) - - - Paketti - ∿ Play at Row 305 (131) - - - Paketti - ∿ Play at Row 306 (132) - - - Paketti - ∿ Play at Row 307 (133) - - - Paketti - ∿ Play at Row 308 (134) - - - Paketti - ∿ Play at Row 309 (135) - - - Paketti - ∿ Play at Row 310 (136) - - - Paketti - ∿ Play at Row 311 (137) - - - Paketti - ∿ Play at Row 312 (138) - - - Paketti - ∿ Play at Row 313 (139) - - - Paketti - ∿ Play at Row 314 (13A) - - - Paketti - ∿ Play at Row 315 (13B) - - - Paketti - ∿ Play at Row 316 (13C) - - - Paketti - ∿ Play at Row 317 (13D) - - - Paketti - ∿ Play at Row 318 (13E) - - - Paketti - ∿ Play at Row 319 (13F) - - - Paketti - ∿ Play at Row 320 (140) - - - Paketti - ∿ Play at Row 321 (141) - - - Paketti - ∿ Play at Row 322 (142) - - - Paketti - ∿ Play at Row 323 (143) - - - Paketti - ∿ Play at Row 324 (144) - - - Paketti - ∿ Play at Row 325 (145) - - - Paketti - ∿ Play at Row 326 (146) - - - Paketti - ∿ Play at Row 327 (147) - - - Paketti - ∿ Play at Row 328 (148) - - - Paketti - ∿ Play at Row 329 (149) - - - Paketti - ∿ Play at Row 330 (14A) - - - Paketti - ∿ Play at Row 331 (14B) - - - Paketti - ∿ Play at Row 332 (14C) - - - Paketti - ∿ Play at Row 333 (14D) - - - Paketti - ∿ Play at Row 334 (14E) - - - Paketti - ∿ Play at Row 335 (14F) - - - Paketti - ∿ Play at Row 336 (150) - - - Paketti - ∿ Play at Row 337 (151) - - - Paketti - ∿ Play at Row 338 (152) - - - Paketti - ∿ Play at Row 339 (153) - - - Paketti - ∿ Play at Row 340 (154) - - - Paketti - ∿ Play at Row 341 (155) - - - Paketti - ∿ Play at Row 342 (156) - - - Paketti - ∿ Play at Row 343 (157) - - - Paketti - ∿ Play at Row 344 (158) - - - Paketti - ∿ Play at Row 345 (159) - - - Paketti - ∿ Play at Row 346 (15A) - - - Paketti - ∿ Play at Row 347 (15B) - - - Paketti - ∿ Play at Row 348 (15C) - - - Paketti - ∿ Play at Row 349 (15D) - - - Paketti - ∿ Play at Row 350 (15E) - - - Paketti - ∿ Play at Row 351 (15F) - - - Paketti - ∿ Play at Row 352 (160) - - - Paketti - ∿ Play at Row 353 (161) - - - Paketti - ∿ Play at Row 354 (162) - - - Paketti - ∿ Play at Row 355 (163) - - - Paketti - ∿ Play at Row 356 (164) - - - Paketti - ∿ Play at Row 357 (165) - - - Paketti - ∿ Play at Row 358 (166) - - - Paketti - ∿ Play at Row 359 (167) - - - Paketti - ∿ Play at Row 360 (168) - - - Paketti - ∿ Play at Row 361 (169) - - - Paketti - ∿ Play at Row 362 (16A) - - - Paketti - ∿ Play at Row 363 (16B) - - - Paketti - ∿ Play at Row 364 (16C) - - - Paketti - ∿ Play at Row 365 (16D) - - - Paketti - ∿ Play at Row 366 (16E) - - - Paketti - ∿ Play at Row 367 (16F) - - - Paketti - ∿ Play at Row 368 (170) - - - Paketti - ∿ Play at Row 369 (171) - - - Paketti - ∿ Play at Row 370 (172) - - - Paketti - ∿ Play at Row 371 (173) - - - Paketti - ∿ Play at Row 372 (174) - - - Paketti - ∿ Play at Row 373 (175) - - - Paketti - ∿ Play at Row 374 (176) - - - Paketti - ∿ Play at Row 375 (177) - - - Paketti - ∿ Play at Row 376 (178) - - - Paketti - ∿ Play at Row 377 (179) - - - Paketti - ∿ Play at Row 378 (17A) - - - Paketti - ∿ Play at Row 379 (17B) - - - Paketti - ∿ Play at Row 380 (17C) - - - Paketti - ∿ Play at Row 381 (17D) - - - Paketti - ∿ Play at Row 382 (17E) - - - Paketti - ∿ Play at Row 383 (17F) - - - Paketti - ∿ Play at Row 384 (180) - - - Paketti - ∿ Play at Row 385 (181) - - - Paketti - ∿ Play at Row 386 (182) - - - Paketti - ∿ Play at Row 387 (183) - - - Paketti - ∿ Play at Row 388 (184) - - - Paketti - ∿ Play at Row 389 (185) - - - Paketti - ∿ Play at Row 390 (186) - - - Paketti - ∿ Play at Row 391 (187) - - - Paketti - ∿ Play at Row 392 (188) - - - Paketti - ∿ Play at Row 393 (189) - - - Paketti - ∿ Play at Row 394 (18A) - - - Paketti - ∿ Play at Row 395 (18B) - - - Paketti - ∿ Play at Row 396 (18C) - - - Paketti - ∿ Play at Row 397 (18D) - - - Paketti - ∿ Play at Row 398 (18E) - - - Paketti - ∿ Play at Row 399 (18F) - - - Paketti - ∿ Play at Row 400 (190) - - - Paketti - ∿ Play at Row 401 (191) - - - Paketti - ∿ Play at Row 402 (192) - - - Paketti - ∿ Play at Row 403 (193) - - - Paketti - ∿ Play at Row 404 (194) - - - Paketti - ∿ Play at Row 405 (195) - - - Paketti - ∿ Play at Row 406 (196) - - - Paketti - ∿ Play at Row 407 (197) - - - Paketti - ∿ Play at Row 408 (198) - - - Paketti - ∿ Play at Row 409 (199) - - - Paketti - ∿ Play at Row 410 (19A) - - - Paketti - ∿ Play at Row 411 (19B) - - - Paketti - ∿ Play at Row 412 (19C) - - - Paketti - ∿ Play at Row 413 (19D) - - - Paketti - ∿ Play at Row 414 (19E) - - - Paketti - ∿ Play at Row 415 (19F) - - - Paketti - ∿ Play at Row 416 (1A0) - - - Paketti - ∿ Play at Row 417 (1A1) - - - Paketti - ∿ Play at Row 418 (1A2) - - - Paketti - ∿ Play at Row 419 (1A3) - - - Paketti - ∿ Play at Row 420 (1A4) - - - Paketti - ∿ Play at Row 421 (1A5) - - - Paketti - ∿ Play at Row 422 (1A6) - - - Paketti - ∿ Play at Row 423 (1A7) - - - Paketti - ∿ Play at Row 424 (1A8) - - - Paketti - ∿ Play at Row 425 (1A9) - - - Paketti - ∿ Play at Row 426 (1AA) - - - Paketti - ∿ Play at Row 427 (1AB) - - - Paketti - ∿ Play at Row 428 (1AC) - - - Paketti - ∿ Play at Row 429 (1AD) - - - Paketti - ∿ Play at Row 430 (1AE) - - - Paketti - ∿ Play at Row 431 (1AF) - - - Paketti - ∿ Play at Row 432 (1B0) - - - Paketti - ∿ Play at Row 433 (1B1) - - - Paketti - ∿ Play at Row 434 (1B2) - - - Paketti - ∿ Play at Row 435 (1B3) - - - Paketti - ∿ Play at Row 436 (1B4) - - - Paketti - ∿ Play at Row 437 (1B5) - - - Paketti - ∿ Play at Row 438 (1B6) - - - Paketti - ∿ Play at Row 439 (1B7) - - - Paketti - ∿ Play at Row 440 (1B8) - - - Paketti - ∿ Play at Row 441 (1B9) - - - Paketti - ∿ Play at Row 442 (1BA) - - - Paketti - ∿ Play at Row 443 (1BB) - - - Paketti - ∿ Play at Row 444 (1BC) - - - Paketti - ∿ Play at Row 445 (1BD) - - - Paketti - ∿ Play at Row 446 (1BE) - - - Paketti - ∿ Play at Row 447 (1BF) - - - Paketti - ∿ Play at Row 448 (1C0) - - - Paketti - ∿ Play at Row 449 (1C1) - - - Paketti - ∿ Play at Row 450 (1C2) - - - Paketti - ∿ Play at Row 451 (1C3) - - - Paketti - ∿ Play at Row 452 (1C4) - - - Paketti - ∿ Play at Row 453 (1C5) - - - Paketti - ∿ Play at Row 454 (1C6) - - - Paketti - ∿ Play at Row 455 (1C7) - - - Paketti - ∿ Play at Row 456 (1C8) - - - Paketti - ∿ Play at Row 457 (1C9) - - - Paketti - ∿ Play at Row 458 (1CA) - - - Paketti - ∿ Play at Row 459 (1CB) - - - Paketti - ∿ Play at Row 460 (1CC) - - - Paketti - ∿ Play at Row 461 (1CD) - - - Paketti - ∿ Play at Row 462 (1CE) - - - Paketti - ∿ Play at Row 463 (1CF) - - - Paketti - ∿ Play at Row 464 (1D0) - - - Paketti - ∿ Play at Row 465 (1D1) - - - Paketti - ∿ Play at Row 466 (1D2) - - - Paketti - ∿ Play at Row 467 (1D3) - - - Paketti - ∿ Play at Row 468 (1D4) - - - Paketti - ∿ Play at Row 469 (1D5) - - - Paketti - ∿ Play at Row 470 (1D6) - - - Paketti - ∿ Play at Row 471 (1D7) - - - Paketti - ∿ Play at Row 472 (1D8) - - - Paketti - ∿ Play at Row 473 (1D9) - - - Paketti - ∿ Play at Row 474 (1DA) - - - Paketti - ∿ Play at Row 475 (1DB) - - - Paketti - ∿ Play at Row 476 (1DC) - - - Paketti - ∿ Play at Row 477 (1DD) - - - Paketti - ∿ Play at Row 478 (1DE) - - - Paketti - ∿ Play at Row 479 (1DF) - - - Paketti - ∿ Play at Row 480 (1E0) - - - Paketti - ∿ Play at Row 481 (1E1) - - - Paketti - ∿ Play at Row 482 (1E2) - - - Paketti - ∿ Play at Row 483 (1E3) - - - Paketti - ∿ Play at Row 484 (1E4) - - - Paketti - ∿ Play at Row 485 (1E5) - - - Paketti - ∿ Play at Row 486 (1E6) - - - Paketti - ∿ Play at Row 487 (1E7) - - - Paketti - ∿ Play at Row 488 (1E8) - - - Paketti - ∿ Play at Row 489 (1E9) - - - Paketti - ∿ Play at Row 490 (1EA) - - - Paketti - ∿ Play at Row 491 (1EB) - - - Paketti - ∿ Play at Row 492 (1EC) - - - Paketti - ∿ Play at Row 493 (1ED) - - - Paketti - ∿ Play at Row 494 (1EE) - - - Paketti - ∿ Play at Row 495 (1EF) - - - Paketti - ∿ Play at Row 496 (1F0) - - - Paketti - ∿ Play at Row 497 (1F1) - - - Paketti - ∿ Play at Row 498 (1F2) - - - Paketti - ∿ Play at Row 499 (1F3) - - - Paketti - ∿ Play at Row 500 (1F4) - - - Paketti - ∿ Play at Row 501 (1F5) - - - Paketti - ∿ Play at Row 502 (1F6) - - - Paketti - ∿ Play at Row 503 (1F7) - - - Paketti - ∿ Play at Row 504 (1F8) - - - Paketti - ∿ Play at Row 505 (1F9) - - - Paketti - ∿ Play at Row 506 (1FA) - - - Paketti - ∿ Play at Row 507 (1FB) - - - Paketti - ∿ Play at Row 508 (1FC) - - - Paketti - ∿ Play at Row 509 (1FD) - - - Paketti - ∿ Play at Row 510 (1FE) - - - Paketti - ∿ Play at Row 511 (1FF) - - - Paketti - ∿ Open VolDelayPan Slider Dialog... - Shift + Control + W - - - Paketti - ∿ Wipe All Columns of Selected Track - - - Paketti - ∿ Set Interpolation 1 (None) Globally - - - Paketti - ∿ Set Interpolation 2 (Linear) Globally - - - Paketti - ∿ Set Interpolation 3 (Cubic) Globally - Shift + Option + 3 - - - Paketti - ∿ Set Interpolation 4 (Sinc) Globally - Shift + Option + 4 - - - Paketti - ∿ Show/Hide Selected Track Device 01 - - - Paketti - ∿ Show/Hide Selected Track Device 02 - - - Paketti - ∿ Show/Hide Selected Track Device 03 - - - Paketti - ∿ Show/Hide Selected Track Device 04 - - - Paketti - ∿ Show/Hide Selected Track Device 05 - - - Paketti - ∿ Show/Hide Selected Track Device 06 - - - Paketti - ∿ Show/Hide Selected Track Device 07 - - - Paketti - ∿ Show/Hide Selected Track Device 08 - - - Paketti - ∿ Show/Hide Selected Track Device 09 - - - Paketti - ∿ Show/Hide Selected Track Device 10 - - - Paketti - ∿ Show/Hide Selected Track Device 11 - - - Paketti - ∿ Show/Hide Selected Track Device 12 - - - Paketti - ∿ Show/Hide Selected Track Device 13 - - - Paketti - ∿ Show/Hide Selected Track Device 14 - - - Paketti - ∿ Show/Hide Selected Track Device 15 - - - Paketti - ∿ Show/Hide Selected Track Device 16 - - - Paketti - ∿ Show/Hide Selected Track Device 17 - - - Paketti - ∿ Show/Hide Selected Track Device 18 - - - Paketti - ∿ Show/Hide Selected Track Device 19 - - - Paketti - ∿ Show/Hide Selected Track Device 20 - - - Paketti - ∿ Show/Hide Selected Track Device 21 - - - Paketti - ∿ Show/Hide Selected Track Device 22 - - - Paketti - ∿ Show/Hide Selected Track Device 23 - - - Paketti - ∿ Show/Hide Selected Track Device 24 - - - Paketti - ∿ Show/Hide Selected Track Device 25 - - - Paketti - ∿ Show/Hide Selected Track Device 26 - - - Paketti - ∿ Show/Hide Selected Track Device 27 - - - Paketti - ∿ Show/Hide Selected Track Device 28 - - - Paketti - ∿ Show/Hide Selected Track Device 29 - - - Paketti - ∿ Show/Hide Selected Track Device 30 - - - Paketti - ∿ Show/Hide Selected Track Device 31 - - - Paketti - ∿ Jump Forward Within Pattern by 001 - - - Paketti - ∿ Jump Backward Within Pattern by 001 - - - Paketti - ∿ Jump Forward Within Pattern by 002 - - - Paketti - ∿ Jump Backward Within Pattern by 002 - - - Paketti - ∿ Jump Forward Within Pattern by 003 - - - Paketti - ∿ Jump Backward Within Pattern by 003 - - - Paketti - ∿ Jump Forward Within Pattern by 004 - - - Paketti - ∿ Jump Backward Within Pattern by 004 - - - Paketti - ∿ Jump Forward Within Pattern by 005 - - - Paketti - ∿ Jump Backward Within Pattern by 005 - - - Paketti - ∿ Jump Forward Within Pattern by 006 - - - Paketti - ∿ Jump Backward Within Pattern by 006 - - - Paketti - ∿ Jump Forward Within Pattern by 007 - - - Paketti - ∿ Jump Backward Within Pattern by 007 - - - Paketti - ∿ Jump Forward Within Pattern by 008 - - - Paketti - ∿ Jump Backward Within Pattern by 008 - - - Paketti - ∿ Jump Forward Within Pattern by 009 - - - Paketti - ∿ Jump Backward Within Pattern by 009 - - - Paketti - ∿ Jump Forward Within Pattern by 010 - - - Paketti - ∿ Jump Backward Within Pattern by 010 - - - Paketti - ∿ Jump Forward Within Pattern by 011 - - - Paketti - ∿ Jump Backward Within Pattern by 011 - - - Paketti - ∿ Jump Forward Within Pattern by 012 - - - Paketti - ∿ Jump Backward Within Pattern by 012 - - - Paketti - ∿ Jump Forward Within Pattern by 013 - - - Paketti - ∿ Jump Backward Within Pattern by 013 - - - Paketti - ∿ Jump Forward Within Pattern by 014 - - - Paketti - ∿ Jump Backward Within Pattern by 014 - - - Paketti - ∿ Jump Forward Within Pattern by 015 - - - Paketti - ∿ Jump Backward Within Pattern by 015 - - - Paketti - ∿ Jump Forward Within Pattern by 016 - - - Paketti - ∿ Jump Backward Within Pattern by 016 - - - Paketti - ∿ Jump Forward Within Pattern by 017 - - - Paketti - ∿ Jump Backward Within Pattern by 017 - - - Paketti - ∿ Jump Forward Within Pattern by 018 - - - Paketti - ∿ Jump Backward Within Pattern by 018 - - - Paketti - ∿ Jump Forward Within Pattern by 019 - - - Paketti - ∿ Jump Backward Within Pattern by 019 - - - Paketti - ∿ Jump Forward Within Pattern by 020 - - - Paketti - ∿ Jump Backward Within Pattern by 020 - - - Paketti - ∿ Jump Forward Within Pattern by 021 - - - Paketti - ∿ Jump Backward Within Pattern by 021 - - - Paketti - ∿ Jump Forward Within Pattern by 022 - - - Paketti - ∿ Jump Backward Within Pattern by 022 - - - Paketti - ∿ Jump Forward Within Pattern by 023 - - - Paketti - ∿ Jump Backward Within Pattern by 023 - - - Paketti - ∿ Jump Forward Within Pattern by 024 - - - Paketti - ∿ Jump Backward Within Pattern by 024 - - - Paketti - ∿ Jump Forward Within Pattern by 025 - - - Paketti - ∿ Jump Backward Within Pattern by 025 - - - Paketti - ∿ Jump Forward Within Pattern by 026 - - - Paketti - ∿ Jump Backward Within Pattern by 026 - - - Paketti - ∿ Jump Forward Within Pattern by 027 - - - Paketti - ∿ Jump Backward Within Pattern by 027 - - - Paketti - ∿ Jump Forward Within Pattern by 028 - - - Paketti - ∿ Jump Backward Within Pattern by 028 - - - Paketti - ∿ Jump Forward Within Pattern by 029 - - - Paketti - ∿ Jump Backward Within Pattern by 029 - - - Paketti - ∿ Jump Forward Within Pattern by 030 - - - Paketti - ∿ Jump Backward Within Pattern by 030 - - - Paketti - ∿ Jump Forward Within Pattern by 031 - - - Paketti - ∿ Jump Backward Within Pattern by 031 - - - Paketti - ∿ Jump Forward Within Pattern by 032 - - - Paketti - ∿ Jump Backward Within Pattern by 032 - - - Paketti - ∿ Jump Forward Within Pattern by 033 - - - Paketti - ∿ Jump Backward Within Pattern by 033 - - - Paketti - ∿ Jump Forward Within Pattern by 034 - - - Paketti - ∿ Jump Backward Within Pattern by 034 - - - Paketti - ∿ Jump Forward Within Pattern by 035 - - - Paketti - ∿ Jump Backward Within Pattern by 035 - - - Paketti - ∿ Jump Forward Within Pattern by 036 - - - Paketti - ∿ Jump Backward Within Pattern by 036 - - - Paketti - ∿ Jump Forward Within Pattern by 037 - - - Paketti - ∿ Jump Backward Within Pattern by 037 - - - Paketti - ∿ Jump Forward Within Pattern by 038 - - - Paketti - ∿ Jump Backward Within Pattern by 038 - - - Paketti - ∿ Jump Forward Within Pattern by 039 - - - Paketti - ∿ Jump Backward Within Pattern by 039 - - - Paketti - ∿ Jump Forward Within Pattern by 040 - - - Paketti - ∿ Jump Backward Within Pattern by 040 - - - Paketti - ∿ Jump Forward Within Pattern by 041 - - - Paketti - ∿ Jump Backward Within Pattern by 041 - - - Paketti - ∿ Jump Forward Within Pattern by 042 - - - Paketti - ∿ Jump Backward Within Pattern by 042 - - - Paketti - ∿ Jump Forward Within Pattern by 043 - - - Paketti - ∿ Jump Backward Within Pattern by 043 - - - Paketti - ∿ Jump Forward Within Pattern by 044 - - - Paketti - ∿ Jump Backward Within Pattern by 044 - - - Paketti - ∿ Jump Forward Within Pattern by 045 - - - Paketti - ∿ Jump Backward Within Pattern by 045 - - - Paketti - ∿ Jump Forward Within Pattern by 046 - - - Paketti - ∿ Jump Backward Within Pattern by 046 - - - Paketti - ∿ Jump Forward Within Pattern by 047 - - - Paketti - ∿ Jump Backward Within Pattern by 047 - - - Paketti - ∿ Jump Forward Within Pattern by 048 - - - Paketti - ∿ Jump Backward Within Pattern by 048 - - - Paketti - ∿ Jump Forward Within Pattern by 049 - - - Paketti - ∿ Jump Backward Within Pattern by 049 - - - Paketti - ∿ Jump Forward Within Pattern by 050 - - - Paketti - ∿ Jump Backward Within Pattern by 050 - - - Paketti - ∿ Jump Forward Within Pattern by 051 - - - Paketti - ∿ Jump Backward Within Pattern by 051 - - - Paketti - ∿ Jump Forward Within Pattern by 052 - - - Paketti - ∿ Jump Backward Within Pattern by 052 - - - Paketti - ∿ Jump Forward Within Pattern by 053 - - - Paketti - ∿ Jump Backward Within Pattern by 053 - - - Paketti - ∿ Jump Forward Within Pattern by 054 - - - Paketti - ∿ Jump Backward Within Pattern by 054 - - - Paketti - ∿ Jump Forward Within Pattern by 055 - - - Paketti - ∿ Jump Backward Within Pattern by 055 - - - Paketti - ∿ Jump Forward Within Pattern by 056 - - - Paketti - ∿ Jump Backward Within Pattern by 056 - - - Paketti - ∿ Jump Forward Within Pattern by 057 - - - Paketti - ∿ Jump Backward Within Pattern by 057 - - - Paketti - ∿ Jump Forward Within Pattern by 058 - - - Paketti - ∿ Jump Backward Within Pattern by 058 - - - Paketti - ∿ Jump Forward Within Pattern by 059 - - - Paketti - ∿ Jump Backward Within Pattern by 059 - - - Paketti - ∿ Jump Forward Within Pattern by 060 - - - Paketti - ∿ Jump Backward Within Pattern by 060 - - - Paketti - ∿ Jump Forward Within Pattern by 061 - - - Paketti - ∿ Jump Backward Within Pattern by 061 - - - Paketti - ∿ Jump Forward Within Pattern by 062 - - - Paketti - ∿ Jump Backward Within Pattern by 062 - - - Paketti - ∿ Jump Forward Within Pattern by 063 - - - Paketti - ∿ Jump Backward Within Pattern by 063 - - - Paketti - ∿ Jump Forward Within Pattern by 064 - - - Paketti - ∿ Jump Backward Within Pattern by 064 - - - Paketti - ∿ Jump Forward Within Pattern by 065 - - - Paketti - ∿ Jump Backward Within Pattern by 065 - - - Paketti - ∿ Jump Forward Within Pattern by 066 - - - Paketti - ∿ Jump Backward Within Pattern by 066 - - - Paketti - ∿ Jump Forward Within Pattern by 067 - - - Paketti - ∿ Jump Backward Within Pattern by 067 - - - Paketti - ∿ Jump Forward Within Pattern by 068 - - - Paketti - ∿ Jump Backward Within Pattern by 068 - - - Paketti - ∿ Jump Forward Within Pattern by 069 - - - Paketti - ∿ Jump Backward Within Pattern by 069 - - - Paketti - ∿ Jump Forward Within Pattern by 070 - - - Paketti - ∿ Jump Backward Within Pattern by 070 - - - Paketti - ∿ Jump Forward Within Pattern by 071 - - - Paketti - ∿ Jump Backward Within Pattern by 071 - - - Paketti - ∿ Jump Forward Within Pattern by 072 - - - Paketti - ∿ Jump Backward Within Pattern by 072 - - - Paketti - ∿ Jump Forward Within Pattern by 073 - - - Paketti - ∿ Jump Backward Within Pattern by 073 - - - Paketti - ∿ Jump Forward Within Pattern by 074 - - - Paketti - ∿ Jump Backward Within Pattern by 074 - - - Paketti - ∿ Jump Forward Within Pattern by 075 - - - Paketti - ∿ Jump Backward Within Pattern by 075 - - - Paketti - ∿ Jump Forward Within Pattern by 076 - - - Paketti - ∿ Jump Backward Within Pattern by 076 - - - Paketti - ∿ Jump Forward Within Pattern by 077 - - - Paketti - ∿ Jump Backward Within Pattern by 077 - - - Paketti - ∿ Jump Forward Within Pattern by 078 - - - Paketti - ∿ Jump Backward Within Pattern by 078 - - - Paketti - ∿ Jump Forward Within Pattern by 079 - - - Paketti - ∿ Jump Backward Within Pattern by 079 - - - Paketti - ∿ Jump Forward Within Pattern by 080 - - - Paketti - ∿ Jump Backward Within Pattern by 080 - - - Paketti - ∿ Jump Forward Within Pattern by 081 - - - Paketti - ∿ Jump Backward Within Pattern by 081 - - - Paketti - ∿ Jump Forward Within Pattern by 082 - - - Paketti - ∿ Jump Backward Within Pattern by 082 - - - Paketti - ∿ Jump Forward Within Pattern by 083 - - - Paketti - ∿ Jump Backward Within Pattern by 083 - - - Paketti - ∿ Jump Forward Within Pattern by 084 - - - Paketti - ∿ Jump Backward Within Pattern by 084 - - - Paketti - ∿ Jump Forward Within Pattern by 085 - - - Paketti - ∿ Jump Backward Within Pattern by 085 - - - Paketti - ∿ Jump Forward Within Pattern by 086 - - - Paketti - ∿ Jump Backward Within Pattern by 086 - - - Paketti - ∿ Jump Forward Within Pattern by 087 - - - Paketti - ∿ Jump Backward Within Pattern by 087 - - - Paketti - ∿ Jump Forward Within Pattern by 088 - - - Paketti - ∿ Jump Backward Within Pattern by 088 - - - Paketti - ∿ Jump Forward Within Pattern by 089 - - - Paketti - ∿ Jump Backward Within Pattern by 089 - - - Paketti - ∿ Jump Forward Within Pattern by 090 - - - Paketti - ∿ Jump Backward Within Pattern by 090 - - - Paketti - ∿ Jump Forward Within Pattern by 091 - - - Paketti - ∿ Jump Backward Within Pattern by 091 - - - Paketti - ∿ Jump Forward Within Pattern by 092 - - - Paketti - ∿ Jump Backward Within Pattern by 092 - - - Paketti - ∿ Jump Forward Within Pattern by 093 - - - Paketti - ∿ Jump Backward Within Pattern by 093 - - - Paketti - ∿ Jump Forward Within Pattern by 094 - - - Paketti - ∿ Jump Backward Within Pattern by 094 - - - Paketti - ∿ Jump Forward Within Pattern by 095 - - - Paketti - ∿ Jump Backward Within Pattern by 095 - - - Paketti - ∿ Jump Forward Within Pattern by 096 - - - Paketti - ∿ Jump Backward Within Pattern by 096 - - - Paketti - ∿ Jump Forward Within Pattern by 097 - - - Paketti - ∿ Jump Backward Within Pattern by 097 - - - Paketti - ∿ Jump Forward Within Pattern by 098 - - - Paketti - ∿ Jump Backward Within Pattern by 098 - - - Paketti - ∿ Jump Forward Within Pattern by 099 - - - Paketti - ∿ Jump Backward Within Pattern by 099 - - - Paketti - ∿ Jump Forward Within Pattern by 100 - - - Paketti - ∿ Jump Backward Within Pattern by 100 - - - Paketti - ∿ Jump Forward Within Pattern by 101 - - - Paketti - ∿ Jump Backward Within Pattern by 101 - - - Paketti - ∿ Jump Forward Within Pattern by 102 - - - Paketti - ∿ Jump Backward Within Pattern by 102 - - - Paketti - ∿ Jump Forward Within Pattern by 103 - - - Paketti - ∿ Jump Backward Within Pattern by 103 - - - Paketti - ∿ Jump Forward Within Pattern by 104 - - - Paketti - ∿ Jump Backward Within Pattern by 104 - - - Paketti - ∿ Jump Forward Within Pattern by 105 - - - Paketti - ∿ Jump Backward Within Pattern by 105 - - - Paketti - ∿ Jump Forward Within Pattern by 106 - - - Paketti - ∿ Jump Backward Within Pattern by 106 - - - Paketti - ∿ Jump Forward Within Pattern by 107 - - - Paketti - ∿ Jump Backward Within Pattern by 107 - - - Paketti - ∿ Jump Forward Within Pattern by 108 - - - Paketti - ∿ Jump Backward Within Pattern by 108 - - - Paketti - ∿ Jump Forward Within Pattern by 109 - - - Paketti - ∿ Jump Backward Within Pattern by 109 - - - Paketti - ∿ Jump Forward Within Pattern by 110 - - - Paketti - ∿ Jump Backward Within Pattern by 110 - - - Paketti - ∿ Jump Forward Within Pattern by 111 - - - Paketti - ∿ Jump Backward Within Pattern by 111 - - - Paketti - ∿ Jump Forward Within Pattern by 112 - - - Paketti - ∿ Jump Backward Within Pattern by 112 - - - Paketti - ∿ Jump Forward Within Pattern by 113 - - - Paketti - ∿ Jump Backward Within Pattern by 113 - - - Paketti - ∿ Jump Forward Within Pattern by 114 - - - Paketti - ∿ Jump Backward Within Pattern by 114 - - - Paketti - ∿ Jump Forward Within Pattern by 115 - - - Paketti - ∿ Jump Backward Within Pattern by 115 - - - Paketti - ∿ Jump Forward Within Pattern by 116 - - - Paketti - ∿ Jump Backward Within Pattern by 116 - - - Paketti - ∿ Jump Forward Within Pattern by 117 - - - Paketti - ∿ Jump Backward Within Pattern by 117 - - - Paketti - ∿ Jump Forward Within Pattern by 118 - - - Paketti - ∿ Jump Backward Within Pattern by 118 - - - Paketti - ∿ Jump Forward Within Pattern by 119 - - - Paketti - ∿ Jump Backward Within Pattern by 119 - - - Paketti - ∿ Jump Forward Within Pattern by 120 - - - Paketti - ∿ Jump Backward Within Pattern by 120 - - - Paketti - ∿ Jump Forward Within Pattern by 121 - - - Paketti - ∿ Jump Backward Within Pattern by 121 - - - Paketti - ∿ Jump Forward Within Pattern by 122 - - - Paketti - ∿ Jump Backward Within Pattern by 122 - - - Paketti - ∿ Jump Forward Within Pattern by 123 - - - Paketti - ∿ Jump Backward Within Pattern by 123 - - - Paketti - ∿ Jump Forward Within Pattern by 124 - - - Paketti - ∿ Jump Backward Within Pattern by 124 - - - Paketti - ∿ Jump Forward Within Pattern by 125 - - - Paketti - ∿ Jump Backward Within Pattern by 125 - - - Paketti - ∿ Jump Forward Within Pattern by 126 - - - Paketti - ∿ Jump Backward Within Pattern by 126 - - - Paketti - ∿ Jump Forward Within Pattern by 127 - - - Paketti - ∿ Jump Backward Within Pattern by 127 - - - Paketti - ∿ Jump Forward Within Pattern by 128 - - - Paketti - ∿ Jump Backward Within Pattern by 128 - - - Paketti - ∿ Jump Forward Within Pattern by Random - - - Paketti - ∿ Jump Backward Within Pattern by Random - - - Paketti - ∿ Jump Forward Within Song by 001 - - - Paketti - ∿ Jump Backward Within Song by 001 - - - Paketti - ∿ Jump Forward Within Song by 002 - - - Paketti - ∿ Jump Backward Within Song by 002 - - - Paketti - ∿ Jump Forward Within Song by 003 - - - Paketti - ∿ Jump Backward Within Song by 003 - - - Paketti - ∿ Jump Forward Within Song by 004 - - - Paketti - ∿ Jump Backward Within Song by 004 - - - Paketti - ∿ Jump Forward Within Song by 005 - - - Paketti - ∿ Jump Backward Within Song by 005 - - - Paketti - ∿ Jump Forward Within Song by 006 - - - Paketti - ∿ Jump Backward Within Song by 006 - - - Paketti - ∿ Jump Forward Within Song by 007 - - - Paketti - ∿ Jump Backward Within Song by 007 - - - Paketti - ∿ Jump Forward Within Song by 008 - - - Paketti - ∿ Jump Backward Within Song by 008 - - - Paketti - ∿ Jump Forward Within Song by 009 - - - Paketti - ∿ Jump Backward Within Song by 009 - - - Paketti - ∿ Jump Forward Within Song by 010 - - - Paketti - ∿ Jump Backward Within Song by 010 - - - Paketti - ∿ Jump Forward Within Song by 011 - - - Paketti - ∿ Jump Backward Within Song by 011 - - - Paketti - ∿ Jump Forward Within Song by 012 - - - Paketti - ∿ Jump Backward Within Song by 012 - - - Paketti - ∿ Jump Forward Within Song by 013 - - - Paketti - ∿ Jump Backward Within Song by 013 - - - Paketti - ∿ Jump Forward Within Song by 014 - - - Paketti - ∿ Jump Backward Within Song by 014 - - - Paketti - ∿ Jump Forward Within Song by 015 - - - Paketti - ∿ Jump Backward Within Song by 015 - - - Paketti - ∿ Jump Forward Within Song by 016 - - - Paketti - ∿ Jump Backward Within Song by 016 - - - Paketti - ∿ Jump Forward Within Song by 017 - - - Paketti - ∿ Jump Backward Within Song by 017 - - - Paketti - ∿ Jump Forward Within Song by 018 - - - Paketti - ∿ Jump Backward Within Song by 018 - - - Paketti - ∿ Jump Forward Within Song by 019 - - - Paketti - ∿ Jump Backward Within Song by 019 - - - Paketti - ∿ Jump Forward Within Song by 020 - - - Paketti - ∿ Jump Backward Within Song by 020 - - - Paketti - ∿ Jump Forward Within Song by 021 - - - Paketti - ∿ Jump Backward Within Song by 021 - - - Paketti - ∿ Jump Forward Within Song by 022 - - - Paketti - ∿ Jump Backward Within Song by 022 - - - Paketti - ∿ Jump Forward Within Song by 023 - - - Paketti - ∿ Jump Backward Within Song by 023 - - - Paketti - ∿ Jump Forward Within Song by 024 - - - Paketti - ∿ Jump Backward Within Song by 024 - - - Paketti - ∿ Jump Forward Within Song by 025 - - - Paketti - ∿ Jump Backward Within Song by 025 - - - Paketti - ∿ Jump Forward Within Song by 026 - - - Paketti - ∿ Jump Backward Within Song by 026 - - - Paketti - ∿ Jump Forward Within Song by 027 - - - Paketti - ∿ Jump Backward Within Song by 027 - - - Paketti - ∿ Jump Forward Within Song by 028 - - - Paketti - ∿ Jump Backward Within Song by 028 - - - Paketti - ∿ Jump Forward Within Song by 029 - - - Paketti - ∿ Jump Backward Within Song by 029 - - - Paketti - ∿ Jump Forward Within Song by 030 - - - Paketti - ∿ Jump Backward Within Song by 030 - - - Paketti - ∿ Jump Forward Within Song by 031 - - - Paketti - ∿ Jump Backward Within Song by 031 - - - Paketti - ∿ Jump Forward Within Song by 032 - - - Paketti - ∿ Jump Backward Within Song by 032 - - - Paketti - ∿ Jump Forward Within Song by 033 - - - Paketti - ∿ Jump Backward Within Song by 033 - - - Paketti - ∿ Jump Forward Within Song by 034 - - - Paketti - ∿ Jump Backward Within Song by 034 - - - Paketti - ∿ Jump Forward Within Song by 035 - - - Paketti - ∿ Jump Backward Within Song by 035 - - - Paketti - ∿ Jump Forward Within Song by 036 - - - Paketti - ∿ Jump Backward Within Song by 036 - - - Paketti - ∿ Jump Forward Within Song by 037 - - - Paketti - ∿ Jump Backward Within Song by 037 - - - Paketti - ∿ Jump Forward Within Song by 038 - - - Paketti - ∿ Jump Backward Within Song by 038 - - - Paketti - ∿ Jump Forward Within Song by 039 - - - Paketti - ∿ Jump Backward Within Song by 039 - - - Paketti - ∿ Jump Forward Within Song by 040 - - - Paketti - ∿ Jump Backward Within Song by 040 - - - Paketti - ∿ Jump Forward Within Song by 041 - - - Paketti - ∿ Jump Backward Within Song by 041 - - - Paketti - ∿ Jump Forward Within Song by 042 - - - Paketti - ∿ Jump Backward Within Song by 042 - - - Paketti - ∿ Jump Forward Within Song by 043 - - - Paketti - ∿ Jump Backward Within Song by 043 - - - Paketti - ∿ Jump Forward Within Song by 044 - - - Paketti - ∿ Jump Backward Within Song by 044 - - - Paketti - ∿ Jump Forward Within Song by 045 - - - Paketti - ∿ Jump Backward Within Song by 045 - - - Paketti - ∿ Jump Forward Within Song by 046 - - - Paketti - ∿ Jump Backward Within Song by 046 - - - Paketti - ∿ Jump Forward Within Song by 047 - - - Paketti - ∿ Jump Backward Within Song by 047 - - - Paketti - ∿ Jump Forward Within Song by 048 - - - Paketti - ∿ Jump Backward Within Song by 048 - - - Paketti - ∿ Jump Forward Within Song by 049 - - - Paketti - ∿ Jump Backward Within Song by 049 - - - Paketti - ∿ Jump Forward Within Song by 050 - - - Paketti - ∿ Jump Backward Within Song by 050 - - - Paketti - ∿ Jump Forward Within Song by 051 - - - Paketti - ∿ Jump Backward Within Song by 051 - - - Paketti - ∿ Jump Forward Within Song by 052 - - - Paketti - ∿ Jump Backward Within Song by 052 - - - Paketti - ∿ Jump Forward Within Song by 053 - - - Paketti - ∿ Jump Backward Within Song by 053 - - - Paketti - ∿ Jump Forward Within Song by 054 - - - Paketti - ∿ Jump Backward Within Song by 054 - - - Paketti - ∿ Jump Forward Within Song by 055 - - - Paketti - ∿ Jump Backward Within Song by 055 - - - Paketti - ∿ Jump Forward Within Song by 056 - - - Paketti - ∿ Jump Backward Within Song by 056 - - - Paketti - ∿ Jump Forward Within Song by 057 - - - Paketti - ∿ Jump Backward Within Song by 057 - - - Paketti - ∿ Jump Forward Within Song by 058 - - - Paketti - ∿ Jump Backward Within Song by 058 - - - Paketti - ∿ Jump Forward Within Song by 059 - - - Paketti - ∿ Jump Backward Within Song by 059 - - - Paketti - ∿ Jump Forward Within Song by 060 - - - Paketti - ∿ Jump Backward Within Song by 060 - - - Paketti - ∿ Jump Forward Within Song by 061 - - - Paketti - ∿ Jump Backward Within Song by 061 - - - Paketti - ∿ Jump Forward Within Song by 062 - - - Paketti - ∿ Jump Backward Within Song by 062 - - - Paketti - ∿ Jump Forward Within Song by 063 - - - Paketti - ∿ Jump Backward Within Song by 063 - - - Paketti - ∿ Jump Forward Within Song by 064 - - - Paketti - ∿ Jump Backward Within Song by 064 - - - Paketti - ∿ Jump Forward Within Song by 065 - - - Paketti - ∿ Jump Backward Within Song by 065 - - - Paketti - ∿ Jump Forward Within Song by 066 - - - Paketti - ∿ Jump Backward Within Song by 066 - - - Paketti - ∿ Jump Forward Within Song by 067 - - - Paketti - ∿ Jump Backward Within Song by 067 - - - Paketti - ∿ Jump Forward Within Song by 068 - - - Paketti - ∿ Jump Backward Within Song by 068 - - - Paketti - ∿ Jump Forward Within Song by 069 - - - Paketti - ∿ Jump Backward Within Song by 069 - - - Paketti - ∿ Jump Forward Within Song by 070 - - - Paketti - ∿ Jump Backward Within Song by 070 - - - Paketti - ∿ Jump Forward Within Song by 071 - - - Paketti - ∿ Jump Backward Within Song by 071 - - - Paketti - ∿ Jump Forward Within Song by 072 - - - Paketti - ∿ Jump Backward Within Song by 072 - - - Paketti - ∿ Jump Forward Within Song by 073 - - - Paketti - ∿ Jump Backward Within Song by 073 - - - Paketti - ∿ Jump Forward Within Song by 074 - - - Paketti - ∿ Jump Backward Within Song by 074 - - - Paketti - ∿ Jump Forward Within Song by 075 - - - Paketti - ∿ Jump Backward Within Song by 075 - - - Paketti - ∿ Jump Forward Within Song by 076 - - - Paketti - ∿ Jump Backward Within Song by 076 - - - Paketti - ∿ Jump Forward Within Song by 077 - - - Paketti - ∿ Jump Backward Within Song by 077 - - - Paketti - ∿ Jump Forward Within Song by 078 - - - Paketti - ∿ Jump Backward Within Song by 078 - - - Paketti - ∿ Jump Forward Within Song by 079 - - - Paketti - ∿ Jump Backward Within Song by 079 - - - Paketti - ∿ Jump Forward Within Song by 080 - - - Paketti - ∿ Jump Backward Within Song by 080 - - - Paketti - ∿ Jump Forward Within Song by 081 - - - Paketti - ∿ Jump Backward Within Song by 081 - - - Paketti - ∿ Jump Forward Within Song by 082 - - - Paketti - ∿ Jump Backward Within Song by 082 - - - Paketti - ∿ Jump Forward Within Song by 083 - - - Paketti - ∿ Jump Backward Within Song by 083 - - - Paketti - ∿ Jump Forward Within Song by 084 - - - Paketti - ∿ Jump Backward Within Song by 084 - - - Paketti - ∿ Jump Forward Within Song by 085 - - - Paketti - ∿ Jump Backward Within Song by 085 - - - Paketti - ∿ Jump Forward Within Song by 086 - - - Paketti - ∿ Jump Backward Within Song by 086 - - - Paketti - ∿ Jump Forward Within Song by 087 - - - Paketti - ∿ Jump Backward Within Song by 087 - - - Paketti - ∿ Jump Forward Within Song by 088 - - - Paketti - ∿ Jump Backward Within Song by 088 - - - Paketti - ∿ Jump Forward Within Song by 089 - - - Paketti - ∿ Jump Backward Within Song by 089 - - - Paketti - ∿ Jump Forward Within Song by 090 - - - Paketti - ∿ Jump Backward Within Song by 090 - - - Paketti - ∿ Jump Forward Within Song by 091 - - - Paketti - ∿ Jump Backward Within Song by 091 - - - Paketti - ∿ Jump Forward Within Song by 092 - - - Paketti - ∿ Jump Backward Within Song by 092 - - - Paketti - ∿ Jump Forward Within Song by 093 - - - Paketti - ∿ Jump Backward Within Song by 093 - - - Paketti - ∿ Jump Forward Within Song by 094 - - - Paketti - ∿ Jump Backward Within Song by 094 - - - Paketti - ∿ Jump Forward Within Song by 095 - - - Paketti - ∿ Jump Backward Within Song by 095 - - - Paketti - ∿ Jump Forward Within Song by 096 - - - Paketti - ∿ Jump Backward Within Song by 096 - - - Paketti - ∿ Jump Forward Within Song by 097 - - - Paketti - ∿ Jump Backward Within Song by 097 - - - Paketti - ∿ Jump Forward Within Song by 098 - - - Paketti - ∿ Jump Backward Within Song by 098 - - - Paketti - ∿ Jump Forward Within Song by 099 - - - Paketti - ∿ Jump Backward Within Song by 099 - - - Paketti - ∿ Jump Forward Within Song by 100 - - - Paketti - ∿ Jump Backward Within Song by 100 - - - Paketti - ∿ Jump Forward Within Song by 101 - - - Paketti - ∿ Jump Backward Within Song by 101 - - - Paketti - ∿ Jump Forward Within Song by 102 - - - Paketti - ∿ Jump Backward Within Song by 102 - - - Paketti - ∿ Jump Forward Within Song by 103 - - - Paketti - ∿ Jump Backward Within Song by 103 - - - Paketti - ∿ Jump Forward Within Song by 104 - - - Paketti - ∿ Jump Backward Within Song by 104 - - - Paketti - ∿ Jump Forward Within Song by 105 - - - Paketti - ∿ Jump Backward Within Song by 105 - - - Paketti - ∿ Jump Forward Within Song by 106 - - - Paketti - ∿ Jump Backward Within Song by 106 - - - Paketti - ∿ Jump Forward Within Song by 107 - - - Paketti - ∿ Jump Backward Within Song by 107 - - - Paketti - ∿ Jump Forward Within Song by 108 - - - Paketti - ∿ Jump Backward Within Song by 108 - - - Paketti - ∿ Jump Forward Within Song by 109 - - - Paketti - ∿ Jump Backward Within Song by 109 - - - Paketti - ∿ Jump Forward Within Song by 110 - - - Paketti - ∿ Jump Backward Within Song by 110 - - - Paketti - ∿ Jump Forward Within Song by 111 - - - Paketti - ∿ Jump Backward Within Song by 111 - - - Paketti - ∿ Jump Forward Within Song by 112 - - - Paketti - ∿ Jump Backward Within Song by 112 - - - Paketti - ∿ Jump Forward Within Song by 113 - - - Paketti - ∿ Jump Backward Within Song by 113 - - - Paketti - ∿ Jump Forward Within Song by 114 - - - Paketti - ∿ Jump Backward Within Song by 114 - - - Paketti - ∿ Jump Forward Within Song by 115 - - - Paketti - ∿ Jump Backward Within Song by 115 - - - Paketti - ∿ Jump Forward Within Song by 116 - - - Paketti - ∿ Jump Backward Within Song by 116 - - - Paketti - ∿ Jump Forward Within Song by 117 - - - Paketti - ∿ Jump Backward Within Song by 117 - - - Paketti - ∿ Jump Forward Within Song by 118 - - - Paketti - ∿ Jump Backward Within Song by 118 - - - Paketti - ∿ Jump Forward Within Song by 119 - - - Paketti - ∿ Jump Backward Within Song by 119 - - - Paketti - ∿ Jump Forward Within Song by 120 - - - Paketti - ∿ Jump Backward Within Song by 120 - - - Paketti - ∿ Jump Forward Within Song by 121 - - - Paketti - ∿ Jump Backward Within Song by 121 - - - Paketti - ∿ Jump Forward Within Song by 122 - - - Paketti - ∿ Jump Backward Within Song by 122 - - - Paketti - ∿ Jump Forward Within Song by 123 - Shift + Option + 1 - - - Paketti - ∿ Jump Backward Within Song by 123 - - - Paketti - ∿ Jump Forward Within Song by 124 - - - Paketti - ∿ Jump Backward Within Song by 124 - - - Paketti - ∿ Jump Forward Within Song by 125 - - - Paketti - ∿ Jump Backward Within Song by 125 - - - Paketti - ∿ Jump Forward Within Song by 126 - - - Paketti - ∿ Jump Backward Within Song by 126 - - - Paketti - ∿ Jump Forward Within Song by 127 - - - Paketti - ∿ Jump Backward Within Song by 127 - - - Paketti - ∿ Jump Forward Within Song by 128 - - - Paketti - ∿ Jump Backward Within Song by 128 - - - Paketti - ∿ Jump Forward Within Song by Random - - - Paketti - ∿ Jump Backward Within Song by Random - - - Paketti - ∿ Set Random EditStep 0-64 - - - Paketti - ∿ Set Random EditStep 1-64 - Shift + Option + 2 - - - Paketti - ∿ Crossfade Loop - Shift + Command + C - - - Paketti - ∿ Duplicate Selected Sample at -12 transpose - - - Paketti - ∿ Duplicate Selected Sample at -24 transpose - - - Paketti - ∿ Duplicate Selected Sample at +12 transpose - - - Paketti - ∿ Duplicate Selected Sample at +24 transpose - - - Paketti - ∿ Duplicate Pattern Above & Clear Muted Tracks - Shift + Control + X - - - Paketti - ∿ Duplicate Pattern Below & Clear Muted Tracks - - - Paketti - ∿ Load New Instrument with Current Slice Markers - - - Paketti - ∿ Select Automation Playmode (Next) - - - Paketti - ∿ Select Automation Playmode (Previous) - - - Paketti - ∿ Select Automation Playmode 01 Points - - - Paketti - ∿ Select Automation Playmode 02 Lines - - - Paketti - ∿ Select Automation Playmode 03 Curves - - - Paketti - ∿ Flood Fill Column with Row - - - Paketti - ∿ Repeater 1 / 1 Even - - - Paketti - ∿ Repeater 1 / 1 Triplet - - - Paketti - ∿ Repeater 1 / 1 Dotted - - - Paketti - ∿ Repeater 1 / 2 Even - - - Paketti - ∿ Repeater 1 / 2 Triplet - - - Paketti - ∿ Repeater 1 / 2 Dotted - - - Paketti - ∿ Repeater 1 / 4 Even - - - Paketti - ∿ Repeater 1 / 4 Triplet - - - Paketti - ∿ Repeater 1 / 4 Dotted - - - Paketti - ∿ Repeater 1 / 8 Even - - - Paketti - ∿ Repeater 1 / 8 Triplet - - - Paketti - ∿ Repeater 1 / 8 Dotted - - - Paketti - ∿ Repeater 1 / 16 Even - - - Paketti - ∿ Repeater 1 / 16 Triplet - - - Paketti - ∿ Repeater 1 / 16 Dotted - - - Paketti - ∿ Repeater 1 / 32 Even - - - Paketti - ∿ Repeater 1 / 32 Triplet - - - Paketti - ∿ Repeater 1 / 32 Dotted - - - Paketti - ∿ Repeater 1 / 64 Even - - - Paketti - ∿ Repeater 1 / 64 Triplet - - - Paketti - ∿ Repeater 1 / 64 Dotted - - - Paketti - ∿ Repeater 1 / 128 Even - - - Paketti - ∿ Repeater 1 / 128 Triplet - - - Paketti - ∿ Repeater 1 / 128 Dotted - - - Tools - ∿ Randomize Effect Column Smatter (C00/C0F) - - - Tools - ∿ Randomize Effect Column Smatter (0G Glide) - - - Tools - ∿ Randomize Effect Column Smatter (0U Slide Up) - - - Tools - ∿ Randomize Effect Column Smatter (0D Slide Down) - - - Tools - ∿ Randomize Effect Column Smatter (0R Retrig) - - - Tools - ∿ Randomize Effect Column Smatter (0P Panning) - - - Tools - ∿ Randomize Effect Column Smatter (0B00/0B01) - - - Tools - ∿ Randomize Effect Column Fill (C00/C0F) - - - Tools - ∿ Randomize Effect Column Fill (0G Glide) - - - Tools - ∿ Randomize Effect Column Fill (0U Slide Up) - - - Tools - ∿ Randomize Effect Column Fill (0D Slide Down) - - - Tools - ∿ Randomize Effect Column Fill (0R Retrig) - - - Tools - ∿ Randomize Effect Column Fill (0P Panning) - - - Tools - ∿ Randomize Effect Column Fill (0B00/0B01) - - - Paketti - ∿ Toggle Solo Tracks - Command + F10 - - - Paketti - ∿ Toggle Mute Tracks - Command + F9 - - - Paketti - ∿ Open Visible Pages to Fit Parameters - - - Paketti - ∿ Recordammajic9000 - - - Paketti - ∿ Display Sample Recorder with #Line Input - - - Paketti - ∿ Note Off / Caps Lock replacement - - - Paketti - ∿ Record to Current Track+Plus - - - Paketti - ∿ Open FormulaDevice Dialog... - Command + Control + F - - - Paketti - ∿ Column Cycle Keyjazz 01 - - - Paketti - ∿ Column Cycle Keyjazz 02 - - - Paketti - ∿ Column Cycle Keyjazz 03 - - - Paketti - ∿ Column Cycle Keyjazz 04 - - - Paketti - ∿ Column Cycle Keyjazz 05 - - - Paketti - ∿ Column Cycle Keyjazz 06 - - - Paketti - ∿ Column Cycle Keyjazz 07 - - - Paketti - ∿ Column Cycle Keyjazz 08 - - - Paketti - ∿ Column Cycle Keyjazz 09 - - - Paketti - ∿ Column Cycle Keyjazz 10 - - - Paketti - ∿ Column Cycle Keyjazz 11 - - - Paketti - ∿ Column Cycle Keyjazz 12 - Shift + Option + Control + 5 - - - Paketti - ∿ Start/Stop Column Cycling - - - Paketti - ∿ Column Cycle Keyjazz 01_Special - Shift + Option + Control + 1 - - - Paketti - ∿ Paketti Unison Generator - Option + U - - - Tools - ∿ Interpolate Beyond Linear - Control + I - - - Tools - ∿ Interpolate Beyond Logarithmic In - - - Tools - ∿ Interpolate Beyond Logarithmic Out - - - Tools - ∿ Interpolate Beyond Sin - - - Tools - ∿ Interpolate Beyond Square - - - Tools - ∿ Interpolate Beyond Saw - - - Tools - ∿ Interpolate Beyond Tri - - - Tools - ∿ Interpolate Beyond Bounce Out - - - Tools - ∿ Interpolate Beyond Bounce In - - - Tools - ∿ Interpolate Beyond Gradient Noise - - - - - Disk Browser - - - Navigation - Select Previous Category Browser - - - Navigation - Select Next Category Browser - - - Selection - Select Previous File - Up - - - Selection - Select Next File - Down - - - Selection - Collapse Folder - Left - - - Selection - Expand Folder - Right - - - Selection - Select First Entry - Option + Up - - - Selection - Select Last Entry - Option + Down - - - Selection - Select on Previous Page - Prior - - - Selection - Select on Next Page - Next - - - Selection - Select All Files - - - Selection - Toggle Dir/File List - Tab - - - Selection - Toggle Dir/File List (2nd) - Shift + Tab - - - Loading - Load Selected Files - - - Loading - Load Selected Files with Options - Shift + Return - - - Navigation - Select CurrentDir as Root - - - Navigation - Switch to Parent Root Directory - - - Edit - Rescan Contents - - - Edit - Rename Selected File or Dir - - - Edit - Create a New Directory - - - Edit - Delete the Selected File or Dir - Command + Back - - - Edit - Show Selected File or Dir in Finder - - - Favorites - Recall Favorite 1 - - - Favorites - Recall Favorite 2 - - - Favorites - Recall Favorite 3 - - - Favorites - Recall Favorite 4 - - - Favorites - Store Favorite 1 - - - Favorites - Store Favorite 2 - - - Favorites - Store Favorite 3 - Shift + Command + 3 - - - Favorites - Store Favorite 4 - Shift + Command + 4 - - - - - Pattern Editor - - - Navigation - Toggle Advanced Edit - - - Navigation - Focus Pattern Matrix - - - Navigation - Move to Previous Column - Left - - - Navigation - Move to Next Column - Right - - - Navigation - Move to Previous Row - Up - - - Navigation - Move to Next Row - Down - - - Navigation - Move to Previous Row with EditStep - - - Navigation - Move to Next Row with EditStep - - - Navigation - Move to Previous Row with Note - Shift + Command + Prior - - - Navigation - Move to Next Row with Note - Shift + Command + Next - - - Navigation - Toggle Auto Capture Instrument - Shift + Option + Backslash - - - Navigation - Capture Instrument - Shift + Command + Return - - - Navigation - Capture Nearest Instrument - - - Navigation - Jump 16 Rows Up - Prior - - - Navigation - Jump 16 Rows Down - Next - - - Navigation - Jump to First Row - - - Navigation - Jump to Last Row - - - Navigation - Jump to Row 0 - F9 - - - Navigation - Jump to Row 16 - - - Navigation - Jump to Row 32 - - - Navigation - Jump to Row 48 - - - Navigation - Jump to Previous Column - Shift + Tab - - - Navigation - Jump to Next Column - Tab - - - Navigation - Jump to Previous Track - - - Navigation - Jump to Next Track - - - Navigation - Jump to Master Track - Shift + Command + End - - - Navigation - Jump to First Track - - - Insert/Delete - Clear Current Note or Effect - Delete - - - Insert/Delete - Clear Current Note or Effect (2nd) - - - Insert/Delete - Clear Whole Note or Effect - - - Insert/Delete - Clear Whole Row - Option + Delete - - - Insert/Delete - Insert New Row - Shift + Grave - - - Insert/Delete - Insert New Row (2nd) - - - Insert/Delete - Delete Current Row - Shift + Back - - - Insert/Delete - Delete Previous Row - - - Insert/Delete - Insert New Row in Column - Grave - - - Insert/Delete - Delete Current Row in Column - Back - - - Insert/Delete - Delete Previous Row in Column - - - Insert/Delete - Insert New Row in Pattern - - - Insert/Delete - Delete Current Row in Pattern - - - Insert/Delete - Delete Previous Row in Pattern - - - Insert/Delete - Increase Pattern Length - - - Insert/Delete - Decrease Pattern Length - - - Play - Play Current Line - 4 - - - Edit Step - Increase EditStep - Command + Equals - - - Edit Step - Decrease EditStep - - - Edit Step - Double EditStep - Option + Equals - - - Edit Step - Halve EditStep - Option + Minus - - - Edit Step - Set EditStep To 0 - Command + 0 - - - Edit Step - Set EditStep To 1 - Command + 1 - - - Edit Step - Set EditStep To 2 - Command + 2 - - - Edit Step - Set EditStep To 3 - Command + 3 - - - Edit Step - Set EditStep To 4 - Command + 4 - - - Edit Step - Set EditStep To 5 - Command + 5 - - - Edit Step - Set EditStep To 6 - Command + 6 - - - Edit Step - Set EditStep To 7 - Command + 7 - - - Edit Step - Set EditStep To 8 - Command + 8 - - - Edit Step - Set EditStep To 9 - Command + 9 - - - Edit Step - Set EditStep To 12 - - - Edit Step - Set EditStep To 16 - - - Edit Step - Set EditStep To 18 - - - Edit Step - Set EditStep To 24 - - - Edit Step - Set EditStep To 32 - - - Record - Toggle Edit Mode - - - Record - Toggle Record to Envelopes/Pattern - - - Record - Toggle Record Quantized - - - Record - Increase Quantization - Shift + Command + Equals - - - Record - Decrease Quantization - - - Record - Set Quantization To 1 - - - Record - Set Quantization To 2 - - - Record - Set Quantization To 3 - Shift + Command + 3 - - - Record - Set Quantization To 4 - Shift + Command + 4 - - - Record - Set Quantization To 5 - Shift + Command + 5 - - - Record - Set Quantization To 6 - - - Record - Set Quantization To 7 - - - Record - Set Quantization To 8 - Shift + Command + 8 - - - Record - Set Quantization To 9 - Shift + Command + 9 - - - Record - Set Quantization To 12 - - - Record - Set Quantization To 16 - - - Record - Set Quantization To 18 - - - Record - Set Quantization To 24 - - - Record - Set Quantization To 32 - - - Track Control - Insert Track - Command + T - - - Track Control - Insert Group - - - Track Control - Extend Group to Here - - - Track Control - Delete Track - Shift + Command + T - - - Track Control - Delete Group - - - Track Control - Duplicate Track - - - Track Control - Duplicate Track (incl. Patterns) - Option + Command + D - - - Track Control - Rename Track - - - Track Control - Move Track Left - Option + Command + Left - - - Track Control - Move Track Right - - - Track Control - Decrease Number of Columns - - - Track Control - Increase Number of Columns - - - Track Control - View/Hide Volume Column - - - Track Control - View/Hide Panning Column - - - Track Control - View/Hide Delay Column - - - Track Control - Toggle Mute Note Column - - - Track Control - Collapse/Expand Track - - - Track Control - Collapse/Expand Group - Shift + Command + J - - - Track Control - Collapse All Tracks - - - Track Control - Expand All Tracks - - - Track Control - Collapse All Tracks in Group - - - Track Control - Expand All Tracks in Group - - - Pattern Sequence - Increase Pattern Number - - - Pattern Sequence - Decrease Pattern Number - - - Pattern Sequence - Go Up in Sequencer - - - Pattern Sequence - Go Down in Sequencer - - - Pattern Sequence - Go to Prev Section in Sequencer - - - Pattern Sequence - Go to Next Section in Sequencer - - - Pattern Sequence - Go to Sequence Start - Command + Home - - - Pattern Sequence - Go to Sequence End - Command + End - - - Pattern Sequence - Jump One Page Up - Command + Prior - - - Pattern Sequence - Jump One Page Down - Command + Next - - - Pattern Sequence - Insert Pattern - Command + HelpKey(Insert) - - - Pattern Sequence - Insert Pattern (2nd) - Shift + Command + Back - - - Pattern Sequence - Insert Repeated Pattern - Option + Command + HelpKey(Insert) - - - Pattern Sequence - Insert Repeated Pattern (2nd) - Option + Command + Back - - - Pattern Sequence - Delete Pattern - Command + Back - - - Pattern Sequence - Delete Pattern (2nd) - Command + Delete - - - Pattern Sequence - Sort Pattern Sequence - - - Pattern Sequence - Flatten & Sort Pattern Sequence - - - Pattern Sequence - Duplicate Current Pattern - - - Pattern Sequence - Duplicate 2 Pattern Block Sequence - - - Pattern Sequence - Duplicate 3 Pattern Block Sequence - - - Pattern Sequence - Duplicate 4 Pattern Block Sequence - - - Pattern Sequence - Duplicate 5 Pattern Block Sequence - - - Pattern Sequence - Duplicate 6 Pattern Block Sequence - - - Pattern Sequence - Duplicate 7 Pattern Block Sequence - - - Pattern Sequence - Duplicate 8 Pattern Block Sequence - - - Pattern Sequence - Duplicate 9 Pattern Block Sequence - - - Pattern Sequence - Duplicate 10 Pattern Block Sequence - - - Pattern Sequence - Duplicate Whole Song Sequence - - - Selection - Begin Selection - Command + B - - - Selection - End Selection - Command + E - - - Selection - Mark Whole Column - - - Selection - Mark Column in Block Loop Range - - - Selection - Mark Column Above Current Line - - - Selection - Mark Column Below Current Line - - - Selection - Mark Whole Track - - - Selection - Mark Track in Block Loop Range - - - Selection - Mark Track Above Current Line - - - Selection - Mark Track Below Current Line - - - Selection - Mark Whole Group - - - Selection - Mark Whole Pattern - - - Selection - Mark Pattern in Block Loop Range - - - Selection - Mark Pattern Above Current Line - - - Selection - Mark Pattern Below Current Line - - - Block Operations - Transpose One Note Up - - - Block Operations - Transpose One Note Down - - - Block Operations - Transpose One Octave Up - - - Block Operations - Transpose One Octave Down - - - Block Operations - Clear - Shift + Delete - - - Block Operations - Copy and Clear - Command + X - - - Block Operations - Copy and Clear (2nd) - - - Block Operations - Copy - Command + C - - - Block Operations - Copy (2nd) - - - Block Operations - Paste - Option + F5 - - - Block Operations - Paste (2nd) - Command + P - - - Block Operations - Paste Continuously - Command + V - - - Block Operations - Flip - Option + F6 - - - Block Operations - Flip (2nd) - - - Block Operations - Shrink - Option + F8 - - - Block Operations - Shrink (2nd) - - - Block Operations - Expand - Option + 9 - - - Block Operations - Expand (2nd) - - - Block Operations - Randomize - Option + F7 - - - Block Operations - Randomize (2nd) - - - Block Operations - Interpolate Linear - - - Block Operations - Interpolate Logarithmic - - - Block Operations - Interpolate Exponential - - - Block Operations - Humanize - - - Block Operations - Quantize Notes - Option + Q - - - Block Operations - Quantize Notes (Preserve Lengths) - - - Block Operations - Render Selection to Sample - - - Block Operations - Create Phrase from Selection - - - Column Operations - Transpose One Note Up - Shift + Command + F2 - - - Column Operations - Transpose One Note Down - Shift + Command + F1 - - - Column Operations - Transpose One Octave Up - Shift + Command + F12 - - - Column Operations - Transpose One Octave Down - Shift + Command + F11 - - - Column Operations - Clear and Copy - Shift + Command + F3 - - - Column Operations - Copy - Shift + Command + F4 - - - Column Operations - Paste - Shift + Command + F5 - - - Column Operations - Flip - Shift + Command + F6 - - - Column Operations - Shrink - Shift + Command + F8 - - - Column Operations - Expand - Shift + Command + F9 - - - Column Operations - Randomize - Shift + Command + F7 - - - Column Operations - Interpolate Linear - - - Column Operations - Interpolate Logarithmic - Shift + Command + L - - - Column Operations - Interpolate Exponential - - - Column Operations - Humanize - - - Column Operations - Quantize Notes - - - Column Operations - Quantize Notes (Preserve Lengths) - - - Column Operations - Render Column to Sample - - - Column Operations - Create Phrase from Column - - - Track Operations - Transpose One Note Up - - - Track Operations - Transpose One Note Down - - - Track Operations - Transpose One Octave Up - Shift + F12 - - - Track Operations - Transpose One Octave Down - Shift + F11 - - - Track Operations - Clear Muted Columns - - - Track Operations - Clear and Copy - - - Track Operations - Copy - - - Track Operations - Paste - Shift + F5 - - - Track Operations - Flip - Shift + F6 - - - Track Operations - Shrink - Shift + F8 - - - Track Operations - Expand - Shift + F9 - - - Track Operations - Randomize - Shift + F7 - - - Track Operations - Interpolate Linear - - - Track Operations - Interpolate Logarithmic - - - Track Operations - Interpolate Exponential - - - Track Operations - Humanize - - - Track Operations - Quantize Notes - - - Track Operations - Quantize Notes (Preserve Lengths) - - - Track Operations - Render Track to Sample - - - Track Operations - Create Phrase from Track - - - Group Operations - Transpose One Note Up - Shift + Option + F2 - - - Group Operations - Transpose One Note Down - Shift + Option + F1 - - - Group Operations - Transpose One Octave Up - Shift + Option + F12 - - - Group Operations - Transpose One Octave Down - Shift + Option + F11 - - - Group Operations - Flip - Shift + Option + F6 - - - Group Operations - Shrink - Shift + Option + F8 - - - Group Operations - Expand - Shift + Option + F9 - - - Group Operations - Randomize - Shift + Option + F7 - - - Group Operations - Interpolate Linear - - - Group Operations - Interpolate Logarithmic - Shift + Option + L - - - Group Operations - Interpolate Exponential - - - Group Operations - Humanize - Shift + Option + H - - - Group Operations - Quantize Notes - - - Group Operations - Quantize Notes (Preserve Lengths) - - - Group Operations - Render Group to Sample - - - Pattern Operations - Transpose One Note Up - - - Pattern Operations - Transpose One Note Down - - - Pattern Operations - Transpose One Octave Up - Command + F12 - - - Pattern Operations - Transpose One Octave Down - Command + F11 - - - Pattern Operations - Clear Muted Tracks - Option + Command + F3 - - - Pattern Operations - Clear and Copy - - - Pattern Operations - Copy - - - Pattern Operations - Paste - - - Pattern Operations - Flip - - - Pattern Operations - Shrink - - - Pattern Operations - Expand - - - Pattern Operations - Randomize - - - Pattern Operations - Interpolate Linear - - - Pattern Operations - Interpolate Logarithmic - - - Pattern Operations - Interpolate Exponential - - - Pattern Operations - Humanize - - - Pattern Operations - Quantize Notes - - - Pattern Operations - Quantize Notes (Preserve Lengths) - - - Pattern Operations - Render Pattern to Sample - - - Options - Toggle PatternWrap - Shift + F13 - - - Options - Single Track Edit Mode - - - Options - Toggle Show Track Colors - - - Track Control - View/Hide Sample FX Column - - - Selection - Flexible Mark Whole Track - - - Selection - Flexible Mark in Block Loop Range - - - Selection - Flexible Mark Above Current Line - - - Selection - Flexible Mark Below Current Line - - - Insert/Delete - Split Pattern at Current Line - Option + Command + K - - - Insert/Delete - Join Pattern with Next - Option + Command + J - - - Pattern - ∿ Slices To Pattern - - - Paketti - ∿ Switch to Automation - - - Paketti - ∿ Show Automation - - - Paketti - ∿ Transpose Octave Up (Selection/Track) - Shift + Command + Q - - - Paketti - ∿ Transpose Octave Down (Selection/Track) - Shift + Command + A - - - Paketti - ∿ Transpose +1 (Selection/Track) - Command + Q - - - Paketti - ∿ Transpose -1 (Selection/Track) - Command + A - - - Paketti - ∿ Transpose Octave Up Note Column (Selection/Note Column) - Shift + Option + Command + Q - - - Paketti - ∿ Transpose Octave Down Note Column (Selection/Note Column) - Shift + Option + Command + A - - - Paketti - ∿ Transpose +1 Note Column (Selection/Note Column) - Option + Command + Q - - - Paketti - ∿ Transpose -1 Note Column (Selection/Note Column) - Option + Command + A - - - Paketti - ∿ Impulse Tracker ALT-D Double Select - - - Paketti - ∿ Impulse Tracker ALT-D Double Select W/ Automation - Command + D - - - Paketti - ∿ Set Note to Octave 0 - - - Paketti - ∿ Set Note to Octave 1 - - - Paketti - ∿ Set Note to Octave 2 - - - Paketti - ∿ Set Note to Octave 3 - - - Paketti - ∿ Set Note to Octave 4 - - - Paketti - ∿ Set Note to Octave 5 - - - Paketti - ∿ Set Note to Octave 6 - - - Paketti - ∿ Set Note to Octave 7 - - - Paketti - ∿ Set Note to Octave 8 - - - Paketti - ∿ Set Note to Octave 9 - - - Paketti - ∿ Impulse Tracker ALT-F Expand Selection - Command + F - - - Paketti - ∿ Impulse Tracker ALT-G Shrink Selection - Command + G - - - Paketti - ∿ Impulse Tracker ALT-S Set Selection to Instrument - Command + S - - - Selection - ∿ Impulse Tracker ALT-L Mark Track/Mark Pattern - Command + L - - - Paketti - ∿ Impulse Tracker ALT-D Double Select Column - - - Paketti - ∿ Impulse Tracker ALT-D Double Select Pattern - - - Paketti - ∿ Impulse Tracker Home *2 behaviour - Option + Up - - - Paketti - ∿ Impulse Tracker Home *2 behaviour (2nd) - - - Paketti - ∿ Impulse Tracker End *2 behaviour - Option + Down - - - Paketti - ∿ Impulse Tracker End *2 behaviour (2nd) - - - Paketti - ∿ Impulse Tracker ALT-U Unmark Selection - - - Paketti - ∿ Impulse Tracker ALT-U Unmark Selection (2nd) - - - Paketti - ∿ Impulse Tracker Alt-Right Move Forwards One Channel (Wrap) - Option + Right - - - Paketti - ∿ Impulse Tracker Alt-Left Move Backwards One Channel (Wrap) - Option + Left - - - Paketti - ∿ Impulse Tracker Alt-Right Move Forwards One Channel - - - Paketti - ∿ Impulse Tracker Alt-Left Move Backwards One Channel - - - Paketti - ∿ Capture Nearest Instrument and Octave - - - Paketti - ∿ Mute/Unmute Note Column - - - Paketti - ∿ Effect Column L00 Track Volume Level 0 On/Off - - - Paketti - ∿ Record+Follow Off - - - Paketti - ∿ Delay Column Increase (+1) - Shift + Control + PeakedBracket - - - Paketti - ∿ Delay Column Decrease (-1) - Control + PeakedBracket - - - Paketti - ∿ Delay Column Increase (+10) - - - Paketti - ∿ Delay Column Decrease (-10) - - - Paketti - ∿ KapsLock CapsLock Caps Lock Note Off - Capital - - - Paketti - ∿ Set Pattern Length to 001 (001) - - - Paketti - ∿ Set Pattern Length to 004 (004) - Control + 1 - - - Paketti - ∿ Set Pattern Length to 006 (006) - - - Paketti - ∿ Set Pattern Length to 008 (008) - Control + 2 - - - Paketti - ∿ Set Pattern Length to 012 (00C) - - - Paketti - ∿ Set Pattern Length to 016 (010) - Control + 3 - - - Paketti - ∿ Set Pattern Length to 024 (018) - - - Paketti - ∿ Set Pattern Length to 032 (020) - Control + 4 - - - Paketti - ∿ Set Pattern Length to 048 (030) - - - Paketti - ∿ Set Pattern Length to 064 (040) - Control + 5 - - - Paketti - ∿ Set Pattern Length to 096 (060) - - - Paketti - ∿ Set Pattern Length to 128 (080) - Control + 6 - - - Paketti - ∿ Set Pattern Length to 192 (0C0) - - - Paketti - ∿ Set Pattern Length to 256 (100) - Control + 7 - - - Paketti - ∿ Set Pattern Length to 384 (180) - - - Paketti - ∿ Set Pattern Length to 512 (200) - Control + 8 - - - Paketti - ∿ Effect Column AXx Arp Amount Xx (-1) - - - Paketti - ∿ Effect Column AXx Arp Amount Xx (+1) - - - Paketti - ∿ Effect Column AxY Arp Amount xY (-1) - - - Paketti - ∿ Effect Column AxY Arp Amount xY (+1) - - - Paketti - ∿ Effect Column VxY Vibrato Amount xY (-1) - - - Paketti - ∿ Effect Column VxY Vibrato Amount xY (+1) - - - Paketti - ∿ Effect Column TxY Tremolo Amount xY (-1) - - - Paketti - ∿ Effect Column TxY Tremolo Amount xY (+1) - - - Paketti - ∿ Effect Column RxY Retrig Amount xY (-1) - - - Paketti - ∿ Effect Column RxY Retrig Amount xY (+1) - - - Paketti - ∿ Effect Column CxY Cut Volume Amount xY (-1) - - - Paketti - ∿ Effect Column CxY Cut Volume Amount xY (+1) - - - Paketti - ∿ Set Global LPB to 001 - - - Paketti - ∿ Set Global LPB to 002 - - - Paketti - ∿ Set Global LPB to 003 - - - Paketti - ∿ Set Global LPB to 004 - - - Paketti - ∿ Set Global LPB to 005 - - - Paketti - ∿ Set Global LPB to 006 - - - Paketti - ∿ Set Global LPB to 007 - - - Paketti - ∿ Set Global LPB to 008 - - - Paketti - ∿ Set Global LPB to 009 - - - Paketti - ∿ Set Global LPB to 010 - - - Paketti - ∿ Set Global LPB to 011 - - - Paketti - ∿ Set Global LPB to 012 - - - Paketti - ∿ Set Global LPB to 013 - - - Paketti - ∿ Set Global LPB to 014 - - - Paketti - ∿ Set Global LPB to 015 - - - Paketti - ∿ Set Global LPB to 016 - - - Paketti - ∿ Set Global LPB to 024 - - - Paketti - ∿ Set Global LPB to 032 - - - Paketti - ∿ Set Global LPB to 048 - - - Paketti - ∿ Set Global LPB to 064 - - - Paketti - ∿ Set Global LPB to 128 - - - Paketti - ∿ Set Global LPB to 256 - - - Paketti - ∿ Paketti Pattern Doubler - Command + Grave - - - Paketti - ∿ Paketti Pattern Halver - Shift + Command + Grave - - - Paketti - ∿ Renoise Random BPM & Write BPM/LPB to Master - - - Paketti - ∿ Wipe Effects From Selection - - - Paketti - ∿ Delete/Wipe/Clear Effect Column Content from Current Track - - - Paketti - ∿ Generate Delay Value on Note Columns - - - Navigation - ∿ Paketti Switch between Note/FX columns - Control + Tab - - - Navigation - ∿ Paketti Jump to Column (Next) (Note/FX) - - - Navigation - ∿ Paketti Jump to Column (Previous) (Note/FX) - - - Paketti - ∿ Pattern Shrink (dBlue) - - - Paketti - ∿ Pattern Expand (dBlue) - - - Paketti - ∿ Pattern Shrink + Resize (dBlue) - - - Paketti - ∿ Pattern Expand + Resize (dBlue) - - - Paketti - ∿ Effect Column Infobyte (-1) - - - Paketti - ∿ Effect Column Infobyte (-10) - - - Paketti - ∿ Effect Column Infobyte (-1) (2nd) - - - Paketti - ∿ Effect Column Infobyte (-10) (2nd) - - - Paketti - ∿ Effect Column Infobyte (-1) (3rd) - - - Paketti - ∿ Effect Column Infobyte (-10) (3rd) - - - Paketti - ∿ Effect Column Infobyte (+1) - - - Paketti - ∿ Effect Column Infobyte (+10) - - - Paketti - ∿ Effect Column Infobyte (+1) (2nd) - - - Paketti - ∿ Effect Column Infobyte (+10) (2nd) - - - Paketti - ∿ Effect Column Infobyte (+1) (3rd) - - - Paketti - ∿ Effect Column Infobyte (+10) (3rd) - - - Paketti - ∿ Effect Column Gxx Glide (-1) - - - Paketti - ∿ Effect Column Gxx Glide (-10) - - - Paketti - ∿ Effect Column Gxx Glide (+1) - - - Paketti - ∿ Effect Column Gxx Glide (+10) - - - Paketti - ∿ Effect Column Uxx Slide Pitch Up (+1) - - - Paketti - ∿ Effect Column Uxx Slide Pitch Up (-1) - - - Paketti - ∿ Effect Column Uxx Slide Pitch Up (+10) - - - Paketti - ∿ Effect Column Uxx Slide Pitch Up (-10) - - - Paketti - ∿ Effect Column Dxx Slide Pitch Down (+1) - - - Paketti - ∿ Effect Column Dxx Slide Pitch Down (-1) - - - Paketti - ∿ Effect Column Dxx Slide Pitch Down (+10) - - - Paketti - ∿ Effect Column Dxx Slide Pitch Down (-10) - - - Paketti - ∿ Effect Column Uxx Slide Pitch Up (+1) (2nd) - - - Paketti - ∿ Effect Column Uxx Slide Pitch Up (-1) (2nd) - - - Paketti - ∿ Effect Column Uxx Slide Pitch Up (+10) (2nd) - - - Paketti - ∿ Effect Column Uxx Slide Pitch Up (-10) (2nd) - - - Paketti - ∿ Effect Column Dxx Slide Pitch Down (+1) (2nd) - - - Paketti - ∿ Effect Column Dxx Slide Pitch Down (-1) (2nd) - - - Paketti - ∿ Effect Column Dxx Slide Pitch Down (+10) (2nd) - - - Paketti - ∿ Effect Column Dxx Slide Pitch Down (-10) (2nd) - - - Paketti - ∿ Effect Column Uxx Slide Pitch Up (+1) (3rd) - - - Paketti - ∿ Effect Column Uxx Slide Pitch Up (-1) (3rd) - - - Paketti - ∿ Effect Column Uxx Slide Pitch Up (+10) (3rd) - - - Paketti - ∿ Effect Column Uxx Slide Pitch Up (-10) (3rd) - - - Paketti - ∿ Effect Column Dxx Slide Pitch Down (+1) (3rd) - - - Paketti - ∿ Effect Column Dxx Slide Pitch Down (-1) (3rd) - - - Paketti - ∿ Effect Column Dxx Slide Pitch Down (+10) (3rd) - - - Paketti - ∿ Effect Column Dxx Slide Pitch Down (-10) (3rd) - - - Paketti - ∿ Switch Effect Column/Note Column - - - Paketti - ∿ Clear Current Row - - - Paketti - ∿ Clear Current Row 2nd - - - Paketti - ∿ Effect Column ZBxx Jump To Row (Next) - - - Paketti - ∿ Effect Column B01 Reverse Sample Effect On/Off - - - Paketti - ∿ Effect Column B00 Reverse Sample Effect On/Off - - - Paketti - ∿ Effect Column B00 Reverse Sample Effect On/Off (2nd) - - - Paketti - ∿ Display Effect Column 1 - - - Paketti - ∿ Display Effect Column 2 - - - Paketti - ∿ Display Effect Column 3 - - - Paketti - ∿ Display Effect Column 4 - - - Paketti - ∿ Display Effect Column 5 - - - Paketti - ∿ Display Effect Column 6 - - - Paketti - ∿ Display Effect Column 7 - - - Paketti - ∿ Display Effect Column 8 - - - Paketti - ∿ Display Note Column 01 - - - Paketti - ∿ Display Note Column 02 - - - Paketti - ∿ Display Note Column 03 - - - Paketti - ∿ Display Note Column 04 - - - Paketti - ∿ Display Note Column 05 - - - Paketti - ∿ Display Note Column 06 - - - Paketti - ∿ Display Note Column 07 - - - Paketti - ∿ Display Note Column 08 - - - Paketti - ∿ Display Note Column 09 - - - Paketti - ∿ Display Note Column 10 - - - Paketti - ∿ Display Note Column 11 - - - Paketti - ∿ Display Note Column 12 - - - Paketti - ∿ Reset Panning in Current Column & Row - - - Paketti - ∿ Effect Column L00/LC0 Volume Effect Switch - - - Paketti - ∿ Effect Column 0R(LPB) Retrig On/Off - - - Paketti - ∿ Select Effect Column (Previous) - - - Paketti - ∿ Select Effect Column (Next) - - - Paketti - ∿ Columnizer Increase Delay (+1) - - - Paketti - ∿ Columnizer Increase Delay (+10) - - - Paketti - ∿ Columnizer Decrease Delay (-1) - - - Paketti - ∿ Columnizer Decrease Delay (-10) - - - Paketti - ∿ Columnizer Increase Delay (+1) (2nd) - - - Paketti - ∿ Columnizer Increase Delay (+10) (2nd) - - - Paketti - ∿ Columnizer Decrease Delay (-1) (2nd) - - - Paketti - ∿ Columnizer Decrease Delay (-10) (2nd) - - - Paketti - ∿ Columnizer Increase Panning (+1) - - - Paketti - ∿ Columnizer Increase Panning (+10) - - - Paketti - ∿ Columnizer Decrease Panning (-1) - - - Paketti - ∿ Columnizer Decrease Panning (-10) - - - Paketti - ∿ Columnizer Increase Panning (+1) (2nd) - - - Paketti - ∿ Columnizer Increase Panning (+10) (2nd) - - - Paketti - ∿ Columnizer Decrease Panning (-1) (2nd) - - - Paketti - ∿ Columnizer Decrease Panning (-10) (2nd) - - - Paketti - ∿ Columnizer Increase Volume (+1) - - - Paketti - ∿ Columnizer Increase Volume (+10) - - - Paketti - ∿ Columnizer Decrease Volume (-1) - - - Paketti - ∿ Columnizer Decrease Volume (-10) - - - Paketti - ∿ Columnizer Increase Effect Number (+1) - - - Paketti - ∿ Columnizer Increase Effect Number (+10) - - - Paketti - ∿ Columnizer Decrease Effect Number (-1) - - - Paketti - ∿ Columnizer Decrease Effect Number (-10) - - - Paketti - ∿ Columnizer Increase Effect Amount (+1) - - - Paketti - ∿ Columnizer Increase Effect Amount (+10) - - - Paketti - ∿ Columnizer Decrease Effect Amount (-1) - - - Paketti - ∿ Columnizer Decrease Effect Amount (-10) - - - Paketti - ∿ Flood Fill Note and Instrument - Shift + Option + Grave - - - Paketti - ∿ Flood Fill Note and Instrument with EditStep - Option + E - - - Paketti - ∿ Flood Fill Note and Instrument every 1 step - - - Paketti - ∿ Flood Fill Note and Instrument every 2 step - - - Paketti - ∿ Flood Fill Note and Instrument every 3 step - - - Paketti - ∿ Flood Fill Note and Instrument every 4 step - - - Paketti - ∿ Flood Fill Note and Instrument every 5 step - Shift + Option + 5 - - - Paketti - ∿ Flood Fill Note and Instrument every 6 step - Shift + Option + 6 - - - Paketti - ∿ Flood Fill Note and Instrument every 7 step - Shift + Option + 7 - - - Paketti - ∿ Flood Fill Note and Instrument every 8 step - - - Paketti - ∿ Flood Fill Note and Instrument every 9 step - Shift + Option + 9 - - - Paketti - ∿ Flood Fill Note and Instrument every 10 step - - - Paketti - ∿ Flood Fill Note and Instrument every 11 step - - - Paketti - ∿ Flood Fill Note and Instrument every 12 step - - - Paketti - ∿ Flood Fill Note and Instrument every 13 step - - - Paketti - ∿ Flood Fill Note and Instrument every 14 step - - - Paketti - ∿ Flood Fill Note and Instrument every 15 step - - - Paketti - ∿ Flood Fill Note and Instrument every 16 step - - - Paketti - ∿ Flood Fill Note and Instrument every 17 step - - - Paketti - ∿ Flood Fill Note and Instrument every 18 step - - - Paketti - ∿ Flood Fill Note and Instrument every 19 step - - - Paketti - ∿ Flood Fill Note and Instrument every 20 step - - - Paketti - ∿ Flood Fill Note and Instrument every 21 step - - - Paketti - ∿ Flood Fill Note and Instrument every 22 step - - - Paketti - ∿ Flood Fill Note and Instrument every 23 step - - - Paketti - ∿ Flood Fill Note and Instrument every 24 step - - - Paketti - ∿ Flood Fill Note and Instrument every 25 step - - - Paketti - ∿ Flood Fill Note and Instrument every 26 step - - - Paketti - ∿ Flood Fill Note and Instrument every 27 step - - - Paketti - ∿ Flood Fill Note and Instrument every 28 step - - - Paketti - ∿ Flood Fill Note and Instrument every 29 step - - - Paketti - ∿ Flood Fill Note and Instrument every 30 step - - - Paketti - ∿ Flood Fill Note and Instrument every 31 step - - - Paketti - ∿ Flood Fill Note and Instrument every 32 step - - - Paketti - ∿ Flood Fill Note and Instrument every 33 step - - - Paketti - ∿ Flood Fill Note and Instrument every 34 step - - - Paketti - ∿ Flood Fill Note and Instrument every 35 step - - - Paketti - ∿ Flood Fill Note and Instrument every 36 step - - - Paketti - ∿ Flood Fill Note and Instrument every 37 step - - - Paketti - ∿ Flood Fill Note and Instrument every 38 step - - - Paketti - ∿ Flood Fill Note and Instrument every 39 step - - - Paketti - ∿ Flood Fill Note and Instrument every 40 step - - - Paketti - ∿ Flood Fill Note and Instrument every 41 step - - - Paketti - ∿ Flood Fill Note and Instrument every 42 step - - - Paketti - ∿ Flood Fill Note and Instrument every 43 step - - - Paketti - ∿ Flood Fill Note and Instrument every 44 step - - - Paketti - ∿ Flood Fill Note and Instrument every 45 step - - - Paketti - ∿ Flood Fill Note and Instrument every 46 step - - - Paketti - ∿ Flood Fill Note and Instrument every 47 step - - - Paketti - ∿ Flood Fill Note and Instrument every 48 step - - - Paketti - ∿ Flood Fill Note and Instrument every 49 step - - - Paketti - ∿ Flood Fill Note and Instrument every 50 step - - - Paketti - ∿ Flood Fill Note and Instrument every 51 step - - - Paketti - ∿ Flood Fill Note and Instrument every 52 step - - - Paketti - ∿ Flood Fill Note and Instrument every 53 step - - - Paketti - ∿ Flood Fill Note and Instrument every 54 step - - - Paketti - ∿ Flood Fill Note and Instrument every 55 step - - - Paketti - ∿ Flood Fill Note and Instrument every 56 step - - - Paketti - ∿ Flood Fill Note and Instrument every 57 step - - - Paketti - ∿ Flood Fill Note and Instrument every 58 step - - - Paketti - ∿ Flood Fill Note and Instrument every 59 step - - - Paketti - ∿ Flood Fill Note and Instrument every 60 step - - - Paketti - ∿ Flood Fill Note and Instrument every 61 step - - - Paketti - ∿ Flood Fill Note and Instrument every 62 step - - - Paketti - ∿ Flood Fill Note and Instrument every 63 step - - - Paketti - ∿ Flood Fill Note and Instrument every 64 step - - - Paketti - ∿ Paketti Track Renamer Dialog... - - - Paketti - ∿ Select Last Track - - - Paketti - ∿ Toggle Note Off in All Visible Note Columns - Shift + Capital - - - Paketti - ∿ Toggle Note Off on All Tracks on Current Row - Control + Capital - - - Paketti - ∿ Randomize Phrasing for Notes in Current Row - Option + N - - - Paketti - ∿ Replicate Selected Track Above Current Row (-12) - - - Paketti - ∿ Replicate Selected Track Above Current Row (-1) - - - Paketti - ∿ Replicate Selected Track Above Current Row - Control + Down - - - Paketti - ∿ Replicate Selected Track Above Current Row (+1) - - - Paketti - ∿ Replicate Selected Track Above Current Row (+12) - - - Paketti - ∿ Replicate Selected Track Above + Current (-12) - - - Paketti - ∿ Replicate Selected Track Above + Current (-1) - - - Paketti - ∿ Replicate Selected Track Above + Current - - - Paketti - ∿ Replicate Selected Track Above + Current (+1) - - - Paketti - ∿ Replicate Selected Track Above + Current (+12) - - - Paketti - ∿ Replicate All Above Current Row (-12) - - - Paketti - ∿ Replicate All Above Current Row (-1) - - - Paketti - ∿ Replicate All Above Current Row - - - Paketti - ∿ Replicate All Above Current Row (+1) - - - Paketti - ∿ Replicate All Above Current Row (+12) - - - Paketti - ∿ Replicate All Above + Current (-12) - - - Paketti - ∿ Replicate All Above + Current (-1) - - - Paketti - ∿ Replicate All Above + Current - Shift + Control + Down - - - Paketti - ∿ Replicate All Above + Current (+1) - - - Paketti - ∿ Replicate All Above + Current (+12) - - - Paketti - ∿ Delay Column Increase Selection/Row (+1) - Control + Right - - - Paketti - ∿ Delay Column Decrease Selection/Row (-1) - Control + Left - - - Paketti - ∿ Delay Column Increase Selection/Row (+10) - Shift + Control + Right - - - Paketti - ∿ Delay Column Decrease Selection/Row (-10) - Shift + Control + Left - - - Paketti - ∿ Set Pattern Length to LPB*001 - - - Paketti - ∿ Set Pattern Length to LPB*002 - - - Paketti - ∿ Set Pattern Length to LPB*004 - - - Paketti - ∿ Set Pattern Length to LPB*008 - - - Paketti - ∿ Set Pattern Length to LPB*016 - - - Paketti - ∿ Set Pattern Length to LPB*032 - - - Paketti - ∿ Set Pattern Length to LPB*064 - - - Paketti - ∿ Set Pattern Length to LPB*128 - - - Paketti - ∿ Set Pattern Length to LPB*256 - - - Paketti - ∿ Set Pattern Length to LPB*512 - - - Paketti - ∿ Keep Sequence Sorted False - - - Paketti - ∿ Keep Sequence Sorted True - - - Paketti - ∿ Keep Sequence Sorted Toggle - Shift + Command + N - - - Paketti - ∿ Phrase Editor Visible - - - Paketti - ∿ OctaMED Pick Slot 01 - - - Paketti - ∿ OctaMED Put Slot 01 - - - Paketti - ∿ OctaMED Pick Slot 02 - - - Paketti - ∿ OctaMED Put Slot 02 - - - Paketti - ∿ OctaMED Pick Slot 03 - - - Paketti - ∿ OctaMED Put Slot 03 - - - Paketti - ∿ OctaMED Pick Slot 04 - - - Paketti - ∿ OctaMED Put Slot 04 - - - Paketti - ∿ OctaMED Pick Slot 05 - - - Paketti - ∿ OctaMED Put Slot 05 - - - Paketti - ∿ OctaMED Pick Slot 06 - - - Paketti - ∿ OctaMED Put Slot 06 - - - Paketti - ∿ OctaMED Pick Slot 07 - - - Paketti - ∿ OctaMED Put Slot 07 - - - Paketti - ∿ OctaMED Pick Slot 08 - - - Paketti - ∿ OctaMED Put Slot 08 - - - Paketti - ∿ OctaMED Pick Slot 09 - - - Paketti - ∿ OctaMED Put Slot 09 - - - Paketti - ∿ OctaMED Pick Slot 10 - - - Paketti - ∿ OctaMED Put Slot 10 - - - Paketti - ∿ OctaMED Pick/Put Dialog - - - Paketti - ∿ Player Pro Transpose Selection or Row +1 - Shift + Command + Up - - - Paketti - ∿ Player Pro Transpose Selection or Row -1 - - - Paketti - ∿ Player Pro Transpose Selection or Row +12 - - - Paketti - ∿ Player Pro Transpose Selection or Row -12 - - - Paketti - ∿ Open Player Pro Tools Dialog - - - Paketti - ∿ Clean Render Selected Track/Group - Command + R - - - Paketti - ∿ Clean Render Selected Track/Group LPB*2 - - - Paketti - ∿ Clean Render Seamless Selected Track/Group - - - Paketti - ∿ Chordsplus (Add 01) - - - Paketti - ∿ Chordsplus (Add 02) - - - Paketti - ∿ Chordsplus (Add 03) - Shift + Control + 3 - - - Paketti - ∿ Chordsplus (Add 04) - Shift + Control + 4 - - - Paketti - ∿ Chordsplus (Add 05) - - - Paketti - ∿ Chordsplus (Add 06) - - - Paketti - ∿ Chordsplus (Add 07) - Shift + Control + 7 - - - Paketti - ∿ Chordsplus (Add 08) - - - Paketti - ∿ Chordsplus (Add 09) - - - Paketti - ∿ Chordsplus (Add 10) - - - Paketti - ∿ Chordsplus (Add 11) - - - Paketti - ∿ Chordsplus (Add 12) - - - Paketti - ∿ Chordsplus (Sub 01) - - - Paketti - ∿ Chordsplus (Sub 02) - - - Paketti - ∿ Chordsplus (Sub 03) - - - Paketti - ∿ Chordsplus (Sub 04) - Shift + Control + 2 - - - Paketti - ∿ Chordsplus (Sub 05) - - - Paketti - ∿ Chordsplus (Sub 06) - - - Paketti - ∿ Chordsplus (Sub 07) - Shift + Control + 6 - - - Paketti - ∿ Chordsplus (Sub 08) - - - Paketti - ∿ Chordsplus (Sub 09) - - - Paketti - ∿ Chordsplus (Sub 10) - - - Paketti - ∿ Chordsplus (Sub 11) - - - Paketti - ∿ Chordsplus (Sub 12) - - - Paketti - ∿ Selection in Pattern to Group - - - Paketti - ∿ Set Time Signature 3/4 and 48 rows @ LPB 4 - - - Paketti - ∿ Set Time Signature 7/8 and 56 rows @ LPB 8 - - - Paketti - ∿ Set Time Signature 6/8 and 48 rows @ LPB 8 - - - Paketti - ∿ Adjust Selection Delay Column (+1) - - - Paketti - ∿ Adjust Selection Delay Column (-1) - - - Paketti - ∿ Adjust Selection Delay Column (+10) - - - Paketti - ∿ Adjust Selection Delay Column (-10) - - - Paketti - ∿ Adjust Selection Panning Column (+1) - - - Paketti - ∿ Adjust Selection Panning Column (-1) - - - Paketti - ∿ Adjust Selection Panning Column (+10) - - - Paketti - ∿ Adjust Selection Panning Column (-10) - - - Paketti - ∿ Adjust Selection Volume Column (+1) - - - Paketti - ∿ Adjust Selection Volume Column (-1) - - - Paketti - ∿ Adjust Selection Volume Column (+10) - - - Paketti - ∿ Adjust Selection Volume Column (-10) - - - Paketti - ∿ Wipe Selection Delay Column - - - Paketti - ∿ Wipe Selection Panning Column - - - Paketti - ∿ Wipe Selection Volume Column - - - Paketti - ∿ Note Interpolation - Shift + Command + I - - - Paketti - ∿ Jump to First Track In Next Group - - - Paketti - ∿ Jump to First Track In Previous Group - - - Paketti - ∿ Global Visible Column (All) - - - Paketti - ∿ Global Visible Column (None) - - - Paketti - ∿ Global Toggle Visible Column (Volume) - - - Paketti - ∿ Global Toggle Visible Column (Panning) - - - Paketti - ∿ Global Toggle Visible Column (Delay) - - - Paketti - ∿ Global Toggle Visible Column (Sample Effects) - - - Paketti - ∿ Global Set Visible Column (Volume) - - - Paketti - ∿ Global Set Visible Column (Panning) - - - Paketti - ∿ Global Set Visible Column (Delay) - - - Paketti - ∿ Global Set Visible Column (Sample Effects) - - - Paketti - ∿ Reverse Notes in Selection - Control + R - - - Paketti - ∿ Flood Fill with Selection - Control + F - - - Paketti - ∿ Rotate Track Content to SelectionStart First - - - Paketti - ∿ Chordsplus 3-4 (Maj) - - - Paketti - ∿ Chordsplus 4-3 (Min) - - - Paketti - ∿ Chordsplus 4-3-4 (Maj7) - - - Paketti - ∿ Chordsplus 3-4-3 (Min7) - - - Paketti - ∿ Chordsplus 4-4-3 (Maj7+5) - - - Paketti - ∿ Chordsplus 3-5-2 (Min7+5) - - - Paketti - ∿ Chordsplus 4-3-3 (Maj Dominant 7th) - - - Paketti - ∿ Chordsplus 3-4-4 (MinMaj7) - - - Paketti - ∿ Chordsplus 4-3-4-3 (Maj9) - - - Paketti - ∿ Chordsplus 3-4-3-3 (Min9) - - - Paketti - ∿ Chordsplus 4-3-7 (Maj Added 9th) - - - Paketti - ∿ Chordsplus 3-4-7 (Min Added 9th) - - - Paketti - ∿ Chordsplus 4-7-3 (Maj9 Simplified) - - - Paketti - ∿ Chordsplus 3-7-4 (Min9 Simplified) - - - Paketti - ∿ Chordsplus 3-8-3 (mM9 Simplified) - - - Paketti - ∿ Chordsplus 4-3-4-4 (MM9) - - - Paketti - ∿ Chordsplus 3-4-4-3 (mM9) - - - Paketti - ∿ Chordsplus 4-3-2-5 (Maj6 Add9) - - - Paketti - ∿ Chordsplus 3-4-2-5 (Min6 Add9) - Shift + Control + 1 - - - Paketti - ∿ Chordsplus 2-5 (Sus2) - - - Paketti - ∿ Chordsplus 5-2 (Sus4) - - - Paketti - ∿ Chordsplus 5-2-3 (7Sus4) - - - Paketti - ∿ Chordsplus 4-4 (Aug5) - - - Paketti - ∿ Chordsplus 4-4-2 (Aug6) - - - Paketti - ∿ Chordsplus 4-4-3 (Aug7) - - - Paketti - ∿ Chordsplus 4-4-4 (Aug8) - - - Paketti - ∿ Chordsplus 4-3-3-5 (Aug9) - - - Paketti - ∿ Chordsplus 4-4-7 (Aug10) - - - Paketti - ∿ Chordsplus 4-3-3-4-4 (Aug11) - - - Paketti - ∿ Chordsplus 12-12-12 (Octaves) - - - Paketti - ∿ Next Chord in List - - - Paketti - ∿ Invert Note Column Subcolumns - Shift + Control + V - - - Paketti - ∿ Invert Effect Column Subcolumns - Shift + Option + V - - - Paketti - ∿ Invert All Subcolumns - Shift + Option + Control + V - - - Paketti - ∿ Nudge and Paste Selection - Shift + Command + Down - - - Paketti - ∿ Nudge and Paste Selection + Deselect - - - Paketti - ∿ Duplicate Selection with Padding&Move Cursor 1 - Shift + Option + D - - - Paketti - ∿ Duplicate Selection with Padding&Move Cursor 2 - Option + D - - - Paketti - ∿ Impulse Tracker Alt-M MixPaste - Save - - - Paketti - ∿ Impulse Tracker Alt-M MixPaste - Load - - - Paketti - ∿ Shrink to Triplets - Control + T - - - Paketti - ∿ Triple (Experimental) - - - Paketti - ∿ Impulse Tracker Shift-Right Selection In Pattern - - - Paketti - ∿ Impulse Tracker Shift-Left Selection In Pattern - - - Paketti - ∿ Impulse Tracker Shift-Down Selection In Pattern - - - Paketti - ∿ Impulse Tracker Shift-Up Selection In Pattern - - - Paketti - ∿ Slide Selected Column Content Down - Command + Control + Down - - - Paketti - ∿ Slide Selected Column Content Up - Command + Control + Up - - - Paketti - ∿ Slide Selected Track Content Up - - - Paketti - ∿ Slide Selected Track Content Down - Option + Command + Down - - - Paketti - ∿ Toggle Note Off in Selected Tracks - Option + Capital - - - Paketti - ∿ Impulse Tracker MixPaste - Option + M - - - Paketti - ∿ Match Current Sub Column Selection - Shift + Command + E - - - Paketti - ∿ Match Volume Column to Current Row - - - Paketti - ∿ Match Panning Column to Current Row - - - Paketti - ∿ Match Delay Column to Current Row - - - - - Sample Editor - - - Navigation - Move Cursor Left - Left - - - Navigation - Move Cursor Right - Right - - - Navigation - Move Cursor Up - - - Navigation - Move Cursor Down - - - Navigation - Move Cursor Left Big Step - - - Navigation - Move Cursor Right Big Step - - - Navigation - Move Cursor to Visible Start - - - Navigation - Move Cursor to Sample Start - Home - - - Navigation - Move Cursor to Visible End - - - Navigation - Move Cursor to Sample End - End - - - Navigation - Move Cursor to Visible Start and Select - - - Navigation - Move Cursor to Visible End and Select - - - Navigation - Zoom In - - - Navigation - Zoom Out - - - Navigation - Zoom In Vertical - Next - - - Navigation - Zoom Out Vertical - Prior - - - Navigation - Zoom Selection - Option + Command + S - - - Navigation - Zoom Out Full - - - Navigation - Select Previous Sample - Up - - - Navigation - Select Next Sample - Down - - - Selection - Select All - Command + A - - - Selection - Unselect All - - - Selection - Select Loop - Command + U - - - Selection - Select Current Slice - - - Selection - Begin Selection - Command + B - - - Selection - End Selection - Command + E - - - Selection - Select All Slice Markers - Shift + Command + A - - - Snapping - Toggle Snapping - Command + 0 - - - Snapping - Set Snap Mode1 - - - Snapping - Set Snap Mode2 - - - Snapping - Set Snap Mode3 - - - Snapping - Set Snap Mode4 - - - Snapping - Set Snap Mode5 - - - Snapping - Set Snap Mode6 - - - Snapping - Set Snap Mode7 - - - Snapping - Set Snap Mode8 - - - Snapping - Set Snap Mode9 - Command + 9 - - - View - Toggle Draw Mode - Option + Command + D - - - Playback - Play Sample - - - Playback - Play Selection - - - Playback - Stop Playing Selection - - - Playback - Play/Stop Selection - Space - - - Edit - Clear Sample - Command + Back - - - Edit - 2nd Clear Sample - Command + Delete - - - Edit - Delete - - - Edit - 2nd Delete - Delete - - - Edit - Cut - Command + X - - - Edit - Trim - Command + T - - - Edit - Copy - Command + C - - - Edit - Copy Into New Sample - - - Edit - Paste - Command + V - - - Edit - Mix Paste - - - Edit - Insert Silence - - - Edit - Load Sample - Option + O - - - Edit - Save Sample As - - - Fade - Fade In - - - Fade - Fade In Log - Shift + Option + Command + I - - - Fade - Fade Out - - - Fade - Fade Out Log - Shift + Option + Command + O - - - Fade - Cross Fade - - - Fade - Cross Fade Loop - - - Process - Toggle Undo Enabled - - - Process - Create or Adjust Type - - - Process - Adjust Volume - F10 - - - Process - DC Adjust - - - Process - Normalize Volume - Command + N - - - Process - Mute - - - Process - Invert Phase - - - Process - Swap Stereo Channels - - - Process - Reverse - Command + R - - - Process - XReverse - - - Process - Smooth - - - Loop - Set Loop Start/Range - Shift + Command + L - - - Loop - Set Loop End/Range - Command + L - - - Slices - Toggle Slice Tool - - - Slices - Toggle Single Slice Trigger - - - Slices - Detect Beats - - - Slices - Add Slice Marker - - - Slices - Delete Slice Marker - - - Slices - Delete All Slice Markers - - - Slices - Destructively Render Slices - - - Process - Process DSP FX - - - Slices - Render Slices to Phrase - - - Edit - Copy Into New Instrument - Shift + Option + Command + C - - - Playback - Toggle Play Selection Enabled - Command + Q - - - Paketti - ∿ Offset Sample Buffer by -0.5 - Shift + Command + E - - - Paketti - ∿ Multiply Sample Buffer by 0.5 - Command + P - - - Paketti - ∿ Phase Inversion - - - Paketti - ∿ Phase Inversion & Audio Diff - - - Paketti - ∿ Pitch Shift - - - Paketti - ∿ Pitch Shift & Audio Diff - - - Paketti - ∿ Clip bottom of waveform - - - Paketti - ∿ Modulate & Audio Diff - - - Paketti - ∿ Invert Right, Sum Mono - - - Paketti - ∿ Audio Diff - - - Paketti - ∿ 15 Frame Fade In & Fade Out - - - Paketti - ∿ Max Amp DC Offset Kick Generator - - - Process - ∿ Recursive Remove DC Offset - Command + D - - - Process - ∿ Recursive Remove DC Offset Random Times - Shift + Option + D - - - Paketti - ∿ Phrase Editor Visible - - - Paketti - ∿ Create New Instrument & Loop from Selection - - - Paketti - ∿ Set Loop Mode to 1 Off - - - Paketti - ∿ Set Loop Mode to 2 Forward - - - Paketti - ∿ Set Loop Mode to 3 Reverse - - - Paketti - ∿ Set Loop Mode to 4 PingPong - - - Paketti - ∿ Select Padded Slice (Next) - Option + E - - - Paketti - ∿ Select Padded Slice (Previous) - Option + W - - - Paketti - ∿ Select Padded Slice from Current Slice - - - Paketti - ∿ Select First Half of Sample Buffer - Option + Left - - - Paketti - ∿ Select Second Half of Sample Buffer - Option + Right - - - Paketti - ∿ Invert Left Channel of Selected Sample - - - Paketti - ∿ Invert Right Channel of Selected Sample - - - Paketti - ∿ Invert Sample - - - Paketti - ∿ Rotate Sample Buffer Right 10 - - - Paketti - ∿ Rotate Sample Buffer Left 10 - - - Paketti - ∿ Rotate Sample Buffer Right 100 - - - Paketti - ∿ Rotate Sample Buffer Left 100 - - - Paketti - ∿ Rotate Sample Buffer Right 1000 - Command + Control + Left - - - Paketti - ∿ Rotate Sample Buffer Left 1000 - Command + Control + Right - - - Paketti - ∿ Rotate Sample Buffer Right 10000 - - - Paketti - ∿ Rotate Sample Buffer Left 10000 - - - Paketti - ∿ Flip Sample by 1/4 - - - Paketti - ∿ Flip Sample by 1/2 - - - Paketti - ∿ Flip Sample by 1/8 - - - Paketti - ∿ Flip Sample by 1/16 - - - Paketti - ∿ Select Loop Range - Shift + Option + L - - - Paketti - ∿ Nudge Slice 01 by (-10) - - - Paketti - ∿ Nudge Slice 01 by (-32) - - - Paketti - ∿ Nudge Slice 01 by (-1) - - - Paketti - ∿ Nudge Slice 01 by (+32) - - - Paketti - ∿ Nudge Slice 01 by (+1) - - - Paketti - ∿ Nudge Slice 01 by (+16) - - - Paketti - ∿ Nudge Slice 01 by (-16) - - - Paketti - ∿ Nudge Slice 01 by (+10) - - - Paketti - ∿ Nudge Slice 02 by (-10) - - - Paketti - ∿ Nudge Slice 02 by (-32) - - - Paketti - ∿ Nudge Slice 02 by (-1) - - - Paketti - ∿ Nudge Slice 02 by (+32) - - - Paketti - ∿ Nudge Slice 02 by (+1) - - - Paketti - ∿ Nudge Slice 02 by (+16) - - - Paketti - ∿ Nudge Slice 02 by (-16) - - - Paketti - ∿ Nudge Slice 02 by (+10) - - - Paketti - ∿ Nudge Slice 03 by (-10) - - - Paketti - ∿ Nudge Slice 03 by (-32) - - - Paketti - ∿ Nudge Slice 03 by (-1) - - - Paketti - ∿ Nudge Slice 03 by (+32) - - - Paketti - ∿ Nudge Slice 03 by (+1) - - - Paketti - ∿ Nudge Slice 03 by (+16) - - - Paketti - ∿ Nudge Slice 03 by (-16) - - - Paketti - ∿ Nudge Slice 03 by (+10) - - - Paketti - ∿ Nudge Slice 04 by (-10) - - - Paketti - ∿ Nudge Slice 04 by (-32) - - - Paketti - ∿ Nudge Slice 04 by (-1) - - - Paketti - ∿ Nudge Slice 04 by (+32) - - - Paketti - ∿ Nudge Slice 04 by (+1) - - - Paketti - ∿ Nudge Slice 04 by (+16) - - - Paketti - ∿ Nudge Slice 04 by (-16) - - - Paketti - ∿ Nudge Slice 04 by (+10) - - - Paketti - ∿ Nudge Slice 05 by (-10) - - - Paketti - ∿ Nudge Slice 05 by (-32) - - - Paketti - ∿ Nudge Slice 05 by (-1) - - - Paketti - ∿ Nudge Slice 05 by (+32) - - - Paketti - ∿ Nudge Slice 05 by (+1) - - - Paketti - ∿ Nudge Slice 05 by (+16) - - - Paketti - ∿ Nudge Slice 05 by (-16) - - - Paketti - ∿ Nudge Slice 05 by (+10) - - - Paketti - ∿ Nudge Slice 06 by (-10) - - - Paketti - ∿ Nudge Slice 06 by (-32) - - - Paketti - ∿ Nudge Slice 06 by (-1) - - - Paketti - ∿ Nudge Slice 06 by (+32) - - - Paketti - ∿ Nudge Slice 06 by (+1) - - - Paketti - ∿ Nudge Slice 06 by (+16) - - - Paketti - ∿ Nudge Slice 06 by (-16) - - - Paketti - ∿ Nudge Slice 06 by (+10) - - - Paketti - ∿ Nudge Slice 07 by (-10) - - - Paketti - ∿ Nudge Slice 07 by (-32) - - - Paketti - ∿ Nudge Slice 07 by (-1) - - - Paketti - ∿ Nudge Slice 07 by (+32) - - - Paketti - ∿ Nudge Slice 07 by (+1) - - - Paketti - ∿ Nudge Slice 07 by (+16) - - - Paketti - ∿ Nudge Slice 07 by (-16) - - - Paketti - ∿ Nudge Slice 07 by (+10) - - - Paketti - ∿ Nudge Slice 08 by (-10) - - - Paketti - ∿ Nudge Slice 08 by (-32) - - - Paketti - ∿ Nudge Slice 08 by (-1) - - - Paketti - ∿ Nudge Slice 08 by (+32) - - - Paketti - ∿ Nudge Slice 08 by (+1) - - - Paketti - ∿ Nudge Slice 08 by (+16) - - - Paketti - ∿ Nudge Slice 08 by (-16) - - - Paketti - ∿ Nudge Slice 08 by (+10) - - - Paketti - ∿ Nudge Slice 09 by (-10) - - - Paketti - ∿ Nudge Slice 09 by (-32) - - - Paketti - ∿ Nudge Slice 09 by (-1) - - - Paketti - ∿ Nudge Slice 09 by (+32) - - - Paketti - ∿ Nudge Slice 09 by (+1) - - - Paketti - ∿ Nudge Slice 09 by (+16) - - - Paketti - ∿ Nudge Slice 09 by (-16) - - - Paketti - ∿ Nudge Slice 09 by (+10) - - - Paketti - ∿ Nudge Slice 10 by (-10) - - - Paketti - ∿ Nudge Slice 10 by (-32) - - - Paketti - ∿ Nudge Slice 10 by (-1) - - - Paketti - ∿ Nudge Slice 10 by (+32) - - - Paketti - ∿ Nudge Slice 10 by (+1) - - - Paketti - ∿ Nudge Slice 10 by (+16) - - - Paketti - ∿ Nudge Slice 10 by (-16) - - - Paketti - ∿ Nudge Slice 10 by (+10) - - - Paketti - ∿ Nudge Slice 11 by (-10) - - - Paketti - ∿ Nudge Slice 11 by (-32) - - - Paketti - ∿ Nudge Slice 11 by (-1) - - - Paketti - ∿ Nudge Slice 11 by (+32) - - - Paketti - ∿ Nudge Slice 11 by (+1) - - - Paketti - ∿ Nudge Slice 11 by (+16) - - - Paketti - ∿ Nudge Slice 11 by (-16) - - - Paketti - ∿ Nudge Slice 11 by (+10) - - - Paketti - ∿ Nudge Slice 12 by (-10) - - - Paketti - ∿ Nudge Slice 12 by (-32) - - - Paketti - ∿ Nudge Slice 12 by (-1) - - - Paketti - ∿ Nudge Slice 12 by (+32) - - - Paketti - ∿ Nudge Slice 12 by (+1) - - - Paketti - ∿ Nudge Slice 12 by (+16) - - - Paketti - ∿ Nudge Slice 12 by (-16) - - - Paketti - ∿ Nudge Slice 12 by (+10) - - - Paketti - ∿ Nudge Slice 13 by (-10) - - - Paketti - ∿ Nudge Slice 13 by (-32) - - - Paketti - ∿ Nudge Slice 13 by (-1) - - - Paketti - ∿ Nudge Slice 13 by (+32) - - - Paketti - ∿ Nudge Slice 13 by (+1) - - - Paketti - ∿ Nudge Slice 13 by (+16) - - - Paketti - ∿ Nudge Slice 13 by (-16) - - - Paketti - ∿ Nudge Slice 13 by (+10) - - - Paketti - ∿ Nudge Slice 14 by (-10) - - - Paketti - ∿ Nudge Slice 14 by (-32) - - - Paketti - ∿ Nudge Slice 14 by (-1) - - - Paketti - ∿ Nudge Slice 14 by (+32) - - - Paketti - ∿ Nudge Slice 14 by (+1) - - - Paketti - ∿ Nudge Slice 14 by (+16) - - - Paketti - ∿ Nudge Slice 14 by (-16) - - - Paketti - ∿ Nudge Slice 14 by (+10) - - - Paketti - ∿ Nudge Slice 15 by (-10) - - - Paketti - ∿ Nudge Slice 15 by (-32) - - - Paketti - ∿ Nudge Slice 15 by (-1) - - - Paketti - ∿ Nudge Slice 15 by (+32) - - - Paketti - ∿ Nudge Slice 15 by (+1) - - - Paketti - ∿ Nudge Slice 15 by (+16) - - - Paketti - ∿ Nudge Slice 15 by (-16) - - - Paketti - ∿ Nudge Slice 15 by (+10) - - - Paketti - ∿ Nudge Slice 16 by (-10) - - - Paketti - ∿ Nudge Slice 16 by (-32) - - - Paketti - ∿ Nudge Slice 16 by (-1) - - - Paketti - ∿ Nudge Slice 16 by (+32) - - - Paketti - ∿ Nudge Slice 16 by (+1) - - - Paketti - ∿ Nudge Slice 16 by (+16) - - - Paketti - ∿ Nudge Slice 16 by (-16) - - - Paketti - ∿ Nudge Slice 16 by (+10) - - - Paketti - ∿ Nudge Slice 17 by (-10) - - - Paketti - ∿ Nudge Slice 17 by (-32) - - - Paketti - ∿ Nudge Slice 17 by (-1) - - - Paketti - ∿ Nudge Slice 17 by (+32) - - - Paketti - ∿ Nudge Slice 17 by (+1) - - - Paketti - ∿ Nudge Slice 17 by (+16) - - - Paketti - ∿ Nudge Slice 17 by (-16) - - - Paketti - ∿ Nudge Slice 17 by (+10) - - - Paketti - ∿ Nudge Slice 18 by (-10) - - - Paketti - ∿ Nudge Slice 18 by (-32) - - - Paketti - ∿ Nudge Slice 18 by (-1) - - - Paketti - ∿ Nudge Slice 18 by (+32) - - - Paketti - ∿ Nudge Slice 18 by (+1) - - - Paketti - ∿ Nudge Slice 18 by (+16) - - - Paketti - ∿ Nudge Slice 18 by (-16) - - - Paketti - ∿ Nudge Slice 18 by (+10) - - - Paketti - ∿ Nudge Slice 19 by (-10) - - - Paketti - ∿ Nudge Slice 19 by (-32) - - - Paketti - ∿ Nudge Slice 19 by (-1) - - - Paketti - ∿ Nudge Slice 19 by (+32) - - - Paketti - ∿ Nudge Slice 19 by (+1) - - - Paketti - ∿ Nudge Slice 19 by (+16) - - - Paketti - ∿ Nudge Slice 19 by (-16) - - - Paketti - ∿ Nudge Slice 19 by (+10) - - - Paketti - ∿ Nudge Slice 20 by (-10) - - - Paketti - ∿ Nudge Slice 20 by (-32) - - - Paketti - ∿ Nudge Slice 20 by (-1) - - - Paketti - ∿ Nudge Slice 20 by (+32) - - - Paketti - ∿ Nudge Slice 20 by (+1) - - - Paketti - ∿ Nudge Slice 20 by (+16) - - - Paketti - ∿ Nudge Slice 20 by (-16) - - - Paketti - ∿ Nudge Slice 20 by (+10) - - - Paketti - ∿ Nudge Slice 21 by (-10) - - - Paketti - ∿ Nudge Slice 21 by (-32) - - - Paketti - ∿ Nudge Slice 21 by (-1) - - - Paketti - ∿ Nudge Slice 21 by (+32) - - - Paketti - ∿ Nudge Slice 21 by (+1) - - - Paketti - ∿ Nudge Slice 21 by (+16) - - - Paketti - ∿ Nudge Slice 21 by (-16) - - - Paketti - ∿ Nudge Slice 21 by (+10) - - - Paketti - ∿ Nudge Slice 22 by (-10) - - - Paketti - ∿ Nudge Slice 22 by (-32) - - - Paketti - ∿ Nudge Slice 22 by (-1) - - - Paketti - ∿ Nudge Slice 22 by (+32) - - - Paketti - ∿ Nudge Slice 22 by (+1) - - - Paketti - ∿ Nudge Slice 22 by (+16) - - - Paketti - ∿ Nudge Slice 22 by (-16) - - - Paketti - ∿ Nudge Slice 22 by (+10) - - - Paketti - ∿ Nudge Slice 23 by (-10) - - - Paketti - ∿ Nudge Slice 23 by (-32) - - - Paketti - ∿ Nudge Slice 23 by (-1) - - - Paketti - ∿ Nudge Slice 23 by (+32) - - - Paketti - ∿ Nudge Slice 23 by (+1) - - - Paketti - ∿ Nudge Slice 23 by (+16) - - - Paketti - ∿ Nudge Slice 23 by (-16) - - - Paketti - ∿ Nudge Slice 23 by (+10) - - - Paketti - ∿ Nudge Slice 24 by (-10) - - - Paketti - ∿ Nudge Slice 24 by (-32) - - - Paketti - ∿ Nudge Slice 24 by (-1) - - - Paketti - ∿ Nudge Slice 24 by (+32) - - - Paketti - ∿ Nudge Slice 24 by (+1) - - - Paketti - ∿ Nudge Slice 24 by (+16) - - - Paketti - ∿ Nudge Slice 24 by (-16) - - - Paketti - ∿ Nudge Slice 24 by (+10) - - - Paketti - ∿ Nudge Slice 25 by (-10) - - - Paketti - ∿ Nudge Slice 25 by (-32) - - - Paketti - ∿ Nudge Slice 25 by (-1) - - - Paketti - ∿ Nudge Slice 25 by (+32) - - - Paketti - ∿ Nudge Slice 25 by (+1) - - - Paketti - ∿ Nudge Slice 25 by (+16) - - - Paketti - ∿ Nudge Slice 25 by (-16) - - - Paketti - ∿ Nudge Slice 25 by (+10) - - - Paketti - ∿ Nudge Slice 26 by (-10) - - - Paketti - ∿ Nudge Slice 26 by (-32) - - - Paketti - ∿ Nudge Slice 26 by (-1) - - - Paketti - ∿ Nudge Slice 26 by (+32) - - - Paketti - ∿ Nudge Slice 26 by (+1) - - - Paketti - ∿ Nudge Slice 26 by (+16) - - - Paketti - ∿ Nudge Slice 26 by (-16) - - - Paketti - ∿ Nudge Slice 26 by (+10) - - - Paketti - ∿ Nudge Slice 27 by (-10) - - - Paketti - ∿ Nudge Slice 27 by (-32) - - - Paketti - ∿ Nudge Slice 27 by (-1) - - - Paketti - ∿ Nudge Slice 27 by (+32) - - - Paketti - ∿ Nudge Slice 27 by (+1) - - - Paketti - ∿ Nudge Slice 27 by (+16) - - - Paketti - ∿ Nudge Slice 27 by (-16) - - - Paketti - ∿ Nudge Slice 27 by (+10) - - - Paketti - ∿ Nudge Slice 28 by (-10) - - - Paketti - ∿ Nudge Slice 28 by (-32) - - - Paketti - ∿ Nudge Slice 28 by (-1) - - - Paketti - ∿ Nudge Slice 28 by (+32) - - - Paketti - ∿ Nudge Slice 28 by (+1) - - - Paketti - ∿ Nudge Slice 28 by (+16) - - - Paketti - ∿ Nudge Slice 28 by (-16) - - - Paketti - ∿ Nudge Slice 28 by (+10) - - - Paketti - ∿ Nudge Slice 29 by (-10) - - - Paketti - ∿ Nudge Slice 29 by (-32) - - - Paketti - ∿ Nudge Slice 29 by (-1) - - - Paketti - ∿ Nudge Slice 29 by (+32) - - - Paketti - ∿ Nudge Slice 29 by (+1) - - - Paketti - ∿ Nudge Slice 29 by (+16) - - - Paketti - ∿ Nudge Slice 29 by (-16) - - - Paketti - ∿ Nudge Slice 29 by (+10) - - - Paketti - ∿ Nudge Slice 30 by (-10) - - - Paketti - ∿ Nudge Slice 30 by (-32) - - - Paketti - ∿ Nudge Slice 30 by (-1) - - - Paketti - ∿ Nudge Slice 30 by (+32) - - - Paketti - ∿ Nudge Slice 30 by (+1) - - - Paketti - ∿ Nudge Slice 30 by (+16) - - - Paketti - ∿ Nudge Slice 30 by (-16) - - - Paketti - ∿ Nudge Slice 30 by (+10) - - - Paketti - ∿ Nudge Slice 31 by (-10) - - - Paketti - ∿ Nudge Slice 31 by (-32) - - - Paketti - ∿ Nudge Slice 31 by (-1) - - - Paketti - ∿ Nudge Slice 31 by (+32) - - - Paketti - ∿ Nudge Slice 31 by (+1) - - - Paketti - ∿ Nudge Slice 31 by (+16) - - - Paketti - ∿ Nudge Slice 31 by (-16) - - - Paketti - ∿ Nudge Slice 31 by (+10) - - - Paketti - ∿ Nudge Slice 32 by (-10) - - - Paketti - ∿ Nudge Slice 32 by (-32) - - - Paketti - ∿ Nudge Slice 32 by (-1) - - - Paketti - ∿ Nudge Slice 32 by (+32) - - - Paketti - ∿ Nudge Slice 32 by (+1) - - - Paketti - ∿ Nudge Slice 32 by (+16) - - - Paketti - ∿ Nudge Slice 32 by (-16) - - - Paketti - ∿ Nudge Slice 32 by (+10) - - - Paketti - ∿ Sample Buffer Selection Halve - - - Paketti - ∿ Sample Buffer Selection Double - - - Paketti - ∿ Convert Mono to Stereo - - - Paketti - ∿ Mono to Left with Blank Right - - - Paketti - ∿ Mono to Right with Blank Left - - - Paketti - ∿ Move Slice Start Left by 10 - Control + Left - - - Paketti - ∿ Move Slice Start Right by 10 - Control + Right - - - Paketti - ∿ Move Slice End Left by 10 - Command + Left - - - Paketti - ∿ Move Slice End Right by 10 - Command + Right - - - Paketti - ∿ Move Slice Start Left by 100 - Shift + Control + Left - - - Paketti - ∿ Move Slice Start Right by 100 - Shift + Control + Right - - - Paketti - ∿ Move Slice End Left by 100 - - - Paketti - ∿ Move Slice End Right by 100 - - - Paketti - ∿ Move Slice Start Left by 300 - - - Paketti - ∿ Move Slice Start Right by 300 - - - Paketti - ∿ Move Slice End Left by 300 - - - Paketti - ∿ Move Slice End Right by 300 - - - Paketti - ∿ Move Slice Start Left by 500 - - - Paketti - ∿ Move Slice Start Right by 500 - - - Paketti - ∿ Move Slice End Left by 500 - - - Paketti - ∿ Move Slice End Right by 500 - - - Paketti - ∿ Duplicate Sample Range, Mute Original - - - Paketti - ∿ Duplicate, Maximize, 16bit, and Save as WAV - - - Paketti - ∿ Duplicate, Maximize, 16bit, and Save as FLAC - - - Paketti - ∿ Rotate Sample Buffer Upwards - - - Paketti - ∿ Rotate Sample Buffer Downwards - - - - - Mixer - - - Navigation - Move Left - Left - - - Navigation - Move Right - Right - - - Navigation - Move Up - Up - - - Navigation - Move Down - Down - - - Navigation - Move One Page Up - Prior - - - Navigation - Move One Page Down - Next - - - Navigation - Jump to First Device - Home - - - Navigation - Jump to Last Device - End - - - Navigation - Jump to First Track - Shift + Command + Home - - - Navigation - Jump to Master Track - Shift + Command + End - - - Navigation - Jump to Sends - - - Navigation - Select Next Track - Tab - - - Navigation - Select Previous Track - Shift + Tab - - - Edit - Delete Device - Back - - - Edit - Delete Device (2nd) - Delete - - - Edit - Cut Device - Command + X - - - Edit - Copy Device - Command + C - - - Edit - Insert Device - Command + V - - - Edit - Rename Device - - - Edit - Move Device Up - - - Edit - Move Device Down - Option + Command + Down - - - Edit - Copy Device Settings - - - Edit - Paste Device Settings - - - Edit - Init Device Settings - Shift + Command + Delete - - - Edit - Init Device Settings (2nd) - - - Edit - Delete All Devices - - - Edit - Cut All Devices - - - Edit - Copy All Devices - - - Edit - Paste All Devices - - - Edit - Load DSP Chain... - - - Edit - Save DSP Chain As... - - - Edit - Bypass/Activate Device - - - Edit - Open Editor - - - Edit - Show Track Colors - - - Track Control - Insert Track - Command + T - - - Track Control - Insert Group - Command + G - - - Track Control - Extend Group to Here - - - Track Control - Delete Track - Shift + Command + T - - - Track Control - Delete Group - - - Track Control - Duplicate Track - Command + D - - - Track Control - Duplicate Track (incl. Patterns) - Option + Command + D - - - Track Control - Rename Track - - - Track Control - Move Track Left - Option + Command + Left - - - Track Control - Move Track Right - - - Track Control - Increase Volume - - - Track Control - Decrease Volume - - - Track Control - Increase Panning - - - Track Control - Decrease Panning - - - Track Control - Collapse/Expand Track - - - Track Control - Collapse/Expand Group - Shift + Command + J - - - Track Control - Collapse All Tracks - Control + 0 - - - Track Control - Expand All Tracks - - - Track Control - Collapse All Tracks in Group - - - Track Control - Expand All Tracks in Group - - - Pattern Sequence - Increase Pattern Number - - - Pattern Sequence - Decrease Pattern Number - - - Pattern Sequence - Go Up in Sequencer - - - Pattern Sequence - Go Down in Sequencer - - - Pattern Sequence - Go to Prev Section in Sequencer - - - Pattern Sequence - Go to Next Section in Sequencer - - - Pattern Sequence - Go to Sequence Start - Command + Home - - - Pattern Sequence - Go to Sequence End - Command + End - - - Pattern Sequence - Jump One Page Up - Command + Prior - - - Pattern Sequence - Jump One Page Down - Command + Next - - - Pattern Sequence - Insert Pattern - Command + HelpKey(Insert) - - - Pattern Sequence - Insert Pattern (2nd) - Shift + Command + Back - - - Pattern Sequence - Insert Repeated Pattern - Option + Command + HelpKey(Insert) - - - Pattern Sequence - Insert Repeated Pattern (2nd) - Shift + Option + Command + Back - - - Pattern Sequence - Delete Pattern - Command + Delete - - - Pattern Sequence - Delete Pattern (2nd) - Command + Back - - - Tools - ∿ Record GUI controls - - - Paketti - ∿ Switch to Automation - - - Paketti - ∿ Show Automation - - - Paketti - ∿ To Pattern Editor - - - Paketti - ∿ Impulse Tracker Home *2 behaviour - Option + Up - - - Paketti - ∿ Impulse Tracker End *2 behaviour - Option + Down - - - Paketti - ∿ Impulse Tracker Alt-Right Move Forwards One Channel (Wrap) - Option + Right - - - Paketti - ∿ Impulse Tracker Alt-Left Move Backwards One Channel (Wrap) - Option + Left - - - Paketti - ∿ Impulse Tracker Alt-Right Move Forwards One Channel - - - Paketti - ∿ Impulse Tracker Alt-Left Move Backwards One Channel - - - Paketti - ∿ Capture Nearest Instrument and Octave - - - Paketti - ∿ Paketti Pattern Doubler - Command + Grave - - - Paketti - ∿ Paketti Pattern Halver - Shift + Option + Grave - - - Paketti - ∿ Paketti Track Renamer Dialog... - - - Paketti - ∿ Clean Render Selected Track/Group - Command + R - - - Paketti - ∿ Clean Render Selected Track/Group LPB*2 - - - Paketti - ∿ Clean Render Seamless Selected Track/Group - - - Paketti - ∿ Jump to First Track In Next Group - - - Paketti - ∿ Jump to First Track In Previous Group - - - - - Pattern Sequencer - - - Transport - Schedule Edited Sequence for Playback - - - Transport - Play from Edited Sequence - Shift + Return - - - Navigation - Increase Pattern Number - Right - - - Navigation - Decrease Pattern Number - Left - - - Navigation - Jump to Previous Pos - Up - - - Navigation - Jump to Next Pos - Down - - - Navigation - Jump to Previous Section - - - Navigation - Jump to Next Section - Option + Command + Down - - - Navigation - Jump to Start - Home - - - Navigation - Jump to End - End - - - Navigation - Jump One Page Up - Prior - - - Navigation - Jump One Page Down - Next - - - Selection - Begin Selection - Command + B - - - Selection - End Selection - Command + E - - - Selection - Unset Selection - - - Selection - Select All - - - Sections - Create Section From Selection - - - Sections - Remove Sections in Selection - - - Sections - Remove All Selections - - - Sections - Create/Remove Section at Current Pos - - - Sections - Remove Section at Current Pos - - - Sections - Rename Section at Current Pos - - - Edit - Insert Pattern - HelpKey(Insert) - - - Edit - Insert Pattern (2nd) - Command + Back - - - Edit - Insert Pattern at Selection - - - Edit - Insert Repeated Pattern - Option + HelpKey(Insert) - - - Edit - Insert Repeated Pattern (2nd) - Option + Command + Back - - - Edit - Insert Repeated Selection - - - Edit - Delete Pattern - - - Edit - Delete Pattern (2nd) - Delete - - - Edit - Delete Selection - - - Edit - Duplicate Current Pattern - - - Edit - Set Pattern - - - Edit - Rename Pattern - - - Edit - Clear Muted Tracks in Selection - - - Edit - Cut Selection - Command + X - - - Edit - Copy Selection - Command + C - - - Edit - Paste Selection - Command + V - - - Edit - Insert Selection - - - Edit - Join Selection - - - Edit - Duplicate Selection - Command + D - - - Edit - Make Selection Unique - - - Edit - Loop Selection - Command + L - - - Edit - Sort Sequence - - - Edit - Flatten & Sort Sequence - - - Cloning - Duplicate 1 Pattern Block - - - Cloning - Duplicate 2 Pattern Block - - - Cloning - Duplicate 3 Pattern Block - - - Cloning - Duplicate 4 Pattern Block - - - Cloning - Duplicate 5 Pattern Block - - - Cloning - Duplicate 6 Pattern Block - - - Cloning - Duplicate 7 Pattern Block - - - Cloning - Duplicate 8 Pattern Block - - - Cloning - Duplicate 9 Pattern Block - Command + 9 - - - Cloning - Duplicate Whole Song - Command + 0 - - - Paketti - ∿ Keep Sequence Sorted False - Shift + Command + Q - - - Paketti - ∿ Keep Sequence Sorted True - Shift + Command + E - - - Paketti - ∿ Keep Sequence Sorted Toggle - - - - - Pattern Matrix - - - Navigation - Focus Pattern Editor - - - Navigation - Select Previous Track - Left - - - Navigation - Select Previous Track (2nd) - Shift + Tab - - - Navigation - Select Next Track - Right - - - Navigation - Select Next Track (2nd) - Tab - - - Navigation - Select First Track - Home - - - Navigation - Select Last Track - End - - - Navigation - Select Previous Sequence - Up - - - Navigation - Select Next Sequence - Down - - - Navigation - Select Previous Sequence Page - Prior - - - Navigation - Select Next Sequence Page - Next - - - Navigation - Select First Sequence - Command + Home - - - Navigation - Select Last Sequence - Command + End - - - Navigation - Toggle Mute Selection - - - Navigation - Mute Selection - - - Navigation - Unmute Selection - - - Selection - Deselect - - - Selection - Select All - - - Selection - Select Whole Pattern - - - Selection - Select Whole Track - - - Selection - Select Whole Previous Pattern - - - Selection - Select Whole Next Pattern - - - Edit - Clear - - - Edit - Clear (2nd) - Delete - - - Edit - Cut - Command + X - - - Edit - Copy - Command + C - - - Edit - Paste - Command + V - - - Edit - Insert - - - Edit - Duplicate Selection - - - Edit - Create Alias - Command + P - - - Edit - Un-alias - - - Edit - Set Slot Color - - - Edit - Remove Slot Color - - - Tracks - Cut Track - - - Tracks - Copy Track - - - Tracks - Paste Track - - - Tracks - Insert Track - Command + T - - - Tracks - Delete Track - Shift + Command + T - - - Tracks - Duplicate Track - Command + D - - - Tracks - Duplicate Track (incl. Patterns) - Option + Command + D - - - Tracks - Rename Track - - - Tracks - Move Track Left - Option + Command + Left - - - Tracks - Move Track Right - - - Tracks - Clear Muted Slots in Selected Track - - - Tracks - Mute All Slots in Selected Track - - - Tracks - Unmute All Slots in Selected Track - - - Tracks - Collapse/Expand Track - - - Tracks - Collapse/Expand Group - Shift + Command + J - - - Tracks - Collapse All Tracks - - - Tracks - Expand All Tracks - - - Tracks - Collapse All Tracks in Group - - - Tracks - Expand All Tracks in Group - - - Pattern Sequence - Cut Pattern - - - Pattern Sequence - Copy Pattern - - - Pattern Sequence - Paste Pattern - - - Pattern Sequence - Increase Pattern Number - - - Pattern Sequence - Decrease Pattern Number - - - Pattern Sequence - Insert Pattern - Command + HelpKey(Insert) - - - Pattern Sequence - Insert Pattern (2nd) - Shift + Command + Back - - - Pattern Sequence - Insert Repeated Pattern - Option + Command + HelpKey(Insert) - - - Pattern Sequence - Insert Repeated Pattern (2nd) - Option + Command + Back - - - Pattern Sequence - Delete Pattern - Command + Back - - - Pattern Sequence - Delete Pattern (2nd) - Command + Delete - - - Pattern Sequence - Duplicate Pattern - - - Pattern Sequence - Sort Pattern Sequence - - - Pattern Sequence - Flatten & Sort Pattern Sequence - - - Pattern Sequence - Make Sequence Unique - - - Pattern Sequence - Clear Muted Slots in Sequence Selection - - - Pattern Sequence - Clear Muted Slots in Song - - - Pattern Sequence - Clear Muted Slots in Selected Pattern - - - Pattern Sequence - Loop Sequence - Command + L - - - Pattern Sequence - Mute All Slots in Selected Pattern - - - Pattern Sequence - Unmute All Slots in Selected Pattern - - - Pattern Sequence - Rename Pattern - - - Pattern Sequence - Rename Section - - - Options - Decrease Slot Height - - - Options - Increase Slot Height - - - Options - Decrease Slot Width - - - Options - Increase Slot Width - - - Options - Toggle Track Names - - - Options - Toggle Track Meters - - - Options - Toggle Show Track Colors - - - Options - Toggle Show Content Repeats - - - Paketti - ∿ Switch to Automation - - - Paketti - ∿ Paketti Track Renamer Dialog... - - - Paketti - ∿ Selection in Pattern Matrix to Group - - - Paketti - ∿ Jump to First Track In Next Group - - - Paketti - ∿ Jump to First Track In Previous Group - - - - - Phrase Editor - - - Navigation - Move to Previous Column - Left - - - Navigation - Move to Next Column - Right - - - Navigation - Move to Previous Row - Up - - - Navigation - Move to Next Row - Down - - - Navigation - Move to Previous Row with EditStep - - - Navigation - Move to Next Row with EditStep - - - Navigation - Move to Previous Row with Note - Shift + Command + Prior - - - Navigation - Move to Next Row with Note - Shift + Command + Next - - - Navigation - Jump 16 Rows Up - Prior - - - Navigation - Jump 16 Rows Down - Next - - - Navigation - Jump to First Row - Home - - - Navigation - Jump to Last Row - End - - - Navigation - Jump to Row 0 - F9 - - - Navigation - Jump to Row 16 - F10 - - - Navigation - Jump to Row 32 - - - Navigation - Jump to Row 48 - - - Navigation - Jump to Previous Column - Shift + Tab - - - Navigation - Jump to Next Column - Tab - - - Insert/Delete - Clear Current Note or Effect - - - Insert/Delete - Clear Current Note or Effect (2nd) - - - Insert/Delete - Clear Whole Note or Effect - - - Insert/Delete - Clear Whole Row - - - Insert/Delete - Insert New Row - - - Insert/Delete - Insert New Row (2nd) - - - Insert/Delete - Delete Current Row - Shift + Back - - - Insert/Delete - Delete Previous Row - - - Insert/Delete - Insert New Row in Column - Grave - - - Insert/Delete - Delete Current Row in Column - Back - - - Insert/Delete - Delete Previous Row in Column - - - Insert/Delete - Increase Phrase Length - - - Insert/Delete - Decrease Phrase Length - - - Playback - Play/Stop Phrase - - - Playback - Play/Stop Phrase from Cursor - Shift + Return - - - Playback - Stop Phrase - - - Edit Step - Increase EditStep - Command + Equals - - - Edit Step - Decrease EditStep - - - Edit Step - Double EditStep - Option + Equals - - - Edit Step - Halve EditStep - Option + Minus - - - Edit Step - Set EditStep To 0 - Command + 0 - - - Edit Step - Set EditStep To 1 - Command + 1 - - - Edit Step - Set EditStep To 2 - Command + 2 - - - Edit Step - Set EditStep To 3 - Command + 3 - - - Edit Step - Set EditStep To 4 - Command + 4 - - - Edit Step - Set EditStep To 5 - Command + 5 - - - Edit Step - Set EditStep To 6 - Command + 6 - - - Edit Step - Set EditStep To 7 - Command + 7 - - - Edit Step - Set EditStep To 8 - Command + 8 - - - Edit Step - Set EditStep To 9 - Command + 9 - - - Edit Step - Set EditStep To 12 - - - Edit Step - Set EditStep To 16 - - - Edit Step - Set EditStep To 18 - - - Edit Step - Set EditStep To 24 - - - Edit Step - Set EditStep To 32 - - - Record - Toggle Edit Mode - - - Record - Increase Quantization - Shift + Command + Equals - - - Record - Decrease Quantization - - - Record - Set Quantization To 1 - - - Record - Set Quantization To 2 - - - Record - Set Quantization To 3 - Shift + Command + 3 - - - Record - Set Quantization To 4 - Shift + Command + 4 - - - Record - Set Quantization To 5 - Shift + Command + 5 - - - Record - Set Quantization To 6 - - - Record - Set Quantization To 7 - - - Record - Set Quantization To 8 - Shift + Command + 8 - - - Record - Set Quantization To 9 - Shift + Command + 9 - - - Record - Set Quantization To 12 - - - Record - Set Quantization To 16 - - - Record - Set Quantization To 18 - - - Record - Set Quantization To 24 - - - Record - Set Quantization To 32 - - - Columns - Decrease Number of Columns - - - Columns - Increase Number of Columns - - - Columns - View/Hide Volume Column - - - Columns - View/Hide Panning Column - - - Columns - View/Hide Delay Column - - - Selection - Begin Selection - Command + B - - - Selection - End Selection - Command + E - - - Selection - Mark Whole Column - - - Selection - Mark Column in Block Loop Range - - - Selection - Mark Column Above Current Line - - - Selection - Mark Column Below Current Line - - - Selection - Mark Whole Phrase - Command + L - - - Selection - Mark Phrase in Block Loop Range - - - Selection - Mark Phrase Above Current Line - - - Selection - Mark Phrase Below Current Line - - - Block Operations - Transpose One Note Up - - - Block Operations - Transpose One Note Down - - - Block Operations - Transpose One Octave Up - Option + F12 - - - Block Operations - Transpose One Octave Down - Option + F11 - - - Block Operations - Clear - Shift + Delete - - - Block Operations - Copy and Clear - - - Block Operations - Copy and Clear (2nd) - Command + X - - - Block Operations - Copy - Option + F4 - - - Block Operations - Copy (2nd) - Command + C - - - Block Operations - Paste - Option + F5 - - - Block Operations - Paste (2nd) - Command + V - - - Block Operations - Paste Continuously - Command + P - - - Block Operations - Flip - Option + F6 - - - Block Operations - Flip (2nd) - - - Block Operations - Shrink - Option + F8 - - - Block Operations - Shrink (2nd) - - - Block Operations - Expand - Option + F9 - - - Block Operations - Expand (2nd) - - - Block Operations - Randomize - Option + F7 - - - Block Operations - Randomize (2nd) - - - Block Operations - Interpolate Linear - - - Block Operations - Interpolate Logarithmic - - - Block Operations - Interpolate Exponential - - - Block Operations - Humanize - - - Block Operations - Quantize Notes - - - Block Operations - Quantize Notes (Preserve Lengths) - - - Column Operations - Transpose One Note Up - Shift + Command + F2 - - - Column Operations - Transpose One Note Down - Shift + Command + F1 - - - Column Operations - Transpose One Octave Up - Shift + Command + F12 - - - Column Operations - Transpose One Octave Down - Shift + Command + F11 - - - Column Operations - Clear and Copy - Shift + Command + F3 - - - Column Operations - Copy - Shift + Command + F4 - - - Column Operations - Paste - Shift + Command + F5 - - - Column Operations - Flip - Shift + Command + F6 - - - Column Operations - Shrink - Shift + Command + F8 - - - Column Operations - Expand - Shift + Command + F9 - - - Column Operations - Randomize - Shift + Command + F7 - - - Column Operations - Interpolate Linear - - - Column Operations - Interpolate Logarithmic - Shift + Command + L - - - Column Operations - Interpolate Exponential - - - Column Operations - Humanize - - - Column Operations - Quantize Notes - - - Column Operations - Quantize Notes (Preserve Lengths) - - - Phrase Operations - Transpose One Note Up - Command + Q - - - Phrase Operations - Transpose One Note Up (2nd) - - - Phrase Operations - Transpose One Note Down - - - Phrase Operations - Transpose One Note Down (2nd) - - - Phrase Operations - Transpose One Octave Up - Command + F12 - - - Phrase Operations - Transpose One Octave Up (2nd) - Shift + F12 - - - Phrase Operations - Transpose One Octave Down - Shift + Command + A - - - Phrase Operations - Transpose One Octave Down (2nd) - Shift + F11 - - - Phrase Operations - Clear and Copy - - - Phrase Operations - Clear and Copy (2nd) - - - Phrase Operations - Copy - - - Phrase Operations - Copy (2nd) - - - Phrase Operations - Paste - - - Phrase Operations - Paste (2nd) - Shift + F5 - - - Phrase Operations - Flip - - - Phrase Operations - Flip (2nd) - Shift + F6 - - - Phrase Operations - Shrink - - - Phrase Operations - Shrink (2nd) - Shift + F8 - - - Phrase Operations - Expand - - - Phrase Operations - Expand (2nd) - Shift + F9 - - - Phrase Operations - Randomize - - - Phrase Operations - Randomize (2nd) - Shift + F7 - - - Phrase Operations - Interpolate Linear - - - Phrase Operations - Interpolate Logarithmic - - - Phrase Operations - Interpolate Exponential - - - Phrase Operations - Humanize - - - Phrase Operations - Quantize Notes - Option + Q - - - Phrase Operations - Quantize Notes (Preserve Lengths) - - - Navigation - Select Previous Phrase - - - Navigation - Select Next Phrase - - - Navigation - Select First Phrase - - - Navigation - Select Last Phrase - - - Playback - Play Phrase - - - Columns - View/Hide Instrument Column - - - Columns - View/Hide Sample FX Column - - - Columns - Mute/Unmute Selected Column - Shift + Command + Backslash - - - Columns - Solo/Unsolo Selected Column - - - Selection - Flexible Mark Whole Phrase - - - Selection - Flexible Mark in Block Loop Range - - - Selection - Flexible Mark Above Current Line - - - Selection - Flexible Mark Below Current Line - - - Phrase Operations - Rename Phrase - - - Paketti - ∿ Impulse Tracker ALT-U Unmark Selection - - - Paketti - ∿ Impulse Tracker ALT-U Unmark Selection (2nd) - - - Paketti - ∿ Set Phrase Length to 001 (001) - - - Paketti - ∿ Set Phrase Length to 004 (004) - Control + 1 - - - Paketti - ∿ Set Phrase Length to 006 (006) - - - Paketti - ∿ Set Phrase Length to 008 (008) - Control + 2 - - - Paketti - ∿ Set Phrase Length to 012 (00C) - - - Paketti - ∿ Set Phrase Length to 016 (010) - Control + 3 - - - Paketti - ∿ Set Phrase Length to 024 (018) - - - Paketti - ∿ Set Phrase Length to 032 (020) - Control + 4 - - - Paketti - ∿ Set Phrase Length to 048 (030) - - - Paketti - ∿ Set Phrase Length to 064 (040) - Control + 5 - - - Paketti - ∿ Set Phrase Length to 096 (060) - - - Paketti - ∿ Set Phrase Length to 128 (080) - Control + 6 - - - Paketti - ∿ Set Phrase Length to 192 (0C0) - - - Paketti - ∿ Set Phrase Length to 256 (100) - Control + 7 - - - Paketti - ∿ Set Phrase Length to 384 (180) - - - Paketti - ∿ Set Phrase Length to 512 (200) - Control + 8 - - - Paketti - ∿ Set Phrase LPB to 001 - - - Paketti - ∿ Set Phrase LPB to 002 - - - Paketti - ∿ Set Phrase LPB to 003 - - - Paketti - ∿ Set Phrase LPB to 004 - - - Paketti - ∿ Set Phrase LPB to 005 - - - Paketti - ∿ Set Phrase LPB to 006 - - - Paketti - ∿ Set Phrase LPB to 007 - - - Paketti - ∿ Set Phrase LPB to 008 - - - Paketti - ∿ Set Phrase LPB to 009 - - - Paketti - ∿ Set Phrase LPB to 010 - - - Paketti - ∿ Set Phrase LPB to 011 - - - Paketti - ∿ Set Phrase LPB to 012 - - - Paketti - ∿ Set Phrase LPB to 013 - - - Paketti - ∿ Set Phrase LPB to 014 - - - Paketti - ∿ Set Phrase LPB to 015 - - - Paketti - ∿ Set Phrase LPB to 016 - - - Paketti - ∿ Set Phrase LPB to 024 - - - Paketti - ∿ Set Phrase LPB to 032 - - - Paketti - ∿ Set Phrase LPB to 048 - - - Paketti - ∿ Set Phrase LPB to 064 - - - Paketti - ∿ Set Phrase LPB to 128 - - - Paketti - ∿ Set Phrase LPB to 256 - - - Paketti - ∿ Open Paketti Init Phrase Dialog... - - - Paketti - ∿ Record+Follow Off - - - Paketti - ∿ Phrase Editor Visible - - - Paketti - ∿ Init Phrase Settings - - - Paketti - ∿ Paketti Phrase Doubler - - - Paketti - ∿ Paketti Phrase Doubler (2nd) - - - Paketti - ∿ Phrase Halver (Joule) - - - Paketti - ∿ Phrase Halver (Joule) (2nd) - - - - - Phrase Map - - - Navigation - Move to Previous - - - Navigation - Move to Next - - - Navigation - Move to First - Command + Home - - - Navigation - Move to Last - Command + End - - - Selection - Move Selection to Previous - Left - - - Selection - Move Selection to Next - Right - - - Selection - Move Selection to First - Home - - - Selection - Move Selection to Last - End - - - Selection - Select All - - - Edit - Insert - HelpKey(Insert) - - - Edit - Duplicate - Command + D - - - Edit - Delete - Delete - - - Playback - Play/Stop Phrase - - - Playback - Stop Phrase - - - - - Instrument Box - - - Navigation - Select Previous Instrument - Up - - - Navigation - Select Next Instrument - Down - - - Navigation - Select Previous Instrument Page - Prior - - - Navigation - Select Next Instrument Page - Next - - - Navigation - Select First Instrument - Home - - - Navigation - Select Last Instrument - End - - - Edit - Insert New Instrument - HelpKey(Insert) - - - Edit - Insert New Instrument (2nd) - Command + Back - - - Edit - Delete Instrument - Back - - - Edit - Delete Instrument (2nd) - Delete - - - Edit - Move Instrument Up - - - Edit - Move Instrument Down - Option + Command + Down - - - Edit - Duplicate Instrument - Command + D - - - Edit - Copy Instrument - Command + C - - - Edit - Paste Instrument - Command + V - - - Edit - Copy and Clear Instrument - Command + X - - - Edit - Clear Instrument - Shift + Delete - - - Edit - Clear Instrument (2nd) - Shift + Back - - - Edit - Rename Instrument - - - Edit - Render Plugin To Instrument - - - Edit - Render Plugin To New Instrument - - - Edit - Open Editor - - - Tools - ∿ Setup automation device - - - Tools - ∿ Record GUI controls - - - Paketti - ∿ Show Automation - - - - - Sample Keyzones - - - Navigation - Select Previous by Note - Left - - - Navigation - Select Next by Note - Right - - - Navigation - Select Previous by Velocity - Up - - - Navigation - Select Next by Velocity - Down - - - Edit - Select All - - - Edit - Delete Selected - - - Edit - Delete Selected (2nd) - Delete - - - Generate - Drum Kit Map - Command + D - - - Generate - Distributed Range Map - Command + E - - - Generate - Layered Map - Command + L - - - Paketti - ∿ Convert Mono to Stereo - - - Paketti - ∿ Mono to Left with Blank Right - - - Paketti - ∿ Mono to Right with Blank Left - - - - - Sample FX Mixer - - - Navigation - Move Left - Left - - - Navigation - Move Right - Right - - - Navigation - Move Up - Up - - - Navigation - Move Down - Down - - - Navigation - Select First Device - Home - - - Navigation - Select Last Device - End - - - Navigation - Select Next Chain - Tab - - - Navigation - Select Previous Chain - Shift + Tab - - - Device - Delete Device - Back - - - Device - Delete Device (2nd) - Delete - - - Device - Cut Device - Command + X - - - Device - Copy Device - Command + C - - - Device - Insert Device - Command + V - - - Device - Rename Device - - - Device - Move Device Left - Option + Command + Left - - - Device - Move Device Right - - - Device - Copy Device Settings - - - Device - Paste Device Settings - - - Device - Init Device Settings - Shift + Command + Delete - - - Device - Init Device Settings (2nd) - - - Device - Bypass/Activate Device - - - Device - Open Editor - - - Device Chain - Insert New Chain - Command + T - - - Device Chain - Delete Chain - Shift + Command + T - - - Device Chain - Rename Chain - - - Device Chain - Cut All Devices - - - Device Chain - Copy All Devices - - - Device Chain - Paste All Devices - - - Device Chain - Delete All Devices - - - Device Chain - Load DSP Chain... - - - Device Chain - Save DSP Chain As... - - - Device Chain - Duplicate Chain - Command + D - - - - - Sample Modulation Matrix - - - Navigation - Move Left - Left - - - Navigation - Move Right - Right - - - Navigation - Move Up - Up - - - Navigation - Move Down - Down - - - Navigation - Select First Set - Home - - - Navigation - Select Last Set - End - - - Navigation - Select Next Set - Tab - - - Navigation - Select Previous Set - Shift + Tab - - - Sets - Insert New Set - Command + T - - - Device Chain - Delete Set - Shift + Command + T - - - Device Chain - Rename Set - - - Device Chain - Cut All Devices - Command + X - - - Device Chain - Copy All Devices - Command + C - - - Device Chain - Paste All Devices - Command + V - - - Device Chain - Delete All Devices - - - Device Chain - Load Set... - - - Device Chain - Save Set As... - - - Device Chain - Duplicate Chain - Command + D - - - - - Automation - - - Navigation - Move to Previous Line - Left - - - Navigation - Move to Next Line - Right - - - Navigation - Move to Start - - - Navigation - Move to End - - - Navigation - Move to Start and Select - - - Navigation - Move to End and Select - - - Modify Points - Create/Delete Point - - - Modify Points - Edit Point Time - Command + T - - - Modify Points - Edit Point Value - Shift + Return - - - Selection - Begin Selection - - - Selection - End Selection - Command + E - - - Selection - Select Whole Envelope - - - Selection - Unselect Envelope - - - Tools - Draw Tool - Command + B - - - Tools - Line Tool - - - Zoom - Lock Zoom - - - Zoom - Zoom Out Fully - - - Zoom - Zoom to Current - Shift + Option + Z - - - Shift / Amplify - Shift Values Up - Up - - - Shift / Amplify - Shift Values Down - Down - - - Shift / Amplify - Shift Values Left - Shift + Tab - - - Shift / Amplify - Shift Values Right - Tab - - - Shift / Amplify - Amplify Values Up - - - Shift / Amplify - Amplify Values Down - - - Process - Delete - Delete - - - Process - Cut - Command + X - - - Process - Cut Time - - - Process - Copy - Command + C - - - Process - Paste - Command + P - - - Process - Paste Continuously - Command + V - - - Process - Insert - - - Process - Delete Envelope - - - Process - Flip - - - Process - Mirror - - - Process - Humanize - - - Generate - Create Linear Ramp - - - Generate - Create Exponential Ramp - - - Generate - Create Random Points - - - Generate - Create Sine Curve - - - Paketti - ∿ Impulse Tracker ALT-D Double Select W/ Automation - - - - - DSP Chain - - - Navigation - Set Focus to List - Tab - - - Navigation - Select Previous Device - Left - - - Navigation - Select Next Device - Right - - - Navigation - Select First Device - Home - - - Navigation - Select Last Device - End - - - Navigation - Maximize Device - Up - - - Navigation - Minimize Device - Down - - - Navigation - Maximize All - - - Navigation - Minimize All - - - Edit - Delete Device Chain - - - Edit - Cut Device Chain - - - Edit - Copy Device Chain - - - Edit - Paste Device Chain - - - Edit - Append Device Chain - - - Edit - Combine Devices into Doofer - - - Edit - Load DSP Chain - - - Edit - Save DSP Chain - - - Edit - Delete Device - - - Edit - Delete Device (2nd) - Delete - - - Edit - Cut Device - Command + X - - - Edit - Copy Device - Command + C - - - Edit - Paste Device - Command + V - - - Edit - Rename Device - - - Edit - Move Device Left - Option + Command + Left - - - Edit - Move Device Right - - - Edit - Init Device Settings - Shift + Command + Back - - - Edit - Init Device Settings (2nd) - Shift + Command + Delete - - - Edit - Paste Device Settings - - - Edit - Bypass/Activate Device - - - Edit - Open Editor - - - Tools - ∿ Record GUI controls - - - - - diff --git a/KeyBindings/2024_11_12_PakettiKeyBindings.xml b/KeyBindings/2024_11_12_PakettiKeyBindings.xml deleted file mode 100644 index 44fde61..0000000 --- a/KeyBindings/2024_11_12_PakettiKeyBindings.xml +++ /dev/null @@ -1,20866 +0,0 @@ - - - - - - Global - - - View - Attach/Detach Instrument Editor - - - View - Toggle Track- and Instrument Editors - - - View - Show/Focus Instrument Editors - - - View - Show/Focus Track Editors - Option + K - - - View - Show/Hide Upper Frame - - - View - Show/Hide Lower Frame - Option + L - - - View - Show/Hide Disk Browser - Option + B - - - View - Show/Hide Instrument Box - - - View - Show/Hide Instrument Properties - Shift + Option + N - - - View - Show/Hide Pattern Matrix - - - View - Show/Hide Phrase Editor - - - View - Recall View Preset 1 - - - View - Recall View Preset 2 - - - View - Recall View Preset 3 - - - View - Recall View Preset 4 - - - View - Recall View Preset 5 - - - View - Recall View Preset 6 - - - View - Recall View Preset 7 - - - View - Recall View Preset 8 - - - View - Focus/Show Disk Browser - - - View - Focus/Show Instrument Box - - - View - Focus/Show Pattern Sequencer - - - View - Focus/Show Pattern Matrix - - - View - Focus/Show Pattern Editor - - - View - Focus/Show Mixer - - - View - Focus/Show Sample Keyzones - - - View - Focus/Show Sample Modulation - - - View - Focus/Show Sample Effects - - - View - Focus/Show Phrase Editor - - - View - Focus/Show Sample Editor - - - View - Focus/Show Plugin Instrument - - - View - Focus/Show MIDI Instrument - - - View - Focus/Show Track DSPs - - - View - Focus/Show Automation - - - View - Show Scopes - - - View - Show Spectrum - - - View - Open MIDI Mapping Dialog... - Command + M - - - View - Show Used MIDI Mappings... - - - View - Open Render Plugin To Instrument Dialog... - - - Song Control - Toggle Automatic Plugin Delay Compensation - - - Song Control - Toggle Metronome Precount - - - Instruments - Open Instrument Editor - - - Song Control - Toggle Follow Pattern - - - Song Control - Toggle Metronome - - - View - Open Render Dialog... - Shift + Option + Command + R - - - View - Show Song Comments... - - - View - Focus Next View - - - View - Focus Previous View - Shift + Option + Tab - - - Transport - Toggle Loop Pattern - Command + F13 - - - Transport - Play/Stop/Edit - - - Transport - Toggle Block Playing - NumpadEnter - - - Transport - Panic - Control + Escape - - - Transport - Play Pattern - F6 - - - Transport - Play Pattern from Current Line - - - Transport - Play Song - - - Transport - Play Song from Current Line - Shift + RControl - - - Transport - Pause/Continue - RMeta - - - Transport - Pause/Continue (from cursor) - - - Transport - Schedule Edited Sequence for Playback - Command + Space - - - Transport - Play from Edited Sequence - Shift + Command + Space - - - Transport - Record Song - - - Transport - Record Pattern - Shift + RShift - - - Transport - Stop Song - RAlt - - - Transport - Play from Cursor - - - Transport - Select Previous LoopBlock - Command + NumpadMinus - - - Transport - Select Next LoopBlock - Command + NumpadPlus - - - Transport - Halve LoopBlock Size - Command + NumpadDivide - - - Transport - Double LoopBlock Size - Command + NumpadMultiply - - - Transport - Go to Previous Pattern in Sequence - - - Transport - Go to Next Pattern in Sequence - - - Transport - Note Off - - - Transport - Note Off (2nd) - - - Transport - Smart Note Off - - - Transport - Smart Note Off (2nd) - - - Transport - Note Off Row - Shift + Command + Capital - - - Transport - Note Off Row (2nd) - - - Transport - Smart Note Off Row - - - Transport - Smart Note Off Row (2nd) - - - Instruments - Select Previous Instrument - NumpadMinus - - - Instruments - Select Previous Instrument (2nd) - Command + Up - - - Instruments - Select Next Instrument - NumpadPlus - - - Instruments - Select Next Instrument (2nd) - Command + Down - - - Instruments - Select Previous Instrument Page - - - Instruments - Select Next Instrument Page - - - Instruments - Select First Instrument - Option + Home - - - Instruments - Select Last Instrument - Option + End - - - Instruments - Select 1st Instrument - - - Instruments - Select 2nd Instrument - - - Instruments - Select 3rd Instrument - - - Instruments - Select 4th Instrument - - - Instruments - Select 5th Instrument - - - Instruments - Select 6th Instrument - - - Instruments - Select 7th Instrument - - - Instruments - Select 8th Instrument - - - Instruments - Select 9th Instrument - - - Instruments - Select Previous Sample in Instrument - Shift + NumpadMinus - - - Instruments - Select Previous Sample in Instrument (2nd) - - - Instruments - Select Next Sample in Instrument - Shift + NumpadPlus - - - Instruments - Select Next Sample in Instrument (2nd) - - - Instruments - Load Instrument... - - - Instruments - Save Instrument As... - - - Instruments - Load Sample... - - - Instruments - Save Sample As... - - - Track Muting - Mute Track - - - Track Muting - Mute Track Secondary - - - Track Muting - Mute Group - - - Track Muting - Mute Group Secondary - - - Song Control - Toggle Auto Solo - - - Track Muting - Solo Track - - - Track Muting - Solo Group - - - Track Muting - Unmute All Tracks - - - Track Muting - Mute Track 1 - Command + F1 - - - Track Muting - Mute Track 2 - Command + F2 - - - Track Muting - Mute Track 3 - Command + F3 - - - Track Muting - Mute Track 4 - Command + F4 - - - Track Muting - Mute Track 5 - Command + F5 - - - Track Muting - Mute Track 6 - Command + F6 - - - Track Muting - Mute Track 7 - Command + F7 - - - Track Muting - Mute Track 8 - Command + F8 - - - Track Muting - Mute Track 9 - Command + Numpad9 - - - Track Muting - Mute Track 10 - - - Track Muting - Mute Track 11 - - - Track Muting - Mute Track 12 - - - Track Muting - Mute Track 13 - - - Track Muting - Mute Track 14 - - - Track Muting - Mute Track 15 - - - Track Muting - Mute Track 16 - - - Track Muting - Mute Track 17 - - - Track Muting - Mute Track 18 - - - Track Muting - Mute Track 19 - - - Track Muting - Mute Track 20 - - - Track Muting - Mute Track 21 - - - Track Muting - Mute Track 22 - - - Track Muting - Mute Track 23 - - - Track Muting - Mute Track 24 - - - Track Muting - Mute Track 25 - - - Track Muting - Mute Track 26 - - - Track Muting - Mute Track 27 - - - Track Muting - Mute Track 28 - - - Track Muting - Mute Track 29 - - - Track Muting - Mute Track 30 - - - Track Muting - Mute Track 31 - - - Track Muting - Mute Track 32 - - - Octave - Increase Octave - NumpadMultiply - - - Octave - Decrease Octave - NumpadDivide - - - Octave - Increase Octave (2nd) - Shift + PeakedBracket - - - Octave - Decrease Octave (2nd) - PeakedBracket - - - Octave - Set Octave to 0 - - - Octave - Set Octave to 1 - - - Octave - Set Octave to 2 - - - Octave - Set Octave to 3 - - - Octave - Set Octave to 4 - - - Octave - Set Octave to 5 - - - Octave - Set Octave to 6 - - - Octave - Set Octave to 7 - - - Octave - Set Octave to 8 - - - View - Open Sample Record Dialog... - Shift + F3 - - - Playback - Play Selected Sample - - - Application - Quit - Control + Q - - - Application - Preferences... - Command + Comma - - - Application - Hide Renoise - - - Application - Hide All Others - Option + Command + H - - - Application - Focus Previous Window - Shift + Command + PeakedBracket - - - Application - Focus Next Window - - - File - New Song - Shift + Control + N - - - File - New Song (no template) - - - File - Open Song... - Control + L - - - File - Save Song... - - - File - Save Song As... - - - File - Save Song As Template... - - - Document - Undo - Command + Z - - - Document - Redo - Shift + Command + Z - - - Clipboard - Select Clipboard 1 - - - Clipboard - Select Clipboard 2 - - - Clipboard - Select Clipboard 3 - - - Clipboard - Select Clipboard 4 - - - View - Attach/Detach Mixer View - - - Application - Toggle Fullscreen/Windowed Mode - Option + Return - - - Paketti - ∿ Offset Dialog... - - - MidiPerformer - ∿ Show dialog... - - - Tools - ∿ Setup automation device - - - Paketti - ∿ Show Paketti Preferences... - Shift + Command + Comma - - - Paketti - ∿ Paketti MIDI Mappings... - - - Paketti - ∿ Generate Paketti Midi Mappings to Console - - - Paketti - ∿ Show Paketti KeyBindings Dialog - Command + K - - - Paketti - ∿ Show Renoise KeyBindings Dialog - Shift + Command + K - - - Paketti Theme Selector - ∿ Open Paketti Theme Selector Dialog - Shift + Option + Comma - - - Paketti Theme Selector - ∿ Pick a Random Theme (All) - Shift + Option + Control + Comma - - - Paketti Theme Selector - ∿ Pick a Random Theme (Favorites) - Shift + Control + Comma - - - Paketti - ∿ Paketti eSpeak Text-to-Speech - Control + E - - - Paketti - ∿ Paketti eSpeak Generate Sample - - - Paketti - ∿ Paketti eSpeak Generate Selection - - - Paketti - ∿ Paketti eSpeak Generate Row 00 - - - Paketti - ∿ Paketti eSpeak Generate Row 01 - - - Paketti - ∿ Paketti eSpeak Generate Row 02 - - - Paketti - ∿ Paketti eSpeak Generate Row 03 - - - Paketti - ∿ Paketti eSpeak Generate Row 04 - - - Paketti - ∿ Paketti eSpeak Generate Row 05 - - - Paketti - ∿ Paketti eSpeak Generate Row 06 - - - Paketti - ∿ Paketti eSpeak Generate Row 07 - - - Paketti - ∿ Paketti eSpeak Generate Row 08 - - - Paketti - ∿ Paketti eSpeak Generate Row 09 - - - Paketti - ∿ Paketti eSpeak Generate Row 10 - - - Paketti - ∿ Paketti eSpeak Generate Row 11 - - - Paketti - ∿ Paketti eSpeak Generate Row 12 - - - Paketti - ∿ Paketti eSpeak Generate Row 13 - - - Paketti - ∿ Paketti eSpeak Generate Row 14 - - - Paketti - ∿ Paketti eSpeak Generate Row 15 - - - Paketti - ∿ Paketti eSpeak Generate Row 16 - - - Paketti - ∿ Paketti eSpeak Generate Row 17 - - - Paketti - ∿ Paketti eSpeak Generate Row 18 - - - Paketti - ∿ Paketti eSpeak Generate Row 19 - - - Paketti - ∿ Paketti eSpeak Generate Row 20 - - - Paketti - ∿ Paketti eSpeak Generate Row 21 - - - Paketti - ∿ Paketti eSpeak Generate Row 22 - - - Paketti - ∿ Paketti eSpeak Generate Row 23 - - - Paketti - ∿ Paketti eSpeak Generate Row 24 - - - Paketti - ∿ Paketti eSpeak Generate Row 25 - - - Paketti - ∿ Paketti eSpeak Generate Row 26 - - - Paketti - ∿ Paketti eSpeak Generate Row 27 - - - Paketti - ∿ Paketti eSpeak Generate Row 28 - - - Paketti - ∿ Paketti eSpeak Generate Row 29 - - - Paketti - ∿ Paketti eSpeak Generate Row 30 - - - Paketti - ∿ Paketti eSpeak Generate Row 31 - - - Paketti - ∿ Paketti eSpeak Refresh - - - Paketti - ∿ Paketti Automation - Option + T - - - Paketti - ∿ Switch to Automation - - - Paketti.. - ∿ Automation Ramp Up (Exp) - - - Paketti.. - ∿ Automation Ramp Down (Exp) - - - Paketti.. - ∿ Automation Ramp Up (Lin) - - - Paketti.. - ∿ Automation Ramp Down (Lin) - - - Paketti.. - ∿ Automation Center to Top (Exp) - - - Paketti.. - ∿ Automation Top to Center (Exp) - - - Paketti.. - ∿ Automation Center to Bottom (Exp) - - - Paketti.. - ∿ Automation Bottom to Center (Exp) - - - Paketti.. - ∿ Automation Center to Top (Lin) - - - Paketti.. - ∿ Automation Top to Center (Lin) - - - Paketti.. - ∿ Automation Center to Bottom (Lin) - - - Paketti.. - ∿ Automation Bottom to Center (Lin) - - - Paketti - ∿ Randomize Automation Envelope - Shift + Option + R - - - Paketti - ∿ Randomize Automation Envelopes for Device - Option + Command + R - - - Paketti - ∿ Switch to Automation Dynamic - A - - - Paketti - ∿ Paketti Audio Processing Tools Dialog... - Control + A - - - Paketti - ∿ Strip Silence - Shift + Option + S - - - Paketti - ∿ Move Beginning Silence to End - - - Paketti - ∿ Max Amp DC Offset Kick Generator - - - Paketti - ∿ Diagonal Line to 16800 length Sample - - - Paketti - ∿ Paketti Normalize Sample - - - Paketti - ∿ BeatDetector Modified... - - - Paketti - ∿ Save Song (2nd) - - - Paketti - ∿ Record+Follow Toggle (2nd) - RShift - - - Paketti - ∿ Record+Follow Toggle (3rd) - - - Paketti - ∿ Record+Follow Toggle (4th) - - - Paketti - ∿ Toggle EditMode (2nd) - - - Paketti - ∿ Toggle EditMode (3rd) - Escape - - - Paketti - ∿ Record+Follow+Metronome Toggle - Shift + Escape - - - Paketti - ∿ Toggle Follow Pattern (2nd) - - - Paketti - ∿ Fullscreen (2nd) - - - Paketti - ∿ KeybOctave Up - - - Paketti - ∿ KeybOctave Down - - - Paketti - ∿ Simple Play - - - Paketti - ∿ Toggle Metronome On/Off - - - Paketti - ∿ Song Details (Filename, BPM, LPB) - - - Paketti - ∿ Contour Shuttle Record Off - - - Paketti - ∿ Contour Shuttle Record On - - - Paketti - ∿ Global Edit Mode Toggle - - - Paketti - ∿ Rewind Playback by 4 steps - - - Paketti - ∿ Pattern Editor <-> Midi Editor Switcher - - - Paketti - ∿ Select Track (Next) - - - Paketti - ∿ Select Track (Previous) - - - Paketti - ∿ Insert Track (2nd) - - - Paketti - ∿ Sample Editor Tab Switcher (01 Phrases) - - - Paketti - ∿ Sample Editor Tab Switcher (02 Keyzones) - - - Paketti - ∿ Sample Editor Tab Switcher (03 Waveform) - - - Paketti - ∿ Sample Editor Tab Switcher (04 Modulation) - - - Paketti - ∿ Sample Editor Tab Switcher (05 Effects) - - - Paketti - ∿ Sample Editor Tab Switcher (06 Plugin Editor) - - - Paketti - ∿ Sample Editor Tab Switcher (07 Midi Editor) - - - Paketti - ∿ Select LoopBlock Backwards (Previous) - - - Paketti - ∿ Select LoopBlock Forwards (Next) - - - Paketti - ∿ Set EditStep to 00 - - - Paketti - ∿ Set EditStep to 01 - - - Paketti - ∿ Set EditStep to 02 - - - Paketti - ∿ Set EditStep to 03 - - - Paketti - ∿ Set EditStep to 04 - - - Paketti - ∿ Set EditStep to 05 - - - Paketti - ∿ Set EditStep to 06 - - - Paketti - ∿ Set EditStep to 07 - - - Paketti - ∿ Set EditStep to 08 - - - Paketti - ∿ Set EditStep to 09 - - - Paketti - ∿ Set EditStep to 10 - - - Paketti - ∿ Set EditStep to 11 - - - Paketti - ∿ Set EditStep to 12 - - - Paketti - ∿ Set EditStep to 13 - - - Paketti - ∿ Set EditStep to 14 - - - Paketti - ∿ Set EditStep to 15 - - - Paketti - ∿ Set EditStep to 16 - - - Paketti - ∿ Set EditStep to 17 - - - Paketti - ∿ Set EditStep to 18 - - - Paketti - ∿ Set EditStep to 19 - - - Paketti - ∿ Set EditStep to 20 - - - Paketti - ∿ Set EditStep to 21 - - - Paketti - ∿ Set EditStep to 22 - - - Paketti - ∿ Set EditStep to 23 - - - Paketti - ∿ Set EditStep to 24 - - - Paketti - ∿ Set EditStep to 25 - - - Paketti - ∿ Set EditStep to 26 - - - Paketti - ∿ Set EditStep to 27 - - - Paketti - ∿ Set EditStep to 28 - - - Paketti - ∿ Set EditStep to 29 - - - Paketti - ∿ Set EditStep to 30 - - - Paketti - ∿ Set EditStep to 31 - - - Paketti - ∿ Set EditStep to 32 - - - Paketti - ∿ Set EditStep to 33 - - - Paketti - ∿ Set EditStep to 34 - - - Paketti - ∿ Set EditStep to 35 - - - Paketti - ∿ Set EditStep to 36 - - - Paketti - ∿ Set EditStep to 37 - - - Paketti - ∿ Set EditStep to 38 - - - Paketti - ∿ Set EditStep to 39 - - - Paketti - ∿ Set EditStep to 40 - - - Paketti - ∿ Set EditStep to 41 - - - Paketti - ∿ Set EditStep to 42 - - - Paketti - ∿ Set EditStep to 43 - - - Paketti - ∿ Set EditStep to 44 - - - Paketti - ∿ Set EditStep to 45 - - - Paketti - ∿ Set EditStep to 46 - - - Paketti - ∿ Set EditStep to 47 - - - Paketti - ∿ Set EditStep to 48 - - - Paketti - ∿ Set EditStep to 49 - - - Paketti - ∿ Set EditStep to 50 - - - Paketti - ∿ Set EditStep to 51 - - - Paketti - ∿ Set EditStep to 52 - - - Paketti - ∿ Set EditStep to 53 - - - Paketti - ∿ Set EditStep to 54 - - - Paketti - ∿ Set EditStep to 55 - - - Paketti - ∿ Set EditStep to 56 - - - Paketti - ∿ Set EditStep to 57 - - - Paketti - ∿ Set EditStep to 58 - - - Paketti - ∿ Set EditStep to 59 - - - Paketti - ∿ Set EditStep to 60 - - - Paketti - ∿ Set EditStep to 61 - - - Paketti - ∿ Set EditStep to 62 - - - Paketti - ∿ Set EditStep to 63 - - - Paketti - ∿ Set EditStep to 64 - - - Paketti - ∿ Create New Track&Load Random Device Chain/Preset - - - Paketti - ∿ Load Device Chain EQ10 Macro Experimental - Shift + Q - - - Paketti - ∿ Load Device Chain SimpleSend - - - Paketti - ∿ Load Device Chain Paketti Doofer Rudiments - - - Paketti - ∿ Load Device Chain ClippyClip - - - Paketti - ∿ Load Device Chain Track Compressor (NPC1) - - - Paketti - ∿ Load Device Chain Low - High Cut (steep) (NPC1) - - - Paketti - ∿ Load Device Chain Low - High Cut (halfsteep) (NPC1) - - - Paketti - ∿ Load Device Chain Low - High Cut (flat) (NPC1) - - - Paketti - ∿ Cycle Paketti Dynamic View 01 - F2 - - - Paketti - ∿ Cycle Paketti Dynamic View 02 - F3 - - - Paketti - ∿ Cycle Paketti Dynamic View 03 - F4 - - - Paketti - ∿ Cycle Paketti Dynamic View 04 - F11 - - - Paketti - ∿ Cycle Paketti Dynamic View 05 - - - Paketti - ∿ Cycle Paketti Dynamic View 06 - - - Paketti - ∿ Cycle Paketti Dynamic View 07 - - - Paketti - ∿ Cycle Paketti Dynamic View 08 - - - Paketti - ∿ Paketti Dynamic View Preferences Dialog 1-4... - - - Paketti - ∿ Paketti Dynamic View Preferences Dialog 5-8... - - - Paketti - ∿ Paketti Groovebox 8120 - Option + 8 - - - Paketti - ∿ Paketti Gater Dialog... - Control + G - - - Paketti - ∿ Paketti Gater Insert Commands - Shift + Control + G - - - Paketti - ∿ Impulse Tracker F2 Pattern Editor - - - Paketti - ∿ Impulse Tracker F2 Pattern Editor ONLY - - - Paketti - ∿ Impulse Tracker F2 Pattern Editor Mini - - - Paketti - ∿ Impulse Tracker F3 Sample Editor - - - Paketti - ∿ Impulse Tracker F3 Sample Editor Only - - - Paketti - ∿ Impulse Tracker F4 Instrument Editor - - - Paketti - ∿ Impulse Tracker F5 Start Playback - F5 - - - Paketti - ∿ Impulse Tracker F5 Start Playback (2nd) - - - Paketti - ∿ Impulse Tracker F7 Start Playback from Cursor Row - F7 - - - Paketti - ∿ Impulse Tracker F7 Start Playback from Cursor Row (2nd) - RControl - - - Paketti - ∿ Impulse Tracker F8 Stop Playback (Panic) - F8 - - - Paketti - ∿ Impulse Tracker F8 Stop Playback (Panic) (2nd) - - - Paketti - ∿ Impulse Tracker F8 Stop/Start Playback (Panic) - - - Paketti - ∿ Impulse Tracker F11 Order List - - - Paketti - ∿ Impulse Tracker F12 Master - F12 - - - Paketti - ∿ Impulse Tracker Pattern (Next) - - - Paketti - ∿ Impulse Tracker Pattern (Previous) - - - Paketti - ∿ Impulse Tracker Pattern (Next) 2nd - - - Paketti - ∿ Impulse Tracker Pattern (Previous) 2nd - - - Paketti - ∿ Impulse Tracker PageUp Jump Lines - - - Paketti - ∿ Impulse Tracker PageDown Jump Lines - - - Paketti - ∿ Impulse Tracker 8 Play Current Line & Advance by EditStep - - - Paketti - ∿ Impulse Tracker ALT-F10 (Solo Toggle) - - - Paketti - ∿ Impulse Tracker CTRL-N New Song Dialog - Control + N - - - Paketti - ∿ Impulse Tracker ALT-U Unmark Selection - Command + U - - - Paketti - ∿ Impulse Tracker ALT-U Unmark Selection (2nd) - - - Paketti - ∿ Impulse Tracker ALT-Y Swap Block - Command + Y - - - Tools - ∿ ALT-X *2 (Interpolate and Clear Effect Columns) - - - Paketti - ∿ Duplicate Instrument and Select New Instrument - Shift + Command + D - - - Paketti - ∿ Duplicate Instrument and Select New Instrument (2nd) - - - Paketti - ∿ Duplicate Instrument and Select New Instrument (3rd) - - - Paketti - ∿ Duplicate Instrument and Select Last Instrument - - - Paketti - ∿ Numpad SelectPlay 0 - - - Paketti - ∿ Numpad SelectPlay 1 - - - Paketti - ∿ Numpad SelectPlay 2 - - - Paketti - ∿ Numpad SelectPlay 3 - - - Paketti - ∿ Numpad SelectPlay 4 - - - Paketti - ∿ Numpad SelectPlay 5 - - - Paketti - ∿ Numpad SelectPlay 6 - - - Paketti - ∿ Numpad SelectPlay 7 - - - Paketti - ∿ Numpad SelectPlay 8 - - - Paketti - ∿ Numpad SelectPlay 9 - - - Paketti - ∿ Capture Nearest Instrument and Octave (nojump) - - - Paketti - ∿ Capture Nearest Instrument and Octave (jump) - - - Paketti - ∿ Select Next Chunk (00..F0) - Shift + Option + Command + Right - - - Paketti - ∿ Select Previous Chunk (00..F0) - Shift + Option + Command + Left - - - Paketti - ∿ Select Chunk 00 - - - Paketti - ∿ Select Chunk 10 - - - Paketti - ∿ Select Chunk 20 - - - Paketti - ∿ Select Chunk 30 - - - Paketti - ∿ Select Chunk 40 - - - Paketti - ∿ Select Chunk 50 - - - Paketti - ∿ Select Chunk 60 - - - Paketti - ∿ Select Chunk 70 - - - Paketti - ∿ Select Chunk 80 - - - Paketti - ∿ Select Chunk 90 - - - Paketti - ∿ Select Chunk A0 - - - Paketti - ∿ Select Chunk B0 - - - Paketti - ∿ Select Chunk C0 - - - Paketti - ∿ Select Chunk D0 - - - Paketti - ∿ Select Chunk E0 - - - Paketti - ∿ Select Chunk F0 - Shift + Option + F - - - Paketti - ∿ AU/VST/VST3/Native Plugins/Effects Lister Dump - - - Paketti - ∿ Dump Current Instrument parameters - - - Paketti - ∿ Open External Editor for Plugin - Apostrophe - - - Paketti - ∿ Open External Editor for Plugin (2nd) - - - Paketti - ∿ Add Filter & LFO (AutoFilter) - Shift + Command + F - - - Paketti - ∿ Load Rhino 2.1 AU - - - Paketti - ∿ Load FabFilter One - Option + Command + F - - - Paketti - ∿ Load Surge (VST) - - - Paketti - ∿ Load U-He Zebra (VST) - Option + Z - - - Paketti - ∿ Load Waldorf PPG v2 (VST) - - - Paketti - ∿ Load Waldorf Attack (VST) - - - Track Devices - ∿ Load Renoise Analog Filter - - - Track Devices - ∿ Load Renoise Bus Compressor - - - Track Devices - ∿ Load Renoise Cabinet Simulator - - - Track Devices - ∿ Load Renoise Chorus - - - Track Devices - ∿ Load Renoise Chorus 2 - - - Track Devices - ∿ Load Renoise Comb Filter 2 - - - Track Devices - ∿ Load Renoise Compressor - Shift + H - - - Track Devices - ∿ Load Renoise Convolver - Shift + C - - - Track Devices - ∿ Load Renoise DC Offset - - - Track Devices - ∿ Load Renoise Delay - - - Track Devices - ∿ Load Renoise Digital Filter - - - Track Devices - ∿ Load Renoise Distortion 2 - - - Track Devices - ∿ Load Renoise Doofer - Control + D - - - Track Devices - ∿ Load Renoise EQ 5 - - - Track Devices - ∿ Load Renoise EQ 10 - - - Track Devices - ∿ Load Renoise Exciter - - - Track Devices - ∿ Load Renoise Flanger 2 - - - Track Devices - ∿ Load Renoise Gainer - Shift + G - - - Track Devices - ∿ Load Renoise Gate 2 - - - Track Devices - ∿ Load Renoise LofiMat 2 - - - Track Devices - ∿ Load Renoise Maximizer - Shift + X - - - Track Devices - ∿ Load Renoise Mixer EQ - - - Track Devices - ∿ Load Renoise mpReverb 2 - Shift + N - - - Track Devices - ∿ Load Renoise Multitap - - - Track Devices - ∿ Load Renoise Phaser 2 - - - Track Devices - ∿ Load Renoise Repeater - - - Track Devices - ∿ Load Renoise Reverb - - - Track Devices - ∿ Load Renoise RingMod 2 - - - Track Devices - ∿ Load Renoise Stereo Expander - - - Track Devices - ∿ Load Renoise #Line Input - Shift + I - - - Track Devices - ∿ Load Renoise #Multiband Send - Shift + Control + S - - - Track Devices - ∿ Load Renoise #ReWire Input - - - Track Devices - ∿ Load Renoise #Send - Shift + S - - - Track Devices - ∿ Load Renoise #Sidechain - - - Track Devices - ∿ Load Renoise *Formula - Shift + F - - - Track Devices - ∿ Load Renoise *Hydra - - - Track Devices - ∿ Load Renoise *Instr. Automation - Shift + Control + A - - - Track Devices - ∿ Load Renoise *Instr. Macros - Shift + M - - - Track Devices - ∿ Load Renoise *Instr. MIDI Control - - - Track Devices - ∿ Load Renoise *Key Tracker - - - Track Devices - ∿ Load Renoise *LFO - Shift + L - - - Track Devices - ∿ Load Renoise *Meta Mixer - - - Track Devices - ∿ Load Renoise *Signal Follower - - - Track Devices - ∿ Load Renoise *Velocity Tracker - - - Track Devices - ∿ Load Renoise *XY Pad - - - Track Devices - ∿ Load Renoise (Hidden) Chorus - - - Track Devices - ∿ Load Renoise (Hidden) Comb Filter - - - Track Devices - ∿ Load Renoise (Hidden) Distortion - - - Track Devices - ∿ Load Renoise (Hidden) Filter - - - Track Devices - ∿ Load Renoise (Hidden) Filter 2 - - - Track Devices - ∿ Load Renoise (Hidden) Filter 3 - - - Track Devices - ∿ Load Renoise (Hidden) Flanger - - - Track Devices - ∿ Load Renoise (Hidden) Gate - - - Track Devices - ∿ Load Renoise (Hidden) LofiMat - - - Track Devices - ∿ Load Renoise (Hidden) mpReverb - - - Track Devices - ∿ Load Renoise (Hidden) Phaser - - - Track Devices - ∿ Load Renoise (Hidden) RingMod - - - Track Devices - ∿ Load Renoise (Hidden) Scream Filter - - - Track Devices - ∿ Load Renoise (Hidden) Shaper - - - Track Devices - ∿ Load Renoise (Hidden) Stutter - - - Track Devices - ∿ Load U-He Colour Copy - Option + C - - - Track Devices - ∿ Load Koen KTGranulator (AU) - - - Track Devices - ∿ Load Uhbik U-He Runciter - - - Track Devices - ∿ Load SphereDelay Maybe? - - - Track Devices - ∿ Load D16 Syntorus 2 - Shift + A - - - Track Devices - ∿ Load D16 Toraverb - - - Track Devices - ∿ Load D16 Frontier - - - Track Devices - ∿ Load D16 Toraverb 2 - Shift + T - - - Track Devices - ∿ Load D16 Repeater - Shift + Control + D - - - Track Devices - ∿ Load D16 Repeater (2nd) - - - Track Devices - ∿ Load George Yohng's W1 1 - - - Track Devices - ∿ Load George Yohng's W1 2 - Shift + W - - - Track Devices - ∿ Load OhmForce Predatohm - - - Track Devices - ∿ Load OhmForce Hematohm - - - Track Devices - ∿ Load OhmForce OhmBoyz - - - Track Devices - ∿ Load QuikQuak FusionField - - - Track Devices - ∿ Load Schaack Transient Shaper (VST) - Shift + E - - - Track Devices - ∿ Load FabFilter Pro-Q 3 - Shift + Z - - - Track Devices - ∿ Load FabFilter Pro-Q 3 (VST) - - - Track Devices - ∿ Load TAL-Reverb 4 - Shift + R - - - Track Devices - ∿ Load TAL-Dub 3 AU - - - Track Devices - ∿ Load TAL-Chorus LX - - - Track Devices - ∿ Load TAL-Chorus - - - Track Devices - ∿ Load ValhallaRoom - - - Track Devices - ∿ Load ValhallaShimmer - Shift + Command + V - - - Track Devices - ∿ Load ValhallaFreqEchoMkI - - - Track Devices - ∿ Load ValhallaDelay - Shift + D - - - Track Devices - ∿ Load ValhallaVintageVerb - Shift + V - - - Track Devices - ∿ Load ValhallaSpaceModulator (AU) - - - Track Devices - ∿ Load ValhallaRoom (VST) - - - Track Devices - ∿ Load ValhallaShimmer (VST) - - - Track Devices - ∿ Load ValhallaFreqEchoMkI (VST) - - - Track Devices - ∿ Load ValhallaDelay (VST) - - - Track Devices - ∿ Load ValhallaVintageVerb (VST) - - - Track Devices - ∿ Load ValhallaSpaceModulator (VST) - - - Track Devices - ∿ Load FabFilter Pro-Q (VST) - - - Track Devices - ∿ Load GRM PitchAccum Stereo (VST) - - - Track Devices - ∿ Load GRM Delays Stereo (VST) - - - Track Devices - ∿ Load GRM Reson Stereo (VST) - - - Track Devices - ∿ Load TAL-Dub 3 (VST) - - - Track Devices - ∿ Load WatKat (VST) - - - Track Devices - ∿ Load EQ10+Schaack Transient Shaper (VST) - - - Paketti - ∿ Open External Editor of Selected Effect - - - Paketti - ∿ Hide Track DSP Device External Editors - - - Paketti - ∿ Inspect Plugin - - - Paketti - ∿ Inspect Device in Slot 2 - - - Paketti - ∿ Load Modulation Device (01 Volume) AHDSR - - - Paketti - ∿ Load Modulation Device (02 Panning) AHDSR - - - Paketti - ∿ Load Modulation Device (03 Pitch) AHDSR - - - Paketti - ∿ Load Modulation Device (04 Cutoff) AHDSR - - - Paketti - ∿ Load Modulation Device (05 Resonance) AHDSR - - - Paketti - ∿ Load Modulation Device (06 Drive) AHDSR - - - Paketti - ∿ Load Modulation Device (01 Volume) Envelope - - - Paketti - ∿ Load Modulation Device (02 Panning) Envelope - - - Paketti - ∿ Load Modulation Device (03 Pitch) Envelope - - - Paketti - ∿ Load Modulation Device (04 Cutoff) Envelope - - - Paketti - ∿ Load Modulation Device (05 Resonance) Envelope - - - Paketti - ∿ Load Modulation Device (06 Drive) Envelope - - - Paketti - ∿ Load Modulation Device (01 Volume) Fader - - - Paketti - ∿ Load Modulation Device (02 Panning) Fader - - - Paketti - ∿ Load Modulation Device (03 Pitch) Fader - - - Paketti - ∿ Load Modulation Device (04 Cutoff) Fader - - - Paketti - ∿ Load Modulation Device (05 Resonance) Fader - - - Paketti - ∿ Load Modulation Device (06 Drive) Fader - - - Paketti - ∿ Load Modulation Device (01 Volume) Key Tracking - - - Paketti - ∿ Load Modulation Device (02 Panning) Key Tracking - - - Paketti - ∿ Load Modulation Device (03 Pitch) Key Tracking - - - Paketti - ∿ Load Modulation Device (04 Cutoff) Key Tracking - - - Paketti - ∿ Load Modulation Device (05 Resonance) Key Tracking - - - Paketti - ∿ Load Modulation Device (06 Drive) Key Tracking - - - Paketti - ∿ Load Modulation Device (01 Volume) LFO - - - Paketti - ∿ Load Modulation Device (02 Panning) LFO - - - Paketti - ∿ Load Modulation Device (03 Pitch) LFO - - - Paketti - ∿ Load Modulation Device (04 Cutoff) LFO - - - Paketti - ∿ Load Modulation Device (05 Resonance) LFO - - - Paketti - ∿ Load Modulation Device (06 Drive) LFO - - - Paketti - ∿ Load Modulation Device (01 Volume) Operand - - - Paketti - ∿ Load Modulation Device (02 Panning) Operand - - - Paketti - ∿ Load Modulation Device (03 Pitch) Operand - - - Paketti - ∿ Load Modulation Device (04 Cutoff) Operand - - - Paketti - ∿ Load Modulation Device (05 Resonance) Operand - - - Paketti - ∿ Load Modulation Device (06 Drive) Operand - - - Paketti - ∿ Load Modulation Device (01 Volume) Stepper - - - Paketti - ∿ Load Modulation Device (02 Panning) Stepper - - - Paketti - ∿ Load Modulation Device (03 Pitch) Stepper - - - Paketti - ∿ Load Modulation Device (04 Cutoff) Stepper - - - Paketti - ∿ Load Modulation Device (05 Resonance) Stepper - - - Paketti - ∿ Load Modulation Device (06 Drive) Stepper - - - Paketti - ∿ Load Modulation Device (01 Volume) Velocity Tracking - - - Paketti - ∿ Load Modulation Device (02 Panning) Velocity Tracking - - - Paketti - ∿ Load Modulation Device (03 Pitch) Velocity Tracking - - - Paketti - ∿ Load Modulation Device (04 Cutoff) Velocity Tracking - - - Paketti - ∿ Load Modulation Device (05 Resonance) Velocity Tracking - - - Paketti - ∿ Load Modulation Device (06 Drive) Velocity Tracking - - - Paketti - ∿ Expose/Hide Selected Device Parameters in Mixer - - - Paketti - ∿ Expose/Hide Selected Track ALL Device Parameters - - - Paketti - ∿ Bypass All Devices on Track - - - Paketti - ∿ Enable All Devices on Track - - - Paketti - ∿ Bypass All Devices on All Tracks - - - Paketti - ∿ Enable All Devices on All Tracks - - - Paketti - ∿ Insert Stereo -> Mono device to Beginning of DSP Chain - - - Paketti - ∿ Insert Stereo -> Mono device to End of DSP Chain - Option + S - - - Paketti - ∿ Insert Stereo -> Mono device to Beginning of Master - - - Paketti - ∿ Insert Stereo -> Mono device to End of Master - - - Paketti - ∿ Hide Track DSP Device External Editors for All Tracks - Command + H - - - Paketti - ∿ Show/Hide Track DSP and FX Chain Device External Editors - Shift + Command + H - - - Paketti - ∿ Randomize Devices and Plugins Dialog - - - Paketti - ∿ Randomize Selected Device with User1 (%) - - - Paketti - ∿ Randomize Selected Device with User2 (%) - - - Paketti - ∿ Randomize Selected Device with User3 (%) - - - Paketti - ∿ Randomize Selected Device with User4 (%) - - - Paketti - ∿ Randomize Selected Device with User5 (%) - - - Paketti - ∿ Randomize All Devices of Track with User1 (%) - - - Paketti - ∿ Randomize All Devices of Track with User2 (%) - - - Paketti - ∿ Randomize All Devices of Track with User3 (%) - - - Paketti - ∿ Randomize All Devices of Track with User4 (%) - - - Paketti - ∿ Randomize All Devices of Track with User5 (%) - - - Paketti - ∿ Randomize Selected Plugin with User1 (%) - - - Paketti - ∿ Randomize Selected Plugin with User2 (%) - - - Paketti - ∿ Randomize Selected Plugin with User3 (%) - - - Paketti - ∿ Randomize Selected Plugin with User4 (%) - - - Paketti - ∿ Randomize Selected Plugin with User5 (%) - - - Paketti - ∿ Randomize All Plugins in Song with User1 (%) - - - Paketti - ∿ Randomize All Plugins in Song with User2 (%) - - - Paketti - ∿ Randomize All Plugins in Song with User3 (%) - - - Paketti - ∿ Randomize All Plugins in Song with User4 (%) - - - Paketti - ∿ Randomize All Plugins in Song with User5 (%) - - - Paketti - ∿ Randomize Selected Plugin - - - Paketti - ∿ Randomize Selected Device - Option + R - - - Paketti - ∿ Clear All TrackDSPs from Current Track - Shift + Option + T - - - Paketti - ∿ Insert Inverter Device to TrackDSP/SampleFX - Option + I - - - Paketti - ∿ Load Device (Native) *XY Pad - - - Paketti - ∿ Load Device (Native) Repeater - - - Paketti - ∿ Load Device (VST) Frontier - - - Paketti - ∿ Load Device (VST) Zebrify - - - Paketti - ∿ Load Device (AudioUnit) AUSampleDelay - - - Paketti - ∿ Load Device (VST3) Supercharger - - - Paketti - ∿ Load Device (Native) Gainer - - - Paketti - ∿ Load Device (Native) Mixer EQ - - - Paketti - ∿ Load Device (Native) RingMod 2 - - - Paketti - ∿ Load Device (VST) FabFilter Micro - - - Paketti - ∿ Load Device (AudioUnit) Zebrify - - - Paketti - ∿ Load Device (VST3) ZRev - - - Paketti - ∿ Load Device (Native) #Multiband Send - - - Paketti - ∿ Load Device (Native) #Send - - - Paketti - ∿ Load Device (Native) *Instr. Automation - - - Paketti - ∿ Load Device (Native) *Instr. MIDI Control - - - Paketti - ∿ Load Device (Native) *Instr. Macros - - - Paketti - ∿ Load Device (Native) *Key Tracker - - - Paketti - ∿ Load Device (Native) #Sidechain - - - Paketti - ∿ Load Device (AudioUnit) AUDelay - - - Paketti - ∿ Load Device (AudioUnit) AUDynamicsProcessor - - - Paketti - ∿ Load Device (AudioUnit) AUHipass - - - Paketti - ∿ Load Device (AudioUnit) AURogerBeep - - - Paketti - ∿ Load Device (AudioUnit) Repeater - - - Paketti - ∿ Load Device (Native) (Hidden) Stutter - - - Paketti - ∿ Load Device (VST) George Yohng's W1 Limiter - - - Paketti - ∿ Load Device (VST) Spacer - - - Paketti - ∿ Load Device (VST) Uhbik-S - - - Paketti - ∿ Load Device (Native) *Meta Mixer - - - Paketti - ∿ Load Device (Native) Cabinet Simulator - - - Paketti - ∿ Load Device (Native) Comb Filter 2 - - - Paketti - ∿ Load Device (Native) DC Offset - - - Paketti - ∿ Load Device (Native) *Velocity Tracker - - - Paketti - ∿ Load Device (Native) Bus Compressor - - - Paketti - ∿ Load Device (AudioUnit) TDR Kotelnikov - - - Paketti - ∿ Load Device (Native) (Hidden) Scream Filter - - - Paketti - ∿ Load Device (Native) (Hidden) Flanger - - - Paketti - ∿ Load Device (AudioUnit) Absynth 5 MFX - - - Paketti - ∿ Load Device (Native) (Hidden) Filter - - - Paketti - ∿ Load Device (Native) (Hidden) Filter 2 - - - Paketti - ∿ Load Device (Native) (Hidden) Filter 3 - - - Paketti - ∿ Load Plugin (AU) Knif Audio Knifonium - - - Paketti - ∿ Load Plugin (VST) BucketOne - - - Paketti - ∿ Load Plugin (VST3) Kontakt 7 - - - Paketti - ∿ Load Plugin (AU) Amigo - Shift + Option + A - - - Paketti - ∿ Load Plugin (AU) Bucket ONE - Shift + Command + B - - - Paketti - ∿ Load Plugin (AU) Kontakt 7 - - - Paketti - ∿ Load Plugin (AU) Scaler 2 - - - Paketti - ∿ Load Plugin (AU) XO - Shift + Command + X - - - Paketti - ∿ Load Plugin (AU) PPG Wave 2.V - - - Paketti - ∿ Load Plugin (VST) ANA2 - - - Paketti - ∿ Load Plugin (VST3) Bucket ONE - - - Paketti - ∿ Load Plugin (AU) Zebralette - - - Paketti - ∿ Load Plugin (VST) XO - - - Paketti - ∿ Load Plugin (VST) Scaler2 - - - Paketti - ∿ Load Plugin (VST3) Kontakt - - - Paketti - ∿ Load Plugin (AU) Attack - Option + A - - - Paketti - ∿ Load Plugin (AU) Vintage - Option + V - - - Paketti - ∿ Load Plugin (AU) One - - - Paketti - ∿ Load Plugin (VST) MonoFury - - - Paketti - ∿ Load Plugin (VST) Absynth 5 - - - Paketti - ∿ Load Plugin (VST) Reaktor 6 - - - Paketti - ∿ ∿ Squiggly Sinewave to Clipboard (macOS) - - - Paketti - ∿ Toggle Paketti Dialog of Dialogs - - - Paketti - ∿ Selected Instrument Midi Program +1 (Next) - - - Paketti - ∿ Selected Instrument Midi Program -1 (Previous) - - - Paketti - ∿ Paketti MIDI Populator Dialog... - - - Paketti - ∿ Quantization Decrease (-1) - - - Paketti - ∿ Quantization Increase (+1) - - - Paketti - ∿ Metronome LPB Decrease (-1) - - - Paketti - ∿ Metronome LPB Increase (+1) - - - Paketti - ∿ Metronome BPB Decrease (-1) - - - Paketti - ∿ Metronome BPB Increase (+1) - - - Paketti - ∿ LPB Decrease (-1) - - - Paketti - ∿ LPB Increase (+1) - - - Paketti - ∿ TPL Decrease (-1) - - - Paketti - ∿ TPL Increase (+1) - - - Paketti - ∿ Solo Channel + Play + Follow - - - Paketti - ∿ Uncollapse All Tracks - - - Paketti - ∿ Collapse All Tracks - - - Paketti - ∿ Computer Keyboard Velocity (-1) - - - Paketti - ∿ Computer Keyboard Velocity (+1) - - - Paketti - ∿ Computer Keyboard Velocity (-10) - - - Paketti - ∿ Computer Keyboard Velocity (+10) - - - Paketti - ∿ Set Keyboard Velocity to 10 - - - Paketti - ∿ Set Keyboard Velocity to 20 - - - Paketti - ∿ Set Keyboard Velocity to 30 - - - Paketti - ∿ Set Keyboard Velocity to 40 - - - Paketti - ∿ Set Keyboard Velocity to 50 - - - Paketti - ∿ Set Keyboard Velocity to 60 - - - Paketti - ∿ Set Keyboard Velocity to 70 - - - Paketti - ∿ Toggle Keyboard Velocity - - - Paketti - ∿ Set Keyboard Velocity to 7F (Max) - - - Paketti - ∿ Set Keyboard Velocity to 00 (Min) - - - Paketti - ∿ BPM Decrease (-1) - Backslash - - - Paketti - ∿ BPM Increase (+1) - Shift + Backslash - - - Paketti - ∿ BPM Decrease (-0.1) - Shift + RBracket - - - Paketti - ∿ BPM Increase (+0.1) - Command + RBracket - - - Paketti - ∿ BPM Decrease (-0.5) - Shift + Control + Backslash - - - Paketti - ∿ BPM Increase (+0.5) - Control + Backslash - - - Paketti - ∿ Play at 75% Speed (Song BPM) - - - Paketti - ∿ Play at 100% Speed (Song BPM) - - - Paketti - ∿ Random BPM from List - - - Paketti - ∿ Select Specific Track 01 - Shift + 1 - - - Paketti - ∿ Select Specific Track 02 - Shift + 2 - - - Paketti - ∿ Select Specific Track 03 - Shift + 3 - - - Paketti - ∿ Select Specific Track 04 - Shift + 4 - - - Paketti - ∿ Select Specific Track 05 - Shift + 5 - - - Paketti - ∿ Select Specific Track 06 - Shift + 6 - - - Paketti - ∿ Select Specific Track 07 - Shift + 7 - - - Paketti - ∿ Select Specific Track 08 - Shift + 8 - - - Paketti - ∿ Select Specific Track 09 - Shift + 9 - - - Paketti - ∿ Select Specific Track 10 - Shift + 0 - - - Paketti - ∿ Select Specific Track 11 - - - Paketti - ∿ Select Specific Track 12 - - - Paketti - ∿ Select Specific Track 13 - - - Paketti - ∿ Select Specific Track 14 - - - Paketti - ∿ Select Specific Track 15 - - - Paketti - ∿ Select Specific Track 16 - - - Paketti - ∿ Clone Current Pattern to Current Sequence - - - Paketti - ∿ Clone Current Pattern to Current Sequence (2nd) - - - Paketti - ∿ Clone Current Pattern to Current Sequence (3rd) - - - Paketti - ∿ Clone and Expand Pattern to LPB*2 - - - Paketti - ∿ Clone and Shrink Pattern to LPB/2 - - - Paketti - ∿ Toggle Edit Mode and Tint Track - - - Paketti - ∿ Duplicate Effect Column Content to Pattern or Selection - Option + X - - - Paketti - ∿ Randomize Effect Column Parameters - Shift + Option + X - - - Paketti - ∿ Interpolate Effect Column Parameters - Shift + Option + I - - - Paketti - ∿ Wipe Selected Track TrackDSPs - Control + X - - - Paketti - ∿ Insert Random Delay to Selected Row - - - Paketti - ∿ Insert Random Panning to Selected Row - - - Paketti - ∿ Insert Random Volume to Selected Row - - - Paketti - ∿ Expose and Select Next Column - Shift + Command + Right - - - Paketti - ∿ Hide Current and Select Previous Column - Shift + Command + Left - - - Tools - ∿ Toggle Match EditStep with Note Placement - - - Paketti - ∿ Set Random EditStep 0-64 - - - Paketti - ∿ Set Random EditStep 1-64 - - - Paketti - ∿ Pattern Effect Command CheatSheet - F1 - - - Paketti - ∿ Show/Hide Pattern Matrix - - - Paketti - ∿ Clone Current Sequence - - - Paketti - ∿ Open Paketti Init Phrase Dialog... - Command + I - - - Paketti - ∿ Create New Phrase using Paketti Settings - - - Paketti - ∿ Modify Current Phrase using Paketti Settings - - - Paketti - ∿ Phrase Editor Visible - - - Paketti - ∿ Add New Phrase - - - Paketti - ∿ Open Player Pro Note Column Dialog - - - Paketti - ∿ Send Selected Sample to AppSelection1 - - - Paketti - ∿ Send Selected Sample to AppSelection2 - - - Paketti - ∿ Send Selected Sample to AppSelection3 - - - Paketti - ∿ Send Selected Sample to AppSelection4 - - - Paketti - ∿ Send Selected Sample to AppSelection5 - - - Paketti - ∿ Send Selected Sample to AppSelection6 - - - Paketti - ∿ Save Sample to Smart/Backup Folder 1 - - - Paketti - ∿ Save Sample to Smart/Backup Folder 2 - - - Paketti - ∿ Save Sample to Smart/Backup Folder 3 - - - Paketti - ∿ Save All Samples to Smart/Backup Folder 1 - - - Paketti - ∿ Save All Samples to Smart/Backup Folder 2 - - - Paketti - ∿ Save All Samples to Smart/Backup Folder 3 - - - Paketti - ∿ Paketti PitchBend Drumkit Sample Loader - Shift + Command + O - - - Paketti - ∿ Create New Instrument & Loop from Selection - Option + Command + Right - - - Paketti - ∿ Paketti PitchBend Multiple Sample Loader - Command + O - - - Paketti - ∿ Paketti PitchBend Multiple Sample Loader (Normalize) - Shift + Option + O - - - Paketti - ∿ Init Selected Sample (Autofade,Interpolation,Oversample) - - - Paketti - ∿ Add Sample Slot to Instrument - - - Paketti - ∿ Add 84 Sample Slots to Instrument - - - Paketti - ∿ Set Sample to One-Shot + NNA Continue - - - Paketti - ∿ Wipe&Slice (2) - Option + 1 - - - Paketti - ∿ Wipe&Slice (4) - Option + 2 - - - Paketti - ∿ Wipe&Slice (8) - Option + 3 - - - Paketti - ∿ Wipe&Slice (16) - Option + 4 - - - Paketti - ∿ Wipe&Slice (32) - Option + 5 - - - Paketti - ∿ Wipe&Slice (64) - Option + 6 - - - Paketti - ∿ Wipe&Slice (128) - Option + 7 - - - Paketti - ∿ Wipe Slices - Option + 0 - - - Paketti - ∿ Show DSP FX Chain - - - Paketti - ∿ Paketti Save Selected Sample .WAV - Command + W - - - Paketti - ∿ Paketti Save Selected Sample .FLAC - - - Paketti - ∿ Wipe Song Retain Sample - - - Paketti - ∿ Reset Slice Counter - - - Paketti - ∿ Sample Loop Cycler (Forwards) - - - Paketti - ∿ Sample Loop Cycler (Backwards) - - - Paketti - ∿ All Samples Loop Cycler (Forwards) - - - Paketti - ∿ All Samples Loop Cycler (Backwards) - - - Paketti - ∿ Duplicate and Reverse Instrument - Shift + Command + R - - - Paketti - ∿ Paketti Save Selected Sample Range .WAV - Shift + Command + W - - - Paketti - ∿ Paketti Save Selected Sample Range .FLAC - - - Paketti.. - ∿ FT2 Minimize Selected Sample - - - Paketti - ∿ Randomize Selected Instrument Modulation Filter Type - Shift + Option + M - - - Paketti - ∿ Clean Render&Save Selected Track/Group (.WAV) - Shift + Control + R - - - Paketti - ∿ Clean Render&Save Selected Track/Group (.FLAC) - - - Paketti - ∿ Pakettify Current Instrument - Shift + Control + 8 - - - Paketti - ∿ Show/Hide PitchStep on Selected Instrument - Option + P - - - Paketti - ∿ Smart BeatSync from Selection - Shift + Command + S - - - Paketti - ∿ Eight 120-fy - Shift + Option + 8 - - - Paketti - ∿ Modify PitchStep Steps (Octave Up+2, Octave Down-2) - Option + Command + P - - - Paketti - ∿ Modify PitchStep Steps (Random) - Shift + Option + Command + P - - - Paketti - ∿ Modify PitchStep Steps (Octave Up, Octave Down) - Shift + Command + P - - - Paketti - ∿ Clear PitchStep Steps - Shift + Option + P - - - Paketti - ∿ Load Random AKWF Sample - Shift + Command + 1 - - - Paketti - ∿ Load Random amount (1...12) of AKWF Samples - Shift + Command + 2 - - - Paketti - ∿ Load 05 AKWF Samples - - - Paketti - ∿ Load 12 AKWF Samples - - - Paketti - ∿ Load 02 AKWF Samples - - - Paketti - ∿ Toggle Sequence Selection 00 - - - Paketti - ∿ Toggle Sequence Selection 01 - - - Paketti - ∿ Toggle Sequence Selection 02 - - - Paketti - ∿ Toggle Sequence Selection 03 - - - Paketti - ∿ Toggle Sequence Selection 04 - - - Paketti - ∿ Toggle Sequence Selection 05 - - - Paketti - ∿ Toggle Sequence Selection 06 - - - Paketti - ∿ Toggle Sequence Selection 07 - - - Paketti - ∿ Toggle Sequence Selection 08 - - - Paketti - ∿ Toggle Sequence Selection 09 - - - Paketti - ∿ Toggle Sequence Selection 10 - - - Paketti - ∿ Toggle Sequence Selection 11 - - - Paketti - ∿ Toggle Sequence Selection 12 - - - Paketti - ∿ Toggle Sequence Selection 13 - - - Paketti - ∿ Toggle Sequence Selection 14 - - - Paketti - ∿ Toggle Sequence Selection 15 - - - Paketti - ∿ Toggle Sequence Selection 16 - - - Paketti - ∿ Toggle Sequence Selection 17 - - - Paketti - ∿ Toggle Sequence Selection 18 - - - Paketti - ∿ Toggle Sequence Selection 19 - - - Paketti - ∿ Toggle Sequence Selection 20 - - - Paketti - ∿ Toggle Sequence Selection 21 - - - Paketti - ∿ Toggle Sequence Selection 22 - - - Paketti - ∿ Toggle Sequence Selection 23 - - - Paketti - ∿ Toggle Sequence Selection 24 - - - Paketti - ∿ Toggle Sequence Selection 25 - - - Paketti - ∿ Toggle Sequence Selection 26 - - - Paketti - ∿ Toggle Sequence Selection 27 - - - Paketti - ∿ Toggle Sequence Selection 28 - - - Paketti - ∿ Toggle Sequence Selection 29 - - - Paketti - ∿ Toggle Sequence Selection 30 - - - Paketti - ∿ Toggle Sequence Selection 31 - - - Paketti - ∿ Toggle Sequence Selection 32 - - - Paketti - ∿ Toggle Sequence Selection to Loop - - - Paketti - ∿ Toggle Sequence Selection (All) On/Off - - - Paketti - ∿ Set Sequence Selection Off - - - Paketti - ∿ Toggle Current Sequence Selection On/Off - - - Paketti - ∿ Select and Loop Sequence Section 01 - - - Paketti - ∿ Select and Loop Sequence Section 02 - - - Paketti - ∿ Select and Loop Sequence Section 03 - - - Paketti - ∿ Select and Loop Sequence Section 04 - - - Paketti - ∿ Select and Loop Sequence Section 05 - - - Paketti - ∿ Select and Loop Sequence Section 06 - - - Paketti - ∿ Select and Loop Sequence Section 07 - - - Paketti - ∿ Select and Loop Sequence Section 08 - - - Paketti - ∿ Select and Loop Sequence Section 09 - - - Paketti - ∿ Select and Loop Sequence Section 10 - - - Paketti - ∿ Select and Loop Sequence Section 11 - - - Paketti - ∿ Select and Loop Sequence Section 12 - - - Paketti - ∿ Select and Loop Sequence Section 13 - - - Paketti - ∿ Select and Loop Sequence Section 14 - - - Paketti - ∿ Select and Loop Sequence Section 15 - - - Paketti - ∿ Select and Loop Sequence Section 16 - - - Paketti - ∿ Select and Loop Sequence Section 17 - - - Paketti - ∿ Select and Loop Sequence Section 18 - - - Paketti - ∿ Select and Loop Sequence Section 19 - - - Paketti - ∿ Select and Loop Sequence Section 20 - - - Paketti - ∿ Select and Loop Sequence Section 21 - - - Paketti - ∿ Select and Loop Sequence Section 22 - - - Paketti - ∿ Select and Loop Sequence Section 23 - - - Paketti - ∿ Select and Loop Sequence Section 24 - - - Paketti - ∿ Select and Loop Sequence Section 25 - - - Paketti - ∿ Select and Loop Sequence Section 26 - - - Paketti - ∿ Select and Loop Sequence Section 27 - - - Paketti - ∿ Select and Loop Sequence Section 28 - - - Paketti - ∿ Select and Loop Sequence Section 29 - - - Paketti - ∿ Select and Loop Sequence Section 30 - - - Paketti - ∿ Select and Loop Sequence Section 31 - - - Paketti - ∿ Select and Loop Sequence Section 32 - - - Paketti - ∿ Select and Loop Section (Next) - - - Paketti - ∿ Select and Loop Section (Previous) - - - Paketti - ∿ Set Sequence Loop Selection Off - - - Paketti - ∿ Jump to Sequence (Next) - - - Paketti - ∿ Jump to Sequence (Previous) - - - Paketti - ∿ Continue Sequence 00 From Same Line - - - Paketti - ∿ Continue Sequence 01 From Same Line - - - Paketti - ∿ Continue Sequence 02 From Same Line - - - Paketti - ∿ Continue Sequence 03 From Same Line - - - Paketti - ∿ Continue Sequence 04 From Same Line - - - Paketti - ∿ Continue Sequence 05 From Same Line - - - Paketti - ∿ Continue Sequence 06 From Same Line - - - Paketti - ∿ Continue Sequence 07 From Same Line - - - Paketti - ∿ Continue Sequence 08 From Same Line - - - Paketti - ∿ Continue Sequence 09 From Same Line - - - Paketti - ∿ Continue Sequence 10 From Same Line - - - Paketti - ∿ Continue Sequence 11 From Same Line - - - Paketti - ∿ Continue Sequence 12 From Same Line - - - Paketti - ∿ Continue Sequence 13 From Same Line - - - Paketti - ∿ Continue Sequence 14 From Same Line - - - Paketti - ∿ Continue Sequence 15 From Same Line - - - Paketti - ∿ Continue Sequence 16 From Same Line - - - Paketti - ∿ Continue Sequence 17 From Same Line - - - Paketti - ∿ Continue Sequence 18 From Same Line - - - Paketti - ∿ Continue Sequence 19 From Same Line - - - Paketti - ∿ Continue Sequence 20 From Same Line - - - Paketti - ∿ Continue Sequence 21 From Same Line - - - Paketti - ∿ Continue Sequence 22 From Same Line - - - Paketti - ∿ Continue Sequence 23 From Same Line - - - Paketti - ∿ Continue Sequence 24 From Same Line - - - Paketti - ∿ Continue Sequence 25 From Same Line - - - Paketti - ∿ Continue Sequence 26 From Same Line - - - Paketti - ∿ Continue Sequence 27 From Same Line - - - Paketti - ∿ Continue Sequence 28 From Same Line - - - Paketti - ∿ Continue Sequence 29 From Same Line - - - Paketti - ∿ Continue Sequence 30 From Same Line - - - Paketti - ∿ Continue Sequence 31 From Same Line - - - Paketti - ∿ Continue Current Sequence From Same Line - - - Paketti - ∿ Selected Specific Sequence 00 - - - Paketti - ∿ Selected Specific Sequence 01 - - - Paketti - ∿ Selected Specific Sequence 02 - - - Paketti - ∿ Selected Specific Sequence 03 - - - Paketti - ∿ Selected Specific Sequence 04 - - - Paketti - ∿ Selected Specific Sequence 05 - - - Paketti - ∿ Selected Specific Sequence 06 - - - Paketti - ∿ Selected Specific Sequence 07 - - - Paketti - ∿ Selected Specific Sequence 08 - - - Paketti - ∿ Selected Specific Sequence 09 - - - Paketti - ∿ Selected Specific Sequence 10 - - - Paketti - ∿ Selected Specific Sequence 11 - - - Paketti - ∿ Selected Specific Sequence 12 - - - Paketti - ∿ Selected Specific Sequence 13 - - - Paketti - ∿ Selected Specific Sequence 14 - - - Paketti - ∿ Selected Specific Sequence 15 - - - Paketti - ∿ Selected Specific Sequence 16 - - - Paketti - ∿ Selected Specific Sequence 17 - - - Paketti - ∿ Selected Specific Sequence 18 - - - Paketti - ∿ Selected Specific Sequence 19 - - - Paketti - ∿ Selected Specific Sequence 20 - - - Paketti - ∿ Selected Specific Sequence 21 - - - Paketti - ∿ Selected Specific Sequence 22 - - - Paketti - ∿ Selected Specific Sequence 23 - - - Paketti - ∿ Selected Specific Sequence 24 - - - Paketti - ∿ Selected Specific Sequence 25 - - - Paketti - ∿ Selected Specific Sequence 26 - - - Paketti - ∿ Selected Specific Sequence 27 - - - Paketti - ∿ Selected Specific Sequence 28 - - - Paketti - ∿ Selected Specific Sequence 29 - - - Paketti - ∿ Selected Specific Sequence 30 - - - Paketti - ∿ Selected Specific Sequence 31 - - - Paketti - ∿ Trigger Sequence 00 - - - Paketti - ∿ Trigger Sequence 01 - - - Paketti - ∿ Trigger Sequence 02 - - - Paketti - ∿ Trigger Sequence 03 - - - Paketti - ∿ Trigger Sequence 04 - - - Paketti - ∿ Trigger Sequence 05 - - - Paketti - ∿ Trigger Sequence 06 - - - Paketti - ∿ Trigger Sequence 07 - - - Paketti - ∿ Trigger Sequence 08 - - - Paketti - ∿ Trigger Sequence 09 - - - Paketti - ∿ Trigger Sequence 10 - - - Paketti - ∿ Trigger Sequence 11 - - - Paketti - ∿ Trigger Sequence 12 - - - Paketti - ∿ Trigger Sequence 13 - - - Paketti - ∿ Trigger Sequence 14 - - - Paketti - ∿ Trigger Sequence 15 - - - Paketti - ∿ Trigger Sequence 16 - - - Paketti - ∿ Trigger Sequence 17 - - - Paketti - ∿ Trigger Sequence 18 - - - Paketti - ∿ Trigger Sequence 19 - - - Paketti - ∿ Trigger Sequence 20 - - - Paketti - ∿ Trigger Sequence 21 - - - Paketti - ∿ Trigger Sequence 22 - - - Paketti - ∿ Trigger Sequence 23 - - - Paketti - ∿ Trigger Sequence 24 - - - Paketti - ∿ Trigger Sequence 25 - - - Paketti - ∿ Trigger Sequence 26 - - - Paketti - ∿ Trigger Sequence 27 - - - Paketti - ∿ Trigger Sequence 28 - - - Paketti - ∿ Trigger Sequence 29 - - - Paketti - ∿ Trigger Sequence 30 - - - Paketti - ∿ Trigger Sequence 31 - - - Paketti - ∿ Set Sequence 00 as Scheduled List - - - Paketti - ∿ Set Sequence 01 as Scheduled List - - - Paketti - ∿ Set Sequence 02 as Scheduled List - - - Paketti - ∿ Set Sequence 03 as Scheduled List - - - Paketti - ∿ Set Sequence 04 as Scheduled List - - - Paketti - ∿ Set Sequence 05 as Scheduled List - - - Paketti - ∿ Set Sequence 06 as Scheduled List - - - Paketti - ∿ Set Sequence 07 as Scheduled List - - - Paketti - ∿ Set Sequence 08 as Scheduled List - - - Paketti - ∿ Set Sequence 09 as Scheduled List - - - Paketti - ∿ Set Sequence 10 as Scheduled List - - - Paketti - ∿ Set Sequence 11 as Scheduled List - - - Paketti - ∿ Set Sequence 12 as Scheduled List - - - Paketti - ∿ Set Sequence 13 as Scheduled List - - - Paketti - ∿ Set Sequence 14 as Scheduled List - - - Paketti - ∿ Set Sequence 15 as Scheduled List - - - Paketti - ∿ Set Sequence 16 as Scheduled List - - - Paketti - ∿ Set Sequence 17 as Scheduled List - - - Paketti - ∿ Set Sequence 18 as Scheduled List - - - Paketti - ∿ Set Sequence 19 as Scheduled List - - - Paketti - ∿ Set Sequence 20 as Scheduled List - - - Paketti - ∿ Set Sequence 21 as Scheduled List - - - Paketti - ∿ Set Sequence 22 as Scheduled List - - - Paketti - ∿ Set Sequence 23 as Scheduled List - - - Paketti - ∿ Set Sequence 24 as Scheduled List - - - Paketti - ∿ Set Sequence 25 as Scheduled List - - - Paketti - ∿ Set Sequence 26 as Scheduled List - - - Paketti - ∿ Set Sequence 27 as Scheduled List - - - Paketti - ∿ Set Sequence 28 as Scheduled List - - - Paketti - ∿ Set Sequence 29 as Scheduled List - - - Paketti - ∿ Set Sequence 30 as Scheduled List - - - Paketti - ∿ Set Sequence 31 as Scheduled List - - - Paketti - ∿ Set Current Sequence as Scheduled List - - - Paketti - ∿ Add Current Sequence to Scheduled List - - - Paketti - ∿ Add Sequence 00 to Scheduled List - - - Paketti - ∿ Add Sequence 01 to Scheduled List - - - Paketti - ∿ Add Sequence 02 to Scheduled List - - - Paketti - ∿ Add Sequence 03 to Scheduled List - - - Paketti - ∿ Add Sequence 04 to Scheduled List - - - Paketti - ∿ Add Sequence 05 to Scheduled List - - - Paketti - ∿ Add Sequence 06 to Scheduled List - - - Paketti - ∿ Add Sequence 07 to Scheduled List - - - Paketti - ∿ Add Sequence 08 to Scheduled List - - - Paketti - ∿ Add Sequence 09 to Scheduled List - - - Paketti - ∿ Add Sequence 10 to Scheduled List - - - Paketti - ∿ Add Sequence 11 to Scheduled List - - - Paketti - ∿ Add Sequence 12 to Scheduled List - - - Paketti - ∿ Add Sequence 13 to Scheduled List - - - Paketti - ∿ Add Sequence 14 to Scheduled List - - - Paketti - ∿ Add Sequence 15 to Scheduled List - - - Paketti - ∿ Add Sequence 16 to Scheduled List - - - Paketti - ∿ Add Sequence 17 to Scheduled List - - - Paketti - ∿ Add Sequence 18 to Scheduled List - - - Paketti - ∿ Add Sequence 19 to Scheduled List - - - Paketti - ∿ Add Sequence 20 to Scheduled List - - - Paketti - ∿ Add Sequence 21 to Scheduled List - - - Paketti - ∿ Add Sequence 22 to Scheduled List - - - Paketti - ∿ Add Sequence 23 to Scheduled List - - - Paketti - ∿ Add Sequence 24 to Scheduled List - - - Paketti - ∿ Add Sequence 25 to Scheduled List - - - Paketti - ∿ Add Sequence 26 to Scheduled List - - - Paketti - ∿ Add Sequence 27 to Scheduled List - - - Paketti - ∿ Add Sequence 28 to Scheduled List - - - Paketti - ∿ Add Sequence 29 to Scheduled List - - - Paketti - ∿ Add Sequence 30 to Scheduled List - - - Paketti - ∿ Add Sequence 31 to Scheduled List - - - Paketti - ∿ Toggle Sequence Loop to 00 - - - Paketti - ∿ Toggle Sequence Loop to 01 - - - Paketti - ∿ Toggle Sequence Loop to 02 - - - Paketti - ∿ Toggle Sequence Loop to 03 - - - Paketti - ∿ Toggle Sequence Loop to 04 - - - Paketti - ∿ Toggle Sequence Loop to 05 - - - Paketti - ∿ Toggle Sequence Loop to 06 - - - Paketti - ∿ Toggle Sequence Loop to 07 - - - Paketti - ∿ Toggle Sequence Loop to 08 - - - Paketti - ∿ Toggle Sequence Loop to 09 - - - Paketti - ∿ Toggle Sequence Loop to 10 - - - Paketti - ∿ Toggle Sequence Loop to 11 - - - Paketti - ∿ Toggle Sequence Loop to 12 - - - Paketti - ∿ Toggle Sequence Loop to 13 - - - Paketti - ∿ Toggle Sequence Loop to 14 - - - Paketti - ∿ Toggle Sequence Loop to 15 - - - Paketti - ∿ Toggle Sequence Loop to 16 - - - Paketti - ∿ Toggle Sequence Loop to 17 - - - Paketti - ∿ Toggle Sequence Loop to 18 - - - Paketti - ∿ Toggle Sequence Loop to 19 - - - Paketti - ∿ Toggle Sequence Loop to 20 - - - Paketti - ∿ Toggle Sequence Loop to 21 - - - Paketti - ∿ Toggle Sequence Loop to 22 - - - Paketti - ∿ Toggle Sequence Loop to 23 - - - Paketti - ∿ Toggle Sequence Loop to 24 - - - Paketti - ∿ Toggle Sequence Loop to 25 - - - Paketti - ∿ Toggle Sequence Loop to 26 - - - Paketti - ∿ Toggle Sequence Loop to 27 - - - Paketti - ∿ Toggle Sequence Loop to 28 - - - Paketti - ∿ Toggle Sequence Loop to 29 - - - Paketti - ∿ Toggle Sequence Loop to 30 - - - Paketti - ∿ Toggle Sequence Loop to 31 - - - Paketti - ∿ Clear Pattern Sequence Loop - - - Paketti - ∿ Set Sequence Loop from Current to 00 - - - Paketti - ∿ Set Sequence Loop from Current to 01 - - - Paketti - ∿ Set Sequence Loop from Current to 02 - - - Paketti - ∿ Set Sequence Loop from Current to 03 - - - Paketti - ∿ Set Sequence Loop from Current to 04 - - - Paketti - ∿ Set Sequence Loop from Current to 05 - - - Paketti - ∿ Set Sequence Loop from Current to 06 - - - Paketti - ∿ Set Sequence Loop from Current to 07 - - - Paketti - ∿ Set Sequence Loop from Current to 08 - - - Paketti - ∿ Set Sequence Loop from Current to 09 - - - Paketti - ∿ Set Sequence Loop from Current to 10 - - - Paketti - ∿ Set Sequence Loop from Current to 11 - - - Paketti - ∿ Set Sequence Loop from Current to 12 - - - Paketti - ∿ Set Sequence Loop from Current to 13 - - - Paketti - ∿ Set Sequence Loop from Current to 14 - - - Paketti - ∿ Set Sequence Loop from Current to 15 - - - Paketti - ∿ Set Sequence Loop from Current to 16 - - - Paketti - ∿ Set Sequence Loop from Current to 17 - - - Paketti - ∿ Set Sequence Loop from Current to 18 - - - Paketti - ∿ Set Sequence Loop from Current to 19 - - - Paketti - ∿ Set Sequence Loop from Current to 20 - - - Paketti - ∿ Set Sequence Loop from Current to 21 - - - Paketti - ∿ Set Sequence Loop from Current to 22 - - - Paketti - ∿ Set Sequence Loop from Current to 23 - - - Paketti - ∿ Set Sequence Loop from Current to 24 - - - Paketti - ∿ Set Sequence Loop from Current to 25 - - - Paketti - ∿ Set Sequence Loop from Current to 26 - - - Paketti - ∿ Set Sequence Loop from Current to 27 - - - Paketti - ∿ Set Sequence Loop from Current to 28 - - - Paketti - ∿ Set Sequence Loop from Current to 29 - - - Paketti - ∿ Set Sequence Loop from Current to 30 - - - Paketti - ∿ Set Sequence Loop from Current to 31 - - - Paketti - ∿ Set Current Section as Scheduled Sequence - - - Paketti - ∿ Add Current Section to Scheduled Sequences - - - Paketti - ∿ Section Loop (Next) - - - Paketti - ∿ Section Loop (Previous) - - - Paketti - ∿ Sequence Selection (Next) - Command + Control + 2 - - - Paketti - ∿ Sequence Selection (Previous) - Command + Control + 1 - - - Paketti - ∿ Sequence Loop Selection (Next) - - - Paketti - ∿ Sequence Loop Selection (Previous) - - - Paketti - ∿ Set Section Loop and Schedule Section - - - Paketti - ∿ Set Current Sequence as Scheduled and Loop - - - Paketti - ∿ Select, Trigger and Loop Section 00 - - - Paketti - ∿ Select, Schedule and Loop Section 00 - - - Paketti - ∿ Select, Add to Schedule and Loop Section 00 - - - Paketti - ∿ Select, Trigger and Loop Section 01 - - - Paketti - ∿ Select, Schedule and Loop Section 01 - - - Paketti - ∿ Select, Add to Schedule and Loop Section 01 - - - Paketti - ∿ Select, Trigger and Loop Section 02 - - - Paketti - ∿ Select, Schedule and Loop Section 02 - - - Paketti - ∿ Select, Add to Schedule and Loop Section 02 - - - Paketti - ∿ Select, Trigger and Loop Section 03 - - - Paketti - ∿ Select, Schedule and Loop Section 03 - - - Paketti - ∿ Select, Add to Schedule and Loop Section 03 - - - Paketti - ∿ Select, Trigger and Loop Section 04 - - - Paketti - ∿ Select, Schedule and Loop Section 04 - - - Paketti - ∿ Select, Add to Schedule and Loop Section 04 - - - Paketti - ∿ Select, Trigger and Loop Section 05 - - - Paketti - ∿ Select, Schedule and Loop Section 05 - - - Paketti - ∿ Select, Add to Schedule and Loop Section 05 - - - Paketti - ∿ Select, Trigger and Loop Section 06 - - - Paketti - ∿ Select, Schedule and Loop Section 06 - - - Paketti - ∿ Select, Add to Schedule and Loop Section 06 - - - Paketti - ∿ Select, Trigger and Loop Section 07 - - - Paketti - ∿ Select, Schedule and Loop Section 07 - - - Paketti - ∿ Select, Add to Schedule and Loop Section 07 - - - Paketti - ∿ Select, Trigger and Loop Section 08 - - - Paketti - ∿ Select, Schedule and Loop Section 08 - - - Paketti - ∿ Select, Add to Schedule and Loop Section 08 - - - Paketti - ∿ Select, Trigger and Loop Section 09 - - - Paketti - ∿ Select, Schedule and Loop Section 09 - - - Paketti - ∿ Select, Add to Schedule and Loop Section 09 - - - Paketti - ∿ Select, Trigger and Loop Section 10 - - - Paketti - ∿ Select, Schedule and Loop Section 10 - - - Paketti - ∿ Select, Add to Schedule and Loop Section 10 - - - Paketti - ∿ Select, Trigger and Loop Section 11 - - - Paketti - ∿ Select, Schedule and Loop Section 11 - - - Paketti - ∿ Select, Add to Schedule and Loop Section 11 - - - Paketti - ∿ Select, Trigger and Loop Section 12 - - - Paketti - ∿ Select, Schedule and Loop Section 12 - - - Paketti - ∿ Select, Add to Schedule and Loop Section 12 - - - Paketti - ∿ Select, Trigger and Loop Section 13 - - - Paketti - ∿ Select, Schedule and Loop Section 13 - - - Paketti - ∿ Select, Add to Schedule and Loop Section 13 - - - Paketti - ∿ Select, Trigger and Loop Section 14 - - - Paketti - ∿ Select, Schedule and Loop Section 14 - - - Paketti - ∿ Select, Add to Schedule and Loop Section 14 - - - Paketti - ∿ Select, Trigger and Loop Section 15 - - - Paketti - ∿ Select, Schedule and Loop Section 15 - - - Paketti - ∿ Select, Add to Schedule and Loop Section 15 - - - Paketti - ∿ Select, Trigger and Loop Section 16 - - - Paketti - ∿ Select, Schedule and Loop Section 16 - - - Paketti - ∿ Select, Add to Schedule and Loop Section 16 - - - Paketti - ∿ Select, Trigger and Loop Section 17 - - - Paketti - ∿ Select, Schedule and Loop Section 17 - - - Paketti - ∿ Select, Add to Schedule and Loop Section 17 - - - Paketti - ∿ Select, Trigger and Loop Section 18 - - - Paketti - ∿ Select, Schedule and Loop Section 18 - - - Paketti - ∿ Select, Add to Schedule and Loop Section 18 - - - Paketti - ∿ Select, Trigger and Loop Section 19 - - - Paketti - ∿ Select, Schedule and Loop Section 19 - - - Paketti - ∿ Select, Add to Schedule and Loop Section 19 - - - Paketti - ∿ Select, Trigger and Loop Section 20 - - - Paketti - ∿ Select, Schedule and Loop Section 20 - - - Paketti - ∿ Select, Add to Schedule and Loop Section 20 - - - Paketti - ∿ Select, Trigger and Loop Section 21 - - - Paketti - ∿ Select, Schedule and Loop Section 21 - - - Paketti - ∿ Select, Add to Schedule and Loop Section 21 - - - Paketti - ∿ Select, Trigger and Loop Section 22 - - - Paketti - ∿ Select, Schedule and Loop Section 22 - - - Paketti - ∿ Select, Add to Schedule and Loop Section 22 - - - Paketti - ∿ Select, Trigger and Loop Section 23 - - - Paketti - ∿ Select, Schedule and Loop Section 23 - - - Paketti - ∿ Select, Add to Schedule and Loop Section 23 - - - Paketti - ∿ Select, Trigger and Loop Section 24 - - - Paketti - ∿ Select, Schedule and Loop Section 24 - - - Paketti - ∿ Select, Add to Schedule and Loop Section 24 - - - Paketti - ∿ Select, Trigger and Loop Section 25 - - - Paketti - ∿ Select, Schedule and Loop Section 25 - - - Paketti - ∿ Select, Add to Schedule and Loop Section 25 - - - Paketti - ∿ Select, Trigger and Loop Section 26 - - - Paketti - ∿ Select, Schedule and Loop Section 26 - - - Paketti - ∿ Select, Add to Schedule and Loop Section 26 - - - Paketti - ∿ Select, Trigger and Loop Section 27 - - - Paketti - ∿ Select, Schedule and Loop Section 27 - - - Paketti - ∿ Select, Add to Schedule and Loop Section 27 - - - Paketti - ∿ Select, Trigger and Loop Section 28 - - - Paketti - ∿ Select, Schedule and Loop Section 28 - - - Paketti - ∿ Select, Add to Schedule and Loop Section 28 - - - Paketti - ∿ Select, Trigger and Loop Section 29 - - - Paketti - ∿ Select, Schedule and Loop Section 29 - - - Paketti - ∿ Select, Add to Schedule and Loop Section 29 - - - Paketti - ∿ Select, Trigger and Loop Section 30 - - - Paketti - ∿ Select, Schedule and Loop Section 30 - - - Paketti - ∿ Select, Add to Schedule and Loop Section 30 - - - Paketti - ∿ Select, Trigger and Loop Section 31 - - - Paketti - ∿ Select, Schedule and Loop Section 31 - - - Paketti - ∿ Select, Add to Schedule and Loop Section 31 - - - Paketti - ∿ Select, Trigger and Loop Section 32 - - - Paketti - ∿ Select, Schedule and Loop Section 32 - - - Paketti - ∿ Select, Add to Schedule and Loop Section 32 - - - Paketti - ∿ Select, Trigger and Loop Section 33 - - - Paketti - ∿ Select, Schedule and Loop Section 33 - - - Paketti - ∿ Select, Add to Schedule and Loop Section 33 - - - Paketti - ∿ Select, Trigger and Loop Section 34 - - - Paketti - ∿ Select, Schedule and Loop Section 34 - - - Paketti - ∿ Select, Add to Schedule and Loop Section 34 - - - Paketti - ∿ Select, Trigger and Loop Section 35 - - - Paketti - ∿ Select, Schedule and Loop Section 35 - - - Paketti - ∿ Select, Add to Schedule and Loop Section 35 - - - Paketti - ∿ Select, Trigger and Loop Section 36 - - - Paketti - ∿ Select, Schedule and Loop Section 36 - - - Paketti - ∿ Select, Add to Schedule and Loop Section 36 - - - Paketti - ∿ Select, Trigger and Loop Section 37 - - - Paketti - ∿ Select, Schedule and Loop Section 37 - - - Paketti - ∿ Select, Add to Schedule and Loop Section 37 - - - Paketti - ∿ Select, Trigger and Loop Section 38 - - - Paketti - ∿ Select, Schedule and Loop Section 38 - - - Paketti - ∿ Select, Add to Schedule and Loop Section 38 - - - Paketti - ∿ Select, Trigger and Loop Section 39 - - - Paketti - ∿ Select, Schedule and Loop Section 39 - - - Paketti - ∿ Select, Add to Schedule and Loop Section 39 - - - Paketti - ∿ Select, Trigger and Loop Section 40 - - - Paketti - ∿ Select, Schedule and Loop Section 40 - - - Paketti - ∿ Select, Add to Schedule and Loop Section 40 - - - Paketti - ∿ Select, Trigger and Loop Section 41 - - - Paketti - ∿ Select, Schedule and Loop Section 41 - - - Paketti - ∿ Select, Add to Schedule and Loop Section 41 - - - Paketti - ∿ Select, Trigger and Loop Section 42 - - - Paketti - ∿ Select, Schedule and Loop Section 42 - - - Paketti - ∿ Select, Add to Schedule and Loop Section 42 - - - Paketti - ∿ Select, Trigger and Loop Section 43 - - - Paketti - ∿ Select, Schedule and Loop Section 43 - - - Paketti - ∿ Select, Add to Schedule and Loop Section 43 - - - Paketti - ∿ Select, Trigger and Loop Section 44 - - - Paketti - ∿ Select, Schedule and Loop Section 44 - - - Paketti - ∿ Select, Add to Schedule and Loop Section 44 - - - Paketti - ∿ Select, Trigger and Loop Section 45 - - - Paketti - ∿ Select, Schedule and Loop Section 45 - - - Paketti - ∿ Select, Add to Schedule and Loop Section 45 - - - Paketti - ∿ Select, Trigger and Loop Section 46 - - - Paketti - ∿ Select, Schedule and Loop Section 46 - - - Paketti - ∿ Select, Add to Schedule and Loop Section 46 - - - Paketti - ∿ Select, Trigger and Loop Section 47 - - - Paketti - ∿ Select, Schedule and Loop Section 47 - - - Paketti - ∿ Select, Add to Schedule and Loop Section 47 - - - Paketti - ∿ Select, Trigger and Loop Section 48 - - - Paketti - ∿ Select, Schedule and Loop Section 48 - - - Paketti - ∿ Select, Add to Schedule and Loop Section 48 - - - Paketti - ∿ Select, Trigger and Loop Section 49 - - - Paketti - ∿ Select, Schedule and Loop Section 49 - - - Paketti - ∿ Select, Add to Schedule and Loop Section 49 - - - Paketti - ∿ Select, Trigger and Loop Section 50 - - - Paketti - ∿ Select, Schedule and Loop Section 50 - - - Paketti - ∿ Select, Add to Schedule and Loop Section 50 - - - Paketti - ∿ Select, Trigger and Loop Section 51 - - - Paketti - ∿ Select, Schedule and Loop Section 51 - - - Paketti - ∿ Select, Add to Schedule and Loop Section 51 - - - Paketti - ∿ Select, Trigger and Loop Section 52 - - - Paketti - ∿ Select, Schedule and Loop Section 52 - - - Paketti - ∿ Select, Add to Schedule and Loop Section 52 - - - Paketti - ∿ Select, Trigger and Loop Section 53 - - - Paketti - ∿ Select, Schedule and Loop Section 53 - - - Paketti - ∿ Select, Add to Schedule and Loop Section 53 - - - Paketti - ∿ Select, Trigger and Loop Section 54 - - - Paketti - ∿ Select, Schedule and Loop Section 54 - - - Paketti - ∿ Select, Add to Schedule and Loop Section 54 - - - Paketti - ∿ Select, Trigger and Loop Section 55 - - - Paketti - ∿ Select, Schedule and Loop Section 55 - - - Paketti - ∿ Select, Add to Schedule and Loop Section 55 - - - Paketti - ∿ Select, Trigger and Loop Section 56 - - - Paketti - ∿ Select, Schedule and Loop Section 56 - - - Paketti - ∿ Select, Add to Schedule and Loop Section 56 - - - Paketti - ∿ Select, Trigger and Loop Section 57 - - - Paketti - ∿ Select, Schedule and Loop Section 57 - - - Paketti - ∿ Select, Add to Schedule and Loop Section 57 - - - Paketti - ∿ Select, Trigger and Loop Section 58 - - - Paketti - ∿ Select, Schedule and Loop Section 58 - - - Paketti - ∿ Select, Add to Schedule and Loop Section 58 - - - Paketti - ∿ Select, Trigger and Loop Section 59 - - - Paketti - ∿ Select, Schedule and Loop Section 59 - - - Paketti - ∿ Select, Add to Schedule and Loop Section 59 - - - Paketti - ∿ Select, Trigger and Loop Section 60 - - - Paketti - ∿ Select, Schedule and Loop Section 60 - - - Paketti - ∿ Select, Add to Schedule and Loop Section 60 - - - Paketti - ∿ Select, Trigger and Loop Section 61 - - - Paketti - ∿ Select, Schedule and Loop Section 61 - - - Paketti - ∿ Select, Add to Schedule and Loop Section 61 - - - Paketti - ∿ Select, Trigger and Loop Section 62 - - - Paketti - ∿ Select, Schedule and Loop Section 62 - - - Paketti - ∿ Select, Add to Schedule and Loop Section 62 - - - Paketti - ∿ Select, Trigger and Loop Section 63 - - - Paketti - ∿ Select, Schedule and Loop Section 63 - - - Paketti - ∿ Select, Add to Schedule and Loop Section 63 - - - Paketti - ∿ Select, Trigger and Loop Section 64 - - - Paketti - ∿ Select, Schedule and Loop Section 64 - - - Paketti - ∿ Select, Add to Schedule and Loop Section 64 - - - Paketti - ∿ Set ReWire Channel (Next) - - - Paketti - ∿ Contour Shuttle Record Prototype - - - Paketti - ∿ Sample NOW then F3 (Record) - - - Paketti - ∿ Record to Current Track - - - Paketti - ∿ Record to Current Track w/Metronome - - - Paketti - ∿ Record Follow - - - Paketti - ∿ Simple Play Record Follow - - - Paketti - ∿ Simple Play Record Follow (2nd) - - - Paketti - ∿ TouchOSC Sample Recorder and Record - - - Paketti - ∿ TouchOSC Pattern Editor - Option + F2 - - - Paketti - ∿ TouchOSC Sample Editor - Option + Control + F3 - - - Paketti - ∿ Start/Stop Sample Recording and Pakettify - Option + F3 - - - Tools - ∿ Paketti Coluga Downloader - Control + C - - - Paketti - ∿ Set Selected Sample Loop Release On/Off - - - Paketti - ∿ Set Selected Sample One-Shot On/Off - - - Paketti - ∿ Set Selected Sample Loop 1 (Off) - - - Paketti - ∿ Set Selected Sample Loop 2 (Forward) - - - Paketti - ∿ Set Selected Sample Loop 3 (Backward) - - - Paketti - ∿ Set Selected Sample Loop 4 (PingPong) - - - Paketti - ∿ Set Selected Sample Transpose (-1) - - - Paketti - ∿ Set Selected Sample Transpose (+1) - - - Paketti - ∿ Set Selected Sample Transpose (-12) - - - Paketti - ∿ Set Selected Sample Transpose (+12) - - - Paketti - ∿ Selected Sample Transpose (0) - - - Paketti - ∿ Set Selected Sample Finetune (-1) - - - Paketti - ∿ Set Selected Sample Finetune (+1) - - - Paketti - ∿ Set Selected Sample Finetune (-10) - - - Paketti - ∿ Set Selected Sample Finetune (+10) - - - Paketti - ∿ Set Selected Sample Finetune (0) - - - Paketti - ∿ Set Selected Sample Panning 0.5 (Center) - - - Paketti - ∿ Set Selected Sample Panning 0.0 (Left) - - - Paketti - ∿ Set Selected Sample Panning 1.0 (Right) - - - Paketti - ∿ Set Selected Sample Panning (+0.01) - - - Paketti - ∿ Set Selected Sample Panning (-0.01) - - - Paketti - ∿ Set Selected Sample Volume (+0.01) - - - Paketti - ∿ Set Selected Sample Volume (-0.01) - - - Paketti - ∿ Set Selected Sample Volume Reset (0.0dB) - - - Paketti - ∿ Set Selected Sample Interpolation to 1 (None) - - - Paketti - ∿ Set Selected Sample Interpolation to 2 (Linear) - - - Paketti - ∿ Set Selected Sample Interpolation to 3 (Cubic) - - - Paketti - ∿ Set Selected Sample Interpolation to 4 (Sinc) - - - Paketti - ∿ Set Selected Sample Oversample On - - - Paketti - ∿ Set Selected Sample Oversample Off - - - Paketti - ∿ Set Selected Sample Oversample On/Off - - - Paketti - ∿ Set Selected Sample Beatsync 1 (Repitch) - - - Paketti - ∿ Set Selected Sample Beatsync 2 (Time-Stretch Percussion) - - - Paketti - ∿ Set Selected Sample Beatsync 3 (Time-Stretch Texture) - - - Paketti - ∿ Set Selected Sample Beatsync On/Off 1 (Repitch) - - - Paketti - ∿ Set Selected Sample Beatsync On/Off 2 (Time-Stretch Percussion) - - - Paketti - ∿ Set Selected Sample Beatsync On/Off 3 (Time-Stretch Texture) - - - Paketti - ∿ Set Selected Sample Beatsync On/Off - - - Paketti - ∿ Set Selected Sample Beatsync Line (+1) - - - Paketti - ∿ Set Selected Sample Beatsync Line (-1) - - - Paketti - ∿ Set Selected Sample Autofade On/Off - - - Paketti - ∿ Set Selected Sample Autoseek On/Off - - - Paketti - ∿ Set Selected Sample NNA to 1 (Cut) - - - Paketti - ∿ Set Selected Sample NNA to 2 (Note-Off) - - - Paketti - ∿ Set Selected Sample NNA to 3 (Continue) - - - Paketti - ∿ Set Selected Sample Mute Group to 0 (Off) - - - Paketti - ∿ Set Selected Sample Mute Group to 1 - - - Paketti - ∿ Set Selected Sample Mute Group to 2 - - - Paketti - ∿ Set Selected Sample Mute Group to 3 - - - Paketti - ∿ Set Selected Sample Mute Group to 4 - - - Paketti - ∿ Set Selected Sample Mute Group to 5 - - - Paketti - ∿ Set Selected Sample Mute Group to 6 - - - Paketti - ∿ Set Selected Sample Mute Group to 7 - - - Paketti - ∿ Set Selected Sample Mute Group to 8 - - - Paketti - ∿ Set Selected Sample Mute Group to 9 - - - Paketti - ∿ Set Selected Sample Mute Group to A - - - Paketti - ∿ Set Selected Sample Mute Group to B - - - Paketti - ∿ Set Selected Sample Mute Group to C - - - Paketti - ∿ Set Selected Sample Mute Group to D - - - Paketti - ∿ Set Selected Sample Mute Group to E - - - Paketti - ∿ Set Selected Sample Mute Group to F - - - Paketti - ∿ Set Selected Track Output Routing 00 - - - Paketti - ∿ Set Selected Track Output Routing 01 - - - Paketti - ∿ Set Selected Track Output Routing 02 - - - Paketti - ∿ Set Selected Track Output Routing 03 - - - Paketti - ∿ Set Selected Track Output Routing 04 - - - Paketti - ∿ Set Selected Track Output Routing 05 - - - Paketti - ∿ Set Selected Track Output Routing 06 - - - Paketti - ∿ Set Selected Track Output Routing 07 - - - Paketti - ∿ Set Selected Track Output Routing 08 - - - Paketti - ∿ Set Selected Track Output Routing 09 - - - Paketti - ∿ Set Selected Track Output Routing 10 - - - Paketti - ∿ Set Selected Track Output Routing 11 - - - Paketti - ∿ Set Selected Track Output Routing 12 - - - Paketti - ∿ Set Selected Track Output Routing 13 - - - Paketti - ∿ Set Selected Track Output Routing 14 - - - Paketti - ∿ Set Selected Track Output Routing 15 - - - Paketti - ∿ Set Selected Track Output Routing 16 - - - Paketti - ∿ Set Selected Track Output Routing 17 - - - Paketti - ∿ Set Selected Track Output Routing 18 - - - Paketti - ∿ Set Selected Track Output Routing 19 - - - Paketti - ∿ Set Selected Track Output Routing 20 - - - Paketti - ∿ Set Selected Track Output Routing 21 - - - Paketti - ∿ Set Selected Track Output Routing 22 - - - Paketti - ∿ Set Selected Track Output Routing 23 - - - Paketti - ∿ Set Selected Track Output Routing 24 - - - Paketti - ∿ Set Selected Track Output Routing 25 - - - Paketti - ∿ Set Selected Track Output Routing 26 - - - Paketti - ∿ Set Selected Track Output Routing 27 - - - Paketti - ∿ Set Selected Track Output Routing 28 - - - Paketti - ∿ Set Selected Track Output Routing 29 - - - Paketti - ∿ Set Selected Track Output Routing 30 - - - Paketti - ∿ Set Selected Track Output Routing 31 - - - Paketti - ∿ Set Selected Track Output Routing 32 - - - Paketti - ∿ Set Selected Track Output Routing 33 - - - Paketti - ∿ Set Selected Track Output Routing 34 - - - Paketti - ∿ Set Selected Track Output Routing 35 - - - Paketti - ∿ Set Selected Track Output Routing 36 - - - Paketti - ∿ Set Selected Track Output Routing 37 - - - Paketti - ∿ Set Selected Track Output Routing 38 - - - Paketti - ∿ Set Selected Track Output Routing 39 - - - Paketti - ∿ Set Selected Track Output Routing 40 - - - Paketti - ∿ Set Selected Track Output Routing 41 - - - Paketti - ∿ Set Selected Track Output Routing 42 - - - Paketti - ∿ Set Selected Track Output Routing 43 - - - Paketti - ∿ Set Selected Track Output Routing 44 - - - Paketti - ∿ Set Selected Track Output Routing 45 - - - Paketti - ∿ Set Selected Track Output Routing 46 - - - Paketti - ∿ Set Selected Track Output Routing 47 - - - Paketti - ∿ Set Selected Track Output Routing 48 - - - Paketti - ∿ Set Selected Track Output Routing 49 - - - Paketti - ∿ Set Selected Track Output Routing 50 - - - Paketti - ∿ Set Selected Track Output Routing 51 - - - Paketti - ∿ Set Selected Track Output Routing 52 - - - Paketti - ∿ Set Selected Track Output Routing 53 - - - Paketti - ∿ Set Selected Track Output Routing 54 - - - Paketti - ∿ Set Selected Track Output Routing 55 - - - Paketti - ∿ Set Selected Track Output Routing 56 - - - Paketti - ∿ Set Selected Track Output Routing 57 - - - Paketti - ∿ Set Selected Track Output Routing 58 - - - Paketti - ∿ Set Selected Track Output Routing 59 - - - Paketti - ∿ Set Selected Track Output Routing 60 - - - Paketti - ∿ Set Selected Track Output Routing 61 - - - Paketti - ∿ Set Selected Track Output Routing 62 - - - Paketti - ∿ Set Selected Track Output Routing 63 - - - Paketti - ∿ Set Master Track Output Routing 00 - - - Paketti - ∿ Set Master Track Output Routing 01 - - - Paketti - ∿ Set Master Track Output Routing 02 - - - Paketti - ∿ Set Master Track Output Routing 03 - - - Paketti - ∿ Set Master Track Output Routing 04 - - - Paketti - ∿ Set Master Track Output Routing 05 - - - Paketti - ∿ Set Master Track Output Routing 06 - - - Paketti - ∿ Set Master Track Output Routing 07 - - - Paketti - ∿ Set Master Track Output Routing 08 - - - Paketti - ∿ Set Master Track Output Routing 09 - - - Paketti - ∿ Set Master Track Output Routing 10 - - - Paketti - ∿ Set Master Track Output Routing 11 - - - Paketti - ∿ Set Master Track Output Routing 12 - - - Paketti - ∿ Set Master Track Output Routing 13 - - - Paketti - ∿ Set Master Track Output Routing 14 - - - Paketti - ∿ Set Master Track Output Routing 15 - - - Paketti - ∿ Set Master Track Output Routing 16 - - - Paketti - ∿ Set Master Track Output Routing 17 - - - Paketti - ∿ Set Master Track Output Routing 18 - - - Paketti - ∿ Set Master Track Output Routing 19 - - - Paketti - ∿ Set Master Track Output Routing 20 - - - Paketti - ∿ Set Master Track Output Routing 21 - - - Paketti - ∿ Set Master Track Output Routing 22 - - - Paketti - ∿ Set Master Track Output Routing 23 - - - Paketti - ∿ Set Master Track Output Routing 24 - - - Paketti - ∿ Set Master Track Output Routing 25 - - - Paketti - ∿ Set Master Track Output Routing 26 - - - Paketti - ∿ Set Master Track Output Routing 27 - - - Paketti - ∿ Set Master Track Output Routing 28 - - - Paketti - ∿ Set Master Track Output Routing 29 - - - Paketti - ∿ Set Master Track Output Routing 30 - - - Paketti - ∿ Set Master Track Output Routing 31 - - - Paketti - ∿ Set Master Track Output Routing 32 - - - Paketti - ∿ Set Master Track Output Routing 33 - - - Paketti - ∿ Set Master Track Output Routing 34 - - - Paketti - ∿ Set Master Track Output Routing 35 - - - Paketti - ∿ Set Master Track Output Routing 36 - - - Paketti - ∿ Set Master Track Output Routing 37 - - - Paketti - ∿ Set Master Track Output Routing 38 - - - Paketti - ∿ Set Master Track Output Routing 39 - - - Paketti - ∿ Set Master Track Output Routing 40 - - - Paketti - ∿ Set Master Track Output Routing 41 - - - Paketti - ∿ Set Master Track Output Routing 42 - - - Paketti - ∿ Set Master Track Output Routing 43 - - - Paketti - ∿ Set Master Track Output Routing 44 - - - Paketti - ∿ Set Master Track Output Routing 45 - - - Paketti - ∿ Set Master Track Output Routing 46 - - - Paketti - ∿ Set Master Track Output Routing 47 - - - Paketti - ∿ Set Master Track Output Routing 48 - - - Paketti - ∿ Set Master Track Output Routing 49 - - - Paketti - ∿ Set Master Track Output Routing 50 - - - Paketti - ∿ Set Master Track Output Routing 51 - - - Paketti - ∿ Set Master Track Output Routing 52 - - - Paketti - ∿ Set Master Track Output Routing 53 - - - Paketti - ∿ Set Master Track Output Routing 54 - - - Paketti - ∿ Set Master Track Output Routing 55 - - - Paketti - ∿ Set Master Track Output Routing 56 - - - Paketti - ∿ Set Master Track Output Routing 57 - - - Paketti - ∿ Set Master Track Output Routing 58 - - - Paketti - ∿ Set Master Track Output Routing 59 - - - Paketti - ∿ Set Master Track Output Routing 60 - - - Paketti - ∿ Set Master Track Output Routing 61 - - - Paketti - ∿ Set Master Track Output Routing 62 - - - Paketti - ∿ Set Master Track Output Routing 63 - - - Paketti - ∿ Set Selected Sample Beatsync Line (Power of Two Above) - - - Paketti - ∿ Set Selected Sample Beatsync Line (Power of Two Below) - - - Paketti - ∿ Computer Keyboard Velocity (-16) - - - Paketti - ∿ Computer Keyboard Velocity (+16) - - - Paketti - ∿ BPM Decrease (-5) - - - Paketti - ∿ BPM Increase (+5) - - - Paketti - ∿ Selected Sample Exit Loop Note-Off Toggle - - - Paketti - ∿ Selected Sample Exit Loop Note-Off Off - - - Paketti - ∿ Selected Sample Exit Loop Note-Off On - - - Paketti - ∿ Set Selected Sample Autofade On - - - Paketti - ∿ Set Selected Sample Autofade Off - - - Paketti - ∿ Set Selected Sample Finetune (-5) - - - Paketti - ∿ Set Selected Sample Finetune (+5) - - - Paketti - ∿ Set Selected Sample Volume (+0.05) - - - Paketti - ∿ Set Selected Sample Volume (-0.05) - - - Paketti - ∿ Set Selected Sample Panning (+0.05) - - - Paketti - ∿ Set Selected Sample Panning (-0.05) - - - Paketti - ∿ Set Selected Sample Transpose (-5) - - - Paketti - ∿ Set Selected Sample Transpose (+5) - - - Paketti - ∿ Set Selected Sample Mod to 00 - - - Paketti - ∿ Set Selected Sample Mod to 01 - - - Paketti - ∿ Set Selected Sample Mod to 02 - - - Paketti - ∿ Set Selected Sample Mod to 03 - - - Paketti - ∿ Set Selected Sample Mod to 04 - - - Paketti - ∿ Set Selected Sample Mod to 05 - - - Paketti - ∿ Set Selected Sample Mod to 06 - - - Paketti - ∿ Set Selected Sample Mod to 07 - - - Paketti - ∿ Set Selected Sample Mod to 08 - - - Paketti - ∿ Set Selected Sample Mod to 09 - - - Paketti - ∿ Set Selected Sample Mod to 10 - - - Paketti - ∿ Set Selected Sample Mod to 11 - - - Paketti - ∿ Set Selected Sample Mod to 12 - - - Paketti - ∿ Set Selected Sample Mod to 13 - - - Paketti - ∿ Set Selected Sample Mod to 14 - - - Paketti - ∿ Set Selected Sample Mod to 15 - - - Paketti - ∿ Set Selected Sample Mod to 16 - - - Paketti - ∿ Set Selected Sample Mod to 17 - - - Paketti - ∿ Set Selected Sample Mod to 18 - - - Paketti - ∿ Set Selected Sample Mod to 19 - - - Paketti - ∿ Set Selected Sample Mod to 20 - - - Paketti - ∿ Set Selected Sample Mod to 21 - - - Paketti - ∿ Set Selected Sample Mod to 22 - - - Paketti - ∿ Set Selected Sample Mod to 23 - - - Paketti - ∿ Set Selected Sample Mod to 24 - - - Paketti - ∿ Set Selected Sample Mod to 25 - - - Paketti - ∿ Set Selected Sample Mod to 26 - - - Paketti - ∿ Set Selected Sample Mod to 27 - - - Paketti - ∿ Set Selected Sample Mod to 28 - - - Paketti - ∿ Set Selected Sample Mod to 29 - - - Paketti - ∿ Set Selected Sample Mod to 30 - - - Paketti - ∿ Set Selected Sample Mod to 31 - - - Paketti - ∿ Set Selected Sample Mod to 32 - - - Paketti - ∿ Set Selected Sample FX to 00 - - - Paketti - ∿ Set Selected Sample FX to 01 - - - Paketti - ∿ Set Selected Sample FX to 02 - - - Paketti - ∿ Set Selected Sample FX to 03 - - - Paketti - ∿ Set Selected Sample FX to 04 - - - Paketti - ∿ Set Selected Sample FX to 05 - - - Paketti - ∿ Set Selected Sample FX to 06 - - - Paketti - ∿ Set Selected Sample FX to 07 - - - Paketti - ∿ Set Selected Sample FX to 08 - - - Paketti - ∿ Set Selected Sample FX to 09 - - - Paketti - ∿ Set Selected Sample FX to 10 - - - Paketti - ∿ Set Selected Sample FX to 11 - - - Paketti - ∿ Set Selected Sample FX to 12 - - - Paketti - ∿ Set Selected Sample FX to 13 - - - Paketti - ∿ Set Selected Sample FX to 14 - - - Paketti - ∿ Set Selected Sample FX to 15 - - - Paketti - ∿ Set Selected Sample FX to 16 - - - Paketti - ∿ Set Selected Sample FX to 17 - - - Paketti - ∿ Set Selected Sample FX to 18 - - - Paketti - ∿ Set Selected Sample FX to 19 - - - Paketti - ∿ Set Selected Sample FX to 20 - - - Paketti - ∿ Set Selected Sample FX to 21 - - - Paketti - ∿ Set Selected Sample FX to 22 - - - Paketti - ∿ Set Selected Sample FX to 23 - - - Paketti - ∿ Set Selected Sample FX to 24 - - - Paketti - ∿ Set Selected Sample FX to 25 - - - Paketti - ∿ Set Selected Sample FX to 26 - - - Paketti - ∿ Set Selected Sample FX to 27 - - - Paketti - ∿ Set Selected Sample FX to 28 - - - Paketti - ∿ Set Selected Sample FX to 29 - - - Paketti - ∿ Set Selected Sample FX to 30 - - - Paketti - ∿ Set Selected Sample FX to 31 - - - Paketti - ∿ Set Selected Sample FX to 32 - - - Paketti - ∿ Set Selected Instrument All Mod to 00 - - - Paketti - ∿ Set Selected Instrument All Mod to 01 - - - Paketti - ∿ Set Selected Instrument All Mod to 02 - - - Paketti - ∿ Set Selected Instrument All Mod to 03 - - - Paketti - ∿ Set Selected Instrument All Mod to 04 - - - Paketti - ∿ Set Selected Instrument All Mod to 05 - - - Paketti - ∿ Set Selected Instrument All Mod to 06 - - - Paketti - ∿ Set Selected Instrument All Mod to 07 - - - Paketti - ∿ Set Selected Instrument All Mod to 08 - - - Paketti - ∿ Set Selected Instrument All Mod to 09 - - - Paketti - ∿ Set Selected Instrument All Mod to 10 - - - Paketti - ∿ Set Selected Instrument All Mod to 11 - - - Paketti - ∿ Set Selected Instrument All Mod to 12 - - - Paketti - ∿ Set Selected Instrument All Mod to 13 - - - Paketti - ∿ Set Selected Instrument All Mod to 14 - - - Paketti - ∿ Set Selected Instrument All Mod to 15 - - - Paketti - ∿ Set Selected Instrument All Mod to 16 - - - Paketti - ∿ Set Selected Instrument All Mod to 17 - - - Paketti - ∿ Set Selected Instrument All Mod to 18 - - - Paketti - ∿ Set Selected Instrument All Mod to 19 - - - Paketti - ∿ Set Selected Instrument All Mod to 20 - - - Paketti - ∿ Set Selected Instrument All Mod to 21 - - - Paketti - ∿ Set Selected Instrument All Mod to 22 - - - Paketti - ∿ Set Selected Instrument All Mod to 23 - - - Paketti - ∿ Set Selected Instrument All Mod to 24 - - - Paketti - ∿ Set Selected Instrument All Mod to 25 - - - Paketti - ∿ Set Selected Instrument All Mod to 26 - - - Paketti - ∿ Set Selected Instrument All Mod to 27 - - - Paketti - ∿ Set Selected Instrument All Mod to 28 - - - Paketti - ∿ Set Selected Instrument All Mod to 29 - - - Paketti - ∿ Set Selected Instrument All Mod to 30 - - - Paketti - ∿ Set Selected Instrument All Mod to 31 - - - Paketti - ∿ Set Selected Instrument All Mod to 32 - - - Paketti - ∿ Set Selected Instrument All Fx to 01 - - - Paketti - ∿ Set Selected Instrument All Fx to 02 - - - Paketti - ∿ Set Selected Instrument All Fx to 03 - - - Paketti - ∿ Set Selected Instrument All Fx to 04 - - - Paketti - ∿ Set Selected Instrument All Fx to 05 - - - Paketti - ∿ Set Selected Instrument All Fx to 06 - - - Paketti - ∿ Set Selected Instrument All Fx to 07 - - - Paketti - ∿ Set Selected Instrument All Fx to 08 - - - Paketti - ∿ Set Selected Instrument All Fx to 09 - - - Paketti - ∿ Set Selected Instrument All Fx to 10 - - - Paketti - ∿ Set Selected Instrument All Fx to 11 - - - Paketti - ∿ Set Selected Instrument All Fx to 12 - - - Paketti - ∿ Set Selected Instrument All Fx to 13 - - - Paketti - ∿ Set Selected Instrument All Fx to 14 - - - Paketti - ∿ Set Selected Instrument All Fx to 15 - - - Paketti - ∿ Set Selected Instrument All Fx to 16 - - - Paketti - ∿ Set Selected Instrument All Fx to 17 - - - Paketti - ∿ Set Selected Instrument All Fx to 18 - - - Paketti - ∿ Set Selected Instrument All Fx to 19 - - - Paketti - ∿ Set Selected Instrument All Fx to 20 - - - Paketti - ∿ Set Selected Instrument All Fx to 21 - - - Paketti - ∿ Set Selected Instrument All Fx to 22 - - - Paketti - ∿ Set Selected Instrument All Fx to 23 - - - Paketti - ∿ Set Selected Instrument All Fx to 24 - - - Paketti - ∿ Set Selected Instrument All Fx to 25 - - - Paketti - ∿ Set Selected Instrument All Fx to 26 - - - Paketti - ∿ Set Selected Instrument All Fx to 27 - - - Paketti - ∿ Set Selected Instrument All Fx to 28 - - - Paketti - ∿ Set Selected Instrument All Fx to 29 - - - Paketti - ∿ Set Selected Instrument All Fx to 30 - - - Paketti - ∿ Set Selected Instrument All Fx to 31 - - - Paketti - ∿ Set Selected Instrument All Fx to 32 - - - Paketti - ∿ Set Selected Instrument All Autofade On/Off - - - Paketti - ∿ Set Selected Instrument All Autofade On - - - Paketti - ∿ Set Selected Instrument All Autofade Off - - - Paketti - ∿ Halve Beatsync Lines (All) - - - Paketti - ∿ Halve Beatsync Lines (Selected Sample) - - - Paketti - ∿ Double Beatsync Lines (All) - - - Paketti - ∿ Double Beatsync Lines (Selected Sample) - - - Paketti - ∿ Halve Halve Beatsync Lines (All) - - - Paketti - ∿ Halve Halve Beatsync Lines (Selected Sample) - - - Paketti - ∿ Double Double Beatsync Lines (All) - - - Paketti - ∿ Double Double Beatsync Lines (Selected Sample) - - - Paketti - ∿ 12st PitchBend Instrument Init - - - Paketti - ∿ 24st PitchBend Instrument Init - - - Paketti - ∿ 36st PitchBend Instrument Init - - - Paketti - ∿ 48st PitchBend Instrument Init - - - Paketti - ∿ 64st PitchBend Instrument Init - - - Paketti - ∿ 96st PitchBend Instrument Init - - - Paketti - ∿ PitchBend Drumkit Instrument Init - - - Paketti - ∿ Set Selected Instrument Transpose (-1) - - - Paketti - ∿ Set Selected Instrument Transpose (+1) - - - Paketti - ∿ Set Selected Instrument Transpose (-12) - - - Paketti - ∿ Set Selected Instrument Transpose (+12) - - - Paketti - ∿ Set Selected Instrument Transpose 0 (Reset) - - - Paketti - ∿ Set Selected Instrument Velocity Tracking On - - - Paketti - ∿ Set Selected Instrument Velocity Tracking Off - - - Paketti - ∿ Toggle Selected Sample Velocity Tracking - - - Paketti - ∿ Set Selected Sample Velocity Tracking On - - - Paketti - ∿ Set Selected Sample Velocity Tracking Off - - - Paketti - ∿ Select Instrument 00 - - - Paketti - ∿ Select Instrument 01 - - - Paketti - ∿ Select Instrument 02 - - - Paketti - ∿ Select Instrument 03 - - - Paketti - ∿ Select Instrument 04 - - - Paketti - ∿ Select Instrument 05 - - - Paketti - ∿ Select Instrument 06 - - - Paketti - ∿ Select Instrument 07 - - - Paketti - ∿ Select Instrument 08 - - - Paketti - ∿ Select Instrument 09 - - - Paketti - ∿ Select Instrument 10 - - - Paketti - ∿ Select Instrument 11 - - - Paketti - ∿ Select Instrument 12 - - - Paketti - ∿ Select Instrument 13 - - - Paketti - ∿ Select Instrument 14 - - - Paketti - ∿ Select Instrument 15 - - - Paketti - ∿ Select Instrument 16 - - - Paketti - ∿ Select Instrument 17 - - - Paketti - ∿ Select Instrument 18 - - - Paketti - ∿ Select Instrument 19 - - - Paketti - ∿ Select Instrument 20 - - - Paketti - ∿ Select Instrument 21 - - - Paketti - ∿ Select Instrument 22 - - - Paketti - ∿ Select Instrument 23 - - - Paketti - ∿ Select Instrument 24 - - - Paketti - ∿ Select Instrument 25 - - - Paketti - ∿ Select Instrument 26 - - - Paketti - ∿ Select Instrument 27 - - - Paketti - ∿ Select Instrument 28 - - - Paketti - ∿ Select Instrument 29 - - - Paketti - ∿ Select Instrument 30 - - - Paketti - ∿ Select Instrument 31 - - - Paketti - ∿ Select Instrument 32 - - - Paketti - ∿ Select Group (Next) - - - Paketti - ∿ Select Group (Previous) - - - Paketti - ∿ Delete / Clear / Wipe Entire Row - - - Paketti - ∿ Delete / Clear / Wipe Selected Note Column with EditStep - Shift + Command + G - - - Paketti - ∿ Set Selected Instrument Volume (All) (+0.01) - - - Paketti - ∿ Set Selected Instrument Volume (All) (-0.01) - - - Paketti - ∿ Set Selected Instrument Volume Reset (All) (0.0dB) - - - Paketti - ∿ Set Selected Instrument Volume (All) (-INF dB) - - - Paketti - ∿ Set Selected Instrument Global Volume (+0.01) - - - Paketti - ∿ Set Selected Instrument Global Volume (-0.01) - - - Paketti - ∿ Set Selected Instrument Global Volume (0.0dB) - - - Paketti - ∿ Set Selected Instrument Global Volume (-INF dB) - - - Paketti - ∿ Set Selected Instrument Panning (+0.01) - - - Paketti - ∿ Set Selected Instrument Panning (-0.01) - - - Paketti - ∿ Set Selected Instrument Panning Reset (Center) - - - Paketti - ∿ Set Selected Instrument Panning 0.0 (Left) - - - Paketti - ∿ Set Selected Instrument Panning 1.0 (Right) - - - Paketti - ∿ Catch Octave - - - Paketti - ∿ Set Selected Instrument Interpolation to 1 (None) - - - Paketti - ∿ Set Selected Instrument Interpolation to 2 (Linear) - - - Paketti - ∿ Set Selected Instrument Interpolation to 3 (Cubic) - - - Paketti - ∿ Set Selected Instrument Interpolation to 4 (Sinc) - - - Paketti - ∿ Set Selected Instrument Finetune (-1) - - - Paketti - ∿ Set Selected Instrument Finetune (+1) - - - Paketti - ∿ Set Selected Instrument Finetune (-10) - - - Paketti - ∿ Set Selected Instrument Finetune (+10) - - - Paketti - ∿ Set Selected Instrument Finetune (0) - - - Paketti - ∿ Set Selected Sample Mod Group (Next) - - - Paketti - ∿ Set Selected Sample Mod Group (Previous) - - - Paketti - ∿ Set Selected Sample FX Group (Next) - - - Paketti - ∿ Set Selected Sample FX Group (Previous) - - - Paketti - ∿ Set Selected Instrument Mod Group (Next) - - - Paketti - ∿ Set Selected Instrument Mod Group (Previous) - - - Paketti - ∿ Set Selected Instrument FX Group (Next) - - - Paketti - ∿ Set Selected Instrument FX Group (Previous) - - - Paketti - ∿ Duplicate Track, set to Selected Instrument - - - Paketti - ∿ Duplicate Track Duplicate Instrument - - - Paketti - ∿ Bypass All Other Track DSP Devices (Toggle) - - - Paketti - ∿ Create Identical Track - - - Paketti - ∿ Note Column Solo Toggle - - - Paketti - ∿ Group Tracks Note Column Solo Toggle - - - Paketti - ∿ Move Slice Start Left by 10 - - - Paketti - ∿ Move Slice Start Right by 10 - - - Paketti - ∿ Move Slice End Left by 10 - - - Paketti - ∿ Move Slice End Right by 10 - - - Paketti - ∿ Move Slice Start Left by 100 - - - Paketti - ∿ Move Slice Start Right by 100 - - - Paketti - ∿ Move Slice End Left by 100 - - - Paketti - ∿ Move Slice End Right by 100 - - - Paketti - ∿ Move Slice Start Left by 300 - - - Paketti - ∿ Move Slice Start Right by 300 - - - Paketti - ∿ Move Slice End Left by 300 - - - Paketti - ∿ Move Slice End Right by 300 - - - Paketti - ∿ Move Slice Start Left by 500 - - - Paketti - ∿ Move Slice Start Right by 500 - - - Paketti - ∿ Move Slice End Left by 500 - - - Paketti - ∿ Move Slice End Right by 500 - - - Paketti - ∿ Isolate Slices or Samples to New Instruments - - - Paketti - ∿ Octave Basenote Up - - - Paketti - ∿ Octave Basenote Down - - - Paketti - ∿ Populate Send Tracks for All Tracks - - - Paketti - ∿ Populate Send Tracks for Selected Track - - - Paketti - ∿ Populate Send Tracks for All Selected Tracks - - - Paketti - ∿ Send Reverser - - - Paketti - ∿ Set Selected Track Volume to -INF dB - - - Paketti - ∿ Set Selected Track Volume to 0.0dB - - - Paketti - ∿ Set Master Track Volume to -INF dB - - - Paketti - ∿ Set Master Track Volume to 0.0dB - - - Paketti - ∿ Change Master Track Volume by +0.1dB - - - Paketti - ∿ Change Master Track Volume by -0.1dB - - - Paketti - ∿ Pattern Resize and Fill 032 - - - Paketti - ∿ Pattern Resize and Fill 064 - - - Paketti - ∿ Pattern Resize and Fill 128 - - - Paketti - ∿ Pattern Resize and Fill 256 - - - Paketti - ∿ Pattern Resize and Fill 512 - - - Paketti - ∿ Open Oblique Strategies Dialog... - Control + O - - - Paketti - ∿ Shuffle Oblique Strategies Cards - - - Paketti - ∿ Paketti Track Dater & Titler - Control + S - - - Paketti - ∿ Set Selected Sample Volume to -INF dB - - - Paketti - ∿ Set Selected Sample Volume 0.0dB, others -INF - - - Paketti - ∿ Record+Follow+Metronome Precount 1 Bar - - - Paketti - ∿ Record+Follow+Metronome Precount 2 Bar - - - Paketti - ∿ Record+Follow+Metronome Precount 3 Bar - - - Paketti - ∿ Record+Follow+Metronome Precount 4 Bar - - - Paketti - ∿ Set Selected Sample (+1) Velocity Range 7F others 00 - - - Paketti - ∿ Set Selected Sample (-1) Velocity Range 7F others 00 - - - Paketti - ∿ Set Selected Sample (Random) Velocity Range 7F others 00 - - - Paketti - ∿ Set Selected Sample Velocity Range 7F - - - Paketti - ∿ Set Selected Sample Velocity Range 00 - - - Paketti - ∿ Set Sample Slot 01 Velocity to 00 - - - Paketti - ∿ Set Sample Slot 01 Velocity to 7F - - - Paketti - ∿ Set Sample Slot 02 Velocity to 00 - - - Paketti - ∿ Set Sample Slot 02 Velocity to 7F - - - Paketti - ∿ Set Sample Slot 03 Velocity to 00 - - - Paketti - ∿ Set Sample Slot 03 Velocity to 7F - - - Paketti - ∿ Set Sample Slot 04 Velocity to 00 - - - Paketti - ∿ Set Sample Slot 04 Velocity to 7F - - - Paketti - ∿ Set Sample Slot 05 Velocity to 00 - - - Paketti - ∿ Set Sample Slot 05 Velocity to 7F - - - Paketti - ∿ Set Sample Slot 06 Velocity to 00 - - - Paketti - ∿ Set Sample Slot 06 Velocity to 7F - - - Paketti - ∿ Set Sample Slot 07 Velocity to 00 - - - Paketti - ∿ Set Sample Slot 07 Velocity to 7F - - - Paketti - ∿ Set Sample Slot 08 Velocity to 00 - - - Paketti - ∿ Set Sample Slot 08 Velocity to 7F - - - Paketti - ∿ Set Sample Slot 09 Velocity to 00 - - - Paketti - ∿ Set Sample Slot 09 Velocity to 7F - - - Paketti - ∿ Set Sample Slot 10 Velocity to 00 - - - Paketti - ∿ Set Sample Slot 10 Velocity to 7F - - - Paketti - ∿ Set Sample Slot 11 Velocity to 00 - - - Paketti - ∿ Set Sample Slot 11 Velocity to 7F - - - Paketti - ∿ Set Sample Slot 12 Velocity to 00 - - - Paketti - ∿ Set Sample Slot 12 Velocity to 7F - - - Paketti - ∿ Set Sample Slot 13 Velocity to 00 - - - Paketti - ∿ Set Sample Slot 13 Velocity to 7F - - - Paketti - ∿ Set Sample Slot 14 Velocity to 00 - - - Paketti - ∿ Set Sample Slot 14 Velocity to 7F - - - Paketti - ∿ Set Sample Slot 15 Velocity to 00 - - - Paketti - ∿ Set Sample Slot 15 Velocity to 7F - - - Paketti - ∿ Set Sample Slot 16 Velocity to 00 - - - Paketti - ∿ Set Sample Slot 16 Velocity to 7F - - - Paketti - ∿ Set Sample Slot 17 Velocity to 00 - - - Paketti - ∿ Set Sample Slot 17 Velocity to 7F - - - Paketti - ∿ Set Sample Slot 18 Velocity to 00 - - - Paketti - ∿ Set Sample Slot 18 Velocity to 7F - - - Paketti - ∿ Set Sample Slot 19 Velocity to 00 - - - Paketti - ∿ Set Sample Slot 19 Velocity to 7F - - - Paketti - ∿ Set Sample Slot 20 Velocity to 00 - - - Paketti - ∿ Set Sample Slot 20 Velocity to 7F - - - Paketti - ∿ Set Sample Slot 21 Velocity to 00 - - - Paketti - ∿ Set Sample Slot 21 Velocity to 7F - - - Paketti - ∿ Set Sample Slot 22 Velocity to 00 - - - Paketti - ∿ Set Sample Slot 22 Velocity to 7F - - - Paketti - ∿ Set Sample Slot 23 Velocity to 00 - - - Paketti - ∿ Set Sample Slot 23 Velocity to 7F - - - Paketti - ∿ Set Sample Slot 24 Velocity to 00 - - - Paketti - ∿ Set Sample Slot 24 Velocity to 7F - - - Paketti - ∿ Set Sample Slot 25 Velocity to 00 - - - Paketti - ∿ Set Sample Slot 25 Velocity to 7F - - - Paketti - ∿ Set Sample Slot 26 Velocity to 00 - - - Paketti - ∿ Set Sample Slot 26 Velocity to 7F - - - Paketti - ∿ Set Sample Slot 27 Velocity to 00 - - - Paketti - ∿ Set Sample Slot 27 Velocity to 7F - - - Paketti - ∿ Set Sample Slot 28 Velocity to 00 - - - Paketti - ∿ Set Sample Slot 28 Velocity to 7F - - - Paketti - ∿ Set Sample Slot 29 Velocity to 00 - - - Paketti - ∿ Set Sample Slot 29 Velocity to 7F - - - Paketti - ∿ Set Sample Slot 30 Velocity to 00 - - - Paketti - ∿ Set Sample Slot 30 Velocity to 7F - - - Paketti - ∿ Set Sample Slot 31 Velocity to 00 - - - Paketti - ∿ Set Sample Slot 31 Velocity to 7F - - - Paketti - ∿ Set Sample Slot 32 Velocity to 00 - - - Paketti - ∿ Set Sample Slot 32 Velocity to 7F - - - Paketti - ∿ Set All Samples Velocity Range 7F - - - Paketti - ∿ Resize all non-empty Patterns to 96 - - - Paketti - ∿ Resize all non-empty Patterns to current Pattern length - - - Paketti - ∿ Randomize Selected Sample Finetune/Transpose +6/-6 - - - Paketti - ∿ Randomize Selected Sample Transpose +6/-6 Finetune +127/-127 - - - Paketti - ∿ Double LPB - - - Paketti - ∿ Halve LPB - - - Paketti - ∿ Double Double LPB - - - Paketti - ∿ Halve Halve LPB - - - Paketti - ∿ Halve BPM - - - Paketti - ∿ Double BPM - - - Paketti - ∿ Halve Halve BPM - - - Paketti - ∿ Double Double BPM - - - Paketti - ∿ Jump to Sends - Shift + Command + Control + Right - - - Paketti - ∿ Master TDR Kotelnikov Show/Hide - - - Paketti - ∿ Show/Hide User Preference Devices Master Dialog - Shift + Option + 0 - - - Paketti - ∿ Open User Preferences Dialog - - - Paketti - ∿ Show/Hide Slot 01 on Master - - - Paketti - ∿ Show/Hide Slot 01 on Selected Track - - - Paketti - ∿ Show/Hide Slot 02 on Master - - - Paketti - ∿ Show/Hide Slot 02 on Selected Track - - - Paketti - ∿ Show/Hide Slot 03 on Master - - - Paketti - ∿ Show/Hide Slot 03 on Selected Track - - - Paketti - ∿ Show/Hide Slot 04 on Master - - - Paketti - ∿ Show/Hide Slot 04 on Selected Track - - - Paketti - ∿ Show/Hide Slot 05 on Master - - - Paketti - ∿ Show/Hide Slot 05 on Selected Track - - - Paketti - ∿ Show/Hide Slot 06 on Master - - - Paketti - ∿ Show/Hide Slot 06 on Selected Track - - - Paketti - ∿ Show/Hide Slot 07 on Master - - - Paketti - ∿ Show/Hide Slot 07 on Selected Track - - - Paketti - ∿ Show/Hide Slot 08 on Master - - - Paketti - ∿ Show/Hide Slot 08 on Selected Track - - - Paketti - ∿ Show/Hide Slot 09 on Master - - - Paketti - ∿ Show/Hide Slot 09 on Selected Track - - - Paketti - ∿ Show/Hide Slot 10 on Master - - - Paketti - ∿ Show/Hide Slot 10 on Selected Track - - - Paketti - ∿ Set Selected Sample FX Group to None - - - Paketti - ∿ Change Selected Track Volume by +0.1dB - Shift + Control + Minus - - - Paketti - ∿ Change Selected Track Volume by +0.5dB - - - Paketti - ∿ Change Selected Track Volume by +1dB - - - Paketti - ∿ Change Selected Track Volume by -0.1dB - Shift + Control + Slash - - - Paketti - ∿ Change Selected Track Volume by -0.5dB - - - Paketti - ∿ Change Selected Track Volume by -1dB - - - Paketti - ∿ Loop Set Percussion - Shift + Command + Y - - - Paketti - ∿ Loop Set Texture - Shift + Command + U - - - Paketti - ∿ Select Sample Next - - - Paketti - ∿ Select Sample Previous - - - Paketti - ∿ Output Routing (Non-Continual, Skip Master, Exclude Master) - - - Paketti - ∿ Output Routing (Continual, Skip Master, Exclude Master) - - - Paketti - ∿ Output Routing (Non-Continual, Include Master, Exclude Master) - - - Paketti - ∿ Output Routing (Continual, Include Master, Exclude Master) - - - Paketti - ∿ Output Routing (Non-Continual, Skip Master, Include Master in Cycle) - - - Paketti - ∿ Output Routing (Continual, Skip Master, Include Master in Cycle) - - - Paketti - ∿ Output Routing (Non-Continual, Include Master, Include Master in Cycle) - - - Paketti - ∿ Output Routing (Continual, Include Master, Include Master in Cycle) - - - Paketti - ∿ Reset Output Routings to Master - - - Paketti - ∿ Play Current Line&Step Forwards - - - Paketti - ∿ Play Current Line&Step Backwards - - - Paketti - ∿ Play Current Line&Step Random - - - Paketti - ∿ Device Control 01 (Enable) - - - Paketti - ∿ Device Control 01 (Disable) - - - Paketti - ∿ Device Control 01 (Toggle) - - - Paketti - ∿ Device Control 02 (Enable) - - - Paketti - ∿ Device Control 02 (Disable) - - - Paketti - ∿ Device Control 02 (Toggle) - - - Paketti - ∿ Device Control 03 (Enable) - - - Paketti - ∿ Device Control 03 (Disable) - - - Paketti - ∿ Device Control 03 (Toggle) - - - Paketti - ∿ Device Control 04 (Enable) - - - Paketti - ∿ Device Control 04 (Disable) - - - Paketti - ∿ Device Control 04 (Toggle) - - - Paketti - ∿ Device Control 05 (Enable) - - - Paketti - ∿ Device Control 05 (Disable) - - - Paketti - ∿ Device Control 05 (Toggle) - - - Paketti - ∿ Device Control 06 (Enable) - - - Paketti - ∿ Device Control 06 (Disable) - - - Paketti - ∿ Device Control 06 (Toggle) - - - Paketti - ∿ Device Control 07 (Enable) - - - Paketti - ∿ Device Control 07 (Disable) - - - Paketti - ∿ Device Control 07 (Toggle) - - - Paketti - ∿ Device Control 08 (Enable) - - - Paketti - ∿ Device Control 08 (Disable) - - - Paketti - ∿ Device Control 08 (Toggle) - - - Paketti - ∿ Device Control 09 (Enable) - - - Paketti - ∿ Device Control 09 (Disable) - - - Paketti - ∿ Device Control 09 (Toggle) - - - Paketti - ∿ Device Control 10 (Enable) - - - Paketti - ∿ Device Control 10 (Disable) - - - Paketti - ∿ Device Control 10 (Toggle) - - - Paketti - ∿ Device Control 11 (Enable) - - - Paketti - ∿ Device Control 11 (Disable) - - - Paketti - ∿ Device Control 11 (Toggle) - - - Paketti - ∿ Device Control 12 (Enable) - - - Paketti - ∿ Device Control 12 (Disable) - - - Paketti - ∿ Device Control 12 (Toggle) - - - Paketti - ∿ Device Control 13 (Enable) - - - Paketti - ∿ Device Control 13 (Disable) - - - Paketti - ∿ Device Control 13 (Toggle) - - - Paketti - ∿ Device Control 14 (Enable) - - - Paketti - ∿ Device Control 14 (Disable) - - - Paketti - ∿ Device Control 14 (Toggle) - - - Paketti - ∿ Device Control 15 (Enable) - - - Paketti - ∿ Device Control 15 (Disable) - - - Paketti - ∿ Device Control 15 (Toggle) - - - Paketti - ∿ Device Control 16 (Enable) - - - Paketti - ∿ Device Control 16 (Disable) - - - Paketti - ∿ Device Control 16 (Toggle) - - - Paketti - ∿ Device Control 17 (Enable) - - - Paketti - ∿ Device Control 17 (Disable) - - - Paketti - ∿ Device Control 17 (Toggle) - - - Paketti - ∿ Device Control 18 (Enable) - - - Paketti - ∿ Device Control 18 (Disable) - - - Paketti - ∿ Device Control 18 (Toggle) - - - Paketti - ∿ Device Control 19 (Enable) - - - Paketti - ∿ Device Control 19 (Disable) - - - Paketti - ∿ Device Control 19 (Toggle) - - - Paketti - ∿ Device Control 20 (Enable) - - - Paketti - ∿ Device Control 20 (Disable) - - - Paketti - ∿ Device Control 20 (Toggle) - - - Paketti - ∿ Device Control 21 (Enable) - - - Paketti - ∿ Device Control 21 (Disable) - - - Paketti - ∿ Device Control 21 (Toggle) - - - Paketti - ∿ Device Control 22 (Enable) - - - Paketti - ∿ Device Control 22 (Disable) - - - Paketti - ∿ Device Control 22 (Toggle) - - - Paketti - ∿ Device Control 23 (Enable) - - - Paketti - ∿ Device Control 23 (Disable) - - - Paketti - ∿ Device Control 23 (Toggle) - - - Paketti - ∿ Device Control 24 (Enable) - - - Paketti - ∿ Device Control 24 (Disable) - - - Paketti - ∿ Device Control 24 (Toggle) - - - Paketti - ∿ Device Control 25 (Enable) - - - Paketti - ∿ Device Control 25 (Disable) - - - Paketti - ∿ Device Control 25 (Toggle) - - - Paketti - ∿ Device Control 26 (Enable) - - - Paketti - ∿ Device Control 26 (Disable) - - - Paketti - ∿ Device Control 26 (Toggle) - - - Paketti - ∿ Device Control 27 (Enable) - - - Paketti - ∿ Device Control 27 (Disable) - - - Paketti - ∿ Device Control 27 (Toggle) - - - Paketti - ∿ Device Control 28 (Enable) - - - Paketti - ∿ Device Control 28 (Disable) - - - Paketti - ∿ Device Control 28 (Toggle) - - - Paketti - ∿ Device Control 29 (Enable) - - - Paketti - ∿ Device Control 29 (Disable) - - - Paketti - ∿ Device Control 29 (Toggle) - - - Paketti - ∿ Device Control 30 (Enable) - - - Paketti - ∿ Device Control 30 (Disable) - - - Paketti - ∿ Device Control 30 (Toggle) - - - Paketti - ∿ Device Control 31 (Enable) - - - Paketti - ∿ Device Control 31 (Disable) - - - Paketti - ∿ Device Control 31 (Toggle) - - - Paketti - ∿ Device Control 32 (Enable) - - - Paketti - ∿ Device Control 32 (Disable) - - - Paketti - ∿ Device Control 32 (Toggle) - - - Paketti - ∿ Device Control 33 (Enable) - - - Paketti - ∿ Device Control 33 (Disable) - - - Paketti - ∿ Device Control 33 (Toggle) - - - Paketti - ∿ Device Control 34 (Enable) - - - Paketti - ∿ Device Control 34 (Disable) - - - Paketti - ∿ Device Control 34 (Toggle) - - - Paketti - ∿ Play at Random Line in Current Pattern - - - Paketti - ∿ Play at Random Line in Current Pattern 2 - - - Paketti - ∿ Play at Random Line in Current Pattern 4 - - - Paketti - ∿ Play at Random Line in Current Pattern LPB - - - Paketti - ∿ Play at Row 000 (000) - - - Paketti - ∿ Play at Row 001 (001) - - - Paketti - ∿ Play at Row 002 (002) - - - Paketti - ∿ Play at Row 003 (003) - - - Paketti - ∿ Play at Row 004 (004) - - - Paketti - ∿ Play at Row 005 (005) - - - Paketti - ∿ Play at Row 006 (006) - - - Paketti - ∿ Play at Row 007 (007) - - - Paketti - ∿ Play at Row 008 (008) - - - Paketti - ∿ Play at Row 009 (009) - - - Paketti - ∿ Play at Row 010 (00A) - - - Paketti - ∿ Play at Row 011 (00B) - - - Paketti - ∿ Play at Row 012 (00C) - - - Paketti - ∿ Play at Row 013 (00D) - - - Paketti - ∿ Play at Row 014 (00E) - - - Paketti - ∿ Play at Row 015 (00F) - - - Paketti - ∿ Play at Row 016 (010) - - - Paketti - ∿ Play at Row 017 (011) - - - Paketti - ∿ Play at Row 018 (012) - - - Paketti - ∿ Play at Row 019 (013) - - - Paketti - ∿ Play at Row 020 (014) - - - Paketti - ∿ Play at Row 021 (015) - - - Paketti - ∿ Play at Row 022 (016) - - - Paketti - ∿ Play at Row 023 (017) - - - Paketti - ∿ Play at Row 024 (018) - - - Paketti - ∿ Play at Row 025 (019) - - - Paketti - ∿ Play at Row 026 (01A) - - - Paketti - ∿ Play at Row 027 (01B) - - - Paketti - ∿ Play at Row 028 (01C) - - - Paketti - ∿ Play at Row 029 (01D) - - - Paketti - ∿ Play at Row 030 (01E) - - - Paketti - ∿ Play at Row 031 (01F) - - - Paketti - ∿ Play at Row 032 (020) - - - Paketti - ∿ Play at Row 033 (021) - - - Paketti - ∿ Play at Row 034 (022) - - - Paketti - ∿ Play at Row 035 (023) - - - Paketti - ∿ Play at Row 036 (024) - - - Paketti - ∿ Play at Row 037 (025) - - - Paketti - ∿ Play at Row 038 (026) - - - Paketti - ∿ Play at Row 039 (027) - - - Paketti - ∿ Play at Row 040 (028) - - - Paketti - ∿ Play at Row 041 (029) - - - Paketti - ∿ Play at Row 042 (02A) - - - Paketti - ∿ Play at Row 043 (02B) - - - Paketti - ∿ Play at Row 044 (02C) - - - Paketti - ∿ Play at Row 045 (02D) - - - Paketti - ∿ Play at Row 046 (02E) - - - Paketti - ∿ Play at Row 047 (02F) - - - Paketti - ∿ Play at Row 048 (030) - - - Paketti - ∿ Play at Row 049 (031) - - - Paketti - ∿ Play at Row 050 (032) - - - Paketti - ∿ Play at Row 051 (033) - - - Paketti - ∿ Play at Row 052 (034) - - - Paketti - ∿ Play at Row 053 (035) - - - Paketti - ∿ Play at Row 054 (036) - - - Paketti - ∿ Play at Row 055 (037) - - - Paketti - ∿ Play at Row 056 (038) - - - Paketti - ∿ Play at Row 057 (039) - - - Paketti - ∿ Play at Row 058 (03A) - - - Paketti - ∿ Play at Row 059 (03B) - - - Paketti - ∿ Play at Row 060 (03C) - - - Paketti - ∿ Play at Row 061 (03D) - - - Paketti - ∿ Play at Row 062 (03E) - - - Paketti - ∿ Play at Row 063 (03F) - - - Paketti - ∿ Play at Row 064 (040) - - - Paketti - ∿ Play at Row 065 (041) - - - Paketti - ∿ Play at Row 066 (042) - - - Paketti - ∿ Play at Row 067 (043) - - - Paketti - ∿ Play at Row 068 (044) - - - Paketti - ∿ Play at Row 069 (045) - - - Paketti - ∿ Play at Row 070 (046) - - - Paketti - ∿ Play at Row 071 (047) - - - Paketti - ∿ Play at Row 072 (048) - - - Paketti - ∿ Play at Row 073 (049) - - - Paketti - ∿ Play at Row 074 (04A) - - - Paketti - ∿ Play at Row 075 (04B) - - - Paketti - ∿ Play at Row 076 (04C) - - - Paketti - ∿ Play at Row 077 (04D) - - - Paketti - ∿ Play at Row 078 (04E) - - - Paketti - ∿ Play at Row 079 (04F) - - - Paketti - ∿ Play at Row 080 (050) - - - Paketti - ∿ Play at Row 081 (051) - - - Paketti - ∿ Play at Row 082 (052) - - - Paketti - ∿ Play at Row 083 (053) - - - Paketti - ∿ Play at Row 084 (054) - - - Paketti - ∿ Play at Row 085 (055) - - - Paketti - ∿ Play at Row 086 (056) - - - Paketti - ∿ Play at Row 087 (057) - - - Paketti - ∿ Play at Row 088 (058) - - - Paketti - ∿ Play at Row 089 (059) - - - Paketti - ∿ Play at Row 090 (05A) - - - Paketti - ∿ Play at Row 091 (05B) - - - Paketti - ∿ Play at Row 092 (05C) - - - Paketti - ∿ Play at Row 093 (05D) - - - Paketti - ∿ Play at Row 094 (05E) - - - Paketti - ∿ Play at Row 095 (05F) - - - Paketti - ∿ Play at Row 096 (060) - - - Paketti - ∿ Play at Row 097 (061) - - - Paketti - ∿ Play at Row 098 (062) - - - Paketti - ∿ Play at Row 099 (063) - - - Paketti - ∿ Play at Row 100 (064) - - - Paketti - ∿ Play at Row 101 (065) - - - Paketti - ∿ Play at Row 102 (066) - - - Paketti - ∿ Play at Row 103 (067) - - - Paketti - ∿ Play at Row 104 (068) - - - Paketti - ∿ Play at Row 105 (069) - - - Paketti - ∿ Play at Row 106 (06A) - - - Paketti - ∿ Play at Row 107 (06B) - - - Paketti - ∿ Play at Row 108 (06C) - - - Paketti - ∿ Play at Row 109 (06D) - - - Paketti - ∿ Play at Row 110 (06E) - - - Paketti - ∿ Play at Row 111 (06F) - - - Paketti - ∿ Play at Row 112 (070) - - - Paketti - ∿ Play at Row 113 (071) - - - Paketti - ∿ Play at Row 114 (072) - - - Paketti - ∿ Play at Row 115 (073) - - - Paketti - ∿ Play at Row 116 (074) - - - Paketti - ∿ Play at Row 117 (075) - - - Paketti - ∿ Play at Row 118 (076) - - - Paketti - ∿ Play at Row 119 (077) - - - Paketti - ∿ Play at Row 120 (078) - - - Paketti - ∿ Play at Row 121 (079) - - - Paketti - ∿ Play at Row 122 (07A) - - - Paketti - ∿ Play at Row 123 (07B) - - - Paketti - ∿ Play at Row 124 (07C) - - - Paketti - ∿ Play at Row 125 (07D) - - - Paketti - ∿ Play at Row 126 (07E) - - - Paketti - ∿ Play at Row 127 (07F) - - - Paketti - ∿ Play at Row 128 (080) - - - Paketti - ∿ Play at Row 129 (081) - - - Paketti - ∿ Play at Row 130 (082) - - - Paketti - ∿ Play at Row 131 (083) - - - Paketti - ∿ Play at Row 132 (084) - - - Paketti - ∿ Play at Row 133 (085) - - - Paketti - ∿ Play at Row 134 (086) - - - Paketti - ∿ Play at Row 135 (087) - - - Paketti - ∿ Play at Row 136 (088) - - - Paketti - ∿ Play at Row 137 (089) - - - Paketti - ∿ Play at Row 138 (08A) - - - Paketti - ∿ Play at Row 139 (08B) - - - Paketti - ∿ Play at Row 140 (08C) - - - Paketti - ∿ Play at Row 141 (08D) - - - Paketti - ∿ Play at Row 142 (08E) - - - Paketti - ∿ Play at Row 143 (08F) - - - Paketti - ∿ Play at Row 144 (090) - - - Paketti - ∿ Play at Row 145 (091) - - - Paketti - ∿ Play at Row 146 (092) - - - Paketti - ∿ Play at Row 147 (093) - - - Paketti - ∿ Play at Row 148 (094) - - - Paketti - ∿ Play at Row 149 (095) - - - Paketti - ∿ Play at Row 150 (096) - - - Paketti - ∿ Play at Row 151 (097) - - - Paketti - ∿ Play at Row 152 (098) - - - Paketti - ∿ Play at Row 153 (099) - - - Paketti - ∿ Play at Row 154 (09A) - - - Paketti - ∿ Play at Row 155 (09B) - - - Paketti - ∿ Play at Row 156 (09C) - - - Paketti - ∿ Play at Row 157 (09D) - - - Paketti - ∿ Play at Row 158 (09E) - - - Paketti - ∿ Play at Row 159 (09F) - - - Paketti - ∿ Play at Row 160 (0A0) - - - Paketti - ∿ Play at Row 161 (0A1) - - - Paketti - ∿ Play at Row 162 (0A2) - - - Paketti - ∿ Play at Row 163 (0A3) - - - Paketti - ∿ Play at Row 164 (0A4) - - - Paketti - ∿ Play at Row 165 (0A5) - - - Paketti - ∿ Play at Row 166 (0A6) - - - Paketti - ∿ Play at Row 167 (0A7) - - - Paketti - ∿ Play at Row 168 (0A8) - - - Paketti - ∿ Play at Row 169 (0A9) - - - Paketti - ∿ Play at Row 170 (0AA) - - - Paketti - ∿ Play at Row 171 (0AB) - - - Paketti - ∿ Play at Row 172 (0AC) - - - Paketti - ∿ Play at Row 173 (0AD) - - - Paketti - ∿ Play at Row 174 (0AE) - - - Paketti - ∿ Play at Row 175 (0AF) - - - Paketti - ∿ Play at Row 176 (0B0) - - - Paketti - ∿ Play at Row 177 (0B1) - - - Paketti - ∿ Play at Row 178 (0B2) - - - Paketti - ∿ Play at Row 179 (0B3) - - - Paketti - ∿ Play at Row 180 (0B4) - - - Paketti - ∿ Play at Row 181 (0B5) - - - Paketti - ∿ Play at Row 182 (0B6) - - - Paketti - ∿ Play at Row 183 (0B7) - - - Paketti - ∿ Play at Row 184 (0B8) - - - Paketti - ∿ Play at Row 185 (0B9) - - - Paketti - ∿ Play at Row 186 (0BA) - - - Paketti - ∿ Play at Row 187 (0BB) - - - Paketti - ∿ Play at Row 188 (0BC) - - - Paketti - ∿ Play at Row 189 (0BD) - - - Paketti - ∿ Play at Row 190 (0BE) - - - Paketti - ∿ Play at Row 191 (0BF) - - - Paketti - ∿ Play at Row 192 (0C0) - - - Paketti - ∿ Play at Row 193 (0C1) - - - Paketti - ∿ Play at Row 194 (0C2) - - - Paketti - ∿ Play at Row 195 (0C3) - - - Paketti - ∿ Play at Row 196 (0C4) - - - Paketti - ∿ Play at Row 197 (0C5) - - - Paketti - ∿ Play at Row 198 (0C6) - - - Paketti - ∿ Play at Row 199 (0C7) - - - Paketti - ∿ Play at Row 200 (0C8) - - - Paketti - ∿ Play at Row 201 (0C9) - - - Paketti - ∿ Play at Row 202 (0CA) - - - Paketti - ∿ Play at Row 203 (0CB) - - - Paketti - ∿ Play at Row 204 (0CC) - - - Paketti - ∿ Play at Row 205 (0CD) - - - Paketti - ∿ Play at Row 206 (0CE) - - - Paketti - ∿ Play at Row 207 (0CF) - - - Paketti - ∿ Play at Row 208 (0D0) - - - Paketti - ∿ Play at Row 209 (0D1) - - - Paketti - ∿ Play at Row 210 (0D2) - - - Paketti - ∿ Play at Row 211 (0D3) - - - Paketti - ∿ Play at Row 212 (0D4) - - - Paketti - ∿ Play at Row 213 (0D5) - - - Paketti - ∿ Play at Row 214 (0D6) - - - Paketti - ∿ Play at Row 215 (0D7) - - - Paketti - ∿ Play at Row 216 (0D8) - - - Paketti - ∿ Play at Row 217 (0D9) - - - Paketti - ∿ Play at Row 218 (0DA) - - - Paketti - ∿ Play at Row 219 (0DB) - - - Paketti - ∿ Play at Row 220 (0DC) - - - Paketti - ∿ Play at Row 221 (0DD) - - - Paketti - ∿ Play at Row 222 (0DE) - - - Paketti - ∿ Play at Row 223 (0DF) - - - Paketti - ∿ Play at Row 224 (0E0) - - - Paketti - ∿ Play at Row 225 (0E1) - - - Paketti - ∿ Play at Row 226 (0E2) - - - Paketti - ∿ Play at Row 227 (0E3) - - - Paketti - ∿ Play at Row 228 (0E4) - - - Paketti - ∿ Play at Row 229 (0E5) - - - Paketti - ∿ Play at Row 230 (0E6) - - - Paketti - ∿ Play at Row 231 (0E7) - - - Paketti - ∿ Play at Row 232 (0E8) - - - Paketti - ∿ Play at Row 233 (0E9) - - - Paketti - ∿ Play at Row 234 (0EA) - - - Paketti - ∿ Play at Row 235 (0EB) - - - Paketti - ∿ Play at Row 236 (0EC) - - - Paketti - ∿ Play at Row 237 (0ED) - - - Paketti - ∿ Play at Row 238 (0EE) - - - Paketti - ∿ Play at Row 239 (0EF) - - - Paketti - ∿ Play at Row 240 (0F0) - - - Paketti - ∿ Play at Row 241 (0F1) - - - Paketti - ∿ Play at Row 242 (0F2) - - - Paketti - ∿ Play at Row 243 (0F3) - - - Paketti - ∿ Play at Row 244 (0F4) - - - Paketti - ∿ Play at Row 245 (0F5) - - - Paketti - ∿ Play at Row 246 (0F6) - - - Paketti - ∿ Play at Row 247 (0F7) - - - Paketti - ∿ Play at Row 248 (0F8) - - - Paketti - ∿ Play at Row 249 (0F9) - - - Paketti - ∿ Play at Row 250 (0FA) - - - Paketti - ∿ Play at Row 251 (0FB) - - - Paketti - ∿ Play at Row 252 (0FC) - - - Paketti - ∿ Play at Row 253 (0FD) - - - Paketti - ∿ Play at Row 254 (0FE) - - - Paketti - ∿ Play at Row 255 (0FF) - - - Paketti - ∿ Play at Row 256 (100) - - - Paketti - ∿ Play at Row 257 (101) - - - Paketti - ∿ Play at Row 258 (102) - - - Paketti - ∿ Play at Row 259 (103) - - - Paketti - ∿ Play at Row 260 (104) - - - Paketti - ∿ Play at Row 261 (105) - - - Paketti - ∿ Play at Row 262 (106) - - - Paketti - ∿ Play at Row 263 (107) - - - Paketti - ∿ Play at Row 264 (108) - - - Paketti - ∿ Play at Row 265 (109) - - - Paketti - ∿ Play at Row 266 (10A) - - - Paketti - ∿ Play at Row 267 (10B) - - - Paketti - ∿ Play at Row 268 (10C) - - - Paketti - ∿ Play at Row 269 (10D) - - - Paketti - ∿ Play at Row 270 (10E) - - - Paketti - ∿ Play at Row 271 (10F) - - - Paketti - ∿ Play at Row 272 (110) - - - Paketti - ∿ Play at Row 273 (111) - - - Paketti - ∿ Play at Row 274 (112) - - - Paketti - ∿ Play at Row 275 (113) - - - Paketti - ∿ Play at Row 276 (114) - - - Paketti - ∿ Play at Row 277 (115) - - - Paketti - ∿ Play at Row 278 (116) - - - Paketti - ∿ Play at Row 279 (117) - - - Paketti - ∿ Play at Row 280 (118) - - - Paketti - ∿ Play at Row 281 (119) - - - Paketti - ∿ Play at Row 282 (11A) - - - Paketti - ∿ Play at Row 283 (11B) - - - Paketti - ∿ Play at Row 284 (11C) - - - Paketti - ∿ Play at Row 285 (11D) - - - Paketti - ∿ Play at Row 286 (11E) - - - Paketti - ∿ Play at Row 287 (11F) - - - Paketti - ∿ Play at Row 288 (120) - - - Paketti - ∿ Play at Row 289 (121) - - - Paketti - ∿ Play at Row 290 (122) - - - Paketti - ∿ Play at Row 291 (123) - - - Paketti - ∿ Play at Row 292 (124) - - - Paketti - ∿ Play at Row 293 (125) - - - Paketti - ∿ Play at Row 294 (126) - - - Paketti - ∿ Play at Row 295 (127) - - - Paketti - ∿ Play at Row 296 (128) - - - Paketti - ∿ Play at Row 297 (129) - - - Paketti - ∿ Play at Row 298 (12A) - - - Paketti - ∿ Play at Row 299 (12B) - - - Paketti - ∿ Play at Row 300 (12C) - - - Paketti - ∿ Play at Row 301 (12D) - - - Paketti - ∿ Play at Row 302 (12E) - - - Paketti - ∿ Play at Row 303 (12F) - - - Paketti - ∿ Play at Row 304 (130) - - - Paketti - ∿ Play at Row 305 (131) - - - Paketti - ∿ Play at Row 306 (132) - - - Paketti - ∿ Play at Row 307 (133) - - - Paketti - ∿ Play at Row 308 (134) - - - Paketti - ∿ Play at Row 309 (135) - - - Paketti - ∿ Play at Row 310 (136) - - - Paketti - ∿ Play at Row 311 (137) - - - Paketti - ∿ Play at Row 312 (138) - - - Paketti - ∿ Play at Row 313 (139) - - - Paketti - ∿ Play at Row 314 (13A) - - - Paketti - ∿ Play at Row 315 (13B) - - - Paketti - ∿ Play at Row 316 (13C) - - - Paketti - ∿ Play at Row 317 (13D) - - - Paketti - ∿ Play at Row 318 (13E) - - - Paketti - ∿ Play at Row 319 (13F) - - - Paketti - ∿ Play at Row 320 (140) - - - Paketti - ∿ Play at Row 321 (141) - - - Paketti - ∿ Play at Row 322 (142) - - - Paketti - ∿ Play at Row 323 (143) - - - Paketti - ∿ Play at Row 324 (144) - - - Paketti - ∿ Play at Row 325 (145) - - - Paketti - ∿ Play at Row 326 (146) - - - Paketti - ∿ Play at Row 327 (147) - - - Paketti - ∿ Play at Row 328 (148) - - - Paketti - ∿ Play at Row 329 (149) - - - Paketti - ∿ Play at Row 330 (14A) - - - Paketti - ∿ Play at Row 331 (14B) - - - Paketti - ∿ Play at Row 332 (14C) - - - Paketti - ∿ Play at Row 333 (14D) - - - Paketti - ∿ Play at Row 334 (14E) - - - Paketti - ∿ Play at Row 335 (14F) - - - Paketti - ∿ Play at Row 336 (150) - - - Paketti - ∿ Play at Row 337 (151) - - - Paketti - ∿ Play at Row 338 (152) - - - Paketti - ∿ Play at Row 339 (153) - - - Paketti - ∿ Play at Row 340 (154) - - - Paketti - ∿ Play at Row 341 (155) - - - Paketti - ∿ Play at Row 342 (156) - - - Paketti - ∿ Play at Row 343 (157) - - - Paketti - ∿ Play at Row 344 (158) - - - Paketti - ∿ Play at Row 345 (159) - - - Paketti - ∿ Play at Row 346 (15A) - - - Paketti - ∿ Play at Row 347 (15B) - - - Paketti - ∿ Play at Row 348 (15C) - - - Paketti - ∿ Play at Row 349 (15D) - - - Paketti - ∿ Play at Row 350 (15E) - - - Paketti - ∿ Play at Row 351 (15F) - - - Paketti - ∿ Play at Row 352 (160) - - - Paketti - ∿ Play at Row 353 (161) - - - Paketti - ∿ Play at Row 354 (162) - - - Paketti - ∿ Play at Row 355 (163) - - - Paketti - ∿ Play at Row 356 (164) - - - Paketti - ∿ Play at Row 357 (165) - - - Paketti - ∿ Play at Row 358 (166) - - - Paketti - ∿ Play at Row 359 (167) - - - Paketti - ∿ Play at Row 360 (168) - - - Paketti - ∿ Play at Row 361 (169) - - - Paketti - ∿ Play at Row 362 (16A) - - - Paketti - ∿ Play at Row 363 (16B) - - - Paketti - ∿ Play at Row 364 (16C) - - - Paketti - ∿ Play at Row 365 (16D) - - - Paketti - ∿ Play at Row 366 (16E) - - - Paketti - ∿ Play at Row 367 (16F) - - - Paketti - ∿ Play at Row 368 (170) - - - Paketti - ∿ Play at Row 369 (171) - - - Paketti - ∿ Play at Row 370 (172) - - - Paketti - ∿ Play at Row 371 (173) - - - Paketti - ∿ Play at Row 372 (174) - - - Paketti - ∿ Play at Row 373 (175) - - - Paketti - ∿ Play at Row 374 (176) - - - Paketti - ∿ Play at Row 375 (177) - - - Paketti - ∿ Play at Row 376 (178) - - - Paketti - ∿ Play at Row 377 (179) - - - Paketti - ∿ Play at Row 378 (17A) - - - Paketti - ∿ Play at Row 379 (17B) - - - Paketti - ∿ Play at Row 380 (17C) - - - Paketti - ∿ Play at Row 381 (17D) - - - Paketti - ∿ Play at Row 382 (17E) - - - Paketti - ∿ Play at Row 383 (17F) - - - Paketti - ∿ Play at Row 384 (180) - - - Paketti - ∿ Play at Row 385 (181) - - - Paketti - ∿ Play at Row 386 (182) - - - Paketti - ∿ Play at Row 387 (183) - - - Paketti - ∿ Play at Row 388 (184) - - - Paketti - ∿ Play at Row 389 (185) - - - Paketti - ∿ Play at Row 390 (186) - - - Paketti - ∿ Play at Row 391 (187) - - - Paketti - ∿ Play at Row 392 (188) - - - Paketti - ∿ Play at Row 393 (189) - - - Paketti - ∿ Play at Row 394 (18A) - - - Paketti - ∿ Play at Row 395 (18B) - - - Paketti - ∿ Play at Row 396 (18C) - - - Paketti - ∿ Play at Row 397 (18D) - - - Paketti - ∿ Play at Row 398 (18E) - - - Paketti - ∿ Play at Row 399 (18F) - - - Paketti - ∿ Play at Row 400 (190) - - - Paketti - ∿ Play at Row 401 (191) - - - Paketti - ∿ Play at Row 402 (192) - - - Paketti - ∿ Play at Row 403 (193) - - - Paketti - ∿ Play at Row 404 (194) - - - Paketti - ∿ Play at Row 405 (195) - - - Paketti - ∿ Play at Row 406 (196) - - - Paketti - ∿ Play at Row 407 (197) - - - Paketti - ∿ Play at Row 408 (198) - - - Paketti - ∿ Play at Row 409 (199) - - - Paketti - ∿ Play at Row 410 (19A) - - - Paketti - ∿ Play at Row 411 (19B) - - - Paketti - ∿ Play at Row 412 (19C) - - - Paketti - ∿ Play at Row 413 (19D) - - - Paketti - ∿ Play at Row 414 (19E) - - - Paketti - ∿ Play at Row 415 (19F) - - - Paketti - ∿ Play at Row 416 (1A0) - - - Paketti - ∿ Play at Row 417 (1A1) - - - Paketti - ∿ Play at Row 418 (1A2) - - - Paketti - ∿ Play at Row 419 (1A3) - - - Paketti - ∿ Play at Row 420 (1A4) - - - Paketti - ∿ Play at Row 421 (1A5) - - - Paketti - ∿ Play at Row 422 (1A6) - - - Paketti - ∿ Play at Row 423 (1A7) - - - Paketti - ∿ Play at Row 424 (1A8) - - - Paketti - ∿ Play at Row 425 (1A9) - - - Paketti - ∿ Play at Row 426 (1AA) - - - Paketti - ∿ Play at Row 427 (1AB) - - - Paketti - ∿ Play at Row 428 (1AC) - - - Paketti - ∿ Play at Row 429 (1AD) - - - Paketti - ∿ Play at Row 430 (1AE) - - - Paketti - ∿ Play at Row 431 (1AF) - - - Paketti - ∿ Play at Row 432 (1B0) - - - Paketti - ∿ Play at Row 433 (1B1) - - - Paketti - ∿ Play at Row 434 (1B2) - - - Paketti - ∿ Play at Row 435 (1B3) - - - Paketti - ∿ Play at Row 436 (1B4) - - - Paketti - ∿ Play at Row 437 (1B5) - - - Paketti - ∿ Play at Row 438 (1B6) - - - Paketti - ∿ Play at Row 439 (1B7) - - - Paketti - ∿ Play at Row 440 (1B8) - - - Paketti - ∿ Play at Row 441 (1B9) - - - Paketti - ∿ Play at Row 442 (1BA) - - - Paketti - ∿ Play at Row 443 (1BB) - - - Paketti - ∿ Play at Row 444 (1BC) - - - Paketti - ∿ Play at Row 445 (1BD) - - - Paketti - ∿ Play at Row 446 (1BE) - - - Paketti - ∿ Play at Row 447 (1BF) - - - Paketti - ∿ Play at Row 448 (1C0) - - - Paketti - ∿ Play at Row 449 (1C1) - - - Paketti - ∿ Play at Row 450 (1C2) - - - Paketti - ∿ Play at Row 451 (1C3) - - - Paketti - ∿ Play at Row 452 (1C4) - - - Paketti - ∿ Play at Row 453 (1C5) - - - Paketti - ∿ Play at Row 454 (1C6) - - - Paketti - ∿ Play at Row 455 (1C7) - - - Paketti - ∿ Play at Row 456 (1C8) - - - Paketti - ∿ Play at Row 457 (1C9) - - - Paketti - ∿ Play at Row 458 (1CA) - - - Paketti - ∿ Play at Row 459 (1CB) - - - Paketti - ∿ Play at Row 460 (1CC) - - - Paketti - ∿ Play at Row 461 (1CD) - - - Paketti - ∿ Play at Row 462 (1CE) - - - Paketti - ∿ Play at Row 463 (1CF) - - - Paketti - ∿ Play at Row 464 (1D0) - - - Paketti - ∿ Play at Row 465 (1D1) - - - Paketti - ∿ Play at Row 466 (1D2) - - - Paketti - ∿ Play at Row 467 (1D3) - - - Paketti - ∿ Play at Row 468 (1D4) - - - Paketti - ∿ Play at Row 469 (1D5) - - - Paketti - ∿ Play at Row 470 (1D6) - - - Paketti - ∿ Play at Row 471 (1D7) - - - Paketti - ∿ Play at Row 472 (1D8) - - - Paketti - ∿ Play at Row 473 (1D9) - - - Paketti - ∿ Play at Row 474 (1DA) - - - Paketti - ∿ Play at Row 475 (1DB) - - - Paketti - ∿ Play at Row 476 (1DC) - - - Paketti - ∿ Play at Row 477 (1DD) - - - Paketti - ∿ Play at Row 478 (1DE) - - - Paketti - ∿ Play at Row 479 (1DF) - - - Paketti - ∿ Play at Row 480 (1E0) - - - Paketti - ∿ Play at Row 481 (1E1) - - - Paketti - ∿ Play at Row 482 (1E2) - - - Paketti - ∿ Play at Row 483 (1E3) - - - Paketti - ∿ Play at Row 484 (1E4) - - - Paketti - ∿ Play at Row 485 (1E5) - - - Paketti - ∿ Play at Row 486 (1E6) - - - Paketti - ∿ Play at Row 487 (1E7) - - - Paketti - ∿ Play at Row 488 (1E8) - - - Paketti - ∿ Play at Row 489 (1E9) - - - Paketti - ∿ Play at Row 490 (1EA) - - - Paketti - ∿ Play at Row 491 (1EB) - - - Paketti - ∿ Play at Row 492 (1EC) - - - Paketti - ∿ Play at Row 493 (1ED) - - - Paketti - ∿ Play at Row 494 (1EE) - - - Paketti - ∿ Play at Row 495 (1EF) - - - Paketti - ∿ Play at Row 496 (1F0) - - - Paketti - ∿ Play at Row 497 (1F1) - - - Paketti - ∿ Play at Row 498 (1F2) - - - Paketti - ∿ Play at Row 499 (1F3) - - - Paketti - ∿ Play at Row 500 (1F4) - - - Paketti - ∿ Play at Row 501 (1F5) - - - Paketti - ∿ Play at Row 502 (1F6) - - - Paketti - ∿ Play at Row 503 (1F7) - - - Paketti - ∿ Play at Row 504 (1F8) - - - Paketti - ∿ Play at Row 505 (1F9) - - - Paketti - ∿ Play at Row 506 (1FA) - - - Paketti - ∿ Play at Row 507 (1FB) - - - Paketti - ∿ Play at Row 508 (1FC) - - - Paketti - ∿ Play at Row 509 (1FD) - - - Paketti - ∿ Play at Row 510 (1FE) - - - Paketti - ∿ Play at Row 511 (1FF) - - - Paketti - ∿ Open VolDelayPan Slider Dialog... - Shift + Control + W - - - Paketti - ∿ Wipe All Columns of Selected Track - - - Paketti - ∿ Set Interpolation 1 (None) Globally - - - Paketti - ∿ Set Interpolation 2 (Linear) Globally - - - Paketti - ∿ Set Interpolation 3 (Cubic) Globally - Shift + Option + 3 - - - Paketti - ∿ Set Interpolation 4 (Sinc) Globally - Shift + Option + 4 - - - Paketti - ∿ Show/Hide Selected Track Device 01 - - - Paketti - ∿ Show/Hide Selected Track Device 02 - - - Paketti - ∿ Show/Hide Selected Track Device 03 - - - Paketti - ∿ Show/Hide Selected Track Device 04 - - - Paketti - ∿ Show/Hide Selected Track Device 05 - - - Paketti - ∿ Show/Hide Selected Track Device 06 - - - Paketti - ∿ Show/Hide Selected Track Device 07 - - - Paketti - ∿ Show/Hide Selected Track Device 08 - - - Paketti - ∿ Show/Hide Selected Track Device 09 - - - Paketti - ∿ Show/Hide Selected Track Device 10 - - - Paketti - ∿ Show/Hide Selected Track Device 11 - - - Paketti - ∿ Show/Hide Selected Track Device 12 - - - Paketti - ∿ Show/Hide Selected Track Device 13 - - - Paketti - ∿ Show/Hide Selected Track Device 14 - - - Paketti - ∿ Show/Hide Selected Track Device 15 - - - Paketti - ∿ Show/Hide Selected Track Device 16 - - - Paketti - ∿ Show/Hide Selected Track Device 17 - - - Paketti - ∿ Show/Hide Selected Track Device 18 - - - Paketti - ∿ Show/Hide Selected Track Device 19 - - - Paketti - ∿ Show/Hide Selected Track Device 20 - - - Paketti - ∿ Show/Hide Selected Track Device 21 - - - Paketti - ∿ Show/Hide Selected Track Device 22 - - - Paketti - ∿ Show/Hide Selected Track Device 23 - - - Paketti - ∿ Show/Hide Selected Track Device 24 - - - Paketti - ∿ Show/Hide Selected Track Device 25 - - - Paketti - ∿ Show/Hide Selected Track Device 26 - - - Paketti - ∿ Show/Hide Selected Track Device 27 - - - Paketti - ∿ Show/Hide Selected Track Device 28 - - - Paketti - ∿ Show/Hide Selected Track Device 29 - - - Paketti - ∿ Show/Hide Selected Track Device 30 - - - Paketti - ∿ Show/Hide Selected Track Device 31 - - - Paketti - ∿ Jump Forward Within Pattern by 001 - - - Paketti - ∿ Jump Backward Within Pattern by 001 - - - Paketti - ∿ Jump Forward Within Pattern by 002 - - - Paketti - ∿ Jump Backward Within Pattern by 002 - - - Paketti - ∿ Jump Forward Within Pattern by 003 - - - Paketti - ∿ Jump Backward Within Pattern by 003 - - - Paketti - ∿ Jump Forward Within Pattern by 004 - - - Paketti - ∿ Jump Backward Within Pattern by 004 - - - Paketti - ∿ Jump Forward Within Pattern by 005 - - - Paketti - ∿ Jump Backward Within Pattern by 005 - - - Paketti - ∿ Jump Forward Within Pattern by 006 - - - Paketti - ∿ Jump Backward Within Pattern by 006 - - - Paketti - ∿ Jump Forward Within Pattern by 007 - - - Paketti - ∿ Jump Backward Within Pattern by 007 - - - Paketti - ∿ Jump Forward Within Pattern by 008 - - - Paketti - ∿ Jump Backward Within Pattern by 008 - - - Paketti - ∿ Jump Forward Within Pattern by 009 - - - Paketti - ∿ Jump Backward Within Pattern by 009 - - - Paketti - ∿ Jump Forward Within Pattern by 010 - - - Paketti - ∿ Jump Backward Within Pattern by 010 - - - Paketti - ∿ Jump Forward Within Pattern by 011 - - - Paketti - ∿ Jump Backward Within Pattern by 011 - - - Paketti - ∿ Jump Forward Within Pattern by 012 - - - Paketti - ∿ Jump Backward Within Pattern by 012 - - - Paketti - ∿ Jump Forward Within Pattern by 013 - - - Paketti - ∿ Jump Backward Within Pattern by 013 - - - Paketti - ∿ Jump Forward Within Pattern by 014 - - - Paketti - ∿ Jump Backward Within Pattern by 014 - - - Paketti - ∿ Jump Forward Within Pattern by 015 - - - Paketti - ∿ Jump Backward Within Pattern by 015 - - - Paketti - ∿ Jump Forward Within Pattern by 016 - - - Paketti - ∿ Jump Backward Within Pattern by 016 - - - Paketti - ∿ Jump Forward Within Pattern by 017 - - - Paketti - ∿ Jump Backward Within Pattern by 017 - - - Paketti - ∿ Jump Forward Within Pattern by 018 - - - Paketti - ∿ Jump Backward Within Pattern by 018 - - - Paketti - ∿ Jump Forward Within Pattern by 019 - - - Paketti - ∿ Jump Backward Within Pattern by 019 - - - Paketti - ∿ Jump Forward Within Pattern by 020 - - - Paketti - ∿ Jump Backward Within Pattern by 020 - - - Paketti - ∿ Jump Forward Within Pattern by 021 - - - Paketti - ∿ Jump Backward Within Pattern by 021 - - - Paketti - ∿ Jump Forward Within Pattern by 022 - - - Paketti - ∿ Jump Backward Within Pattern by 022 - - - Paketti - ∿ Jump Forward Within Pattern by 023 - - - Paketti - ∿ Jump Backward Within Pattern by 023 - - - Paketti - ∿ Jump Forward Within Pattern by 024 - - - Paketti - ∿ Jump Backward Within Pattern by 024 - - - Paketti - ∿ Jump Forward Within Pattern by 025 - - - Paketti - ∿ Jump Backward Within Pattern by 025 - - - Paketti - ∿ Jump Forward Within Pattern by 026 - - - Paketti - ∿ Jump Backward Within Pattern by 026 - - - Paketti - ∿ Jump Forward Within Pattern by 027 - - - Paketti - ∿ Jump Backward Within Pattern by 027 - - - Paketti - ∿ Jump Forward Within Pattern by 028 - - - Paketti - ∿ Jump Backward Within Pattern by 028 - - - Paketti - ∿ Jump Forward Within Pattern by 029 - - - Paketti - ∿ Jump Backward Within Pattern by 029 - - - Paketti - ∿ Jump Forward Within Pattern by 030 - - - Paketti - ∿ Jump Backward Within Pattern by 030 - - - Paketti - ∿ Jump Forward Within Pattern by 031 - - - Paketti - ∿ Jump Backward Within Pattern by 031 - - - Paketti - ∿ Jump Forward Within Pattern by 032 - - - Paketti - ∿ Jump Backward Within Pattern by 032 - - - Paketti - ∿ Jump Forward Within Pattern by 033 - - - Paketti - ∿ Jump Backward Within Pattern by 033 - - - Paketti - ∿ Jump Forward Within Pattern by 034 - - - Paketti - ∿ Jump Backward Within Pattern by 034 - - - Paketti - ∿ Jump Forward Within Pattern by 035 - - - Paketti - ∿ Jump Backward Within Pattern by 035 - - - Paketti - ∿ Jump Forward Within Pattern by 036 - - - Paketti - ∿ Jump Backward Within Pattern by 036 - - - Paketti - ∿ Jump Forward Within Pattern by 037 - - - Paketti - ∿ Jump Backward Within Pattern by 037 - - - Paketti - ∿ Jump Forward Within Pattern by 038 - - - Paketti - ∿ Jump Backward Within Pattern by 038 - - - Paketti - ∿ Jump Forward Within Pattern by 039 - - - Paketti - ∿ Jump Backward Within Pattern by 039 - - - Paketti - ∿ Jump Forward Within Pattern by 040 - - - Paketti - ∿ Jump Backward Within Pattern by 040 - - - Paketti - ∿ Jump Forward Within Pattern by 041 - - - Paketti - ∿ Jump Backward Within Pattern by 041 - - - Paketti - ∿ Jump Forward Within Pattern by 042 - - - Paketti - ∿ Jump Backward Within Pattern by 042 - - - Paketti - ∿ Jump Forward Within Pattern by 043 - - - Paketti - ∿ Jump Backward Within Pattern by 043 - - - Paketti - ∿ Jump Forward Within Pattern by 044 - - - Paketti - ∿ Jump Backward Within Pattern by 044 - - - Paketti - ∿ Jump Forward Within Pattern by 045 - - - Paketti - ∿ Jump Backward Within Pattern by 045 - - - Paketti - ∿ Jump Forward Within Pattern by 046 - - - Paketti - ∿ Jump Backward Within Pattern by 046 - - - Paketti - ∿ Jump Forward Within Pattern by 047 - - - Paketti - ∿ Jump Backward Within Pattern by 047 - - - Paketti - ∿ Jump Forward Within Pattern by 048 - - - Paketti - ∿ Jump Backward Within Pattern by 048 - - - Paketti - ∿ Jump Forward Within Pattern by 049 - - - Paketti - ∿ Jump Backward Within Pattern by 049 - - - Paketti - ∿ Jump Forward Within Pattern by 050 - - - Paketti - ∿ Jump Backward Within Pattern by 050 - - - Paketti - ∿ Jump Forward Within Pattern by 051 - - - Paketti - ∿ Jump Backward Within Pattern by 051 - - - Paketti - ∿ Jump Forward Within Pattern by 052 - - - Paketti - ∿ Jump Backward Within Pattern by 052 - - - Paketti - ∿ Jump Forward Within Pattern by 053 - - - Paketti - ∿ Jump Backward Within Pattern by 053 - - - Paketti - ∿ Jump Forward Within Pattern by 054 - - - Paketti - ∿ Jump Backward Within Pattern by 054 - - - Paketti - ∿ Jump Forward Within Pattern by 055 - - - Paketti - ∿ Jump Backward Within Pattern by 055 - - - Paketti - ∿ Jump Forward Within Pattern by 056 - - - Paketti - ∿ Jump Backward Within Pattern by 056 - - - Paketti - ∿ Jump Forward Within Pattern by 057 - - - Paketti - ∿ Jump Backward Within Pattern by 057 - - - Paketti - ∿ Jump Forward Within Pattern by 058 - - - Paketti - ∿ Jump Backward Within Pattern by 058 - - - Paketti - ∿ Jump Forward Within Pattern by 059 - - - Paketti - ∿ Jump Backward Within Pattern by 059 - - - Paketti - ∿ Jump Forward Within Pattern by 060 - - - Paketti - ∿ Jump Backward Within Pattern by 060 - - - Paketti - ∿ Jump Forward Within Pattern by 061 - - - Paketti - ∿ Jump Backward Within Pattern by 061 - - - Paketti - ∿ Jump Forward Within Pattern by 062 - - - Paketti - ∿ Jump Backward Within Pattern by 062 - - - Paketti - ∿ Jump Forward Within Pattern by 063 - - - Paketti - ∿ Jump Backward Within Pattern by 063 - - - Paketti - ∿ Jump Forward Within Pattern by 064 - - - Paketti - ∿ Jump Backward Within Pattern by 064 - - - Paketti - ∿ Jump Forward Within Pattern by 065 - - - Paketti - ∿ Jump Backward Within Pattern by 065 - - - Paketti - ∿ Jump Forward Within Pattern by 066 - - - Paketti - ∿ Jump Backward Within Pattern by 066 - - - Paketti - ∿ Jump Forward Within Pattern by 067 - - - Paketti - ∿ Jump Backward Within Pattern by 067 - - - Paketti - ∿ Jump Forward Within Pattern by 068 - - - Paketti - ∿ Jump Backward Within Pattern by 068 - - - Paketti - ∿ Jump Forward Within Pattern by 069 - - - Paketti - ∿ Jump Backward Within Pattern by 069 - - - Paketti - ∿ Jump Forward Within Pattern by 070 - - - Paketti - ∿ Jump Backward Within Pattern by 070 - - - Paketti - ∿ Jump Forward Within Pattern by 071 - - - Paketti - ∿ Jump Backward Within Pattern by 071 - - - Paketti - ∿ Jump Forward Within Pattern by 072 - - - Paketti - ∿ Jump Backward Within Pattern by 072 - - - Paketti - ∿ Jump Forward Within Pattern by 073 - - - Paketti - ∿ Jump Backward Within Pattern by 073 - - - Paketti - ∿ Jump Forward Within Pattern by 074 - - - Paketti - ∿ Jump Backward Within Pattern by 074 - - - Paketti - ∿ Jump Forward Within Pattern by 075 - - - Paketti - ∿ Jump Backward Within Pattern by 075 - - - Paketti - ∿ Jump Forward Within Pattern by 076 - - - Paketti - ∿ Jump Backward Within Pattern by 076 - - - Paketti - ∿ Jump Forward Within Pattern by 077 - - - Paketti - ∿ Jump Backward Within Pattern by 077 - - - Paketti - ∿ Jump Forward Within Pattern by 078 - - - Paketti - ∿ Jump Backward Within Pattern by 078 - - - Paketti - ∿ Jump Forward Within Pattern by 079 - - - Paketti - ∿ Jump Backward Within Pattern by 079 - - - Paketti - ∿ Jump Forward Within Pattern by 080 - - - Paketti - ∿ Jump Backward Within Pattern by 080 - - - Paketti - ∿ Jump Forward Within Pattern by 081 - - - Paketti - ∿ Jump Backward Within Pattern by 081 - - - Paketti - ∿ Jump Forward Within Pattern by 082 - - - Paketti - ∿ Jump Backward Within Pattern by 082 - - - Paketti - ∿ Jump Forward Within Pattern by 083 - - - Paketti - ∿ Jump Backward Within Pattern by 083 - - - Paketti - ∿ Jump Forward Within Pattern by 084 - - - Paketti - ∿ Jump Backward Within Pattern by 084 - - - Paketti - ∿ Jump Forward Within Pattern by 085 - - - Paketti - ∿ Jump Backward Within Pattern by 085 - - - Paketti - ∿ Jump Forward Within Pattern by 086 - - - Paketti - ∿ Jump Backward Within Pattern by 086 - - - Paketti - ∿ Jump Forward Within Pattern by 087 - - - Paketti - ∿ Jump Backward Within Pattern by 087 - - - Paketti - ∿ Jump Forward Within Pattern by 088 - - - Paketti - ∿ Jump Backward Within Pattern by 088 - - - Paketti - ∿ Jump Forward Within Pattern by 089 - - - Paketti - ∿ Jump Backward Within Pattern by 089 - - - Paketti - ∿ Jump Forward Within Pattern by 090 - - - Paketti - ∿ Jump Backward Within Pattern by 090 - - - Paketti - ∿ Jump Forward Within Pattern by 091 - - - Paketti - ∿ Jump Backward Within Pattern by 091 - - - Paketti - ∿ Jump Forward Within Pattern by 092 - - - Paketti - ∿ Jump Backward Within Pattern by 092 - - - Paketti - ∿ Jump Forward Within Pattern by 093 - - - Paketti - ∿ Jump Backward Within Pattern by 093 - - - Paketti - ∿ Jump Forward Within Pattern by 094 - - - Paketti - ∿ Jump Backward Within Pattern by 094 - - - Paketti - ∿ Jump Forward Within Pattern by 095 - - - Paketti - ∿ Jump Backward Within Pattern by 095 - - - Paketti - ∿ Jump Forward Within Pattern by 096 - - - Paketti - ∿ Jump Backward Within Pattern by 096 - - - Paketti - ∿ Jump Forward Within Pattern by 097 - - - Paketti - ∿ Jump Backward Within Pattern by 097 - - - Paketti - ∿ Jump Forward Within Pattern by 098 - - - Paketti - ∿ Jump Backward Within Pattern by 098 - - - Paketti - ∿ Jump Forward Within Pattern by 099 - - - Paketti - ∿ Jump Backward Within Pattern by 099 - - - Paketti - ∿ Jump Forward Within Pattern by 100 - - - Paketti - ∿ Jump Backward Within Pattern by 100 - - - Paketti - ∿ Jump Forward Within Pattern by 101 - - - Paketti - ∿ Jump Backward Within Pattern by 101 - - - Paketti - ∿ Jump Forward Within Pattern by 102 - - - Paketti - ∿ Jump Backward Within Pattern by 102 - - - Paketti - ∿ Jump Forward Within Pattern by 103 - - - Paketti - ∿ Jump Backward Within Pattern by 103 - - - Paketti - ∿ Jump Forward Within Pattern by 104 - - - Paketti - ∿ Jump Backward Within Pattern by 104 - - - Paketti - ∿ Jump Forward Within Pattern by 105 - - - Paketti - ∿ Jump Backward Within Pattern by 105 - - - Paketti - ∿ Jump Forward Within Pattern by 106 - - - Paketti - ∿ Jump Backward Within Pattern by 106 - - - Paketti - ∿ Jump Forward Within Pattern by 107 - - - Paketti - ∿ Jump Backward Within Pattern by 107 - - - Paketti - ∿ Jump Forward Within Pattern by 108 - - - Paketti - ∿ Jump Backward Within Pattern by 108 - - - Paketti - ∿ Jump Forward Within Pattern by 109 - - - Paketti - ∿ Jump Backward Within Pattern by 109 - - - Paketti - ∿ Jump Forward Within Pattern by 110 - - - Paketti - ∿ Jump Backward Within Pattern by 110 - - - Paketti - ∿ Jump Forward Within Pattern by 111 - - - Paketti - ∿ Jump Backward Within Pattern by 111 - - - Paketti - ∿ Jump Forward Within Pattern by 112 - - - Paketti - ∿ Jump Backward Within Pattern by 112 - - - Paketti - ∿ Jump Forward Within Pattern by 113 - - - Paketti - ∿ Jump Backward Within Pattern by 113 - - - Paketti - ∿ Jump Forward Within Pattern by 114 - - - Paketti - ∿ Jump Backward Within Pattern by 114 - - - Paketti - ∿ Jump Forward Within Pattern by 115 - - - Paketti - ∿ Jump Backward Within Pattern by 115 - - - Paketti - ∿ Jump Forward Within Pattern by 116 - - - Paketti - ∿ Jump Backward Within Pattern by 116 - - - Paketti - ∿ Jump Forward Within Pattern by 117 - - - Paketti - ∿ Jump Backward Within Pattern by 117 - - - Paketti - ∿ Jump Forward Within Pattern by 118 - - - Paketti - ∿ Jump Backward Within Pattern by 118 - - - Paketti - ∿ Jump Forward Within Pattern by 119 - - - Paketti - ∿ Jump Backward Within Pattern by 119 - - - Paketti - ∿ Jump Forward Within Pattern by 120 - - - Paketti - ∿ Jump Backward Within Pattern by 120 - - - Paketti - ∿ Jump Forward Within Pattern by 121 - - - Paketti - ∿ Jump Backward Within Pattern by 121 - - - Paketti - ∿ Jump Forward Within Pattern by 122 - - - Paketti - ∿ Jump Backward Within Pattern by 122 - - - Paketti - ∿ Jump Forward Within Pattern by 123 - - - Paketti - ∿ Jump Backward Within Pattern by 123 - - - Paketti - ∿ Jump Forward Within Pattern by 124 - - - Paketti - ∿ Jump Backward Within Pattern by 124 - - - Paketti - ∿ Jump Forward Within Pattern by 125 - - - Paketti - ∿ Jump Backward Within Pattern by 125 - - - Paketti - ∿ Jump Forward Within Pattern by 126 - - - Paketti - ∿ Jump Backward Within Pattern by 126 - - - Paketti - ∿ Jump Forward Within Pattern by 127 - - - Paketti - ∿ Jump Backward Within Pattern by 127 - - - Paketti - ∿ Jump Forward Within Pattern by 128 - - - Paketti - ∿ Jump Backward Within Pattern by 128 - - - Paketti - ∿ Jump Forward Within Pattern by Random - - - Paketti - ∿ Jump Backward Within Pattern by Random - - - Paketti - ∿ Jump Forward Within Song by 001 - - - Paketti - ∿ Jump Backward Within Song by 001 - - - Paketti - ∿ Jump Forward Within Song by 002 - - - Paketti - ∿ Jump Backward Within Song by 002 - - - Paketti - ∿ Jump Forward Within Song by 003 - - - Paketti - ∿ Jump Backward Within Song by 003 - - - Paketti - ∿ Jump Forward Within Song by 004 - - - Paketti - ∿ Jump Backward Within Song by 004 - - - Paketti - ∿ Jump Forward Within Song by 005 - - - Paketti - ∿ Jump Backward Within Song by 005 - - - Paketti - ∿ Jump Forward Within Song by 006 - - - Paketti - ∿ Jump Backward Within Song by 006 - - - Paketti - ∿ Jump Forward Within Song by 007 - - - Paketti - ∿ Jump Backward Within Song by 007 - - - Paketti - ∿ Jump Forward Within Song by 008 - - - Paketti - ∿ Jump Backward Within Song by 008 - - - Paketti - ∿ Jump Forward Within Song by 009 - - - Paketti - ∿ Jump Backward Within Song by 009 - - - Paketti - ∿ Jump Forward Within Song by 010 - - - Paketti - ∿ Jump Backward Within Song by 010 - - - Paketti - ∿ Jump Forward Within Song by 011 - - - Paketti - ∿ Jump Backward Within Song by 011 - - - Paketti - ∿ Jump Forward Within Song by 012 - - - Paketti - ∿ Jump Backward Within Song by 012 - - - Paketti - ∿ Jump Forward Within Song by 013 - - - Paketti - ∿ Jump Backward Within Song by 013 - - - Paketti - ∿ Jump Forward Within Song by 014 - - - Paketti - ∿ Jump Backward Within Song by 014 - - - Paketti - ∿ Jump Forward Within Song by 015 - - - Paketti - ∿ Jump Backward Within Song by 015 - - - Paketti - ∿ Jump Forward Within Song by 016 - - - Paketti - ∿ Jump Backward Within Song by 016 - - - Paketti - ∿ Jump Forward Within Song by 017 - - - Paketti - ∿ Jump Backward Within Song by 017 - - - Paketti - ∿ Jump Forward Within Song by 018 - - - Paketti - ∿ Jump Backward Within Song by 018 - - - Paketti - ∿ Jump Forward Within Song by 019 - - - Paketti - ∿ Jump Backward Within Song by 019 - - - Paketti - ∿ Jump Forward Within Song by 020 - - - Paketti - ∿ Jump Backward Within Song by 020 - - - Paketti - ∿ Jump Forward Within Song by 021 - - - Paketti - ∿ Jump Backward Within Song by 021 - - - Paketti - ∿ Jump Forward Within Song by 022 - - - Paketti - ∿ Jump Backward Within Song by 022 - - - Paketti - ∿ Jump Forward Within Song by 023 - - - Paketti - ∿ Jump Backward Within Song by 023 - - - Paketti - ∿ Jump Forward Within Song by 024 - - - Paketti - ∿ Jump Backward Within Song by 024 - - - Paketti - ∿ Jump Forward Within Song by 025 - - - Paketti - ∿ Jump Backward Within Song by 025 - - - Paketti - ∿ Jump Forward Within Song by 026 - - - Paketti - ∿ Jump Backward Within Song by 026 - - - Paketti - ∿ Jump Forward Within Song by 027 - - - Paketti - ∿ Jump Backward Within Song by 027 - - - Paketti - ∿ Jump Forward Within Song by 028 - - - Paketti - ∿ Jump Backward Within Song by 028 - - - Paketti - ∿ Jump Forward Within Song by 029 - - - Paketti - ∿ Jump Backward Within Song by 029 - - - Paketti - ∿ Jump Forward Within Song by 030 - - - Paketti - ∿ Jump Backward Within Song by 030 - - - Paketti - ∿ Jump Forward Within Song by 031 - - - Paketti - ∿ Jump Backward Within Song by 031 - - - Paketti - ∿ Jump Forward Within Song by 032 - - - Paketti - ∿ Jump Backward Within Song by 032 - - - Paketti - ∿ Jump Forward Within Song by 033 - - - Paketti - ∿ Jump Backward Within Song by 033 - - - Paketti - ∿ Jump Forward Within Song by 034 - - - Paketti - ∿ Jump Backward Within Song by 034 - - - Paketti - ∿ Jump Forward Within Song by 035 - - - Paketti - ∿ Jump Backward Within Song by 035 - - - Paketti - ∿ Jump Forward Within Song by 036 - - - Paketti - ∿ Jump Backward Within Song by 036 - - - Paketti - ∿ Jump Forward Within Song by 037 - - - Paketti - ∿ Jump Backward Within Song by 037 - - - Paketti - ∿ Jump Forward Within Song by 038 - - - Paketti - ∿ Jump Backward Within Song by 038 - - - Paketti - ∿ Jump Forward Within Song by 039 - - - Paketti - ∿ Jump Backward Within Song by 039 - - - Paketti - ∿ Jump Forward Within Song by 040 - - - Paketti - ∿ Jump Backward Within Song by 040 - - - Paketti - ∿ Jump Forward Within Song by 041 - - - Paketti - ∿ Jump Backward Within Song by 041 - - - Paketti - ∿ Jump Forward Within Song by 042 - - - Paketti - ∿ Jump Backward Within Song by 042 - - - Paketti - ∿ Jump Forward Within Song by 043 - - - Paketti - ∿ Jump Backward Within Song by 043 - - - Paketti - ∿ Jump Forward Within Song by 044 - - - Paketti - ∿ Jump Backward Within Song by 044 - - - Paketti - ∿ Jump Forward Within Song by 045 - - - Paketti - ∿ Jump Backward Within Song by 045 - - - Paketti - ∿ Jump Forward Within Song by 046 - - - Paketti - ∿ Jump Backward Within Song by 046 - - - Paketti - ∿ Jump Forward Within Song by 047 - - - Paketti - ∿ Jump Backward Within Song by 047 - - - Paketti - ∿ Jump Forward Within Song by 048 - - - Paketti - ∿ Jump Backward Within Song by 048 - - - Paketti - ∿ Jump Forward Within Song by 049 - - - Paketti - ∿ Jump Backward Within Song by 049 - - - Paketti - ∿ Jump Forward Within Song by 050 - - - Paketti - ∿ Jump Backward Within Song by 050 - - - Paketti - ∿ Jump Forward Within Song by 051 - - - Paketti - ∿ Jump Backward Within Song by 051 - - - Paketti - ∿ Jump Forward Within Song by 052 - - - Paketti - ∿ Jump Backward Within Song by 052 - - - Paketti - ∿ Jump Forward Within Song by 053 - - - Paketti - ∿ Jump Backward Within Song by 053 - - - Paketti - ∿ Jump Forward Within Song by 054 - - - Paketti - ∿ Jump Backward Within Song by 054 - - - Paketti - ∿ Jump Forward Within Song by 055 - - - Paketti - ∿ Jump Backward Within Song by 055 - - - Paketti - ∿ Jump Forward Within Song by 056 - - - Paketti - ∿ Jump Backward Within Song by 056 - - - Paketti - ∿ Jump Forward Within Song by 057 - - - Paketti - ∿ Jump Backward Within Song by 057 - - - Paketti - ∿ Jump Forward Within Song by 058 - - - Paketti - ∿ Jump Backward Within Song by 058 - - - Paketti - ∿ Jump Forward Within Song by 059 - - - Paketti - ∿ Jump Backward Within Song by 059 - - - Paketti - ∿ Jump Forward Within Song by 060 - - - Paketti - ∿ Jump Backward Within Song by 060 - - - Paketti - ∿ Jump Forward Within Song by 061 - - - Paketti - ∿ Jump Backward Within Song by 061 - - - Paketti - ∿ Jump Forward Within Song by 062 - - - Paketti - ∿ Jump Backward Within Song by 062 - - - Paketti - ∿ Jump Forward Within Song by 063 - - - Paketti - ∿ Jump Backward Within Song by 063 - - - Paketti - ∿ Jump Forward Within Song by 064 - - - Paketti - ∿ Jump Backward Within Song by 064 - - - Paketti - ∿ Jump Forward Within Song by 065 - - - Paketti - ∿ Jump Backward Within Song by 065 - - - Paketti - ∿ Jump Forward Within Song by 066 - - - Paketti - ∿ Jump Backward Within Song by 066 - - - Paketti - ∿ Jump Forward Within Song by 067 - - - Paketti - ∿ Jump Backward Within Song by 067 - - - Paketti - ∿ Jump Forward Within Song by 068 - - - Paketti - ∿ Jump Backward Within Song by 068 - - - Paketti - ∿ Jump Forward Within Song by 069 - - - Paketti - ∿ Jump Backward Within Song by 069 - - - Paketti - ∿ Jump Forward Within Song by 070 - - - Paketti - ∿ Jump Backward Within Song by 070 - - - Paketti - ∿ Jump Forward Within Song by 071 - - - Paketti - ∿ Jump Backward Within Song by 071 - - - Paketti - ∿ Jump Forward Within Song by 072 - - - Paketti - ∿ Jump Backward Within Song by 072 - - - Paketti - ∿ Jump Forward Within Song by 073 - - - Paketti - ∿ Jump Backward Within Song by 073 - - - Paketti - ∿ Jump Forward Within Song by 074 - - - Paketti - ∿ Jump Backward Within Song by 074 - - - Paketti - ∿ Jump Forward Within Song by 075 - - - Paketti - ∿ Jump Backward Within Song by 075 - - - Paketti - ∿ Jump Forward Within Song by 076 - - - Paketti - ∿ Jump Backward Within Song by 076 - - - Paketti - ∿ Jump Forward Within Song by 077 - - - Paketti - ∿ Jump Backward Within Song by 077 - - - Paketti - ∿ Jump Forward Within Song by 078 - - - Paketti - ∿ Jump Backward Within Song by 078 - - - Paketti - ∿ Jump Forward Within Song by 079 - - - Paketti - ∿ Jump Backward Within Song by 079 - - - Paketti - ∿ Jump Forward Within Song by 080 - - - Paketti - ∿ Jump Backward Within Song by 080 - - - Paketti - ∿ Jump Forward Within Song by 081 - - - Paketti - ∿ Jump Backward Within Song by 081 - - - Paketti - ∿ Jump Forward Within Song by 082 - - - Paketti - ∿ Jump Backward Within Song by 082 - - - Paketti - ∿ Jump Forward Within Song by 083 - - - Paketti - ∿ Jump Backward Within Song by 083 - - - Paketti - ∿ Jump Forward Within Song by 084 - - - Paketti - ∿ Jump Backward Within Song by 084 - - - Paketti - ∿ Jump Forward Within Song by 085 - - - Paketti - ∿ Jump Backward Within Song by 085 - - - Paketti - ∿ Jump Forward Within Song by 086 - - - Paketti - ∿ Jump Backward Within Song by 086 - - - Paketti - ∿ Jump Forward Within Song by 087 - - - Paketti - ∿ Jump Backward Within Song by 087 - - - Paketti - ∿ Jump Forward Within Song by 088 - - - Paketti - ∿ Jump Backward Within Song by 088 - - - Paketti - ∿ Jump Forward Within Song by 089 - - - Paketti - ∿ Jump Backward Within Song by 089 - - - Paketti - ∿ Jump Forward Within Song by 090 - - - Paketti - ∿ Jump Backward Within Song by 090 - - - Paketti - ∿ Jump Forward Within Song by 091 - - - Paketti - ∿ Jump Backward Within Song by 091 - - - Paketti - ∿ Jump Forward Within Song by 092 - - - Paketti - ∿ Jump Backward Within Song by 092 - - - Paketti - ∿ Jump Forward Within Song by 093 - - - Paketti - ∿ Jump Backward Within Song by 093 - - - Paketti - ∿ Jump Forward Within Song by 094 - - - Paketti - ∿ Jump Backward Within Song by 094 - - - Paketti - ∿ Jump Forward Within Song by 095 - - - Paketti - ∿ Jump Backward Within Song by 095 - - - Paketti - ∿ Jump Forward Within Song by 096 - - - Paketti - ∿ Jump Backward Within Song by 096 - - - Paketti - ∿ Jump Forward Within Song by 097 - - - Paketti - ∿ Jump Backward Within Song by 097 - - - Paketti - ∿ Jump Forward Within Song by 098 - - - Paketti - ∿ Jump Backward Within Song by 098 - - - Paketti - ∿ Jump Forward Within Song by 099 - - - Paketti - ∿ Jump Backward Within Song by 099 - - - Paketti - ∿ Jump Forward Within Song by 100 - - - Paketti - ∿ Jump Backward Within Song by 100 - - - Paketti - ∿ Jump Forward Within Song by 101 - - - Paketti - ∿ Jump Backward Within Song by 101 - - - Paketti - ∿ Jump Forward Within Song by 102 - - - Paketti - ∿ Jump Backward Within Song by 102 - - - Paketti - ∿ Jump Forward Within Song by 103 - - - Paketti - ∿ Jump Backward Within Song by 103 - - - Paketti - ∿ Jump Forward Within Song by 104 - - - Paketti - ∿ Jump Backward Within Song by 104 - - - Paketti - ∿ Jump Forward Within Song by 105 - - - Paketti - ∿ Jump Backward Within Song by 105 - - - Paketti - ∿ Jump Forward Within Song by 106 - - - Paketti - ∿ Jump Backward Within Song by 106 - - - Paketti - ∿ Jump Forward Within Song by 107 - - - Paketti - ∿ Jump Backward Within Song by 107 - - - Paketti - ∿ Jump Forward Within Song by 108 - - - Paketti - ∿ Jump Backward Within Song by 108 - - - Paketti - ∿ Jump Forward Within Song by 109 - - - Paketti - ∿ Jump Backward Within Song by 109 - - - Paketti - ∿ Jump Forward Within Song by 110 - - - Paketti - ∿ Jump Backward Within Song by 110 - - - Paketti - ∿ Jump Forward Within Song by 111 - - - Paketti - ∿ Jump Backward Within Song by 111 - - - Paketti - ∿ Jump Forward Within Song by 112 - - - Paketti - ∿ Jump Backward Within Song by 112 - - - Paketti - ∿ Jump Forward Within Song by 113 - - - Paketti - ∿ Jump Backward Within Song by 113 - - - Paketti - ∿ Jump Forward Within Song by 114 - - - Paketti - ∿ Jump Backward Within Song by 114 - - - Paketti - ∿ Jump Forward Within Song by 115 - - - Paketti - ∿ Jump Backward Within Song by 115 - - - Paketti - ∿ Jump Forward Within Song by 116 - - - Paketti - ∿ Jump Backward Within Song by 116 - - - Paketti - ∿ Jump Forward Within Song by 117 - - - Paketti - ∿ Jump Backward Within Song by 117 - - - Paketti - ∿ Jump Forward Within Song by 118 - - - Paketti - ∿ Jump Backward Within Song by 118 - - - Paketti - ∿ Jump Forward Within Song by 119 - - - Paketti - ∿ Jump Backward Within Song by 119 - - - Paketti - ∿ Jump Forward Within Song by 120 - - - Paketti - ∿ Jump Backward Within Song by 120 - - - Paketti - ∿ Jump Forward Within Song by 121 - - - Paketti - ∿ Jump Backward Within Song by 121 - - - Paketti - ∿ Jump Forward Within Song by 122 - - - Paketti - ∿ Jump Backward Within Song by 122 - - - Paketti - ∿ Jump Forward Within Song by 123 - Shift + Option + 1 - - - Paketti - ∿ Jump Backward Within Song by 123 - - - Paketti - ∿ Jump Forward Within Song by 124 - - - Paketti - ∿ Jump Backward Within Song by 124 - - - Paketti - ∿ Jump Forward Within Song by 125 - - - Paketti - ∿ Jump Backward Within Song by 125 - - - Paketti - ∿ Jump Forward Within Song by 126 - - - Paketti - ∿ Jump Backward Within Song by 126 - - - Paketti - ∿ Jump Forward Within Song by 127 - - - Paketti - ∿ Jump Backward Within Song by 127 - - - Paketti - ∿ Jump Forward Within Song by 128 - - - Paketti - ∿ Jump Backward Within Song by 128 - - - Paketti - ∿ Jump Forward Within Song by Random - - - Paketti - ∿ Jump Backward Within Song by Random - - - Paketti - ∿ Show Automation Value Dialog - Shift + Option + 2 - - - Paketti - ∿ Set Automation Point - - - Paketti - ∿ Crossfade Loop - Shift + Command + C - - - Paketti - ∿ Duplicate Selected Sample at -12 transpose - - - Paketti - ∿ Duplicate Selected Sample at -24 transpose - - - Paketti - ∿ Duplicate Selected Sample at +12 transpose - - - Paketti - ∿ Duplicate Selected Sample at +24 transpose - - - Paketti - ∿ Duplicate Pattern Above & Clear Muted Tracks - Shift + Control + X - - - Paketti - ∿ Duplicate Pattern Below & Clear Muted Tracks - - - Paketti - ∿ Load New Instrument with Current Slice Markers - - - Paketti - ∿ Select Automation Playmode (Next) - - - Paketti - ∿ Select Automation Playmode (Previous) - - - Paketti - ∿ Select Automation Playmode 01 Points - - - Paketti - ∿ Select Automation Playmode 02 Lines - - - Paketti - ∿ Select Automation Playmode 03 Curves - - - Paketti - ∿ Flood Fill Column with Row - - - Paketti - ∿ Repeater 1 / 1 Even - - - Paketti - ∿ Repeater 1 / 1 Triplet - - - Paketti - ∿ Repeater 1 / 1 Dotted - - - Paketti - ∿ Repeater 1 / 2 Even - - - Paketti - ∿ Repeater 1 / 2 Triplet - - - Paketti - ∿ Repeater 1 / 2 Dotted - - - Paketti - ∿ Repeater 1 / 4 Even - - - Paketti - ∿ Repeater 1 / 4 Triplet - - - Paketti - ∿ Repeater 1 / 4 Dotted - - - Paketti - ∿ Repeater 1 / 8 Even - - - Paketti - ∿ Repeater 1 / 8 Triplet - - - Paketti - ∿ Repeater 1 / 8 Dotted - - - Paketti - ∿ Repeater 1 / 16 Even - - - Paketti - ∿ Repeater 1 / 16 Triplet - - - Paketti - ∿ Repeater 1 / 16 Dotted - - - Paketti - ∿ Repeater 1 / 32 Even - - - Paketti - ∿ Repeater 1 / 32 Triplet - - - Paketti - ∿ Repeater 1 / 32 Dotted - - - Paketti - ∿ Repeater 1 / 64 Even - - - Paketti - ∿ Repeater 1 / 64 Triplet - - - Paketti - ∿ Repeater 1 / 64 Dotted - - - Paketti - ∿ Repeater 1 / 128 Even - - - Paketti - ∿ Repeater 1 / 128 Triplet - - - Paketti - ∿ Repeater 1 / 128 Dotted - - - Tools - ∿ Randomize Effect Column Smatter (C00/C0F) - - - Tools - ∿ Randomize Effect Column Smatter (0G Glide) - - - Tools - ∿ Randomize Effect Column Smatter (0U Slide Up) - - - Tools - ∿ Randomize Effect Column Smatter (0D Slide Down) - - - Tools - ∿ Randomize Effect Column Smatter (0R Retrig) - - - Tools - ∿ Randomize Effect Column Smatter (0P Panning) - - - Tools - ∿ Randomize Effect Column Smatter (0B00/0B01) - - - Tools - ∿ Randomize Effect Column Fill (C00/C0F) - - - Tools - ∿ Randomize Effect Column Fill (0G Glide) - - - Tools - ∿ Randomize Effect Column Fill (0U Slide Up) - - - Tools - ∿ Randomize Effect Column Fill (0D Slide Down) - - - Tools - ∿ Randomize Effect Column Fill (0R Retrig) - - - Tools - ∿ Randomize Effect Column Fill (0P Panning) - - - Tools - ∿ Randomize Effect Column Fill (0B00/0B01) - - - Paketti - ∿ Toggle Solo Tracks - Command + F10 - - - Paketti - ∿ Toggle Mute Tracks - Command + F9 - - - Paketti - ∿ Open Visible Pages to Fit Parameters - - - Paketti - ∿ Recordammajic9000 - - - Paketti - ∿ Display Sample Recorder with #Line Input - - - Paketti - ∿ Note Off / Caps Lock replacement - - - Paketti - ∿ Record to Current Track+Plus - - - Paketti - ∿ Open FormulaDevice Dialog... - Command + Control + F - - - Paketti - ∿ Column Cycle Keyjazz 01 - - - Paketti - ∿ Column Cycle Keyjazz 02 - - - Paketti - ∿ Column Cycle Keyjazz 03 - - - Paketti - ∿ Column Cycle Keyjazz 04 - - - Paketti - ∿ Column Cycle Keyjazz 05 - - - Paketti - ∿ Column Cycle Keyjazz 06 - - - Paketti - ∿ Column Cycle Keyjazz 07 - - - Paketti - ∿ Column Cycle Keyjazz 08 - - - Paketti - ∿ Column Cycle Keyjazz 09 - - - Paketti - ∿ Column Cycle Keyjazz 10 - - - Paketti - ∿ Column Cycle Keyjazz 11 - - - Paketti - ∿ Column Cycle Keyjazz 12 - Shift + Option + Control + 5 - - - Paketti - ∿ Start/Stop Column Cycling - - - Paketti - ∿ Column Cycle Keyjazz 01_Special - Shift + Option + Control + 1 - - - Paketti - ∿ Paketti Unison Generator - Option + U - - - Tools - ∿ Interpolate Beyond Linear - Control + I - - - Tools - ∿ Interpolate Beyond Logarithmic In - - - Tools - ∿ Interpolate Beyond Logarithmic Out - - - Tools - ∿ Interpolate Beyond Sin - - - Tools - ∿ Interpolate Beyond Square - - - Tools - ∿ Interpolate Beyond Saw - - - Tools - ∿ Interpolate Beyond Tri - - - Tools - ∿ Interpolate Beyond Bounce Out - - - Tools - ∿ Interpolate Beyond Bounce In - - - Tools - ∿ Interpolate Beyond Gradient Noise - - - - - Disk Browser - - - Navigation - Select Previous Category Browser - - - Navigation - Select Next Category Browser - - - Selection - Select Previous File - Up - - - Selection - Select Next File - Down - - - Selection - Collapse Folder - Left - - - Selection - Expand Folder - Right - - - Selection - Select First Entry - Option + Up - - - Selection - Select Last Entry - Option + Down - - - Selection - Select on Previous Page - Prior - - - Selection - Select on Next Page - Next - - - Selection - Select All Files - - - Selection - Toggle Dir/File List - Tab - - - Selection - Toggle Dir/File List (2nd) - Shift + Tab - - - Loading - Load Selected Files - - - Loading - Load Selected Files with Options - Shift + Return - - - Navigation - Select CurrentDir as Root - - - Navigation - Switch to Parent Root Directory - - - Edit - Rescan Contents - - - Edit - Rename Selected File or Dir - - - Edit - Create a New Directory - - - Edit - Delete the Selected File or Dir - Command + Back - - - Edit - Show Selected File or Dir in Finder - - - Favorites - Recall Favorite 1 - - - Favorites - Recall Favorite 2 - - - Favorites - Recall Favorite 3 - - - Favorites - Recall Favorite 4 - - - Favorites - Store Favorite 1 - - - Favorites - Store Favorite 2 - - - Favorites - Store Favorite 3 - Shift + Command + 3 - - - Favorites - Store Favorite 4 - Shift + Command + 4 - - - - - Pattern Editor - - - Navigation - Toggle Advanced Edit - - - Navigation - Focus Pattern Matrix - - - Navigation - Move to Previous Column - Left - - - Navigation - Move to Next Column - Right - - - Navigation - Move to Previous Row - Up - - - Navigation - Move to Next Row - Down - - - Navigation - Move to Previous Row with EditStep - - - Navigation - Move to Next Row with EditStep - - - Navigation - Move to Previous Row with Note - Shift + Command + Prior - - - Navigation - Move to Next Row with Note - Shift + Command + Next - - - Navigation - Toggle Auto Capture Instrument - Shift + Option + Backslash - - - Navigation - Capture Instrument - Shift + Command + Return - - - Navigation - Capture Nearest Instrument - - - Navigation - Jump 16 Rows Up - Prior - - - Navigation - Jump 16 Rows Down - Next - - - Navigation - Jump to First Row - - - Navigation - Jump to Last Row - - - Navigation - Jump to Row 0 - F9 - - - Navigation - Jump to Row 16 - - - Navigation - Jump to Row 32 - - - Navigation - Jump to Row 48 - - - Navigation - Jump to Previous Column - Shift + Tab - - - Navigation - Jump to Next Column - Tab - - - Navigation - Jump to Previous Track - - - Navigation - Jump to Next Track - - - Navigation - Jump to Master Track - Shift + Command + End - - - Navigation - Jump to First Track - - - Insert/Delete - Clear Current Note or Effect - Delete - - - Insert/Delete - Clear Current Note or Effect (2nd) - - - Insert/Delete - Clear Whole Note or Effect - - - Insert/Delete - Clear Whole Row - Option + Delete - - - Insert/Delete - Insert New Row - Shift + Grave - - - Insert/Delete - Insert New Row (2nd) - - - Insert/Delete - Delete Current Row - Shift + Back - - - Insert/Delete - Delete Previous Row - - - Insert/Delete - Insert New Row in Column - Grave - - - Insert/Delete - Delete Current Row in Column - Back - - - Insert/Delete - Delete Previous Row in Column - - - Insert/Delete - Insert New Row in Pattern - - - Insert/Delete - Delete Current Row in Pattern - - - Insert/Delete - Delete Previous Row in Pattern - - - Insert/Delete - Increase Pattern Length - - - Insert/Delete - Decrease Pattern Length - - - Play - Play Current Line - 4 - - - Edit Step - Increase EditStep - Command + Equals - - - Edit Step - Decrease EditStep - - - Edit Step - Double EditStep - Option + Equals - - - Edit Step - Halve EditStep - Option + Minus - - - Edit Step - Set EditStep To 0 - Command + 0 - - - Edit Step - Set EditStep To 1 - Command + 1 - - - Edit Step - Set EditStep To 2 - Command + 2 - - - Edit Step - Set EditStep To 3 - Command + 3 - - - Edit Step - Set EditStep To 4 - Command + 4 - - - Edit Step - Set EditStep To 5 - Command + 5 - - - Edit Step - Set EditStep To 6 - Command + 6 - - - Edit Step - Set EditStep To 7 - Command + 7 - - - Edit Step - Set EditStep To 8 - Command + 8 - - - Edit Step - Set EditStep To 9 - Command + 9 - - - Edit Step - Set EditStep To 12 - - - Edit Step - Set EditStep To 16 - - - Edit Step - Set EditStep To 18 - - - Edit Step - Set EditStep To 24 - - - Edit Step - Set EditStep To 32 - - - Record - Toggle Edit Mode - - - Record - Toggle Record to Envelopes/Pattern - - - Record - Toggle Record Quantized - - - Record - Increase Quantization - Shift + Command + Equals - - - Record - Decrease Quantization - - - Record - Set Quantization To 1 - - - Record - Set Quantization To 2 - - - Record - Set Quantization To 3 - Shift + Command + 3 - - - Record - Set Quantization To 4 - Shift + Command + 4 - - - Record - Set Quantization To 5 - Shift + Command + 5 - - - Record - Set Quantization To 6 - - - Record - Set Quantization To 7 - - - Record - Set Quantization To 8 - Shift + Command + 8 - - - Record - Set Quantization To 9 - Shift + Command + 9 - - - Record - Set Quantization To 12 - - - Record - Set Quantization To 16 - - - Record - Set Quantization To 18 - - - Record - Set Quantization To 24 - - - Record - Set Quantization To 32 - - - Track Control - Insert Track - Command + T - - - Track Control - Insert Group - - - Track Control - Extend Group to Here - - - Track Control - Delete Track - Shift + Command + T - - - Track Control - Delete Group - - - Track Control - Duplicate Track - - - Track Control - Duplicate Track (incl. Patterns) - Option + Command + D - - - Track Control - Rename Track - - - Track Control - Move Track Left - Option + Command + Left - - - Track Control - Move Track Right - - - Track Control - Decrease Number of Columns - - - Track Control - Increase Number of Columns - - - Track Control - View/Hide Volume Column - - - Track Control - View/Hide Panning Column - - - Track Control - View/Hide Delay Column - - - Track Control - Toggle Mute Note Column - - - Track Control - Collapse/Expand Track - - - Track Control - Collapse/Expand Group - Shift + Command + J - - - Track Control - Collapse All Tracks - - - Track Control - Expand All Tracks - - - Track Control - Collapse All Tracks in Group - - - Track Control - Expand All Tracks in Group - - - Pattern Sequence - Increase Pattern Number - - - Pattern Sequence - Decrease Pattern Number - - - Pattern Sequence - Go Up in Sequencer - - - Pattern Sequence - Go Down in Sequencer - - - Pattern Sequence - Go to Prev Section in Sequencer - - - Pattern Sequence - Go to Next Section in Sequencer - - - Pattern Sequence - Go to Sequence Start - Command + Home - - - Pattern Sequence - Go to Sequence End - Command + End - - - Pattern Sequence - Jump One Page Up - Command + Prior - - - Pattern Sequence - Jump One Page Down - Command + Next - - - Pattern Sequence - Insert Pattern - Command + HelpKey(Insert) - - - Pattern Sequence - Insert Pattern (2nd) - Shift + Command + Back - - - Pattern Sequence - Insert Repeated Pattern - Option + Command + HelpKey(Insert) - - - Pattern Sequence - Insert Repeated Pattern (2nd) - Option + Command + Back - - - Pattern Sequence - Delete Pattern - Command + Back - - - Pattern Sequence - Delete Pattern (2nd) - Command + Delete - - - Pattern Sequence - Sort Pattern Sequence - - - Pattern Sequence - Flatten & Sort Pattern Sequence - - - Pattern Sequence - Duplicate Current Pattern - - - Pattern Sequence - Duplicate 2 Pattern Block Sequence - - - Pattern Sequence - Duplicate 3 Pattern Block Sequence - - - Pattern Sequence - Duplicate 4 Pattern Block Sequence - - - Pattern Sequence - Duplicate 5 Pattern Block Sequence - - - Pattern Sequence - Duplicate 6 Pattern Block Sequence - - - Pattern Sequence - Duplicate 7 Pattern Block Sequence - - - Pattern Sequence - Duplicate 8 Pattern Block Sequence - - - Pattern Sequence - Duplicate 9 Pattern Block Sequence - - - Pattern Sequence - Duplicate 10 Pattern Block Sequence - - - Pattern Sequence - Duplicate Whole Song Sequence - - - Selection - Begin Selection - Command + B - - - Selection - End Selection - Command + E - - - Selection - Mark Whole Column - - - Selection - Mark Column in Block Loop Range - - - Selection - Mark Column Above Current Line - - - Selection - Mark Column Below Current Line - - - Selection - Mark Whole Track - - - Selection - Mark Track in Block Loop Range - - - Selection - Mark Track Above Current Line - - - Selection - Mark Track Below Current Line - - - Selection - Mark Whole Group - - - Selection - Mark Whole Pattern - - - Selection - Mark Pattern in Block Loop Range - - - Selection - Mark Pattern Above Current Line - - - Selection - Mark Pattern Below Current Line - - - Block Operations - Transpose One Note Up - - - Block Operations - Transpose One Note Down - - - Block Operations - Transpose One Octave Up - - - Block Operations - Transpose One Octave Down - - - Block Operations - Clear - Shift + Delete - - - Block Operations - Copy and Clear - Command + X - - - Block Operations - Copy and Clear (2nd) - - - Block Operations - Copy - Command + C - - - Block Operations - Copy (2nd) - - - Block Operations - Paste - Option + F5 - - - Block Operations - Paste (2nd) - Command + P - - - Block Operations - Paste Continuously - Command + V - - - Block Operations - Flip - Option + F6 - - - Block Operations - Flip (2nd) - - - Block Operations - Shrink - Option + F8 - - - Block Operations - Shrink (2nd) - - - Block Operations - Expand - Option + 9 - - - Block Operations - Expand (2nd) - - - Block Operations - Randomize - Option + F7 - - - Block Operations - Randomize (2nd) - - - Block Operations - Interpolate Linear - - - Block Operations - Interpolate Logarithmic - - - Block Operations - Interpolate Exponential - - - Block Operations - Humanize - - - Block Operations - Quantize Notes - Option + Q - - - Block Operations - Quantize Notes (Preserve Lengths) - - - Block Operations - Render Selection to Sample - - - Block Operations - Create Phrase from Selection - - - Column Operations - Transpose One Note Up - Shift + Command + F2 - - - Column Operations - Transpose One Note Down - Shift + Command + F1 - - - Column Operations - Transpose One Octave Up - Shift + Command + F12 - - - Column Operations - Transpose One Octave Down - Shift + Command + F11 - - - Column Operations - Clear and Copy - Shift + Command + F3 - - - Column Operations - Copy - Shift + Command + F4 - - - Column Operations - Paste - Shift + Command + F5 - - - Column Operations - Flip - Shift + Command + F6 - - - Column Operations - Shrink - Shift + Command + F8 - - - Column Operations - Expand - Shift + Command + F9 - - - Column Operations - Randomize - Shift + Command + F7 - - - Column Operations - Interpolate Linear - - - Column Operations - Interpolate Logarithmic - Shift + Command + L - - - Column Operations - Interpolate Exponential - - - Column Operations - Humanize - - - Column Operations - Quantize Notes - - - Column Operations - Quantize Notes (Preserve Lengths) - - - Column Operations - Render Column to Sample - - - Column Operations - Create Phrase from Column - - - Track Operations - Transpose One Note Up - - - Track Operations - Transpose One Note Down - - - Track Operations - Transpose One Octave Up - Shift + F12 - - - Track Operations - Transpose One Octave Down - Shift + F11 - - - Track Operations - Clear Muted Columns - - - Track Operations - Clear and Copy - - - Track Operations - Copy - - - Track Operations - Paste - Shift + F5 - - - Track Operations - Flip - Shift + F6 - - - Track Operations - Shrink - Shift + F8 - - - Track Operations - Expand - Shift + F9 - - - Track Operations - Randomize - Shift + F7 - - - Track Operations - Interpolate Linear - - - Track Operations - Interpolate Logarithmic - - - Track Operations - Interpolate Exponential - - - Track Operations - Humanize - - - Track Operations - Quantize Notes - - - Track Operations - Quantize Notes (Preserve Lengths) - - - Track Operations - Render Track to Sample - - - Track Operations - Create Phrase from Track - - - Group Operations - Transpose One Note Up - Shift + Option + F2 - - - Group Operations - Transpose One Note Down - Shift + Option + F1 - - - Group Operations - Transpose One Octave Up - Shift + Option + F12 - - - Group Operations - Transpose One Octave Down - Shift + Option + F11 - - - Group Operations - Flip - Shift + Option + F6 - - - Group Operations - Shrink - Shift + Option + F8 - - - Group Operations - Expand - Shift + Option + F9 - - - Group Operations - Randomize - Shift + Option + F7 - - - Group Operations - Interpolate Linear - - - Group Operations - Interpolate Logarithmic - Shift + Option + L - - - Group Operations - Interpolate Exponential - - - Group Operations - Humanize - Shift + Option + H - - - Group Operations - Quantize Notes - - - Group Operations - Quantize Notes (Preserve Lengths) - - - Group Operations - Render Group to Sample - - - Pattern Operations - Transpose One Note Up - - - Pattern Operations - Transpose One Note Down - - - Pattern Operations - Transpose One Octave Up - Command + F12 - - - Pattern Operations - Transpose One Octave Down - Command + F11 - - - Pattern Operations - Clear Muted Tracks - Option + Command + F3 - - - Pattern Operations - Clear and Copy - - - Pattern Operations - Copy - - - Pattern Operations - Paste - - - Pattern Operations - Flip - - - Pattern Operations - Shrink - - - Pattern Operations - Expand - - - Pattern Operations - Randomize - - - Pattern Operations - Interpolate Linear - - - Pattern Operations - Interpolate Logarithmic - - - Pattern Operations - Interpolate Exponential - - - Pattern Operations - Humanize - - - Pattern Operations - Quantize Notes - - - Pattern Operations - Quantize Notes (Preserve Lengths) - - - Pattern Operations - Render Pattern to Sample - - - Options - Toggle PatternWrap - Shift + F13 - - - Options - Single Track Edit Mode - - - Options - Toggle Show Track Colors - - - Track Control - View/Hide Sample FX Column - - - Selection - Flexible Mark Whole Track - - - Selection - Flexible Mark in Block Loop Range - - - Selection - Flexible Mark Above Current Line - - - Selection - Flexible Mark Below Current Line - - - Insert/Delete - Split Pattern at Current Line - Option + Command + K - - - Insert/Delete - Join Pattern with Next - Option + Command + J - - - Pattern - ∿ Slices To Pattern - - - Paketti - ∿ Switch to Automation - - - Paketti - ∿ Show Automation - - - Paketti - ∿ Transpose Octave Up (Selection/Track) - Shift + Command + Q - - - Paketti - ∿ Transpose Octave Down (Selection/Track) - Shift + Command + A - - - Paketti - ∿ Transpose +1 (Selection/Track) - Command + Q - - - Paketti - ∿ Transpose -1 (Selection/Track) - Command + A - - - Paketti - ∿ Transpose Octave Up Note Column (Selection/Note Column) - Shift + Option + Command + Q - - - Paketti - ∿ Transpose Octave Down Note Column (Selection/Note Column) - Shift + Option + Command + A - - - Paketti - ∿ Transpose +1 Note Column (Selection/Note Column) - Option + Command + Q - - - Paketti - ∿ Transpose -1 Note Column (Selection/Note Column) - Option + Command + A - - - Paketti - ∿ Impulse Tracker ALT-D Double Select - - - Paketti - ∿ Impulse Tracker ALT-D Double Select W/ Automation - Command + D - - - Paketti - ∿ Set Note to Octave 0 - - - Paketti - ∿ Set Note to Octave 1 - - - Paketti - ∿ Set Note to Octave 2 - - - Paketti - ∿ Set Note to Octave 3 - - - Paketti - ∿ Set Note to Octave 4 - - - Paketti - ∿ Set Note to Octave 5 - - - Paketti - ∿ Set Note to Octave 6 - - - Paketti - ∿ Set Note to Octave 7 - - - Paketti - ∿ Set Note to Octave 8 - - - Paketti - ∿ Set Note to Octave 9 - - - Paketti - ∿ Impulse Tracker ALT-F Expand Selection - Command + F - - - Paketti - ∿ Impulse Tracker ALT-G Shrink Selection - Command + G - - - Paketti - ∿ Impulse Tracker ALT-S Set Selection to Instrument - Command + S - - - Selection - ∿ Impulse Tracker ALT-L Mark Track/Mark Pattern - Command + L - - - Paketti - ∿ Impulse Tracker ALT-D Double Select Column - - - Paketti - ∿ Impulse Tracker ALT-D Double Select Pattern - - - Paketti - ∿ Impulse Tracker Home *2 behaviour - Option + Up - - - Paketti - ∿ Impulse Tracker Home *2 behaviour (2nd) - - - Paketti - ∿ Impulse Tracker End *2 behaviour - Option + Down - - - Paketti - ∿ Impulse Tracker End *2 behaviour (2nd) - - - Paketti - ∿ Impulse Tracker ALT-U Unmark Selection - - - Paketti - ∿ Impulse Tracker ALT-U Unmark Selection (2nd) - - - Paketti - ∿ Impulse Tracker Alt-Right Move Forwards One Channel (Wrap) - Option + Right - - - Paketti - ∿ Impulse Tracker Alt-Left Move Backwards One Channel (Wrap) - Option + Left - - - Paketti - ∿ Impulse Tracker Alt-Right Move Forwards One Channel - - - Paketti - ∿ Impulse Tracker Alt-Left Move Backwards One Channel - - - Paketti - ∿ Capture Nearest Instrument and Octave (nojump) - - - Paketti - ∿ Capture Nearest Instrument and Octave (jump) - - - Paketti - ∿ Mute/Unmute Note Column - - - Paketti - ∿ Effect Column L00 Track Volume Level 0 On/Off - - - Paketti - ∿ Record+Follow Off - - - Paketti - ∿ Delay Column Increase (+1) - Shift + Control + PeakedBracket - - - Paketti - ∿ Delay Column Decrease (-1) - Control + PeakedBracket - - - Paketti - ∿ Delay Column Increase (+10) - - - Paketti - ∿ Delay Column Decrease (-10) - - - Paketti - ∿ KapsLock CapsLock Caps Lock Note Off - Capital - - - Paketti - ∿ Set Pattern Length to 001 (001) - - - Paketti - ∿ Set Pattern Length to 004 (004) - Control + 1 - - - Paketti - ∿ Set Pattern Length to 006 (006) - - - Paketti - ∿ Set Pattern Length to 008 (008) - Control + 2 - - - Paketti - ∿ Set Pattern Length to 012 (00C) - - - Paketti - ∿ Set Pattern Length to 016 (010) - Control + 3 - - - Paketti - ∿ Set Pattern Length to 024 (018) - - - Paketti - ∿ Set Pattern Length to 032 (020) - Control + 4 - - - Paketti - ∿ Set Pattern Length to 048 (030) - - - Paketti - ∿ Set Pattern Length to 064 (040) - Control + 5 - - - Paketti - ∿ Set Pattern Length to 096 (060) - - - Paketti - ∿ Set Pattern Length to 128 (080) - Control + 6 - - - Paketti - ∿ Set Pattern Length to 192 (0C0) - - - Paketti - ∿ Set Pattern Length to 256 (100) - Control + 7 - - - Paketti - ∿ Set Pattern Length to 384 (180) - - - Paketti - ∿ Set Pattern Length to 512 (200) - Control + 8 - - - Paketti - ∿ Effect Column AXx Arp Amount Xx (-1) - - - Paketti - ∿ Effect Column AXx Arp Amount Xx (+1) - - - Paketti - ∿ Effect Column AxY Arp Amount xY (-1) - - - Paketti - ∿ Effect Column AxY Arp Amount xY (+1) - - - Paketti - ∿ Effect Column VxY Vibrato Amount xY (-1) - - - Paketti - ∿ Effect Column VxY Vibrato Amount xY (+1) - - - Paketti - ∿ Effect Column TxY Tremolo Amount xY (-1) - - - Paketti - ∿ Effect Column TxY Tremolo Amount xY (+1) - - - Paketti - ∿ Effect Column RxY Retrig Amount xY (-1) - - - Paketti - ∿ Effect Column RxY Retrig Amount xY (+1) - - - Paketti - ∿ Effect Column CxY Cut Volume Amount xY (-1) - - - Paketti - ∿ Effect Column CxY Cut Volume Amount xY (+1) - - - Paketti - ∿ Set Global LPB to 001 - - - Paketti - ∿ Set Global LPB to 002 - - - Paketti - ∿ Set Global LPB to 003 - - - Paketti - ∿ Set Global LPB to 004 - - - Paketti - ∿ Set Global LPB to 005 - - - Paketti - ∿ Set Global LPB to 006 - - - Paketti - ∿ Set Global LPB to 007 - - - Paketti - ∿ Set Global LPB to 008 - - - Paketti - ∿ Set Global LPB to 009 - - - Paketti - ∿ Set Global LPB to 010 - - - Paketti - ∿ Set Global LPB to 011 - - - Paketti - ∿ Set Global LPB to 012 - - - Paketti - ∿ Set Global LPB to 013 - - - Paketti - ∿ Set Global LPB to 014 - - - Paketti - ∿ Set Global LPB to 015 - - - Paketti - ∿ Set Global LPB to 016 - - - Paketti - ∿ Set Global LPB to 024 - - - Paketti - ∿ Set Global LPB to 032 - - - Paketti - ∿ Set Global LPB to 048 - - - Paketti - ∿ Set Global LPB to 064 - - - Paketti - ∿ Set Global LPB to 128 - - - Paketti - ∿ Set Global LPB to 256 - - - Paketti - ∿ Paketti Pattern Doubler - Command + Grave - - - Paketti - ∿ Paketti Pattern Halver - Shift + Command + Grave - - - Paketti - ∿ Renoise Random BPM & Write BPM/LPB to Master - - - Paketti - ∿ Wipe Effects From Selection - - - Paketti - ∿ Delete/Wipe/Clear Effect Column Content from Current Track - - - Paketti - ∿ Generate Delay Value on Note Columns - - - Navigation - ∿ Paketti Switch between Note/FX columns - Control + Tab - - - Navigation - ∿ Paketti Jump to Column (Next) (Note/FX) - - - Navigation - ∿ Paketti Jump to Column (Previous) (Note/FX) - - - Paketti - ∿ Pattern Shrink (dBlue) - - - Paketti - ∿ Pattern Expand (dBlue) - - - Paketti - ∿ Pattern Shrink + Resize (dBlue) - - - Paketti - ∿ Pattern Expand + Resize (dBlue) - - - Paketti - ∿ Effect Column Infobyte (-1) - - - Paketti - ∿ Effect Column Infobyte (-10) - - - Paketti - ∿ Effect Column Infobyte (-1) (2nd) - - - Paketti - ∿ Effect Column Infobyte (-10) (2nd) - - - Paketti - ∿ Effect Column Infobyte (-1) (3rd) - - - Paketti - ∿ Effect Column Infobyte (-10) (3rd) - - - Paketti - ∿ Effect Column Infobyte (+1) - - - Paketti - ∿ Effect Column Infobyte (+10) - - - Paketti - ∿ Effect Column Infobyte (+1) (2nd) - - - Paketti - ∿ Effect Column Infobyte (+10) (2nd) - - - Paketti - ∿ Effect Column Infobyte (+1) (3rd) - - - Paketti - ∿ Effect Column Infobyte (+10) (3rd) - - - Paketti - ∿ Effect Column Gxx Glide (-1) - - - Paketti - ∿ Effect Column Gxx Glide (-10) - - - Paketti - ∿ Effect Column Gxx Glide (+1) - - - Paketti - ∿ Effect Column Gxx Glide (+10) - - - Paketti - ∿ Effect Column Uxx Slide Pitch Up (+1) - - - Paketti - ∿ Effect Column Uxx Slide Pitch Up (-1) - - - Paketti - ∿ Effect Column Uxx Slide Pitch Up (+10) - - - Paketti - ∿ Effect Column Uxx Slide Pitch Up (-10) - - - Paketti - ∿ Effect Column Dxx Slide Pitch Down (+1) - - - Paketti - ∿ Effect Column Dxx Slide Pitch Down (-1) - - - Paketti - ∿ Effect Column Dxx Slide Pitch Down (+10) - - - Paketti - ∿ Effect Column Dxx Slide Pitch Down (-10) - - - Paketti - ∿ Effect Column Uxx Slide Pitch Up (+1) (2nd) - - - Paketti - ∿ Effect Column Uxx Slide Pitch Up (-1) (2nd) - - - Paketti - ∿ Effect Column Uxx Slide Pitch Up (+10) (2nd) - - - Paketti - ∿ Effect Column Uxx Slide Pitch Up (-10) (2nd) - - - Paketti - ∿ Effect Column Dxx Slide Pitch Down (+1) (2nd) - - - Paketti - ∿ Effect Column Dxx Slide Pitch Down (-1) (2nd) - - - Paketti - ∿ Effect Column Dxx Slide Pitch Down (+10) (2nd) - - - Paketti - ∿ Effect Column Dxx Slide Pitch Down (-10) (2nd) - - - Paketti - ∿ Effect Column Uxx Slide Pitch Up (+1) (3rd) - - - Paketti - ∿ Effect Column Uxx Slide Pitch Up (-1) (3rd) - - - Paketti - ∿ Effect Column Uxx Slide Pitch Up (+10) (3rd) - - - Paketti - ∿ Effect Column Uxx Slide Pitch Up (-10) (3rd) - - - Paketti - ∿ Effect Column Dxx Slide Pitch Down (+1) (3rd) - - - Paketti - ∿ Effect Column Dxx Slide Pitch Down (-1) (3rd) - - - Paketti - ∿ Effect Column Dxx Slide Pitch Down (+10) (3rd) - - - Paketti - ∿ Effect Column Dxx Slide Pitch Down (-10) (3rd) - - - Paketti - ∿ Switch Effect Column/Note Column - - - Paketti - ∿ Clear Current Row - - - Paketti - ∿ Clear Current Row 2nd - - - Paketti - ∿ Effect Column ZBxx Jump To Row (Next) - - - Paketti - ∿ Effect Column B01 Reverse Sample Effect On/Off - - - Paketti - ∿ Effect Column B00 Reverse Sample Effect On/Off - - - Paketti - ∿ Effect Column B00 Reverse Sample Effect On/Off (2nd) - - - Paketti - ∿ Display Effect Column 1 - - - Paketti - ∿ Display Effect Column 2 - - - Paketti - ∿ Display Effect Column 3 - - - Paketti - ∿ Display Effect Column 4 - - - Paketti - ∿ Display Effect Column 5 - - - Paketti - ∿ Display Effect Column 6 - - - Paketti - ∿ Display Effect Column 7 - - - Paketti - ∿ Display Effect Column 8 - - - Paketti - ∿ Display Note Column 01 - - - Paketti - ∿ Display Note Column 02 - - - Paketti - ∿ Display Note Column 03 - - - Paketti - ∿ Display Note Column 04 - - - Paketti - ∿ Display Note Column 05 - - - Paketti - ∿ Display Note Column 06 - - - Paketti - ∿ Display Note Column 07 - - - Paketti - ∿ Display Note Column 08 - - - Paketti - ∿ Display Note Column 09 - - - Paketti - ∿ Display Note Column 10 - - - Paketti - ∿ Display Note Column 11 - - - Paketti - ∿ Display Note Column 12 - - - Paketti - ∿ Reset Panning in Current Column & Row - - - Paketti - ∿ Effect Column L00/LC0 Volume Effect Switch - - - Paketti - ∿ Effect Column 0R(LPB) Retrig On/Off - - - Paketti - ∿ Select Effect Column (Previous) - - - Paketti - ∿ Select Effect Column (Next) - - - Paketti - ∿ Columnizer Increase Delay (+1) - - - Paketti - ∿ Columnizer Increase Delay (+10) - - - Paketti - ∿ Columnizer Decrease Delay (-1) - - - Paketti - ∿ Columnizer Decrease Delay (-10) - - - Paketti - ∿ Columnizer Increase Delay (+1) (2nd) - - - Paketti - ∿ Columnizer Increase Delay (+10) (2nd) - - - Paketti - ∿ Columnizer Decrease Delay (-1) (2nd) - - - Paketti - ∿ Columnizer Decrease Delay (-10) (2nd) - - - Paketti - ∿ Columnizer Increase Panning (+1) - - - Paketti - ∿ Columnizer Increase Panning (+10) - - - Paketti - ∿ Columnizer Decrease Panning (-1) - - - Paketti - ∿ Columnizer Decrease Panning (-10) - - - Paketti - ∿ Columnizer Increase Panning (+1) (2nd) - - - Paketti - ∿ Columnizer Increase Panning (+10) (2nd) - - - Paketti - ∿ Columnizer Decrease Panning (-1) (2nd) - - - Paketti - ∿ Columnizer Decrease Panning (-10) (2nd) - - - Paketti - ∿ Columnizer Increase Volume (+1) - - - Paketti - ∿ Columnizer Increase Volume (+10) - - - Paketti - ∿ Columnizer Decrease Volume (-1) - - - Paketti - ∿ Columnizer Decrease Volume (-10) - - - Paketti - ∿ Columnizer Increase Effect Number (+1) - - - Paketti - ∿ Columnizer Increase Effect Number (+10) - - - Paketti - ∿ Columnizer Decrease Effect Number (-1) - - - Paketti - ∿ Columnizer Decrease Effect Number (-10) - - - Paketti - ∿ Columnizer Increase Effect Amount (+1) - - - Paketti - ∿ Columnizer Increase Effect Amount (+10) - - - Paketti - ∿ Columnizer Decrease Effect Amount (-1) - - - Paketti - ∿ Columnizer Decrease Effect Amount (-10) - - - Paketti - ∿ Flood Fill Note and Instrument - Shift + Option + Grave - - - Paketti - ∿ Flood Fill Note and Instrument with EditStep - Option + E - - - Paketti - ∿ Flood Fill Note and Instrument every 1 step - - - Paketti - ∿ Flood Fill Note and Instrument every 2 step - - - Paketti - ∿ Flood Fill Note and Instrument every 3 step - - - Paketti - ∿ Flood Fill Note and Instrument every 4 step - - - Paketti - ∿ Flood Fill Note and Instrument every 5 step - Shift + Option + 5 - - - Paketti - ∿ Flood Fill Note and Instrument every 6 step - Shift + Option + 6 - - - Paketti - ∿ Flood Fill Note and Instrument every 7 step - Shift + Option + 7 - - - Paketti - ∿ Flood Fill Note and Instrument every 8 step - - - Paketti - ∿ Flood Fill Note and Instrument every 9 step - Shift + Option + 9 - - - Paketti - ∿ Flood Fill Note and Instrument every 10 step - - - Paketti - ∿ Flood Fill Note and Instrument every 11 step - - - Paketti - ∿ Flood Fill Note and Instrument every 12 step - - - Paketti - ∿ Flood Fill Note and Instrument every 13 step - - - Paketti - ∿ Flood Fill Note and Instrument every 14 step - - - Paketti - ∿ Flood Fill Note and Instrument every 15 step - - - Paketti - ∿ Flood Fill Note and Instrument every 16 step - - - Paketti - ∿ Flood Fill Note and Instrument every 17 step - - - Paketti - ∿ Flood Fill Note and Instrument every 18 step - - - Paketti - ∿ Flood Fill Note and Instrument every 19 step - - - Paketti - ∿ Flood Fill Note and Instrument every 20 step - - - Paketti - ∿ Flood Fill Note and Instrument every 21 step - - - Paketti - ∿ Flood Fill Note and Instrument every 22 step - - - Paketti - ∿ Flood Fill Note and Instrument every 23 step - - - Paketti - ∿ Flood Fill Note and Instrument every 24 step - - - Paketti - ∿ Flood Fill Note and Instrument every 25 step - - - Paketti - ∿ Flood Fill Note and Instrument every 26 step - - - Paketti - ∿ Flood Fill Note and Instrument every 27 step - - - Paketti - ∿ Flood Fill Note and Instrument every 28 step - - - Paketti - ∿ Flood Fill Note and Instrument every 29 step - - - Paketti - ∿ Flood Fill Note and Instrument every 30 step - - - Paketti - ∿ Flood Fill Note and Instrument every 31 step - - - Paketti - ∿ Flood Fill Note and Instrument every 32 step - - - Paketti - ∿ Flood Fill Note and Instrument every 33 step - - - Paketti - ∿ Flood Fill Note and Instrument every 34 step - - - Paketti - ∿ Flood Fill Note and Instrument every 35 step - - - Paketti - ∿ Flood Fill Note and Instrument every 36 step - - - Paketti - ∿ Flood Fill Note and Instrument every 37 step - - - Paketti - ∿ Flood Fill Note and Instrument every 38 step - - - Paketti - ∿ Flood Fill Note and Instrument every 39 step - - - Paketti - ∿ Flood Fill Note and Instrument every 40 step - - - Paketti - ∿ Flood Fill Note and Instrument every 41 step - - - Paketti - ∿ Flood Fill Note and Instrument every 42 step - - - Paketti - ∿ Flood Fill Note and Instrument every 43 step - - - Paketti - ∿ Flood Fill Note and Instrument every 44 step - - - Paketti - ∿ Flood Fill Note and Instrument every 45 step - - - Paketti - ∿ Flood Fill Note and Instrument every 46 step - - - Paketti - ∿ Flood Fill Note and Instrument every 47 step - - - Paketti - ∿ Flood Fill Note and Instrument every 48 step - - - Paketti - ∿ Flood Fill Note and Instrument every 49 step - - - Paketti - ∿ Flood Fill Note and Instrument every 50 step - - - Paketti - ∿ Flood Fill Note and Instrument every 51 step - - - Paketti - ∿ Flood Fill Note and Instrument every 52 step - - - Paketti - ∿ Flood Fill Note and Instrument every 53 step - - - Paketti - ∿ Flood Fill Note and Instrument every 54 step - - - Paketti - ∿ Flood Fill Note and Instrument every 55 step - - - Paketti - ∿ Flood Fill Note and Instrument every 56 step - - - Paketti - ∿ Flood Fill Note and Instrument every 57 step - - - Paketti - ∿ Flood Fill Note and Instrument every 58 step - - - Paketti - ∿ Flood Fill Note and Instrument every 59 step - - - Paketti - ∿ Flood Fill Note and Instrument every 60 step - - - Paketti - ∿ Flood Fill Note and Instrument every 61 step - - - Paketti - ∿ Flood Fill Note and Instrument every 62 step - - - Paketti - ∿ Flood Fill Note and Instrument every 63 step - - - Paketti - ∿ Flood Fill Note and Instrument every 64 step - - - Paketti - ∿ Paketti Track Renamer Dialog... - - - Paketti - ∿ Select Last Track - - - Paketti - ∿ Toggle Note Off in All Visible Note Columns - Shift + Capital - - - Paketti - ∿ Toggle Note Off on All Tracks on Current Row - Control + Capital - - - Paketti - ∿ Randomize Phrasing for Notes in Current Row - Option + N - - - Paketti - ∿ Replicate Selected Track Above Current Row (-12) - - - Paketti - ∿ Replicate Selected Track Above Current Row (-1) - - - Paketti - ∿ Replicate Selected Track Above Current Row - Control + Down - - - Paketti - ∿ Replicate Selected Track Above Current Row (+1) - - - Paketti - ∿ Replicate Selected Track Above Current Row (+12) - - - Paketti - ∿ Replicate Selected Track Above + Current (-12) - - - Paketti - ∿ Replicate Selected Track Above + Current (-1) - - - Paketti - ∿ Replicate Selected Track Above + Current - - - Paketti - ∿ Replicate Selected Track Above + Current (+1) - - - Paketti - ∿ Replicate Selected Track Above + Current (+12) - - - Paketti - ∿ Replicate All Above Current Row (-12) - - - Paketti - ∿ Replicate All Above Current Row (-1) - - - Paketti - ∿ Replicate All Above Current Row - - - Paketti - ∿ Replicate All Above Current Row (+1) - - - Paketti - ∿ Replicate All Above Current Row (+12) - - - Paketti - ∿ Replicate All Above + Current (-12) - - - Paketti - ∿ Replicate All Above + Current (-1) - - - Paketti - ∿ Replicate All Above + Current - Shift + Control + Down - - - Paketti - ∿ Replicate All Above + Current (+1) - - - Paketti - ∿ Replicate All Above + Current (+12) - - - Paketti - ∿ Delay Column Increase Selection/Row (+1) - Control + Right - - - Paketti - ∿ Delay Column Decrease Selection/Row (-1) - Control + Left - - - Paketti - ∿ Delay Column Increase Selection/Row (+10) - Shift + Control + Right - - - Paketti - ∿ Delay Column Decrease Selection/Row (-10) - Shift + Control + Left - - - Paketti - ∿ Set Pattern Length to LPB*001 - - - Paketti - ∿ Set Pattern Length to LPB*002 - - - Paketti - ∿ Set Pattern Length to LPB*004 - - - Paketti - ∿ Set Pattern Length to LPB*008 - - - Paketti - ∿ Set Pattern Length to LPB*016 - - - Paketti - ∿ Set Pattern Length to LPB*032 - - - Paketti - ∿ Set Pattern Length to LPB*064 - - - Paketti - ∿ Set Pattern Length to LPB*128 - - - Paketti - ∿ Set Pattern Length to LPB*256 - - - Paketti - ∿ Set Pattern Length to LPB*512 - - - Paketti - ∿ Keep Sequence Sorted False - - - Paketti - ∿ Keep Sequence Sorted True - - - Paketti - ∿ Keep Sequence Sorted Toggle - Shift + Command + N - - - Paketti - ∿ Phrase Editor Visible - - - Paketti - ∿ OctaMED Pick Slot 01 - - - Paketti - ∿ OctaMED Put Slot 01 - - - Paketti - ∿ OctaMED Pick Slot 02 - - - Paketti - ∿ OctaMED Put Slot 02 - - - Paketti - ∿ OctaMED Pick Slot 03 - - - Paketti - ∿ OctaMED Put Slot 03 - - - Paketti - ∿ OctaMED Pick Slot 04 - - - Paketti - ∿ OctaMED Put Slot 04 - - - Paketti - ∿ OctaMED Pick Slot 05 - - - Paketti - ∿ OctaMED Put Slot 05 - - - Paketti - ∿ OctaMED Pick Slot 06 - - - Paketti - ∿ OctaMED Put Slot 06 - - - Paketti - ∿ OctaMED Pick Slot 07 - - - Paketti - ∿ OctaMED Put Slot 07 - - - Paketti - ∿ OctaMED Pick Slot 08 - - - Paketti - ∿ OctaMED Put Slot 08 - - - Paketti - ∿ OctaMED Pick Slot 09 - - - Paketti - ∿ OctaMED Put Slot 09 - - - Paketti - ∿ OctaMED Pick Slot 10 - - - Paketti - ∿ OctaMED Put Slot 10 - - - Paketti - ∿ OctaMED Pick/Put Dialog - - - Paketti - ∿ Player Pro Transpose Selection or Row +1 - Shift + Command + Up - - - Paketti - ∿ Player Pro Transpose Selection or Row -1 - - - Paketti - ∿ Player Pro Transpose Selection or Row +12 - - - Paketti - ∿ Player Pro Transpose Selection or Row -12 - - - Paketti - ∿ Open Player Pro Tools Dialog - - - Paketti - ∿ Clean Render Selected Track/Group - Command + R - - - Paketti - ∿ Clean Render Selected Track/Group LPB*2 - - - Paketti - ∿ Clean Render Seamless Selected Track/Group - - - Paketti - ∿ Chordsplus (Add 01) - - - Paketti - ∿ Chordsplus (Add 02) - - - Paketti - ∿ Chordsplus (Add 03) - Shift + Control + 3 - - - Paketti - ∿ Chordsplus (Add 04) - Shift + Control + 4 - - - Paketti - ∿ Chordsplus (Add 05) - - - Paketti - ∿ Chordsplus (Add 06) - - - Paketti - ∿ Chordsplus (Add 07) - Shift + Control + 7 - - - Paketti - ∿ Chordsplus (Add 08) - - - Paketti - ∿ Chordsplus (Add 09) - - - Paketti - ∿ Chordsplus (Add 10) - - - Paketti - ∿ Chordsplus (Add 11) - - - Paketti - ∿ Chordsplus (Add 12) - - - Paketti - ∿ Chordsplus (Sub 01) - - - Paketti - ∿ Chordsplus (Sub 02) - - - Paketti - ∿ Chordsplus (Sub 03) - - - Paketti - ∿ Chordsplus (Sub 04) - Shift + Control + 2 - - - Paketti - ∿ Chordsplus (Sub 05) - - - Paketti - ∿ Chordsplus (Sub 06) - - - Paketti - ∿ Chordsplus (Sub 07) - Shift + Control + 6 - - - Paketti - ∿ Chordsplus (Sub 08) - - - Paketti - ∿ Chordsplus (Sub 09) - - - Paketti - ∿ Chordsplus (Sub 10) - - - Paketti - ∿ Chordsplus (Sub 11) - - - Paketti - ∿ Chordsplus (Sub 12) - - - Paketti - ∿ Selection in Pattern to Group - - - Paketti - ∿ Set Time Signature 3/4 and 48 rows @ LPB 4 - - - Paketti - ∿ Set Time Signature 7/8 and 56 rows @ LPB 8 - - - Paketti - ∿ Set Time Signature 6/8 and 48 rows @ LPB 8 - - - Paketti - ∿ Adjust Selection Delay Column (+1) - - - Paketti - ∿ Adjust Selection Delay Column (-1) - - - Paketti - ∿ Adjust Selection Delay Column (+10) - - - Paketti - ∿ Adjust Selection Delay Column (-10) - - - Paketti - ∿ Adjust Selection Panning Column (+1) - - - Paketti - ∿ Adjust Selection Panning Column (-1) - - - Paketti - ∿ Adjust Selection Panning Column (+10) - - - Paketti - ∿ Adjust Selection Panning Column (-10) - - - Paketti - ∿ Adjust Selection Volume Column (+1) - - - Paketti - ∿ Adjust Selection Volume Column (-1) - - - Paketti - ∿ Adjust Selection Volume Column (+10) - - - Paketti - ∿ Adjust Selection Volume Column (-10) - - - Paketti - ∿ Wipe Selection Delay Column - - - Paketti - ∿ Wipe Selection Panning Column - - - Paketti - ∿ Wipe Selection Volume Column - - - Paketti - ∿ Note Interpolation - Shift + Command + I - - - Paketti - ∿ Jump to First Track In Next Group - - - Paketti - ∿ Jump to First Track In Previous Group - - - Paketti - ∿ Global Visible Column (All) - - - Paketti - ∿ Global Visible Column (None) - - - Paketti - ∿ Global Toggle Visible Column (Volume) - - - Paketti - ∿ Global Toggle Visible Column (Panning) - - - Paketti - ∿ Global Toggle Visible Column (Delay) - - - Paketti - ∿ Global Toggle Visible Column (Sample Effects) - - - Paketti - ∿ Global Set Visible Column (Volume) - - - Paketti - ∿ Global Set Visible Column (Panning) - - - Paketti - ∿ Global Set Visible Column (Delay) - - - Paketti - ∿ Global Set Visible Column (Sample Effects) - - - Paketti - ∿ Reverse Notes in Selection - Control + R - - - Paketti - ∿ Flood Fill with Selection - Control + F - - - Paketti - ∿ Rotate Track Content to SelectionStart First - - - Paketti - ∿ Chordsplus 3-4 (Maj) - - - Paketti - ∿ Chordsplus 4-3 (Min) - - - Paketti - ∿ Chordsplus 4-3-4 (Maj7) - - - Paketti - ∿ Chordsplus 3-4-3 (Min7) - - - Paketti - ∿ Chordsplus 4-4-3 (Maj7+5) - - - Paketti - ∿ Chordsplus 3-5-2 (Min7+5) - - - Paketti - ∿ Chordsplus 4-3-3 (Maj Dominant 7th) - - - Paketti - ∿ Chordsplus 3-4-4 (MinMaj7) - - - Paketti - ∿ Chordsplus 4-3-4-3 (Maj9) - - - Paketti - ∿ Chordsplus 3-4-3-3 (Min9) - - - Paketti - ∿ Chordsplus 4-3-7 (Maj Added 9th) - - - Paketti - ∿ Chordsplus 3-4-7 (Min Added 9th) - - - Paketti - ∿ Chordsplus 4-7-3 (Maj9 Simplified) - - - Paketti - ∿ Chordsplus 3-7-4 (Min9 Simplified) - - - Paketti - ∿ Chordsplus 3-8-3 (mM9 Simplified) - - - Paketti - ∿ Chordsplus 4-3-4-4 (MM9) - - - Paketti - ∿ Chordsplus 3-4-4-3 (mM9) - - - Paketti - ∿ Chordsplus 4-3-2-5 (Maj6 Add9) - - - Paketti - ∿ Chordsplus 3-4-2-5 (Min6 Add9) - Shift + Control + 1 - - - Paketti - ∿ Chordsplus 2-5 (Sus2) - - - Paketti - ∿ Chordsplus 5-2 (Sus4) - - - Paketti - ∿ Chordsplus 5-2-3 (7Sus4) - - - Paketti - ∿ Chordsplus 4-4 (Aug5) - - - Paketti - ∿ Chordsplus 4-4-2 (Aug6) - - - Paketti - ∿ Chordsplus 4-4-3 (Aug7) - - - Paketti - ∿ Chordsplus 4-4-4 (Aug8) - - - Paketti - ∿ Chordsplus 4-3-3-5 (Aug9) - - - Paketti - ∿ Chordsplus 4-4-7 (Aug10) - - - Paketti - ∿ Chordsplus 4-3-3-4-4 (Aug11) - - - Paketti - ∿ Chordsplus 12-12-12 (Octaves) - - - Paketti - ∿ Next Chord in List - - - Paketti - ∿ Invert Note Column Subcolumns - Shift + Control + V - - - Paketti - ∿ Invert Effect Column Subcolumns - Shift + Option + V - - - Paketti - ∿ Invert All Subcolumns - Shift + Option + Control + V - - - Paketti - ∿ Nudge and Paste Selection - Shift + Command + Down - - - Paketti - ∿ Nudge and Paste Selection + Deselect - - - Paketti - ∿ Duplicate Selection with Padding&Move Cursor 1 - Shift + Option + D - - - Paketti - ∿ Duplicate Selection with Padding&Move Cursor 2 - Option + D - - - Paketti - ∿ Impulse Tracker Alt-M MixPaste - Save - - - Paketti - ∿ Impulse Tracker Alt-M MixPaste - Load - - - Paketti - ∿ Shrink to Triplets - Control + T - - - Paketti - ∿ Triple (Experimental) - - - Paketti - ∿ Impulse Tracker Shift-Right Selection In Pattern - - - Paketti - ∿ Impulse Tracker Shift-Left Selection In Pattern - - - Paketti - ∿ Impulse Tracker Shift-Down Selection In Pattern - - - Paketti - ∿ Impulse Tracker Shift-Up Selection In Pattern - - - Paketti - ∿ Slide Selected Column Content Down - Command + Control + Down - - - Paketti - ∿ Slide Selected Column Content Up - Command + Control + Up - - - Paketti - ∿ Slide Selected Track Content Up - - - Paketti - ∿ Slide Selected Track Content Down - Option + Command + Down - - - Paketti - ∿ Toggle Note Off in Selected Tracks - Option + Capital - - - Paketti - ∿ Impulse Tracker MixPaste - Option + M - - - Paketti - ∿ Match Current Sub Column Selection - Shift + Command + E - - - Paketti - ∿ Match Volume Column to Current Row - - - Paketti - ∿ Match Panning Column to Current Row - - - Paketti - ∿ Match Delay Column to Current Row - - - - - Sample Editor - - - Navigation - Move Cursor Left - Left - - - Navigation - Move Cursor Right - Right - - - Navigation - Move Cursor Up - - - Navigation - Move Cursor Down - - - Navigation - Move Cursor Left Big Step - - - Navigation - Move Cursor Right Big Step - - - Navigation - Move Cursor to Visible Start - - - Navigation - Move Cursor to Sample Start - Home - - - Navigation - Move Cursor to Visible End - - - Navigation - Move Cursor to Sample End - End - - - Navigation - Move Cursor to Visible Start and Select - - - Navigation - Move Cursor to Visible End and Select - - - Navigation - Zoom In - - - Navigation - Zoom Out - - - Navigation - Zoom In Vertical - Next - - - Navigation - Zoom Out Vertical - Prior - - - Navigation - Zoom Selection - Option + Command + S - - - Navigation - Zoom Out Full - - - Navigation - Select Previous Sample - Up - - - Navigation - Select Next Sample - Down - - - Selection - Select All - Command + A - - - Selection - Unselect All - - - Selection - Select Loop - - - Selection - Select Current Slice - - - Selection - Begin Selection - Command + B - - - Selection - End Selection - Command + E - - - Selection - Select All Slice Markers - Shift + Command + A - - - Snapping - Toggle Snapping - Command + 0 - - - Snapping - Set Snap Mode1 - - - Snapping - Set Snap Mode2 - - - Snapping - Set Snap Mode3 - - - Snapping - Set Snap Mode4 - - - Snapping - Set Snap Mode5 - - - Snapping - Set Snap Mode6 - - - Snapping - Set Snap Mode7 - - - Snapping - Set Snap Mode8 - - - Snapping - Set Snap Mode9 - Command + 9 - - - View - Toggle Draw Mode - Option + Command + D - - - Playback - Play Sample - - - Playback - Play Selection - - - Playback - Stop Playing Selection - - - Playback - Play/Stop Selection - Space - - - Edit - Clear Sample - Command + Back - - - Edit - 2nd Clear Sample - Command + Delete - - - Edit - Delete - - - Edit - 2nd Delete - Delete - - - Edit - Cut - Command + X - - - Edit - Trim - Command + T - - - Edit - Copy - Command + C - - - Edit - Copy Into New Sample - - - Edit - Paste - Command + V - - - Edit - Mix Paste - - - Edit - Insert Silence - - - Edit - Load Sample - Option + O - - - Edit - Save Sample As - - - Fade - Fade In - - - Fade - Fade In Log - Shift + Option + Command + I - - - Fade - Fade Out - - - Fade - Fade Out Log - Shift + Option + Command + O - - - Fade - Cross Fade - - - Fade - Cross Fade Loop - - - Process - Toggle Undo Enabled - - - Process - Create or Adjust Type - - - Process - Adjust Volume - F10 - - - Process - DC Adjust - - - Process - Normalize Volume - Command + N - - - Process - Mute - - - Process - Invert Phase - - - Process - Swap Stereo Channels - - - Process - Reverse - Command + R - - - Process - XReverse - - - Process - Smooth - - - Loop - Set Loop Start/Range - Shift + Command + L - - - Loop - Set Loop End/Range - Command + L - - - Slices - Toggle Slice Tool - - - Slices - Toggle Single Slice Trigger - - - Slices - Detect Beats - - - Slices - Add Slice Marker - - - Slices - Delete Slice Marker - - - Slices - Delete All Slice Markers - - - Slices - Destructively Render Slices - - - Process - Process DSP FX - - - Slices - Render Slices to Phrase - - - Edit - Copy Into New Instrument - Shift + Option + Command + C - - - Playback - Toggle Play Selection Enabled - Command + Q - - - Paketti - ∿ Offset Sample Buffer by -0.5 - Shift + Command + E - - - Paketti - ∿ Multiply Sample Buffer by 0.5 - Command + P - - - Paketti - ∿ Phase Inversion - - - Paketti - ∿ Phase Inversion & Audio Diff - - - Paketti - ∿ Pitch Shift - - - Paketti - ∿ Pitch Shift & Audio Diff - - - Paketti - ∿ Clip bottom of waveform - - - Paketti - ∿ Modulate & Audio Diff - - - Paketti - ∿ Invert Right, Sum Mono - - - Paketti - ∿ Audio Diff - - - Paketti - ∿ 15 Frame Fade In & Fade Out - - - Process - ∿ Recursive Remove DC Offset - Command + D - - - Process - ∿ Recursive Remove DC Offset Random Times - Shift + Option + D - - - Paketti - ∿ Phrase Editor Visible - - - Paketti - ∿ Create New Instrument & Loop from Selection - - - Paketti - ∿ Set Loop Mode to 1 Off - - - Paketti - ∿ Set Loop Mode to 2 Forward - - - Paketti - ∿ Set Loop Mode to 3 Reverse - - - Paketti - ∿ Set Loop Mode to 4 PingPong - - - Paketti - ∿ Select Padded Slice (Next) - Option + E - - - Paketti - ∿ Select Padded Slice (Previous) - Option + W - - - Paketti - ∿ Select Padded Slice from Current Slice - - - Paketti - ∿ Select First Half of Sample Buffer - Option + Left - - - Paketti - ∿ Select Second Half of Sample Buffer - Option + Right - - - Paketti - ∿ Invert Left Channel of Selected Sample - - - Paketti - ∿ Invert Right Channel of Selected Sample - - - Paketti - ∿ Invert Sample - - - Paketti - ∿ Rotate Sample Buffer Right 10 - - - Paketti - ∿ Rotate Sample Buffer Left 10 - - - Paketti - ∿ Rotate Sample Buffer Right 100 - - - Paketti - ∿ Rotate Sample Buffer Left 100 - - - Paketti - ∿ Rotate Sample Buffer Right 1000 - Command + Control + Left - - - Paketti - ∿ Rotate Sample Buffer Left 1000 - Command + Control + Right - - - Paketti - ∿ Rotate Sample Buffer Right 10000 - - - Paketti - ∿ Rotate Sample Buffer Left 10000 - - - Paketti - ∿ Flip Sample by 1/4 - - - Paketti - ∿ Flip Sample by 1/2 - - - Paketti - ∿ Flip Sample by 1/8 - - - Paketti - ∿ Flip Sample by 1/16 - - - Paketti - ∿ Select Loop Range - Shift + Option + L - - - Paketti - ∿ Nudge Slice 01 by (-10) - - - Paketti - ∿ Nudge Slice 01 by (-32) - - - Paketti - ∿ Nudge Slice 01 by (-1) - - - Paketti - ∿ Nudge Slice 01 by (+32) - - - Paketti - ∿ Nudge Slice 01 by (+1) - - - Paketti - ∿ Nudge Slice 01 by (+16) - - - Paketti - ∿ Nudge Slice 01 by (-16) - - - Paketti - ∿ Nudge Slice 01 by (+10) - - - Paketti - ∿ Nudge Slice 02 by (-10) - - - Paketti - ∿ Nudge Slice 02 by (-32) - - - Paketti - ∿ Nudge Slice 02 by (-1) - - - Paketti - ∿ Nudge Slice 02 by (+32) - - - Paketti - ∿ Nudge Slice 02 by (+1) - - - Paketti - ∿ Nudge Slice 02 by (+16) - - - Paketti - ∿ Nudge Slice 02 by (-16) - - - Paketti - ∿ Nudge Slice 02 by (+10) - - - Paketti - ∿ Nudge Slice 03 by (-10) - - - Paketti - ∿ Nudge Slice 03 by (-32) - - - Paketti - ∿ Nudge Slice 03 by (-1) - - - Paketti - ∿ Nudge Slice 03 by (+32) - - - Paketti - ∿ Nudge Slice 03 by (+1) - - - Paketti - ∿ Nudge Slice 03 by (+16) - - - Paketti - ∿ Nudge Slice 03 by (-16) - - - Paketti - ∿ Nudge Slice 03 by (+10) - - - Paketti - ∿ Nudge Slice 04 by (-10) - - - Paketti - ∿ Nudge Slice 04 by (-32) - - - Paketti - ∿ Nudge Slice 04 by (-1) - - - Paketti - ∿ Nudge Slice 04 by (+32) - - - Paketti - ∿ Nudge Slice 04 by (+1) - - - Paketti - ∿ Nudge Slice 04 by (+16) - - - Paketti - ∿ Nudge Slice 04 by (-16) - - - Paketti - ∿ Nudge Slice 04 by (+10) - - - Paketti - ∿ Nudge Slice 05 by (-10) - - - Paketti - ∿ Nudge Slice 05 by (-32) - - - Paketti - ∿ Nudge Slice 05 by (-1) - - - Paketti - ∿ Nudge Slice 05 by (+32) - - - Paketti - ∿ Nudge Slice 05 by (+1) - - - Paketti - ∿ Nudge Slice 05 by (+16) - - - Paketti - ∿ Nudge Slice 05 by (-16) - - - Paketti - ∿ Nudge Slice 05 by (+10) - - - Paketti - ∿ Nudge Slice 06 by (-10) - - - Paketti - ∿ Nudge Slice 06 by (-32) - - - Paketti - ∿ Nudge Slice 06 by (-1) - - - Paketti - ∿ Nudge Slice 06 by (+32) - - - Paketti - ∿ Nudge Slice 06 by (+1) - - - Paketti - ∿ Nudge Slice 06 by (+16) - - - Paketti - ∿ Nudge Slice 06 by (-16) - - - Paketti - ∿ Nudge Slice 06 by (+10) - - - Paketti - ∿ Nudge Slice 07 by (-10) - - - Paketti - ∿ Nudge Slice 07 by (-32) - - - Paketti - ∿ Nudge Slice 07 by (-1) - - - Paketti - ∿ Nudge Slice 07 by (+32) - - - Paketti - ∿ Nudge Slice 07 by (+1) - - - Paketti - ∿ Nudge Slice 07 by (+16) - - - Paketti - ∿ Nudge Slice 07 by (-16) - - - Paketti - ∿ Nudge Slice 07 by (+10) - - - Paketti - ∿ Nudge Slice 08 by (-10) - - - Paketti - ∿ Nudge Slice 08 by (-32) - - - Paketti - ∿ Nudge Slice 08 by (-1) - - - Paketti - ∿ Nudge Slice 08 by (+32) - - - Paketti - ∿ Nudge Slice 08 by (+1) - - - Paketti - ∿ Nudge Slice 08 by (+16) - - - Paketti - ∿ Nudge Slice 08 by (-16) - - - Paketti - ∿ Nudge Slice 08 by (+10) - - - Paketti - ∿ Nudge Slice 09 by (-10) - - - Paketti - ∿ Nudge Slice 09 by (-32) - - - Paketti - ∿ Nudge Slice 09 by (-1) - - - Paketti - ∿ Nudge Slice 09 by (+32) - - - Paketti - ∿ Nudge Slice 09 by (+1) - - - Paketti - ∿ Nudge Slice 09 by (+16) - - - Paketti - ∿ Nudge Slice 09 by (-16) - - - Paketti - ∿ Nudge Slice 09 by (+10) - - - Paketti - ∿ Nudge Slice 10 by (-10) - - - Paketti - ∿ Nudge Slice 10 by (-32) - - - Paketti - ∿ Nudge Slice 10 by (-1) - - - Paketti - ∿ Nudge Slice 10 by (+32) - - - Paketti - ∿ Nudge Slice 10 by (+1) - - - Paketti - ∿ Nudge Slice 10 by (+16) - - - Paketti - ∿ Nudge Slice 10 by (-16) - - - Paketti - ∿ Nudge Slice 10 by (+10) - - - Paketti - ∿ Nudge Slice 11 by (-10) - - - Paketti - ∿ Nudge Slice 11 by (-32) - - - Paketti - ∿ Nudge Slice 11 by (-1) - - - Paketti - ∿ Nudge Slice 11 by (+32) - - - Paketti - ∿ Nudge Slice 11 by (+1) - - - Paketti - ∿ Nudge Slice 11 by (+16) - - - Paketti - ∿ Nudge Slice 11 by (-16) - - - Paketti - ∿ Nudge Slice 11 by (+10) - - - Paketti - ∿ Nudge Slice 12 by (-10) - - - Paketti - ∿ Nudge Slice 12 by (-32) - - - Paketti - ∿ Nudge Slice 12 by (-1) - - - Paketti - ∿ Nudge Slice 12 by (+32) - - - Paketti - ∿ Nudge Slice 12 by (+1) - - - Paketti - ∿ Nudge Slice 12 by (+16) - - - Paketti - ∿ Nudge Slice 12 by (-16) - - - Paketti - ∿ Nudge Slice 12 by (+10) - - - Paketti - ∿ Nudge Slice 13 by (-10) - - - Paketti - ∿ Nudge Slice 13 by (-32) - - - Paketti - ∿ Nudge Slice 13 by (-1) - - - Paketti - ∿ Nudge Slice 13 by (+32) - - - Paketti - ∿ Nudge Slice 13 by (+1) - - - Paketti - ∿ Nudge Slice 13 by (+16) - - - Paketti - ∿ Nudge Slice 13 by (-16) - - - Paketti - ∿ Nudge Slice 13 by (+10) - - - Paketti - ∿ Nudge Slice 14 by (-10) - - - Paketti - ∿ Nudge Slice 14 by (-32) - - - Paketti - ∿ Nudge Slice 14 by (-1) - - - Paketti - ∿ Nudge Slice 14 by (+32) - - - Paketti - ∿ Nudge Slice 14 by (+1) - - - Paketti - ∿ Nudge Slice 14 by (+16) - - - Paketti - ∿ Nudge Slice 14 by (-16) - - - Paketti - ∿ Nudge Slice 14 by (+10) - - - Paketti - ∿ Nudge Slice 15 by (-10) - - - Paketti - ∿ Nudge Slice 15 by (-32) - - - Paketti - ∿ Nudge Slice 15 by (-1) - - - Paketti - ∿ Nudge Slice 15 by (+32) - - - Paketti - ∿ Nudge Slice 15 by (+1) - - - Paketti - ∿ Nudge Slice 15 by (+16) - - - Paketti - ∿ Nudge Slice 15 by (-16) - - - Paketti - ∿ Nudge Slice 15 by (+10) - - - Paketti - ∿ Nudge Slice 16 by (-10) - - - Paketti - ∿ Nudge Slice 16 by (-32) - - - Paketti - ∿ Nudge Slice 16 by (-1) - - - Paketti - ∿ Nudge Slice 16 by (+32) - - - Paketti - ∿ Nudge Slice 16 by (+1) - - - Paketti - ∿ Nudge Slice 16 by (+16) - - - Paketti - ∿ Nudge Slice 16 by (-16) - - - Paketti - ∿ Nudge Slice 16 by (+10) - - - Paketti - ∿ Nudge Slice 17 by (-10) - - - Paketti - ∿ Nudge Slice 17 by (-32) - - - Paketti - ∿ Nudge Slice 17 by (-1) - - - Paketti - ∿ Nudge Slice 17 by (+32) - - - Paketti - ∿ Nudge Slice 17 by (+1) - - - Paketti - ∿ Nudge Slice 17 by (+16) - - - Paketti - ∿ Nudge Slice 17 by (-16) - - - Paketti - ∿ Nudge Slice 17 by (+10) - - - Paketti - ∿ Nudge Slice 18 by (-10) - - - Paketti - ∿ Nudge Slice 18 by (-32) - - - Paketti - ∿ Nudge Slice 18 by (-1) - - - Paketti - ∿ Nudge Slice 18 by (+32) - - - Paketti - ∿ Nudge Slice 18 by (+1) - - - Paketti - ∿ Nudge Slice 18 by (+16) - - - Paketti - ∿ Nudge Slice 18 by (-16) - - - Paketti - ∿ Nudge Slice 18 by (+10) - - - Paketti - ∿ Nudge Slice 19 by (-10) - - - Paketti - ∿ Nudge Slice 19 by (-32) - - - Paketti - ∿ Nudge Slice 19 by (-1) - - - Paketti - ∿ Nudge Slice 19 by (+32) - - - Paketti - ∿ Nudge Slice 19 by (+1) - - - Paketti - ∿ Nudge Slice 19 by (+16) - - - Paketti - ∿ Nudge Slice 19 by (-16) - - - Paketti - ∿ Nudge Slice 19 by (+10) - - - Paketti - ∿ Nudge Slice 20 by (-10) - - - Paketti - ∿ Nudge Slice 20 by (-32) - - - Paketti - ∿ Nudge Slice 20 by (-1) - - - Paketti - ∿ Nudge Slice 20 by (+32) - - - Paketti - ∿ Nudge Slice 20 by (+1) - - - Paketti - ∿ Nudge Slice 20 by (+16) - - - Paketti - ∿ Nudge Slice 20 by (-16) - - - Paketti - ∿ Nudge Slice 20 by (+10) - - - Paketti - ∿ Nudge Slice 21 by (-10) - - - Paketti - ∿ Nudge Slice 21 by (-32) - - - Paketti - ∿ Nudge Slice 21 by (-1) - - - Paketti - ∿ Nudge Slice 21 by (+32) - - - Paketti - ∿ Nudge Slice 21 by (+1) - - - Paketti - ∿ Nudge Slice 21 by (+16) - - - Paketti - ∿ Nudge Slice 21 by (-16) - - - Paketti - ∿ Nudge Slice 21 by (+10) - - - Paketti - ∿ Nudge Slice 22 by (-10) - - - Paketti - ∿ Nudge Slice 22 by (-32) - - - Paketti - ∿ Nudge Slice 22 by (-1) - - - Paketti - ∿ Nudge Slice 22 by (+32) - - - Paketti - ∿ Nudge Slice 22 by (+1) - - - Paketti - ∿ Nudge Slice 22 by (+16) - - - Paketti - ∿ Nudge Slice 22 by (-16) - - - Paketti - ∿ Nudge Slice 22 by (+10) - - - Paketti - ∿ Nudge Slice 23 by (-10) - - - Paketti - ∿ Nudge Slice 23 by (-32) - - - Paketti - ∿ Nudge Slice 23 by (-1) - - - Paketti - ∿ Nudge Slice 23 by (+32) - - - Paketti - ∿ Nudge Slice 23 by (+1) - - - Paketti - ∿ Nudge Slice 23 by (+16) - - - Paketti - ∿ Nudge Slice 23 by (-16) - - - Paketti - ∿ Nudge Slice 23 by (+10) - - - Paketti - ∿ Nudge Slice 24 by (-10) - - - Paketti - ∿ Nudge Slice 24 by (-32) - - - Paketti - ∿ Nudge Slice 24 by (-1) - - - Paketti - ∿ Nudge Slice 24 by (+32) - - - Paketti - ∿ Nudge Slice 24 by (+1) - - - Paketti - ∿ Nudge Slice 24 by (+16) - - - Paketti - ∿ Nudge Slice 24 by (-16) - - - Paketti - ∿ Nudge Slice 24 by (+10) - - - Paketti - ∿ Nudge Slice 25 by (-10) - - - Paketti - ∿ Nudge Slice 25 by (-32) - - - Paketti - ∿ Nudge Slice 25 by (-1) - - - Paketti - ∿ Nudge Slice 25 by (+32) - - - Paketti - ∿ Nudge Slice 25 by (+1) - - - Paketti - ∿ Nudge Slice 25 by (+16) - - - Paketti - ∿ Nudge Slice 25 by (-16) - - - Paketti - ∿ Nudge Slice 25 by (+10) - - - Paketti - ∿ Nudge Slice 26 by (-10) - - - Paketti - ∿ Nudge Slice 26 by (-32) - - - Paketti - ∿ Nudge Slice 26 by (-1) - - - Paketti - ∿ Nudge Slice 26 by (+32) - - - Paketti - ∿ Nudge Slice 26 by (+1) - - - Paketti - ∿ Nudge Slice 26 by (+16) - - - Paketti - ∿ Nudge Slice 26 by (-16) - - - Paketti - ∿ Nudge Slice 26 by (+10) - - - Paketti - ∿ Nudge Slice 27 by (-10) - - - Paketti - ∿ Nudge Slice 27 by (-32) - - - Paketti - ∿ Nudge Slice 27 by (-1) - - - Paketti - ∿ Nudge Slice 27 by (+32) - - - Paketti - ∿ Nudge Slice 27 by (+1) - - - Paketti - ∿ Nudge Slice 27 by (+16) - - - Paketti - ∿ Nudge Slice 27 by (-16) - - - Paketti - ∿ Nudge Slice 27 by (+10) - - - Paketti - ∿ Nudge Slice 28 by (-10) - - - Paketti - ∿ Nudge Slice 28 by (-32) - - - Paketti - ∿ Nudge Slice 28 by (-1) - - - Paketti - ∿ Nudge Slice 28 by (+32) - - - Paketti - ∿ Nudge Slice 28 by (+1) - - - Paketti - ∿ Nudge Slice 28 by (+16) - - - Paketti - ∿ Nudge Slice 28 by (-16) - - - Paketti - ∿ Nudge Slice 28 by (+10) - - - Paketti - ∿ Nudge Slice 29 by (-10) - - - Paketti - ∿ Nudge Slice 29 by (-32) - - - Paketti - ∿ Nudge Slice 29 by (-1) - - - Paketti - ∿ Nudge Slice 29 by (+32) - - - Paketti - ∿ Nudge Slice 29 by (+1) - - - Paketti - ∿ Nudge Slice 29 by (+16) - - - Paketti - ∿ Nudge Slice 29 by (-16) - - - Paketti - ∿ Nudge Slice 29 by (+10) - - - Paketti - ∿ Nudge Slice 30 by (-10) - - - Paketti - ∿ Nudge Slice 30 by (-32) - - - Paketti - ∿ Nudge Slice 30 by (-1) - - - Paketti - ∿ Nudge Slice 30 by (+32) - - - Paketti - ∿ Nudge Slice 30 by (+1) - - - Paketti - ∿ Nudge Slice 30 by (+16) - - - Paketti - ∿ Nudge Slice 30 by (-16) - - - Paketti - ∿ Nudge Slice 30 by (+10) - - - Paketti - ∿ Nudge Slice 31 by (-10) - - - Paketti - ∿ Nudge Slice 31 by (-32) - - - Paketti - ∿ Nudge Slice 31 by (-1) - - - Paketti - ∿ Nudge Slice 31 by (+32) - - - Paketti - ∿ Nudge Slice 31 by (+1) - - - Paketti - ∿ Nudge Slice 31 by (+16) - - - Paketti - ∿ Nudge Slice 31 by (-16) - - - Paketti - ∿ Nudge Slice 31 by (+10) - - - Paketti - ∿ Nudge Slice 32 by (-10) - - - Paketti - ∿ Nudge Slice 32 by (-32) - - - Paketti - ∿ Nudge Slice 32 by (-1) - - - Paketti - ∿ Nudge Slice 32 by (+32) - - - Paketti - ∿ Nudge Slice 32 by (+1) - - - Paketti - ∿ Nudge Slice 32 by (+16) - - - Paketti - ∿ Nudge Slice 32 by (-16) - - - Paketti - ∿ Nudge Slice 32 by (+10) - - - Paketti - ∿ Sample Buffer Selection Halve - - - Paketti - ∿ Sample Buffer Selection Double - - - Paketti - ∿ Convert Mono to Stereo - - - Paketti - ∿ Mono to Left with Blank Right - - - Paketti - ∿ Mono to Right with Blank Left - - - Paketti - ∿ Move Slice Start Left by 10 - Control + Left - - - Paketti - ∿ Move Slice Start Right by 10 - Control + Right - - - Paketti - ∿ Move Slice End Left by 10 - Command + Left - - - Paketti - ∿ Move Slice End Right by 10 - Command + Right - - - Paketti - ∿ Move Slice Start Left by 100 - Shift + Control + Left - - - Paketti - ∿ Move Slice Start Right by 100 - Shift + Control + Right - - - Paketti - ∿ Move Slice End Left by 100 - - - Paketti - ∿ Move Slice End Right by 100 - - - Paketti - ∿ Move Slice Start Left by 300 - - - Paketti - ∿ Move Slice Start Right by 300 - - - Paketti - ∿ Move Slice End Left by 300 - - - Paketti - ∿ Move Slice End Right by 300 - - - Paketti - ∿ Move Slice Start Left by 500 - - - Paketti - ∿ Move Slice Start Right by 500 - - - Paketti - ∿ Move Slice End Left by 500 - - - Paketti - ∿ Move Slice End Right by 500 - - - Paketti - ∿ Duplicate Sample Range, Mute Original - - - Paketti - ∿ Duplicate, Maximize, 16bit, and Save as WAV - - - Paketti - ∿ Duplicate, Maximize, 16bit, and Save as FLAC - - - Paketti - ∿ Rotate Sample Buffer Upwards - - - Paketti - ∿ Rotate Sample Buffer Downwards - - - - - Mixer - - - Navigation - Move Left - Left - - - Navigation - Move Right - Right - - - Navigation - Move Up - Up - - - Navigation - Move Down - Down - - - Navigation - Move One Page Up - Prior - - - Navigation - Move One Page Down - Next - - - Navigation - Jump to First Device - Home - - - Navigation - Jump to Last Device - End - - - Navigation - Jump to First Track - Shift + Command + Home - - - Navigation - Jump to Master Track - Shift + Command + End - - - Navigation - Jump to Sends - - - Navigation - Select Next Track - Tab - - - Navigation - Select Previous Track - Shift + Tab - - - Edit - Delete Device - Back - - - Edit - Delete Device (2nd) - Delete - - - Edit - Cut Device - Command + X - - - Edit - Copy Device - Command + C - - - Edit - Insert Device - Command + V - - - Edit - Rename Device - - - Edit - Move Device Up - - - Edit - Move Device Down - Option + Command + Down - - - Edit - Copy Device Settings - - - Edit - Paste Device Settings - - - Edit - Init Device Settings - Shift + Command + Delete - - - Edit - Init Device Settings (2nd) - - - Edit - Delete All Devices - - - Edit - Cut All Devices - - - Edit - Copy All Devices - - - Edit - Paste All Devices - - - Edit - Load DSP Chain... - - - Edit - Save DSP Chain As... - - - Edit - Bypass/Activate Device - - - Edit - Open Editor - - - Edit - Show Track Colors - - - Track Control - Insert Track - Command + T - - - Track Control - Insert Group - Command + G - - - Track Control - Extend Group to Here - - - Track Control - Delete Track - Shift + Command + T - - - Track Control - Delete Group - - - Track Control - Duplicate Track - Command + D - - - Track Control - Duplicate Track (incl. Patterns) - Option + Command + D - - - Track Control - Rename Track - - - Track Control - Move Track Left - Option + Command + Left - - - Track Control - Move Track Right - - - Track Control - Increase Volume - - - Track Control - Decrease Volume - - - Track Control - Increase Panning - - - Track Control - Decrease Panning - - - Track Control - Collapse/Expand Track - - - Track Control - Collapse/Expand Group - Shift + Command + J - - - Track Control - Collapse All Tracks - Control + 0 - - - Track Control - Expand All Tracks - - - Track Control - Collapse All Tracks in Group - - - Track Control - Expand All Tracks in Group - - - Pattern Sequence - Increase Pattern Number - - - Pattern Sequence - Decrease Pattern Number - - - Pattern Sequence - Go Up in Sequencer - - - Pattern Sequence - Go Down in Sequencer - - - Pattern Sequence - Go to Prev Section in Sequencer - - - Pattern Sequence - Go to Next Section in Sequencer - - - Pattern Sequence - Go to Sequence Start - Command + Home - - - Pattern Sequence - Go to Sequence End - Command + End - - - Pattern Sequence - Jump One Page Up - Command + Prior - - - Pattern Sequence - Jump One Page Down - Command + Next - - - Pattern Sequence - Insert Pattern - Command + HelpKey(Insert) - - - Pattern Sequence - Insert Pattern (2nd) - Shift + Command + Back - - - Pattern Sequence - Insert Repeated Pattern - Option + Command + HelpKey(Insert) - - - Pattern Sequence - Insert Repeated Pattern (2nd) - Shift + Option + Command + Back - - - Pattern Sequence - Delete Pattern - Command + Delete - - - Pattern Sequence - Delete Pattern (2nd) - Command + Back - - - Tools - ∿ Record GUI controls - - - Paketti - ∿ Switch to Automation - - - Paketti - ∿ Show Automation - - - Paketti - ∿ To Pattern Editor - - - Paketti - ∿ Impulse Tracker Home *2 behaviour - Option + Up - - - Paketti - ∿ Impulse Tracker End *2 behaviour - Option + Down - - - Paketti - ∿ Impulse Tracker Alt-Right Move Forwards One Channel (Wrap) - Option + Right - - - Paketti - ∿ Impulse Tracker Alt-Left Move Backwards One Channel (Wrap) - Option + Left - - - Paketti - ∿ Impulse Tracker Alt-Right Move Forwards One Channel - - - Paketti - ∿ Impulse Tracker Alt-Left Move Backwards One Channel - - - Paketti - ∿ Capture Nearest Instrument and Octave (nojump) - - - Paketti - ∿ Capture Nearest Instrument and Octave (jump) - - - Paketti - ∿ Paketti Pattern Doubler - Command + Grave - - - Paketti - ∿ Paketti Pattern Halver - Shift + Option + Grave - - - Paketti - ∿ Paketti Track Renamer Dialog... - - - Paketti - ∿ Clean Render Selected Track/Group - Command + R - - - Paketti - ∿ Clean Render Selected Track/Group LPB*2 - - - Paketti - ∿ Clean Render Seamless Selected Track/Group - - - Paketti - ∿ Jump to First Track In Next Group - - - Paketti - ∿ Jump to First Track In Previous Group - - - - - Pattern Sequencer - - - Transport - Schedule Edited Sequence for Playback - - - Transport - Play from Edited Sequence - Shift + Return - - - Navigation - Increase Pattern Number - Right - - - Navigation - Decrease Pattern Number - Left - - - Navigation - Jump to Previous Pos - Up - - - Navigation - Jump to Next Pos - Down - - - Navigation - Jump to Previous Section - - - Navigation - Jump to Next Section - Option + Command + Down - - - Navigation - Jump to Start - Home - - - Navigation - Jump to End - End - - - Navigation - Jump One Page Up - Prior - - - Navigation - Jump One Page Down - Next - - - Selection - Begin Selection - Command + B - - - Selection - End Selection - Command + E - - - Selection - Unset Selection - - - Selection - Select All - - - Sections - Create Section From Selection - - - Sections - Remove Sections in Selection - - - Sections - Remove All Selections - - - Sections - Create/Remove Section at Current Pos - - - Sections - Remove Section at Current Pos - - - Sections - Rename Section at Current Pos - - - Edit - Insert Pattern - HelpKey(Insert) - - - Edit - Insert Pattern (2nd) - Command + Back - - - Edit - Insert Pattern at Selection - - - Edit - Insert Repeated Pattern - Option + HelpKey(Insert) - - - Edit - Insert Repeated Pattern (2nd) - Option + Command + Back - - - Edit - Insert Repeated Selection - - - Edit - Delete Pattern - - - Edit - Delete Pattern (2nd) - Delete - - - Edit - Delete Selection - - - Edit - Duplicate Current Pattern - - - Edit - Set Pattern - - - Edit - Rename Pattern - - - Edit - Clear Muted Tracks in Selection - - - Edit - Cut Selection - Command + X - - - Edit - Copy Selection - Command + C - - - Edit - Paste Selection - Command + V - - - Edit - Insert Selection - - - Edit - Join Selection - - - Edit - Duplicate Selection - Command + D - - - Edit - Make Selection Unique - - - Edit - Loop Selection - Command + L - - - Edit - Sort Sequence - - - Edit - Flatten & Sort Sequence - - - Cloning - Duplicate 1 Pattern Block - - - Cloning - Duplicate 2 Pattern Block - - - Cloning - Duplicate 3 Pattern Block - - - Cloning - Duplicate 4 Pattern Block - - - Cloning - Duplicate 5 Pattern Block - - - Cloning - Duplicate 6 Pattern Block - - - Cloning - Duplicate 7 Pattern Block - - - Cloning - Duplicate 8 Pattern Block - - - Cloning - Duplicate 9 Pattern Block - Command + 9 - - - Cloning - Duplicate Whole Song - Command + 0 - - - Paketti - ∿ Keep Sequence Sorted False - Shift + Command + Q - - - Paketti - ∿ Keep Sequence Sorted True - Shift + Command + E - - - Paketti - ∿ Keep Sequence Sorted Toggle - - - - - Pattern Matrix - - - Navigation - Focus Pattern Editor - - - Navigation - Select Previous Track - Left - - - Navigation - Select Previous Track (2nd) - Shift + Tab - - - Navigation - Select Next Track - Right - - - Navigation - Select Next Track (2nd) - Tab - - - Navigation - Select First Track - Home - - - Navigation - Select Last Track - End - - - Navigation - Select Previous Sequence - Up - - - Navigation - Select Next Sequence - Down - - - Navigation - Select Previous Sequence Page - Prior - - - Navigation - Select Next Sequence Page - Next - - - Navigation - Select First Sequence - Command + Home - - - Navigation - Select Last Sequence - Command + End - - - Navigation - Toggle Mute Selection - - - Navigation - Mute Selection - - - Navigation - Unmute Selection - - - Selection - Deselect - - - Selection - Select All - - - Selection - Select Whole Pattern - - - Selection - Select Whole Track - - - Selection - Select Whole Previous Pattern - - - Selection - Select Whole Next Pattern - - - Edit - Clear - - - Edit - Clear (2nd) - Delete - - - Edit - Cut - Command + X - - - Edit - Copy - Command + C - - - Edit - Paste - Command + V - - - Edit - Insert - - - Edit - Duplicate Selection - - - Edit - Create Alias - Command + P - - - Edit - Un-alias - - - Edit - Set Slot Color - - - Edit - Remove Slot Color - - - Tracks - Cut Track - - - Tracks - Copy Track - - - Tracks - Paste Track - - - Tracks - Insert Track - Command + T - - - Tracks - Delete Track - Shift + Command + T - - - Tracks - Duplicate Track - Command + D - - - Tracks - Duplicate Track (incl. Patterns) - Option + Command + D - - - Tracks - Rename Track - - - Tracks - Move Track Left - Option + Command + Left - - - Tracks - Move Track Right - - - Tracks - Clear Muted Slots in Selected Track - - - Tracks - Mute All Slots in Selected Track - - - Tracks - Unmute All Slots in Selected Track - - - Tracks - Collapse/Expand Track - - - Tracks - Collapse/Expand Group - Shift + Command + J - - - Tracks - Collapse All Tracks - - - Tracks - Expand All Tracks - - - Tracks - Collapse All Tracks in Group - - - Tracks - Expand All Tracks in Group - - - Pattern Sequence - Cut Pattern - - - Pattern Sequence - Copy Pattern - - - Pattern Sequence - Paste Pattern - - - Pattern Sequence - Increase Pattern Number - - - Pattern Sequence - Decrease Pattern Number - - - Pattern Sequence - Insert Pattern - Command + HelpKey(Insert) - - - Pattern Sequence - Insert Pattern (2nd) - Shift + Command + Back - - - Pattern Sequence - Insert Repeated Pattern - Option + Command + HelpKey(Insert) - - - Pattern Sequence - Insert Repeated Pattern (2nd) - Option + Command + Back - - - Pattern Sequence - Delete Pattern - Command + Back - - - Pattern Sequence - Delete Pattern (2nd) - Command + Delete - - - Pattern Sequence - Duplicate Pattern - - - Pattern Sequence - Sort Pattern Sequence - - - Pattern Sequence - Flatten & Sort Pattern Sequence - - - Pattern Sequence - Make Sequence Unique - - - Pattern Sequence - Clear Muted Slots in Sequence Selection - - - Pattern Sequence - Clear Muted Slots in Song - - - Pattern Sequence - Clear Muted Slots in Selected Pattern - - - Pattern Sequence - Loop Sequence - Command + L - - - Pattern Sequence - Mute All Slots in Selected Pattern - - - Pattern Sequence - Unmute All Slots in Selected Pattern - - - Pattern Sequence - Rename Pattern - - - Pattern Sequence - Rename Section - - - Options - Decrease Slot Height - - - Options - Increase Slot Height - - - Options - Decrease Slot Width - - - Options - Increase Slot Width - - - Options - Toggle Track Names - - - Options - Toggle Track Meters - - - Options - Toggle Show Track Colors - - - Options - Toggle Show Content Repeats - - - Paketti - ∿ Switch to Automation - - - Paketti - ∿ Paketti Track Renamer Dialog... - - - Paketti - ∿ Selection in Pattern Matrix to Group - - - Paketti - ∿ Jump to First Track In Next Group - - - Paketti - ∿ Jump to First Track In Previous Group - - - - - Phrase Editor - - - Navigation - Move to Previous Column - Left - - - Navigation - Move to Next Column - Right - - - Navigation - Move to Previous Row - Up - - - Navigation - Move to Next Row - Down - - - Navigation - Move to Previous Row with EditStep - - - Navigation - Move to Next Row with EditStep - - - Navigation - Move to Previous Row with Note - Shift + Command + Prior - - - Navigation - Move to Next Row with Note - Shift + Command + Next - - - Navigation - Jump 16 Rows Up - Prior - - - Navigation - Jump 16 Rows Down - Next - - - Navigation - Jump to First Row - Home - - - Navigation - Jump to Last Row - End - - - Navigation - Jump to Row 0 - F9 - - - Navigation - Jump to Row 16 - F10 - - - Navigation - Jump to Row 32 - - - Navigation - Jump to Row 48 - - - Navigation - Jump to Previous Column - Shift + Tab - - - Navigation - Jump to Next Column - Tab - - - Insert/Delete - Clear Current Note or Effect - - - Insert/Delete - Clear Current Note or Effect (2nd) - - - Insert/Delete - Clear Whole Note or Effect - - - Insert/Delete - Clear Whole Row - - - Insert/Delete - Insert New Row - - - Insert/Delete - Insert New Row (2nd) - - - Insert/Delete - Delete Current Row - Shift + Back - - - Insert/Delete - Delete Previous Row - - - Insert/Delete - Insert New Row in Column - Grave - - - Insert/Delete - Delete Current Row in Column - Back - - - Insert/Delete - Delete Previous Row in Column - - - Insert/Delete - Increase Phrase Length - - - Insert/Delete - Decrease Phrase Length - - - Playback - Play/Stop Phrase - - - Playback - Play/Stop Phrase from Cursor - Shift + Return - - - Playback - Stop Phrase - - - Edit Step - Increase EditStep - Command + Equals - - - Edit Step - Decrease EditStep - - - Edit Step - Double EditStep - Option + Equals - - - Edit Step - Halve EditStep - Option + Minus - - - Edit Step - Set EditStep To 0 - Command + 0 - - - Edit Step - Set EditStep To 1 - Command + 1 - - - Edit Step - Set EditStep To 2 - Command + 2 - - - Edit Step - Set EditStep To 3 - Command + 3 - - - Edit Step - Set EditStep To 4 - Command + 4 - - - Edit Step - Set EditStep To 5 - Command + 5 - - - Edit Step - Set EditStep To 6 - Command + 6 - - - Edit Step - Set EditStep To 7 - Command + 7 - - - Edit Step - Set EditStep To 8 - Command + 8 - - - Edit Step - Set EditStep To 9 - Command + 9 - - - Edit Step - Set EditStep To 12 - - - Edit Step - Set EditStep To 16 - - - Edit Step - Set EditStep To 18 - - - Edit Step - Set EditStep To 24 - - - Edit Step - Set EditStep To 32 - - - Record - Toggle Edit Mode - - - Record - Increase Quantization - Shift + Command + Equals - - - Record - Decrease Quantization - - - Record - Set Quantization To 1 - - - Record - Set Quantization To 2 - - - Record - Set Quantization To 3 - Shift + Command + 3 - - - Record - Set Quantization To 4 - Shift + Command + 4 - - - Record - Set Quantization To 5 - Shift + Command + 5 - - - Record - Set Quantization To 6 - - - Record - Set Quantization To 7 - - - Record - Set Quantization To 8 - Shift + Command + 8 - - - Record - Set Quantization To 9 - Shift + Command + 9 - - - Record - Set Quantization To 12 - - - Record - Set Quantization To 16 - - - Record - Set Quantization To 18 - - - Record - Set Quantization To 24 - - - Record - Set Quantization To 32 - - - Columns - Decrease Number of Columns - - - Columns - Increase Number of Columns - - - Columns - View/Hide Volume Column - - - Columns - View/Hide Panning Column - - - Columns - View/Hide Delay Column - - - Selection - Begin Selection - Command + B - - - Selection - End Selection - Command + E - - - Selection - Mark Whole Column - - - Selection - Mark Column in Block Loop Range - - - Selection - Mark Column Above Current Line - - - Selection - Mark Column Below Current Line - - - Selection - Mark Whole Phrase - Command + L - - - Selection - Mark Phrase in Block Loop Range - - - Selection - Mark Phrase Above Current Line - - - Selection - Mark Phrase Below Current Line - - - Block Operations - Transpose One Note Up - - - Block Operations - Transpose One Note Down - - - Block Operations - Transpose One Octave Up - Option + F12 - - - Block Operations - Transpose One Octave Down - Option + F11 - - - Block Operations - Clear - Shift + Delete - - - Block Operations - Copy and Clear - - - Block Operations - Copy and Clear (2nd) - Command + X - - - Block Operations - Copy - Option + F4 - - - Block Operations - Copy (2nd) - Command + C - - - Block Operations - Paste - Option + F5 - - - Block Operations - Paste (2nd) - Command + V - - - Block Operations - Paste Continuously - Command + P - - - Block Operations - Flip - Option + F6 - - - Block Operations - Flip (2nd) - - - Block Operations - Shrink - Option + F8 - - - Block Operations - Shrink (2nd) - - - Block Operations - Expand - Option + F9 - - - Block Operations - Expand (2nd) - - - Block Operations - Randomize - Option + F7 - - - Block Operations - Randomize (2nd) - - - Block Operations - Interpolate Linear - - - Block Operations - Interpolate Logarithmic - - - Block Operations - Interpolate Exponential - - - Block Operations - Humanize - - - Block Operations - Quantize Notes - - - Block Operations - Quantize Notes (Preserve Lengths) - - - Column Operations - Transpose One Note Up - Shift + Command + F2 - - - Column Operations - Transpose One Note Down - Shift + Command + F1 - - - Column Operations - Transpose One Octave Up - Shift + Command + F12 - - - Column Operations - Transpose One Octave Down - Shift + Command + F11 - - - Column Operations - Clear and Copy - Shift + Command + F3 - - - Column Operations - Copy - Shift + Command + F4 - - - Column Operations - Paste - Shift + Command + F5 - - - Column Operations - Flip - Shift + Command + F6 - - - Column Operations - Shrink - Shift + Command + F8 - - - Column Operations - Expand - Shift + Command + F9 - - - Column Operations - Randomize - Shift + Command + F7 - - - Column Operations - Interpolate Linear - - - Column Operations - Interpolate Logarithmic - Shift + Command + L - - - Column Operations - Interpolate Exponential - - - Column Operations - Humanize - - - Column Operations - Quantize Notes - - - Column Operations - Quantize Notes (Preserve Lengths) - - - Phrase Operations - Transpose One Note Up - Command + Q - - - Phrase Operations - Transpose One Note Up (2nd) - - - Phrase Operations - Transpose One Note Down - - - Phrase Operations - Transpose One Note Down (2nd) - - - Phrase Operations - Transpose One Octave Up - Command + F12 - - - Phrase Operations - Transpose One Octave Up (2nd) - Shift + F12 - - - Phrase Operations - Transpose One Octave Down - Shift + Command + A - - - Phrase Operations - Transpose One Octave Down (2nd) - Shift + F11 - - - Phrase Operations - Clear and Copy - - - Phrase Operations - Clear and Copy (2nd) - - - Phrase Operations - Copy - - - Phrase Operations - Copy (2nd) - - - Phrase Operations - Paste - - - Phrase Operations - Paste (2nd) - Shift + F5 - - - Phrase Operations - Flip - - - Phrase Operations - Flip (2nd) - Shift + F6 - - - Phrase Operations - Shrink - - - Phrase Operations - Shrink (2nd) - Shift + F8 - - - Phrase Operations - Expand - - - Phrase Operations - Expand (2nd) - Shift + F9 - - - Phrase Operations - Randomize - - - Phrase Operations - Randomize (2nd) - Shift + F7 - - - Phrase Operations - Interpolate Linear - - - Phrase Operations - Interpolate Logarithmic - - - Phrase Operations - Interpolate Exponential - - - Phrase Operations - Humanize - - - Phrase Operations - Quantize Notes - Option + Q - - - Phrase Operations - Quantize Notes (Preserve Lengths) - - - Navigation - Select Previous Phrase - - - Navigation - Select Next Phrase - - - Navigation - Select First Phrase - - - Navigation - Select Last Phrase - - - Playback - Play Phrase - - - Columns - View/Hide Instrument Column - - - Columns - View/Hide Sample FX Column - - - Columns - Mute/Unmute Selected Column - Shift + Command + Backslash - - - Columns - Solo/Unsolo Selected Column - - - Selection - Flexible Mark Whole Phrase - - - Selection - Flexible Mark in Block Loop Range - - - Selection - Flexible Mark Above Current Line - - - Selection - Flexible Mark Below Current Line - - - Phrase Operations - Rename Phrase - - - Paketti - ∿ Impulse Tracker ALT-U Unmark Selection - - - Paketti - ∿ Impulse Tracker ALT-U Unmark Selection (2nd) - - - Paketti - ∿ Set Phrase Length to 001 (001) - - - Paketti - ∿ Set Phrase Length to 004 (004) - Control + 1 - - - Paketti - ∿ Set Phrase Length to 006 (006) - - - Paketti - ∿ Set Phrase Length to 008 (008) - Control + 2 - - - Paketti - ∿ Set Phrase Length to 012 (00C) - - - Paketti - ∿ Set Phrase Length to 016 (010) - Control + 3 - - - Paketti - ∿ Set Phrase Length to 024 (018) - - - Paketti - ∿ Set Phrase Length to 032 (020) - Control + 4 - - - Paketti - ∿ Set Phrase Length to 048 (030) - - - Paketti - ∿ Set Phrase Length to 064 (040) - Control + 5 - - - Paketti - ∿ Set Phrase Length to 096 (060) - - - Paketti - ∿ Set Phrase Length to 128 (080) - Control + 6 - - - Paketti - ∿ Set Phrase Length to 192 (0C0) - - - Paketti - ∿ Set Phrase Length to 256 (100) - Control + 7 - - - Paketti - ∿ Set Phrase Length to 384 (180) - - - Paketti - ∿ Set Phrase Length to 512 (200) - Control + 8 - - - Paketti - ∿ Set Phrase LPB to 001 - - - Paketti - ∿ Set Phrase LPB to 002 - - - Paketti - ∿ Set Phrase LPB to 003 - - - Paketti - ∿ Set Phrase LPB to 004 - - - Paketti - ∿ Set Phrase LPB to 005 - - - Paketti - ∿ Set Phrase LPB to 006 - - - Paketti - ∿ Set Phrase LPB to 007 - - - Paketti - ∿ Set Phrase LPB to 008 - - - Paketti - ∿ Set Phrase LPB to 009 - - - Paketti - ∿ Set Phrase LPB to 010 - - - Paketti - ∿ Set Phrase LPB to 011 - - - Paketti - ∿ Set Phrase LPB to 012 - - - Paketti - ∿ Set Phrase LPB to 013 - - - Paketti - ∿ Set Phrase LPB to 014 - - - Paketti - ∿ Set Phrase LPB to 015 - - - Paketti - ∿ Set Phrase LPB to 016 - - - Paketti - ∿ Set Phrase LPB to 024 - - - Paketti - ∿ Set Phrase LPB to 032 - - - Paketti - ∿ Set Phrase LPB to 048 - - - Paketti - ∿ Set Phrase LPB to 064 - - - Paketti - ∿ Set Phrase LPB to 128 - - - Paketti - ∿ Set Phrase LPB to 256 - - - Paketti - ∿ Open Paketti Init Phrase Dialog... - - - Paketti - ∿ Record+Follow Off - - - Paketti - ∿ Phrase Editor Visible - - - Paketti - ∿ Init Phrase Settings - - - Paketti - ∿ Paketti Phrase Doubler - - - Paketti - ∿ Paketti Phrase Doubler (2nd) - - - Paketti - ∿ Phrase Halver (Joule) - - - Paketti - ∿ Phrase Halver (Joule) (2nd) - - - - - Phrase Map - - - Navigation - Move to Previous - - - Navigation - Move to Next - - - Navigation - Move to First - Command + Home - - - Navigation - Move to Last - Command + End - - - Selection - Move Selection to Previous - Left - - - Selection - Move Selection to Next - Right - - - Selection - Move Selection to First - Home - - - Selection - Move Selection to Last - End - - - Selection - Select All - - - Edit - Insert - HelpKey(Insert) - - - Edit - Duplicate - Command + D - - - Edit - Delete - Delete - - - Playback - Play/Stop Phrase - - - Playback - Stop Phrase - - - - - Instrument Box - - - Navigation - Select Previous Instrument - Up - - - Navigation - Select Next Instrument - Down - - - Navigation - Select Previous Instrument Page - Prior - - - Navigation - Select Next Instrument Page - Next - - - Navigation - Select First Instrument - Home - - - Navigation - Select Last Instrument - End - - - Edit - Insert New Instrument - HelpKey(Insert) - - - Edit - Insert New Instrument (2nd) - Command + Back - - - Edit - Delete Instrument - Back - - - Edit - Delete Instrument (2nd) - Delete - - - Edit - Move Instrument Up - - - Edit - Move Instrument Down - Option + Command + Down - - - Edit - Duplicate Instrument - Command + D - - - Edit - Copy Instrument - Command + C - - - Edit - Paste Instrument - Command + V - - - Edit - Copy and Clear Instrument - Command + X - - - Edit - Clear Instrument - Shift + Delete - - - Edit - Clear Instrument (2nd) - Shift + Back - - - Edit - Rename Instrument - - - Edit - Render Plugin To Instrument - - - Edit - Render Plugin To New Instrument - - - Edit - Open Editor - - - Tools - ∿ Setup automation device - - - Tools - ∿ Record GUI controls - - - Paketti - ∿ Show Automation - - - - - Sample Keyzones - - - Navigation - Select Previous by Note - Left - - - Navigation - Select Next by Note - Right - - - Navigation - Select Previous by Velocity - Up - - - Navigation - Select Next by Velocity - Down - - - Edit - Select All - - - Edit - Delete Selected - - - Edit - Delete Selected (2nd) - Delete - - - Generate - Drum Kit Map - Command + D - - - Generate - Distributed Range Map - Command + E - - - Generate - Layered Map - Command + L - - - Paketti - ∿ Convert Mono to Stereo - - - Paketti - ∿ Mono to Left with Blank Right - - - Paketti - ∿ Mono to Right with Blank Left - - - - - Sample FX Mixer - - - Navigation - Move Left - Left - - - Navigation - Move Right - Right - - - Navigation - Move Up - Up - - - Navigation - Move Down - Down - - - Navigation - Select First Device - Home - - - Navigation - Select Last Device - End - - - Navigation - Select Next Chain - Tab - - - Navigation - Select Previous Chain - Shift + Tab - - - Device - Delete Device - Back - - - Device - Delete Device (2nd) - Delete - - - Device - Cut Device - Command + X - - - Device - Copy Device - Command + C - - - Device - Insert Device - Command + V - - - Device - Rename Device - - - Device - Move Device Left - Option + Command + Left - - - Device - Move Device Right - - - Device - Copy Device Settings - - - Device - Paste Device Settings - - - Device - Init Device Settings - Shift + Command + Delete - - - Device - Init Device Settings (2nd) - - - Device - Bypass/Activate Device - - - Device - Open Editor - - - Device Chain - Insert New Chain - Command + T - - - Device Chain - Delete Chain - Shift + Command + T - - - Device Chain - Rename Chain - - - Device Chain - Cut All Devices - - - Device Chain - Copy All Devices - - - Device Chain - Paste All Devices - - - Device Chain - Delete All Devices - - - Device Chain - Load DSP Chain... - - - Device Chain - Save DSP Chain As... - - - Device Chain - Duplicate Chain - Command + D - - - - - Sample Modulation Matrix - - - Navigation - Move Left - Left - - - Navigation - Move Right - Right - - - Navigation - Move Up - Up - - - Navigation - Move Down - Down - - - Navigation - Select First Set - Home - - - Navigation - Select Last Set - End - - - Navigation - Select Next Set - Tab - - - Navigation - Select Previous Set - Shift + Tab - - - Sets - Insert New Set - Command + T - - - Device Chain - Delete Set - Shift + Command + T - - - Device Chain - Rename Set - - - Device Chain - Cut All Devices - Command + X - - - Device Chain - Copy All Devices - Command + C - - - Device Chain - Paste All Devices - Command + V - - - Device Chain - Delete All Devices - - - Device Chain - Load Set... - - - Device Chain - Save Set As... - - - Device Chain - Duplicate Chain - Command + D - - - - - Automation - - - Navigation - Move to Previous Line - Left - - - Navigation - Move to Next Line - Right - - - Navigation - Move to Start - - - Navigation - Move to End - - - Navigation - Move to Start and Select - - - Navigation - Move to End and Select - - - Modify Points - Create/Delete Point - - - Modify Points - Edit Point Time - Command + T - - - Modify Points - Edit Point Value - Shift + Return - - - Selection - Begin Selection - - - Selection - End Selection - Command + E - - - Selection - Select Whole Envelope - - - Selection - Unselect Envelope - - - Tools - Draw Tool - Command + B - - - Tools - Line Tool - - - Zoom - Lock Zoom - - - Zoom - Zoom Out Fully - - - Zoom - Zoom to Current - Shift + Option + Z - - - Shift / Amplify - Shift Values Up - Up - - - Shift / Amplify - Shift Values Down - Down - - - Shift / Amplify - Shift Values Left - Shift + Tab - - - Shift / Amplify - Shift Values Right - Tab - - - Shift / Amplify - Amplify Values Up - - - Shift / Amplify - Amplify Values Down - - - Process - Delete - Delete - - - Process - Cut - Command + X - - - Process - Cut Time - - - Process - Copy - Command + C - - - Process - Paste - Command + P - - - Process - Paste Continuously - Command + V - - - Process - Insert - - - Process - Delete Envelope - - - Process - Flip - - - Process - Mirror - - - Process - Humanize - - - Generate - Create Linear Ramp - - - Generate - Create Exponential Ramp - - - Generate - Create Random Points - - - Generate - Create Sine Curve - - - Paketti - ∿ Impulse Tracker ALT-D Double Select W/ Automation - Command + D - - - Paketti - ∿ Impulse Tracker ALT-U Unmark Selection - - - - - DSP Chain - - - Navigation - Set Focus to List - Tab - - - Navigation - Select Previous Device - Left - - - Navigation - Select Next Device - Right - - - Navigation - Select First Device - Home - - - Navigation - Select Last Device - End - - - Navigation - Maximize Device - Up - - - Navigation - Minimize Device - Down - - - Navigation - Maximize All - - - Navigation - Minimize All - - - Edit - Delete Device Chain - - - Edit - Cut Device Chain - - - Edit - Copy Device Chain - - - Edit - Paste Device Chain - - - Edit - Append Device Chain - - - Edit - Combine Devices into Doofer - - - Edit - Load DSP Chain - - - Edit - Save DSP Chain - - - Edit - Delete Device - - - Edit - Delete Device (2nd) - Delete - - - Edit - Cut Device - Command + X - - - Edit - Copy Device - Command + C - - - Edit - Paste Device - Command + V - - - Edit - Rename Device - - - Edit - Move Device Left - Option + Command + Left - - - Edit - Move Device Right - - - Edit - Init Device Settings - Shift + Command + Back - - - Edit - Init Device Settings (2nd) - Shift + Command + Delete - - - Edit - Paste Device Settings - - - Edit - Bypass/Activate Device - - - Edit - Open Editor - - - Tools - ∿ Record GUI controls - - - - - diff --git a/KeyBindings/Debug_Paketti_KeyBindings.log b/KeyBindings/Debug_Paketti_KeyBindings.log index 3921d17..bf02a72 100644 --- a/KeyBindings/Debug_Paketti_KeyBindings.log +++ b/KeyBindings/Debug_Paketti_KeyBindings.log @@ -1,22 +1,23 @@ -Debug: Total Paketti keybindings found - 3771 -0001:Pattern Editor:Paketti: ∿ OctaMED Pick Slot 01: -0002:Pattern Editor:Paketti: ∿ OctaMED Pick Slot 02: -0003:Pattern Editor:Paketti: ∿ OctaMED Pick Slot 03: -0004:Pattern Editor:Paketti: ∿ OctaMED Pick Slot 04: -0005:Pattern Editor:Paketti: ∿ OctaMED Pick Slot 05: -0006:Pattern Editor:Paketti: ∿ OctaMED Pick Slot 06: -0007:Pattern Editor:Paketti: ∿ OctaMED Pick Slot 07: -0008:Pattern Editor:Paketti: ∿ OctaMED Pick Slot 08: -0009:Pattern Editor:Paketti: ∿ OctaMED Pick Slot 09: -0010:Pattern Editor:Paketti: ∿ OctaMED Pick Slot 10: -0011:Pattern Editor:Paketti: ∿ OctaMED Pick/Put Dialog: -0012:Pattern Editor:Paketti: ∿ OctaMED Put Slot 01: -0013:Pattern Editor:Paketti: ∿ OctaMED Put Slot 02: -0014:Pattern Editor:Paketti: ∿ OctaMED Put Slot 03: -0015:Pattern Editor:Paketti: ∿ OctaMED Put Slot 04: -0016:Pattern Editor:Paketti: ∿ OctaMED Put Slot 05: -0017:Pattern Editor:Paketti: ∿ OctaMED Put Slot 06: -0018:Pattern Editor:Paketti: ∿ OctaMED Put Slot 07: -0019:Pattern Editor:Paketti: ∿ OctaMED Put Slot 08: -0020:Pattern Editor:Paketti: ∿ OctaMED Put Slot 09: -0021:Pattern Editor:Paketti: ∿ OctaMED Put Slot 10: +Debug: Total Paketti keybindings found - 3809 +0001:Global:Paketti: ∿ Open User Preferences Dialog: +0002:Global:Paketti: ∿ Randomize All Devices of Track with User1 (%): +0003:Global:Paketti: ∿ Randomize All Devices of Track with User2 (%): +0004:Global:Paketti: ∿ Randomize All Devices of Track with User3 (%): +0005:Global:Paketti: ∿ Randomize All Devices of Track with User4 (%): +0006:Global:Paketti: ∿ Randomize All Devices of Track with User5 (%): +0007:Global:Paketti: ∿ Randomize All Plugins in Song with User1 (%): +0008:Global:Paketti: ∿ Randomize All Plugins in Song with User2 (%): +0009:Global:Paketti: ∿ Randomize All Plugins in Song with User3 (%): +0010:Global:Paketti: ∿ Randomize All Plugins in Song with User4 (%): +0011:Global:Paketti: ∿ Randomize All Plugins in Song with User5 (%): +0012:Global:Paketti: ∿ Randomize Selected Device with User1 (%): +0013:Global:Paketti: ∿ Randomize Selected Device with User2 (%): +0014:Global:Paketti: ∿ Randomize Selected Device with User3 (%): +0015:Global:Paketti: ∿ Randomize Selected Device with User4 (%): +0016:Global:Paketti: ∿ Randomize Selected Device with User5 (%): +0017:Global:Paketti: ∿ Randomize Selected Plugin with User1 (%): +0018:Global:Paketti: ∿ Randomize Selected Plugin with User2 (%): +0019:Global:Paketti: ∿ Randomize Selected Plugin with User3 (%): +0020:Global:Paketti: ∿ Randomize Selected Plugin with User4 (%): +0021:Global:Paketti: ∿ Randomize Selected Plugin with User5 (%): +0022:Global:Paketti: ∿ Show/Hide User Preference Devices Master Dialog: Shift + Option + 0 diff --git a/Paketti0G01_Loader.lua b/Paketti0G01_Loader.lua index 9140145..b537f2d 100644 --- a/Paketti0G01_Loader.lua +++ b/Paketti0G01_Loader.lua @@ -246,7 +246,7 @@ preferences = renoise.Document.create("ScriptingToolPreferences") { pakettiColugaFormatToSave=1, pakettiColugaPathToSave="", pakettiColugaNewInstrumentOrSameInstrument=true, - pakettiColugaYT_DLPLocation="" + pakettiColugaYT_DLPLocation="/opt/homebrew/bin/yt-dlp" }, pakettiCheatSheet = { pakettiCheatSheetRandomize=false, @@ -291,8 +291,32 @@ preferences = renoise.Document.create("ScriptingToolPreferences") { PakettiPluginLoaders = renoise.Document.DocumentList(), PakettiDeviceLoaders = renoise.Document.DocumentList(), PakettiDynamicViews = renoise.Document.DocumentList(), - - } + UserDevices = { + Path = renoise.Document.ObservableString(""), + Slot01 = renoise.Document.ObservableString(""), + Slot02 = renoise.Document.ObservableString(""), + Slot03 = renoise.Document.ObservableString(""), + Slot04 = renoise.Document.ObservableString(""), + Slot05 = renoise.Document.ObservableString(""), + Slot06 = renoise.Document.ObservableString(""), + Slot07 = renoise.Document.ObservableString(""), + Slot08 = renoise.Document.ObservableString(""), + Slot09 = renoise.Document.ObservableString(""), + Slot10 = renoise.Document.ObservableString("") + }, + UserInstruments = { + Path = renoise.Document.ObservableString(""), + Slot01 = renoise.Document.ObservableString(""), + Slot02 = renoise.Document.ObservableString(""), + Slot03 = renoise.Document.ObservableString(""), + Slot04 = renoise.Document.ObservableString(""), + Slot05 = renoise.Document.ObservableString(""), + Slot06 = renoise.Document.ObservableString(""), + Slot07 = renoise.Document.ObservableString(""), + Slot08 = renoise.Document.ObservableString(""), + Slot09 = renoise.Document.ObservableString(""), + Slot10 = renoise.Document.ObservableString("") + }} renoise.tool().preferences = preferences diff --git a/PakettiAudioProcessing.lua b/PakettiAudioProcessing.lua index 4de1cd0..20ce545 100644 --- a/PakettiAudioProcessing.lua +++ b/PakettiAudioProcessing.lua @@ -1291,4 +1291,178 @@ function normalize_selected_sample() end renoise.tool():add_keybinding{name="Global:Paketti:Paketti Normalize Sample",invoke=function() normalize_selected_sample() end} +--------- +local function auto_correlate() + local sample = renoise.song().selected_sample + if not sample or not sample.sample_buffer.has_sample_data then + renoise.app():show_status("No sample selected or sample buffer empty.") + return + end + + local buffer = sample.sample_buffer + local sample_frames = buffer.number_of_frames + local channels = buffer.number_of_channels + + if sample_frames < 100 then + renoise.app():show_status("Sample too short for correlation analysis.") + return + end + + -- Downsample the data for speed + local step = math.max(1, math.floor(sample_frames / 1000)) -- Reduce to ~1000 frames max + local function get_sample(ch, frame) + return buffer:sample_data(ch, frame) + end + + -- Find zero-crossings for candidate points + local candidates = {} + for i = 1, sample_frames - step, step do + local prev_sample = get_sample(1, i) + local next_sample = get_sample(1, i + step) + if prev_sample * next_sample <= 0 then -- Zero-crossing detected + table.insert(candidates, i) + end + end + + if #candidates < 2 then + renoise.app():show_status("Not enough zero-crossings for loop detection.") + return + end + + -- Correlation function to compare candidate segments + local function calculate_correlation(start, length) + local sum = 0 + for i = 1, length, step do + for ch = 1, channels do + if start + i <= sample_frames and start + length + i <= sample_frames then + local diff = get_sample(ch, start + i) - get_sample(ch, start + length + i) + sum = sum + math.abs(diff) + end + end + end + return sum / (length / step) + end + + -- Find the best matching start and endpoint + local best_start, best_end, min_diff = 1, sample_frames, math.huge + for _, start in ipairs(candidates) do + for _, end_candidate in ipairs(candidates) do + if end_candidate > start then + local length = end_candidate - start + local diff = calculate_correlation(start, length) + if diff < min_diff then + min_diff = diff + best_start = start + best_end = end_candidate + end + end + end + end + + -- Apply loop points + if best_start < best_end then + sample.loop_mode = renoise.Sample.LOOP_MODE_FORWARD + sample.loop_start = best_start + sample.loop_end = best_end + renoise.app():show_status(("Loop set: %d to %d (Diff: %.4f)"):format(best_start, best_end, min_diff)) + else + renoise.app():show_status("Failed to find suitable loop points.") + end +end + +renoise.tool():add_menu_entry { + name = "Sample Editor:Auto Correlate Loop", + invoke = auto_correlate +} + + + + + + + +---------- +local function auto_detect_single_cycle_loop() + local sample = renoise.song().selected_sample + if not sample or not sample.sample_buffer.has_sample_data then + renoise.app():show_status("No sample selected or sample buffer empty.") + return + end + + local buffer = sample.sample_buffer + local sample_frames = buffer.number_of_frames + local channels = buffer.number_of_channels + + if sample_frames < 2 then + renoise.app():show_status("Sample too short for single-cycle detection.") + return + end + + -- Helper function to get average amplitude over all channels + local function get_amplitude(frame) + local sum = 0 + for ch = 1, channels do + sum = sum + buffer:sample_data(ch, frame) + end + return sum / channels + end + + -- Downsample the data for faster processing + local step = math.max(1, math.floor(sample_frames / 1000)) -- Reduce to ~1000 frames max + local amplitudes = {} + for i = 1, sample_frames, step do + amplitudes[#amplitudes + 1] = get_amplitude(i) + end + + -- Autocorrelation-based periodicity detection (on downsampled data) + local best_period = 0 + local min_difference = math.huge + for period = 1, math.floor(#amplitudes / 2) do + local difference = 0 + for i = 1, #amplitudes - period do + difference = difference + math.abs(amplitudes[i] - amplitudes[i + period]) + end + if difference < min_difference then + min_difference = difference + best_period = period * step -- Convert back to original frame scale + end + end + + if best_period == 0 then + renoise.app():show_status("No periodicity detected in sample.") + return + end + + -- Find zero-crossing points within the detected cycle + local function find_nearest_zero_crossing(start_frame) + for frame = start_frame, sample_frames - 1 do + if get_amplitude(frame) * get_amplitude(frame + 1) <= 0 then + return frame + end + end + return start_frame -- Default to start if no zero-crossing found + end + + local loop_start = find_nearest_zero_crossing(1) + local loop_end = find_nearest_zero_crossing(loop_start + best_period) + + if loop_start >= loop_end then + renoise.app():show_status("Failed to detect suitable loop points.") + return + end + + -- Apply the detected loop points + sample.loop_mode = renoise.Sample.LOOP_MODE_FORWARD + sample.loop_start = loop_start + sample.loop_end = loop_end + renoise.app():show_status(("Loop set: %d to %d (Period: %d)"):format(loop_start, loop_end, best_period)) +end + +renoise.tool():add_menu_entry { + name = "Sample Editor:Auto Detect Single-Cycle Loop", + invoke = auto_detect_single_cycle_loop +} + + + diff --git a/PakettiAutomation.lua b/PakettiAutomation.lua index c5d062c..2128cb8 100644 --- a/PakettiAutomation.lua +++ b/PakettiAutomation.lua @@ -1697,7 +1697,7 @@ local function randomize_envelope() end renoise.tool():add_keybinding{name="Global:Paketti:Randomize Automation Envelope",invoke=randomize_envelope} -renoise.tool():add_menu_entry{name="Main Menu:Tools:Paketti..:Randomize Automation Envelope",invoke=randomize_envelope} +renoise.tool():add_menu_entry{name="--Main Menu:Tools:Paketti..:Automation..:Randomize Automation Envelope",invoke=randomize_envelope} renoise.tool():add_menu_entry{name="--Track Automation:Paketti..:Randomize Automation Envelope",invoke=randomize_envelope} renoise.tool():add_midi_mapping{name="Paketti:Randomize Automation Envelope",invoke=randomize_envelope} @@ -1746,7 +1746,7 @@ end -- Keybinding, menu, and MIDI mapping entries for the tool renoise.tool():add_keybinding{name="Global:Paketti:Randomize Automation Envelopes for Device",invoke=function() randomize_device_envelopes(1) end} -renoise.tool():add_menu_entry{name="Main Menu:Tools:Paketti..:Randomize Automation Envelopes for Device",invoke=function() randomize_device_envelopes(1) end} +renoise.tool():add_menu_entry{name="Main Menu:Tools:Paketti..:Automation..:Randomize Automation Envelopes for Device",invoke=function() randomize_device_envelopes(1) end} renoise.tool():add_menu_entry{name="DSP Device:Paketti..:Randomize Automation Envelopes for Device",invoke=function() randomize_device_envelopes(1) end} renoise.tool():add_menu_entry{name="Mixer:Paketti..:Randomize Automation Envelopes for Device",invoke=function() randomize_device_envelopes(1) end} renoise.tool():add_menu_entry{name="Track Automation:Paketti..:Randomize Automation Envelopes for Device",invoke=function() randomize_device_envelopes(1) end} @@ -1793,6 +1793,8 @@ end renoise.tool():add_keybinding{name="Global:Paketti:Switch to Automation Dynamic",invoke=function() showAutomationHardDynamic() end} ----------- local dialog = nil +local vb = nil -- Make vb accessible globally +local suppress_notifier = false -- Flag to suppress the notifier local function apply_textfield_value(value) local song = renoise.song() @@ -1836,18 +1838,49 @@ local function apply_textfield_value(value) renoise.app():show_status("Set automation point at line " .. line_index .. " with value " .. automation_value) end -local function apply_textfield_value_and_close(value) +local function apply_textfield_value_and_move(value) -- Print the new value print("New Automation Value: " .. value) - -- Close the dialog if it's open - if dialog and dialog.visible then - dialog:close() - dialog = nil - end - -- Set the automation point in the Renoise pattern editor apply_textfield_value(value) + + -- Move to next line if "Follow Editstep" is checked + if dialog and dialog.visible then + local follow_editstep = vb.views.follow_editstep_checkbox.value + if follow_editstep then + local song = renoise.song() + local edit_step = song.transport.edit_step + local current_line = song.selected_line_index + local pattern_length = song.selected_pattern.number_of_lines + local next_line = current_line + edit_step + if next_line > pattern_length then + next_line = ((next_line - 1) % pattern_length) + 1 -- wrap around + song.selected_line_index = next_line + renoise.app():show_status("Wrapped to line " .. next_line) + else + song.selected_line_index = next_line + end + -- Re-focus the textfield and clear its content safely + suppress_notifier = true + vb.views.value_textfield.value = "" + suppress_notifier = false + vb.views.value_textfield.active = true + vb.views.value_textfield.edit_mode = true + else + -- If not following editstep, close the dialog + dialog:close() + dialog = nil + end + end +end + +local function textfield_notifier(new_value) + if suppress_notifier then + return + end + local clamped_value = math.min(math.max(tonumber(new_value) or 0, 0), 1) + apply_textfield_value_and_move(clamped_value) end local function show_value_dialog() @@ -1857,26 +1890,99 @@ local function show_value_dialog() return end - local vb = renoise.ViewBuilder() + vb = renoise.ViewBuilder() -- Create vb here and make it global local initial_value = "0.93524" + local textfield = vb:textfield{ width = 60, id = "value_textfield", value = initial_value, edit_mode = true, - notifier = function(new_value) - local clamped_value = math.min(math.max(tonumber(new_value) or 0, 0), 1) - if tostring(clamped_value) ~= initial_value then - apply_textfield_value_and_close(clamped_value) end end} - - local apply_button=vb:button{text="Write Automation to Current Line",width=180,notifier=function() apply_textfield_value_and_close(vb.views.value_textfield.value) end} + notifier = textfield_notifier + } + + local apply_button = vb:button{ + text = "Write Automation to Current Line", + width = 180, + notifier = function() + apply_textfield_value_and_move(vb.views.value_textfield.value) + end + } + + local follow_editstep_checkbox = vb:checkbox { + id = "follow_editstep_checkbox", + value = false, -- default unchecked + notifier = function(value) + print("Follow Editstep checkbox changed to " .. tostring(value)) + -- Re-focus the textfield when the checkbox is clicked + vb.views.value_textfield.active = true + vb.views.value_textfield.edit_mode = true + end + } + + local editstep_valuebox = vb:valuebox { + id = "editstep_valuebox", + value = renoise.song().transport.edit_step, + min = 1, + max = 256, + notifier = function(value) + print("Edit step value changed to " .. tostring(value)) + renoise.song().transport.edit_step = value + -- Re-focus the textfield when the valuebox value is changed + vb.views.value_textfield.active = true + vb.views.value_textfield.edit_mode = true + end + } + + local close_button = vb:button{ + text = "Close", + notifier = function() + if dialog and dialog.visible then + dialog:close() + dialog = nil + end + end + } - dialog = renoise.app():show_custom_dialog("Set Automation Value", vb:column{ margin=10, vb:row{ textfield, apply_button } }) + dialog = renoise.app():show_custom_dialog("Set Automation Value", + vb:column{ + margin=10, + vb:row{ + textfield, + apply_button, + }, + vb:row{ + vb:text{text="Follow Editstep"}, + follow_editstep_checkbox, + vb:text{text="Editstep"}, + editstep_valuebox, + }, + vb:row{ + close_button, + } + } + ) renoise.app().window.active_lower_frame = 2 + -- Set initial focus to the textfield + vb.views.value_textfield.active = true + vb.views.value_textfield.edit_mode = true end -renoise.tool():add_keybinding{name="Global:Paketti:Show Automation Value Dialog...",invoke=function() show_value_dialog() end} -renoise.tool():add_menu_entry{name="Main Menu:Tools:Paketti..:Show Automation Value Dialog...",invoke=function() show_value_dialog() end} +renoise.tool():add_keybinding{ + name="Global:Paketti:Show Automation Value Dialog...", + invoke=function() show_value_dialog() end +} + +renoise.tool():add_menu_entry{ + name="Main Menu:Tools:Paketti..:Paketti Automation Value Dialog...", + invoke=function() show_value_dialog() end +} + + + + + + @@ -1922,8 +2028,13 @@ end for i = 0, 1, 0.1 do local formatted_value = string.format("%.1f", i) renoise.tool():add_keybinding{name = "Global:Paketti:Write Automation Value " .. formatted_value,invoke = function() write_automation_value(tonumber(formatted_value)) end} +if i == 0 then + +renoise.tool():add_menu_entry{name = "--Main Menu:Tools:Paketti..:Automation..:Write Automation Value " .. formatted_value,invoke = function() write_automation_value(tonumber(formatted_value)) end} +else renoise.tool():add_menu_entry{name = "Main Menu:Tools:Paketti..:Automation..:Write Automation Value " .. formatted_value,invoke = function() write_automation_value(tonumber(formatted_value)) end} end +end ----------------- @@ -2047,7 +2158,7 @@ renoise.tool():add_keybinding{ invoke=PakettiAutomationSelectionFloodFill } renoise.tool():add_menu_entry{ - name="Main Menu:Tools:Paketti..:Flood Fill Automation Selection", + name="--Main Menu:Tools:Paketti..:Automation..:Flood Fill Automation Selection", invoke=PakettiAutomationSelectionFloodFill } renoise.tool():add_menu_entry{ @@ -2365,4 +2476,138 @@ renoise.tool():add_keybinding{name="Global:Paketti:Flip Automation Selection Ver renoise.tool():add_midi_mapping{name="Paketti:Flip Automation Selection Horizontally",invoke=function(message) if message:is_trigger() then FlipAutomationHorizontal() end end} renoise.tool():add_midi_mapping{name="Paketti:Flip Automation Selection Vertically",invoke=function(message) if message:is_trigger() then FlipAutomationVertical() end end} +----- + +local function add_automation_points_for_notes() + local song = renoise.song() + + -- Ensure there's a selected track and automation parameter + local track = song.selected_track + local parameter = song.selected_automation_parameter + local pattern_index = song.selected_pattern_index + local track_index = song.selected_track_index + local line_index = song.selected_line_index + + if not parameter then + renoise.app():show_status("Please select a parameter to automate.") + print("No automation parameter selected.") + return + end + + -- Access the current pattern and the selected track's pattern track + local pattern = song:pattern(pattern_index) + local pattern_track = pattern:track(track_index) + + -- Find or create automation envelope for the parameter + local envelope = pattern_track:find_automation(parameter) + if not envelope then + envelope = pattern_track:create_automation(parameter) + print("Created new automation envelope for parameter: " .. parameter.name) + end + + -- Iterate through the lines in the pattern track to find notes + for line_index = 1, pattern.number_of_lines do + local line = pattern_track:line(line_index) + + if line and line.note_columns then + -- Check for valid notes in the note columns + for _, note_column in ipairs(line.note_columns) do + if note_column.note_value < 120 then -- Valid MIDI note + -- Set the automation point at the line's position + local value = 0.5 -- Default automation value (you can adjust this logic as needed) + envelope:add_point_at(line_index, value) + + renoise.app():show_status( + "Added automation point at line " .. line_index .. " with value " .. value + ) + print("Added automation point at line " .. line_index .. " with value " .. value) + end + end + end + end + + renoise.app():show_status("Finished adding automation points for notes.") +end + +-- Execute the function +renoise.tool():add_menu_entry{name="Track Automation:Paketti..:Generate Automation Points from Notes in Selected Track",invoke=function() +add_automation_points_for_notes() end} +renoise.tool():add_menu_entry{name="Track Automation List:Paketti..:Generate Automation Points from Notes in Selected Track",invoke=function() +add_automation_points_for_notes() end} + +renoise.tool():add_keybinding{name="Global:Paketti:Generate Automation Points from Notes in Selected Track",invoke=function() +add_automation_points_for_notes() +renoise.app().window.active_middle_frame = 1 +renoise.app().window.active_lower_frame = 2 + end} +-------- + +local function PakettiAutomationPlayModeChange_SetPlaymode(mode) + local song = renoise.song() + local automation_parameter = song.selected_automation_parameter + if not automation_parameter or not automation_parameter.is_automatable then + renoise.app():show_status("Please select an automatable parameter.") + return + end + + local envelope = song:pattern(song.selected_pattern_index):track(song.selected_track_index):find_automation(automation_parameter) + if not envelope then + renoise.app():show_status("No automation envelope found for the selected parameter.") + return + end + + envelope.playmode = mode + renoise.app():show_status("Playmode set to " .. mode) +end + +local function PakettiAutomationPlayModeChange_Next() + local song = renoise.song() + local automation_parameter = song.selected_automation_parameter + if not automation_parameter or not automation_parameter.is_automatable then + renoise.app():show_status("Please select an automatable parameter.") + return + end + + local envelope = song:pattern(song.selected_pattern_index):track(song.selected_track_index):find_automation(automation_parameter) + if not envelope then + renoise.app():show_status("No automation envelope found for the selected parameter.") + return + end + + envelope.playmode = (envelope.playmode % 3) + 1 + renoise.app():show_status("Next playmode selected: " .. envelope.playmode) +end + +local function PakettiAutomationPlayModeChange_Previous() + local song = renoise.song() + local automation_parameter = song.selected_automation_parameter + if not automation_parameter or not automation_parameter.is_automatable then + renoise.app():show_status("Please select an automatable parameter.") + return + end + + local envelope = song:pattern(song.selected_pattern_index):track(song.selected_track_index):find_automation(automation_parameter) + if not envelope then + renoise.app():show_status("No automation envelope found for the selected parameter.") + return + end + + envelope.playmode = (envelope.playmode - 2) % 3 + 1 + renoise.app():show_status("Previous playmode selected: " .. envelope.playmode) +end + +-- Add Keybindings +renoise.tool():add_keybinding {name="Global:Paketti:Select Automation Playmode (Next)",invoke=PakettiAutomationPlayModeChange_Next} +renoise.tool():add_keybinding {name="Global:Paketti:Select Automation Playmode (Previous)",invoke=PakettiAutomationPlayModeChange_Previous} +renoise.tool():add_keybinding {name="Global:Paketti:Select Automation Playmode 01 Points",invoke=function() PakettiAutomationPlayModeChange_SetPlaymode(renoise.PatternTrackAutomation.PLAYMODE_POINTS) end} +renoise.tool():add_keybinding {name="Global:Paketti:Select Automation Playmode 02 Lines",invoke=function() PakettiAutomationPlayModeChange_SetPlaymode(renoise.PatternTrackAutomation.PLAYMODE_LINES) end} +renoise.tool():add_keybinding {name="Global:Paketti:Select Automation Playmode 03 Curves",invoke=function() PakettiAutomationPlayModeChange_SetPlaymode(renoise.PatternTrackAutomation.PLAYMODE_CURVES) end} + +-- Add MIDI Mappings +renoise.tool():add_midi_mapping {name="Paketti:Select Automation Playmode (Next)",invoke=PakettiAutomationPlayModeChange_Next} +renoise.tool():add_midi_mapping {name="Paketti:Select Automation Playmode (Previous)",invoke=PakettiAutomationPlayModeChange_Previous} +renoise.tool():add_midi_mapping {name="Paketti:Select Automation Playmode 01 Points",invoke=function() PakettiAutomationPlayModeChange_SetPlaymode(renoise.PatternTrackAutomation.PLAYMODE_POINTS) end} +renoise.tool():add_midi_mapping {name="Paketti:Select Automation Playmode 02 Lines",invoke=function() PakettiAutomationPlayModeChange_SetPlaymode(renoise.PatternTrackAutomation.PLAYMODE_LINES) end} +renoise.tool():add_midi_mapping {name="Paketti:Select Automation Playmode 03 Curves",invoke=function() PakettiAutomationPlayModeChange_SetPlaymode(renoise.PatternTrackAutomation.PLAYMODE_CURVES) end} + diff --git a/PakettiColuga.lua b/PakettiColuga.lua index 4f0ca63..6bfaced 100644 --- a/PakettiColuga.lua +++ b/PakettiColuga.lua @@ -1,6 +1,6 @@ -- TODO YT-DLP make it output to GUI Console -- TODO YT-DLP make sure it finishes downloading -local yt_dlp_path = "" +local yt_dlp_path = "/opt/homebrew/bin/yt-dlp" local ffmpeg_path = "" local RUNTIME = tostring(os.time()) local SAMPLE_LENGTH = 10 @@ -323,7 +323,7 @@ function PakettiColugaExecuteLua(search_phrase, youtube_url, download_dir, clip_ local search_results_file = temp_dir .. "/search_results.txt" -- Log starting arguments - PakettiColugaLogMessage("Starting PakettiColuga with arguments:") + PakettiColugaLogMessage("Starting Paketti YT-DLP with arguments:") PakettiColugaLogMessage("SEARCH_PHRASE: " .. tostring(search_phrase)) PakettiColugaLogMessage("YOUTUBE_URL: " .. tostring(youtube_url)) PakettiColugaLogMessage("DOWNLOAD_DIR: " .. tostring(download_dir)) @@ -372,7 +372,7 @@ function PakettiColugaExecuteLua(search_phrase, youtube_url, download_dir, clip_ -- Signal completion PakettiColugaSignalCompletion(completion_signal_file) - PakettiColugaLogMessage("PakettiColuga finished.") + PakettiColugaLogMessage("Paketti YT-DLP finished.") end -- Function to load downloaded samples into Renoise @@ -489,7 +489,7 @@ end -- Function to prompt for output directory function PakettiColugaPromptForOutputDir() - renoise.app():show_warning("Please set the folder that Coluga will download to") + renoise.app():show_warning("Please set the folder that YT-DLP will download to...") local dir = renoise.app():prompt_for_path("Select Output Directory") if dir then vb.views.output_dir.text = dir @@ -500,7 +500,7 @@ end -- Function to prompt for save path function PakettiColugaPromptForSavePath() - renoise.app():show_warning("Please set the folder to save WAV or FLAC as") + renoise.app():show_warning("Please set the folder to save WAV or FLAC to...") local dir = renoise.app():prompt_for_path("Select Save Path") if dir then vb.views.save_path.text = dir @@ -511,8 +511,8 @@ end -- Function to prompt for yt-dlp path function PakettiColugaPromptForYTDLPPath() - renoise.app():show_warning("Please select the yt-dlp executable") - local file = renoise.app():prompt_for_filename_to_read({"*"}, "Select yt-dlp Executable") + renoise.app():show_warning("Please select the YT-DLP executable") + local file = renoise.app():prompt_for_filename_to_read({"*.*"}, "Select YT-DLP Executable") if file then vb.views.yt_dlp_location.text = file preferences.pakettiColuga.pakettiColugaYT_DLPLocation.value = file @@ -830,7 +830,7 @@ function PakettiColugaShowDialog() PakettiColugaCloseDialog() else dialog_content = PakettiColugaDialogContent() - dialog = renoise.app():show_custom_dialog("Paketti Coluga Downloader", dialog_content, PakettiColugaKeyHandlerFunc) + dialog = renoise.app():show_custom_dialog("Paketti YT-DLP Downloader", dialog_content, PakettiColugaKeyHandlerFunc) PakettiColugaLogMessage("YT-DLP Downloader Initialized and ready to go.") end end @@ -842,12 +842,13 @@ function PakettiColugaCloseDialog() dialog = nil logview = nil vb = nil - renoise.app():show_status("Closing Paketti Coluga Dialog") + renoise.app():show_status("Closing Paketti YT-DLP Dialog") end +renoise.tool():add_menu_entry{name="Main Menu:Tools:Paketti..:Xperimental/Work in Progress:Paketti YT-DLP Downloader Dialog...", invoke = function() PakettiColugaShowDialog() end } -renoise.tool():add_keybinding { name = "Global:Tools:Paketti Coluga Downloader", invoke = PakettiColugaShowDialog } ---renoise.tool():add_menu_entry { name = "Sample Editor:Paketti..:Paketti Coluga Downloader...", invoke = PakettiColugaShowDialog } ---renoise.tool():add_menu_entry { name = "Sample Navigator:Paketti..:Paketti Coluga Downloader...", invoke = PakettiColugaShowDialog } ---renoise.tool():add_menu_entry { name = "Instrument Box:Paketti..:Paketti Coluga Downloader...", invoke = PakettiColugaShowDialog } +renoise.tool():add_keybinding { name = "Global:Tools:Paketti YT-DLP Downloader", invoke = PakettiColugaShowDialog } +--renoise.tool():add_menu_entry { name = "Sample Editor:Paketti..:Paketti YT-DLP Downloader...", invoke = PakettiColugaShowDialog } +--renoise.tool():add_menu_entry { name = "Sample Navigator:Paketti..:Paketti YT-DLP Downloader...", invoke = PakettiColugaShowDialog } +--renoise.tool():add_menu_entry { name = "Instrument Box:Paketti..:Paketti YT-DLP Downloader...", invoke = PakettiColugaShowDialog } diff --git a/PakettiControls.lua b/PakettiControls.lua index 08506f7..a9e9228 100644 --- a/PakettiControls.lua +++ b/PakettiControls.lua @@ -418,4 +418,41 @@ for i=0,64 do invoke=function() PakettiSetEditStep(i) end} end +---- +--esa- 2nd keybind for Record Toggle ON/OFF with effect_column reading +function RecordToggle() + local a=renoise.app() + local s=renoise.song() + local t=s.transport + local currentstep=t.edit_step +--if has notifier, dump notifier, if no notifier, add notifier + if t.edit_mode then + t.edit_mode=false + if t.edit_step==0 then + t.edit_step=1 + else + return + end + else + t.edit_mode = true + if s.selected_effect_column_index == 1 then t.edit_step=0 + elseif s.selected_effect_column_index == 0 then t.edit_step=currentstep return + end +end +end + +renoise.tool():add_keybinding{name="Global:Paketti:Record Toggle with EditStep Reading (2nd)", invoke=function() RecordToggle() end} + + + + +--------- +function loadRecentlySavedSong() +renoise.app():load_song(renoise.app().recently_saved_song_files[1]) +end + +renoise.tool():add_keybinding{name="Global:Paketti:Load Recently Saved Song",invoke=function() loadRecentlySavedSong() end} +renoise.tool():add_menu_entry{name="Main Menu:File:Paketti..:Load Recently Saved Song",invoke=function() loadRecentlySavedSong() end} + + diff --git a/PakettiExperimental_Verify.lua b/PakettiExperimental_Verify.lua index 7542c44..a1e2463 100644 --- a/PakettiExperimental_Verify.lua +++ b/PakettiExperimental_Verify.lua @@ -1,484 +1,845 @@ -function globalCenter() +local vb = renoise.ViewBuilder() +local dialog = nil + +-- Parameters for the wacky filter +local filter_params = { + chaos = 0.5, + cutoff = 2000, + resonance = 0.7 +} + +-- Function to close dialog with '!' +local function my_keyhandler_func(dialog_key) + if dialog_key.name == "exclamation" and + not (dialog_key.modifiers == "shift" or dialog_key.modifiers == "control" or dialog_key.modifiers == "alt") then + dialog:close() + renoise.app().window.active_middle_frame = renoise.ApplicationWindow.MIDDLE_FRAME_PATTERN_EDITOR + end +end -local song=renoise.song() +-- Function to export, process, and reimport audio +local function process_audio() + local song = renoise.song() + local selection = song.selection_in_pattern + if not selection then + renoise.app():show_status("No audio selection found") + return + end + + -- Export selected audio to a WAV file + local sample = song.instruments[1].samples[1] + local output_path = os.tmpname() .. ".wav" + sample.sample_buffer:save_as(output_path, "wav") --- Calculate the total number of tracks -local total_tracks=song.sequencer_track_count+1+song.send_track_count + -- Run Csound with the wacky filter + local csound_command = string.format( + "csound wacky_filter.csd -o %s -i %s -kcutoff %f -kresonance %f -kchaos %f", + output_path, + output_path, + filter_params.cutoff, + filter_params.resonance, + filter_params.chaos + ) + os.execute(csound_command) --- Iterate through each track and set panning values -for i=1,total_tracks do - local track=song.tracks[i] - track.postfx_panning.value=0.5 - track.prefx_panning.value=0.5 + -- Load processed file back into Renoise + sample.sample_buffer:load_from(output_path) + renoise.app():show_status("Audio processed and reloaded") end -renoise.app():show_status("Panning values for all tracks set to 0.5") +-- Create GUI +local function show_dialog() + if dialog and dialog.visible then + dialog:close() + return + end + dialog = renoise.app():show_custom_dialog("Wacky Filter", vb:row { + vb:column { + vb:slider { min = 0, max = 1, value = filter_params.chaos, notifier = function(v) filter_params.chaos = v end }, + vb:text { text = "Chaos" }, + vb:slider { min = 20, max = 20000, value = filter_params.cutoff, notifier = function(v) filter_params.cutoff = v end }, + vb:text { text = "Cutoff" }, + vb:slider { min = 0.1, max = 10, value = filter_params.resonance, notifier = function(v) filter_params.resonance = v end }, + vb:text { text = "Resonance" }, + vb:button { text = "Process Audio", notifier = process_audio } + } + }, my_keyhandler_func) end -renoise.tool():add_keybinding{name="Global:Paketti:Set All Tracks to Center",invoke=function() globalCenter() end} -renoise.tool():add_menu_entry{name="Mixer:Paketti..:Set All Tracks to Center",invoke=function() globalCenter() end} -renoise.tool():add_menu_entry{name="Pattern Editor:Paketti..:Set All Tracks to Center",invoke=function() globalCenter() end} -renoise.tool():add_menu_entry{name="DSP Device:Paketti..:Set All Tracks to Center",invoke=function() globalCenter() end} +-- Add menu entry to show the dialog +renoise.tool():add_menu_entry { + name = "Main Menu:Tools:Wacky Filter", + invoke = show_dialog +} -local function add_automation_points_for_notes() - local song = renoise.song() - -- Ensure there's a selected track and automation parameter - local track = song.selected_track - local parameter = song.selected_automation_parameter - local pattern_index = song.selected_pattern_index - local track_index = song.selected_track_index - local line_index = song.selected_line_index - if not parameter then - renoise.app():show_status("Please select a parameter to automate.") - print("No automation parameter selected.") - return - end - -- Access the current pattern and the selected track's pattern track - local pattern = song:pattern(pattern_index) - local pattern_track = pattern:track(track_index) - - -- Find or create automation envelope for the parameter - local envelope = pattern_track:find_automation(parameter) - if not envelope then - envelope = pattern_track:create_automation(parameter) - print("Created new automation envelope for parameter: " .. parameter.name) - end - - -- Iterate through the lines in the pattern track to find notes - for line_index = 1, pattern.number_of_lines do - local line = pattern_track:line(line_index) - - if line and line.note_columns then - -- Check for valid notes in the note columns - for _, note_column in ipairs(line.note_columns) do - if note_column.note_value < 120 then -- Valid MIDI note - -- Set the automation point at the line's position - local value = 0.5 -- Default automation value (you can adjust this logic as needed) - envelope:add_point_at(line_index, value) - - renoise.app():show_status( - "Added automation point at line " .. line_index .. " with value " .. value - ) - print("Added automation point at line " .. line_index .. " with value " .. value) + + +function overlayModeCycle() +--renoise.song().selected_instrument.sample_mapping_overlap_mode=0,1,2 + + +end + +function SelectionToNewPattern() +--[[ +>>> rprint (renoise.song().selection_in_pattern) +[end_column] => 2 +[end_line] => 4 +[end_track] => 2 +[start_column] => 1 +[start_line] => 1 +[start_track] => 2 +]]-- + +renoise.song().selected_pattern_index = 1 + +end + +function XOPointCloud() +for i=1,#renoise.song().instruments do +if renoise.song().instruments[i].plugin_properties.plugin_device ~= nil then + +if renoise.song().instruments[i].plugin_properties.plugin_device.name == "AU: XLN Audio: XO" or +renoise.song().instruments[i].plugin_properties.plugin_device.name == "VST3: XLN Audio: XO" or +renoise.song().instruments[i].plugin_properties.plugin_device.name == "VST: XLN Audio: XO" +then +if renoise.song().instruments[i].plugin_properties.plugin_device.external_editor_visible~=false then +renoise.song().instruments[i].plugin_properties.plugin_device.external_editor_visible=false +else +renoise.song().instruments[i].plugin_properties.plugin_device.external_editor_visible=true +return end +-- TODO add "if not there, add it to a new instrument" +end +end +end +end + +renoise.tool():add_keybinding{name="Global:Paketti:Show XO Plugin External Editor",invoke=function() XOPointCloud() end} + + +function toggleCurrentTrackDSPs() + +for i=2,#renoise.song().selected_track.devices do +if renoise.song().selected_track.devices[i].external_editor_available then +if renoise.song().selected_track.devices[i].external_editor_visible then + renoise.song().selected_track.devices[i].external_editor_visible=false else + renoise.song().selected_track.devices[i].external_editor_visible=true +end +end + +end +end +-- TODO set it when switching tracks +--renoise.song().selected_track_observable:add_notifier(toggleCurrentTrackDSPs()) + +function AutoAssignOutputs(number) +-- TODO: fix the for logic so the amount of samples creates the amount of sample device chains +-- and then sorts the output routings +if #renoise.song().selected_instrument.sample_device_chains == #renoise.song().selected_instrument.samples then end +for i=1,#renoise.song().selected_instrument.samples do +renoise.song().selected_instrument:insert_sample_device_chain_at(i) +end + + +for i=2,#renoise.song().selected_instrument.sample_device_chains[1].available_output_routings do +for y=1,#renoise.song().selected_instrument.samples do +renoise.song().selected_instrument.sample_device_chains[y].output_routing=i +end +end +end + +renoise.tool():add_midi_mapping{name="Paketti:Clear Current Track in Pattern",invoke=function() +renoise.song().selected_pattern.tracks[renoise.song().selected_track_index]:clear() +end} + +function DrumKitToOverlay(overlaymode) +for i=1,#renoise.song().selected_instrument.sample_mappings[1] do +renoise.song().selected_instrument.sample_mappings[1][i].note_range={0,119} +renoise.song().selected_instrument.sample_mappings[1][i].base_note=48 +renoise.song().selected_instrument.sample_mappings[1][i].velocity_range = {0, 127} + +end +renoise.song().selected_instrument.sample_mapping_overlap_mode=overlaymode +renoise.app():show_status("The instrument " .. renoise.song().selected_instrument.name .. " has been formatted to Overlap Random.") +end + + +renoise.tool():add_keybinding{name="Global:Paketti:Set DrumKit to Overlap Random",invoke=function() DrumKitToOverlay(2) end} +renoise.tool():add_menu_entry{name="Sample Mappings:Paketti..:Set DrumKit to Overlap Random",invoke=function() DrumKitToOverlay(2) end} + +renoise.tool():add_keybinding{name="Global:Paketti:Load DrumKit with Overlap Random",invoke=function() +pitchBendDrumkitLoader() +DrumKitToOverlay(2) end} + +renoise.tool():add_menu_entry{name="Instrument Box:Paketti..:Load DrumKit with Overlap Random",invoke=function() +pitchBendDrumkitLoader() +DrumKitToOverlay(2) end} + +renoise.tool():add_keybinding{name="Global:Paketti:Load DrumKit with Overlap Cycle",invoke=function() +pitchBendDrumkitLoader() +DrumKitToOverlay(1) end} + +renoise.tool():add_menu_entry{name="Instrument Box:Paketti..:Load DrumKit with Overlap Cycle",invoke=function() +pitchBendDrumkitLoader() +DrumKitToOverlay(1) end} + +function normalize_and_reduce(scope, db_reduction) + local function process_sample(sample, reduction_factor) + if not sample then return false, "No sample provided!" end + local buffer = sample.sample_buffer + if not buffer or not buffer.has_sample_data then return false, "Sample has no data!" end + + buffer:prepare_sample_data_changes() + + local max_amplitude = 0 + for channel = 1, buffer.number_of_channels do + for frame = 1, buffer.number_of_frames do + local sample_value = math.abs(buffer:sample_data(channel, frame)) + if sample_value > max_amplitude then max_amplitude = sample_value end + end + end + + if max_amplitude > 0 then + local normalization_factor = 1 / max_amplitude + for channel = 1, buffer.number_of_channels do + for frame = 1, buffer.number_of_frames do + local sample_value = buffer:sample_data(channel, frame) + buffer:set_sample_data(channel, frame, sample_value * normalization_factor * reduction_factor) end end end + + buffer:finalize_sample_data_changes() + return true, "Sample processed successfully!" end - renoise.app():show_status("Finished adding automation points for notes.") + local reduction_factor = 10 ^ (db_reduction / 20) + + if scope == "current_sample" then + local sample = renoise.song().selected_sample + if not sample then renoise.app():show_error("No sample selected!") return end + local success, message = process_sample(sample, reduction_factor) + renoise.app():show_status(message) + elseif scope == "all_samples" then + local instrument = renoise.song().selected_instrument + if not instrument or #instrument.samples == 0 then renoise.app():show_error("No samples in the selected instrument!") return end + for _, sample in ipairs(instrument.samples) do + local success, message = process_sample(sample, reduction_factor) + if not success then renoise.app():show_status(message) end + end + renoise.app():show_status("All samples in the selected instrument processed.") + elseif scope == "all_instruments" then + for _, instrument in ipairs(renoise.song().instruments) do + if #instrument.samples > 0 then + for _, sample in ipairs(instrument.samples) do + local success, message = process_sample(sample, reduction_factor) + if not success then renoise.app():show_status("Instrument skipped: " .. message) end + end + end + end + renoise.app():show_status("All instruments processed.") + else + renoise.app():show_error("Invalid processing scope!") + end end --- Execute the function -renoise.tool():add_menu_entry{name="Track Automation:Paketti..:Generate Automation Points from Notes in Selected Track",invoke=function() -add_automation_points_for_notes() end} -renoise.tool():add_menu_entry{name="Track Automation List:Paketti..:Generate Automation Points from Notes in Selected Track",invoke=function() -add_automation_points_for_notes() end} +renoise.tool():add_menu_entry{name="Sample Editor:Paketti..:Normalize Selected Sample -12dB",invoke=function() normalize_and_reduce("current_sample", -12) end} +renoise.tool():add_menu_entry{name="Sample Editor:Paketti..:Normalize Selected Instrument -12dB (All Samples & Slices)",invoke=function() normalize_and_reduce("all_samples", -12) end} +renoise.tool():add_menu_entry{name="Sample Editor:Paketti..:Normalize All Instruments -12dB",invoke=function() normalize_and_reduce("all_instruments", -12) end} +renoise.tool():add_keybinding{name="Sample Editor:Paketti:Normalize Selected Sample to -12dB",invoke=function() normalize_and_reduce("current_sample", -12) end} +renoise.tool():add_keybinding{name="Sample Editor:Paketti:Normalize Selected Instrument to -12dB",invoke=function() normalize_and_reduce("all_samples", -12) end} +renoise.tool():add_keybinding{name="Sample Editor:Paketti:Normalize All Instruments to -12dB",invoke=function() normalize_and_reduce("all_instruments", -12) end} +renoise.tool():add_midi_mapping{name="Paketti:Normalize Selected Sample to -12dB",invoke=function(message) if message:is_trigger() then normalize_and_reduce("current_sample", -12) end end} +renoise.tool():add_midi_mapping{name="Paketti:Normalize Selected Instrument to -12dB",invoke=function(message) if message:is_trigger() then normalize_and_reduce("all_samples", -12) end end} +renoise.tool():add_midi_mapping{name="Paketti:Normalize All Instruments to -12dB",invoke=function(message) if message:is_trigger() then normalize_and_reduce("all_instruments", -12) end end} + -renoise.tool():add_keybinding{name="Global:Paketti:Generate Automation Points from Notes in Selected Track",invoke=function() -add_automation_points_for_notes() -renoise.app().window.active_middle_frame = 1 -renoise.app().window.active_lower_frame = 2 - end} +function setPanning(where,position) +local routing = nil +if where == "current" then +routing=renoise.song().selected_track +end +if where == "master" then +routing=renoise.song().tracks[renoise.song().sequencer_track_count+1] +end +routing.postfx_panning.value=position +end +renoise.tool():add_keybinding{name="Global:Paketti:Set Current Track Pan to Left",invoke=function() setPanning("current",0) end} +renoise.tool():add_keybinding{name="Global:Paketti:Set Current Track Pan to Center",invoke=function() setPanning("current",0.5) end} +renoise.tool():add_keybinding{name="Global:Paketti:Set Current Track Pan to Right",invoke=function() setPanning("current",1) end} +renoise.tool():add_keybinding{name="Global:Paketti:Set Master Track Pan to Left",invoke=function() setPanning("master",0) end} +renoise.tool():add_keybinding{name="Global:Paketti:Set Master Track Pan to Center",invoke=function() setPanning("master",0.5) end} +renoise.tool():add_keybinding{name="Global:Paketti:Set Master Track Pan to Right",invoke=function() setPanning("master",1) end} +renoise.tool():add_menu_entry{name="Mixer:Paketti..:Set Current Track Pan to Left",invoke=function() setPanning("current",0) end} +renoise.tool():add_menu_entry{name="Mixer:Paketti..:Set Current Track Pan to Center",invoke=function() setPanning("current",0.5) end} +renoise.tool():add_menu_entry{name="Mixer:Paketti..:Set Current Track Pan to Right",invoke=function() setPanning("current",1) end} +renoise.tool():add_menu_entry{name="Mixer:Paketti..:Set Master Track Pan to Left",invoke=function() setPanning("master",0) end} +renoise.tool():add_menu_entry{name="Mixer:Paketti..:Set Master Track Pan to Center",invoke=function() setPanning("master",0.5) end} +renoise.tool():add_menu_entry{name="Mixer:Paketti..:Set Master Track Pan to Right",invoke=function() setPanning("master",1) end} +renoise.tool():add_menu_entry{name="Pattern Editor:Paketti..:Set Current Track Pan to Left",invoke=function() setPanning("current",0) end} +renoise.tool():add_menu_entry{name="Pattern Editor:Paketti..:Set Current Track Pan to Center",invoke=function() setPanning("current",0.5) end} +renoise.tool():add_menu_entry{name="Pattern Editor:Paketti..:Set Current Track Pan to Right",invoke=function() setPanning("current",1) end} +renoise.tool():add_menu_entry{name="Pattern Editor:Paketti..:Set Master Track Pan to Left",invoke=function() setPanning("master",0) end} +renoise.tool():add_menu_entry{name="Pattern Editor:Paketti..:Set Master Track Pan to Center",invoke=function() setPanning("master",0.5) end} +renoise.tool():add_menu_entry{name="Pattern Editor:Paketti..:Set Master Track Pan to Right",invoke=function() setPanning("master",1) end} -local vb = renoise.ViewBuilder() -local dialog = nil -local dialog_content = nil -local function my_keyhandler_func(dialog, key) -local closer = preferences.pakettiDialogClose.value - if key.modifiers == "" and key.name == closer then - dialog:close() - return end - - if key.name == "!" then - dialog:close() - renoise.app().window.active_middle_frame = renoise.ApplicationWindow.MIDDLE_FRAME_PATTERN_EDITOR - else - return key - end +local function switch_upper_frame() + local app_window=renoise.app().window + + -- Check if the upper frame is visible; make it visible if not + if not app_window.upper_frame_is_visible then + app_window.upper_frame_is_visible=true + end + + -- Toggle the upper frame between Track Scopes and Master Spectrum + if app_window.active_upper_frame==renoise.ApplicationWindow.UPPER_FRAME_TRACK_SCOPES then + app_window.active_upper_frame=renoise.ApplicationWindow.UPPER_FRAME_MASTER_SPECTRUM + else + app_window.active_upper_frame=renoise.ApplicationWindow.UPPER_FRAME_TRACK_SCOPES + end + + -- Provide user feedback + renoise.app():show_status("Switched Upper Frame to "..app_window.active_upper_frame) end -local function update_sample_volumes(x, y) - local instrument = renoise.song().selected_instrument - if #instrument.samples < 4 then - renoise.app():show_status("Selected instrument must have at least 4 samples.") +-- Run the function +renoise.tool():add_keybinding{name="Global:Paketti:Switch Upper Frame (Track Scopes/Master Spectrum)",invoke=function() +switch_upper_frame() end} + + + + + + +-- Function to duplicate the selected track and rename it +local function duplicate_selected_track() + local song=renoise.song() + local selected_track_index=song.selected_track_index + local selected_track=song.tracks[selected_track_index] + + -- Prevent duplication of master, send, or group tracks + if selected_track.type~=1 then -- 1 represents a sequencer track + renoise.app():show_status("Cannot duplicate master, group, or send tracks.") return end - -- Calculate volumes based on the x, y position of the xypad - local volumes = { - (1 - x) * y, -- Top-left (Sample 1) - x * y, -- Top-right (Sample 2) - (1 - x) * (1 - y), -- Bottom-left (Sample 3) - x * (1 - y) -- Bottom-right (Sample 4) - } + -- Extract the name of the selected track + local original_name=selected_track.name + local new_name=original_name -- Default to original name if no number is found - -- Normalize volumes to range 0.0 - 1.0 - for i, volume in ipairs(volumes) do - instrument.samples[i].volume = math.min(1.0, math.max(0.0, volume)) + -- Check if the name ends with a number, e.g., "drum1" + local base_name, number=original_name:match("^(.-)(%d+)$") + if number then + local incremented_number=tonumber(number)+1 + new_name=base_name..incremented_number + else + -- If no number exists, append " Copy" to the name + new_name=original_name.." Copy" end - renoise.app():show_status( - ("Sample volumes updated: S1=%.2f, S2=%.2f, S3=%.2f, S4=%.2f"): - format(volumes[1], volumes[2], volumes[3], volumes[4]) - ) -end + -- Insert a new track and copy properties/settings + local new_track_index=selected_track_index+1 + song:insert_track_at(new_track_index) + local new_track=song.tracks[new_track_index] -dialog_content = vb:column { - vb:xypad { - width = 200, - height = 200, - value = {x=0.5, y=0.5}, - notifier = function(value) - update_sample_volumes(value.x, value.y) - end - } -} + -- Copy basic properties + new_track.name=new_name + new_track.color=selected_track.color -function showXyPaddialog() - if dialog and dialog.visible then - dialog:close() - else - dialog = renoise.app():show_custom_dialog("XY Pad Sound Mixer", dialog_content, my_keyhandler_func) + -- Copy visibility settings + new_track.visible_note_columns=selected_track.visible_note_columns + new_track.visible_effect_columns=selected_track.visible_effect_columns + new_track.volume_column_visible=selected_track.volume_column_visible + new_track.panning_column_visible=selected_track.panning_column_visible + new_track.delay_column_visible=selected_track.delay_column_visible + new_track.sample_effects_column_visible=selected_track.sample_effects_column_visible + + -- Copy pattern data from the original track to the new track + for pattern_index,pattern in ipairs(song.patterns) do + local original_pattern_track=pattern.tracks[selected_track_index] + local new_pattern_track=pattern.tracks[new_track_index] + new_pattern_track:copy_from(original_pattern_track) end + + -- Provide feedback to the user + renoise.app():show_status("Duplicated track '"..original_name.."' as '"..new_name.."'.") end -renoise.tool():add_menu_entry {name = "Main Menu:Tools:XY Pad Sound Mixer",invoke = function() showXyPaddialog() end} +-- Trigger the function +renoise.tool():add_keybinding{name="Global:Paketti:Duplicate Selected Track & Name",invoke=function() +duplicate_selected_track() end} ---[[ -local vb = renoise.ViewBuilder() -local dialog = nil -local monitoring_enabled = false -- Tracks the monitoring state -local active = false --- Tracks all SB0/SBX pairs in the Master Track -local loop_pairs = {} --- Scan the Master Track for all SB0/SBX pairs -local function analyze_loops() - local song = renoise.song() - local master_track_index = renoise.song().sequencer_track_count + 1 - local master_track = song.selected_pattern.tracks[master_track_index] +function HideAllEffectColumns() +for i=1,renoise.song().sequencer_track_count do +if renoise.song().tracks[i].type==1 then +print (i) +renoise.song().tracks[i].visible_effect_columns=0 +else end +end - loop_pairs = {} +end - for line_idx, line in ipairs(master_track.lines) do - if #line.effect_columns > 0 then - local col = line.effect_columns[1] - if col.number_string == "0S" then - local parameter = col.amount_value - 176 -- Decode by subtracting `B0` +renoise.tool():add_keybinding{name="Global:Paketti:Hide All Effect Columns",invoke=function() HideAllEffectColumns() end} +renoise.tool():add_menu_entry{name="Pattern Editor:Paketti..:Hide All Effect Columns",invoke=function() HideAllEffectColumns() end} - if parameter == 0 then - -- Found SB0 (start) - table.insert(loop_pairs, {start_line = line_idx, end_line = nil, repeat_count = 0, max_repeats = 0}) - elseif parameter >= 1 and parameter <= 15 then - -- Found SBX (end) for the last SB0 - local last_pair = loop_pairs[#loop_pairs] - if last_pair and not last_pair.end_line then - last_pair.end_line = line_idx - last_pair.max_repeats = parameter - end - end - end - end - end - if #loop_pairs == 0 then - print("Error: No valid SB0/SBX pairs found in the Master Track.") - return false - end - print("Detected SB0/SBX pairs in Master Track:") - for i, pair in ipairs(loop_pairs) do - print("Pair " .. i .. ": Start=" .. pair.start_line .. ", End=" .. pair.end_line .. ", Max Repeats=" .. pair.max_repeats) - end - return true + +-- Initialize ViewBuilder +local vb = renoise.ViewBuilder() +local dialog = nil -- Initialize dialog as nil + +-- Tables to hold references to textfields for XRNT and XRNI slots +local slot_path_views_xrnt = {} +local slot_path_views_xrni = {} + +-- Reference to the folder path textfield +local folder_path_view = nil + +-- Helper functions to get slot preferences +local function get_slot_preference_xrnt(slot_number) + return preferences.UserDevices["Slot" .. string.format("%02d", slot_number)] end --- Playback Monitoring Function -local function monitor_playback() - local song = renoise.song() - local play_pos = song.transport.playback_pos - local current_line = play_pos.line - local max_row = renoise.song().selected_pattern.number_of_lines - 1 -- Last row in the pattern +local function get_slot_preference_xrni(slot_number) + return preferences.UserInstruments["Slot" .. string.format("%02d", slot_number)] +end - -- Reset all repeat counts at the end of the pattern - if current_line == max_row then - for _, pair in ipairs(loop_pairs) do - pair.repeat_count = 0 +-- Function to select the User XRNT Saving Folder +local function select_user_xrnt_saving_folder() + local selected_folder = renoise.app():prompt_for_path("Select User-defined Saving Folder") + if selected_folder then + preferences.UserDevices.Path.value = selected_folder + if folder_path_view then + folder_path_view.text = preferences.UserDevices.Path.value end - print("Resetting all repeat counts at the end of the pattern.") + renoise.app():show_status("Saving folder set to: " .. selected_folder) + end +end + +-- Function to save a device chain to a XRNT slot +local function save_device_chain_to_slot(slot_number) + if preferences.UserDevices.Path.value == "" then + renoise.app():show_status("Please set the User XRNT Saving Folder first.") return end - -- Handle looping logic for each pair - for i, pair in ipairs(loop_pairs) do - if current_line == pair.end_line then - if pair.repeat_count < pair.max_repeats then - pair.repeat_count = pair.repeat_count + 1 - print("Pair " .. i .. ": Looping back to SB0 (line " .. pair.start_line .. "). Repeat count: " .. pair.repeat_count) - song.transport.playback_pos = renoise.SongPos(play_pos.sequence, pair.start_line) - return - else - print("Pair " .. i .. ": Completed all repeats for this iteration.") - end + local file_name = "Slot" .. string.format("%02d", slot_number) .. ".xrnt" + local full_path = preferences.UserDevices.Path.value .. "/" .. file_name + + local success, err = pcall(function() + renoise.app():save_track_device_chain(full_path) + end) + + if success then + get_slot_preference_xrnt(slot_number).value = full_path + if slot_path_views_xrnt[slot_number] then + slot_path_views_xrnt[slot_number].text = full_path end + renoise.app():show_status("Device chain saved to Slot " .. string.format("%02d", slot_number)) + else + renoise.app():show_status("Failed to save device chain to Slot " .. string.format("%02d", slot_number) .. ": " .. tostring(err)) end end --- Global Reset Function -function reset_repeat_counts() - if not monitoring_enabled then - print("Monitoring is disabled. Reset operation skipped.") +-- Function to load a device chain from a XRNT slot +local function load_device_chain_from_slot(slot_number) + local file_path = get_slot_preference_xrnt(slot_number).value + if file_path == "" then + renoise.app():show_status("No XRNT file set for Slot " .. string.format("%02d", slot_number)) return end - print("Checking Master Track for SB0/SBX pairs...") - if not analyze_loops() then - print("No valid SB0/SBX pairs found in the Master Track. Reset operation aborted.") + local file = io.open(file_path, "r") + if not file then + renoise.app():show_status("File not found: " .. file_path) return + else + file:close() end - for i, pair in ipairs(loop_pairs) do - pair.repeat_count = 0 - print("Reset Pair " .. i .. ": Start=" .. pair.start_line .. ", End=" .. pair.end_line .. ", Max Repeats=" .. pair.max_repeats) - end + local success, err = pcall(function() + renoise.app():load_track_device_chain(file_path) + end) - print("All repeat counts reset to 0. Monitoring restarted.") - InitSBx() -- Reinitialize SBX monitoring + if success then + renoise.app():show_status("Device chain loaded from Slot " .. string.format("%02d", slot_number)) + else + renoise.app():show_status("Failed to load device chain from Slot " .. string.format("%02d", slot_number) .. ": " .. tostring(err)) + end end --- Initialize SBX Monitoring -function InitSBx() - if monitoring_enabled then - print("Monitoring is enabled. Checking Master Track for SBX...") - if not analyze_loops() then - print("No valid SBX commands found in the Master Track. Monitoring will not start.") - return - end - if not active then - renoise.tool().app_idle_observable:add_notifier(monitor_playback) - print("SBX Monitoring started.") - active = true +-- Function to select a XRNT file for a slot +local function select_xrnt_file(slot_number) + local file = renoise.app():prompt_for_filename_to_read({"*.xrnt"}, "Select XRNT File") + if file then + get_slot_preference_xrnt(slot_number).value = file + if slot_path_views_xrnt[slot_number] then + slot_path_views_xrnt[slot_number].text = file end - else - print("Monitoring is disabled. SBX initialization skipped.") + renoise.app():show_status("XRNT file set for Slot " .. string.format("%02d", slot_number)) end end --- Enable Monitoring -local function enable_monitoring() - monitoring_enabled = true - InitSBx() -end +-- Function to save an instrument to a XRNI slot +local function save_instrument_to_slot(slot_number) + if preferences.UserDevices.Path.value == "" then + renoise.app():show_status("Please set the User XRNT Saving Folder first.") + return + end --- Disable Monitoring -local function disable_monitoring() - monitoring_enabled = false - if active and renoise.tool().app_idle_observable:has_notifier(monitor_playback) then - renoise.tool().app_idle_observable:remove_notifier(monitor_playback) - print("SBX Monitoring stopped.") - active = false + local file_name = "Slot" .. string.format("%02d", slot_number) .. ".xrni" + local full_path = preferences.UserDevices.Path.value .. "/" .. file_name + + local selected_instrument = renoise.song().selected_instrument + if not selected_instrument then + renoise.app():show_status("No instrument selected to save.") + return end -end --- GUI for Triggering the Script -local function show_dialog() - if dialog and dialog.visible then dialog:close() return end - local content = vb:column { - margin = 10, - vb:text { text = "Trigger SBX Loop Handler" }, - vb:button { - text = "Enable Monitoring", - released = function() - enable_monitoring() - end - }, - vb:button { - text = "Disable Monitoring", - released = function() - disable_monitoring() - end - } - } - dialog = renoise.app():show_custom_dialog("SBX Playback Handler", content) + local success, err = pcall(function() + renoise.app():save_instrument(full_path) + end) + + if success then + get_slot_preference_xrni(slot_number).value = full_path + if slot_path_views_xrni[slot_number] then + slot_path_views_xrni[slot_number].text = full_path + end + renoise.app():show_status("Instrument saved to Slot " .. string.format("%02d", slot_number)) + else + renoise.app():show_status("Failed to save instrument to Slot " .. string.format("%02d", slot_number) .. ": " .. tostring(err)) + end end --- Add Menu Entry -renoise.tool():add_menu_entry { - name = "Main Menu:Tools:SBX Loop Playback", - invoke = show_dialog -} +-- Function to load an instrument from a XRNI slot +local function load_instrument_from_slot(slot_number) + local file_path = get_slot_preference_xrni(slot_number).value + if file_path == "" then + renoise.app():show_status("No XRNI file set for Slot " .. string.format("%02d", slot_number)) + return + end --- Add Shortcut for Reset and Playback -renoise.tool():add_keybinding { - name = "Global:Transport:Reset SBX and Start Playback", - invoke = function() - reset_repeat_counts() - renoise.song().transport:start() -- Start playback + local file = io.open(file_path, "r") + if not file then + renoise.app():show_status("File not found: " .. file_path) + return + else + file:close() end -} --- Tool Initialization - monitoring_enabled = true -InitSBx() + local success, err = pcall(function() +renoise.song():insert_instrument_at(renoise.song().selected_instrument_index+1) +renoise.song().selected_instrument_index=renoise.song().selected_instrument_index+1 + renoise.app():load_instrument(file_path) + end) + + if success then + renoise.app():show_status("Instrument loaded from Slot " .. string.format("%02d", slot_number)) + else + renoise.app():show_status("Failed to load instrument from Slot " .. string.format("%02d", slot_number) .. ": " .. tostring(err)) + end +end +-- Function to select a XRNI file for a slot +local function select_xrni_file(slot_number) + local file = renoise.app():prompt_for_filename_to_read({"*.xrni"}, "Select XRNI File") + if file then + get_slot_preference_xrni(slot_number).value = file + if slot_path_views_xrni[slot_number] then + slot_path_views_xrni[slot_number].text = file + end + renoise.app():show_status("XRNI file set for Slot " .. string.format("%02d", slot_number)) + end +end +-- Function to load both XRNI and XRNT from a slot +local function load_both_from_slot(slot_number) + -- Load XRNI + local xrni_path = get_slot_preference_xrni(slot_number).value + if xrni_path == "" then + renoise.app():show_status("No XRNI file set for Slot " .. string.format("%02d", slot_number)) + return + end + -- Load XRNT + local xrnt_path = get_slot_preference_xrnt(slot_number).value + if xrnt_path == "" then + renoise.app():show_status("No XRNT file set for Slot " .. string.format("%02d", slot_number)) + return + end -]]-- + -- Validate XRNI file + local xrni_file = io.open(xrni_path, "r") + if not xrni_file then + renoise.app():show_status("XRNI file not found: " .. xrni_path) + return + else + xrni_file:close() + end + -- Validate XRNT file + local xrnt_file = io.open(xrnt_path, "r") + if not xrnt_file then + renoise.app():show_status("XRNT file not found: " .. xrnt_path) + return + else + xrnt_file:close() + end + -- Load XRNI + local success_xrni, err_xrni = pcall(function() + renoise.song():insert_instrument_at(renoise.song().selected_instrument_index+1) + renoise.song().selected_instrument_index=renoise.song().selected_instrument_index+1 + renoise.app():load_instrument(xrni_path) + end) + if not success_xrni then + renoise.app():show_status("Failed to load Instrument (.XRNI) from Slot " .. string.format("%02d", slot_number) .. ": " .. tostring(err_xrni)) + return + end + -- Load XRNT + local success_xrnt, err_xrnt = pcall(function() + renoise.app():load_track_device_chain(xrnt_path) + end) + if success_xrnt then + renoise.app():show_status("Both Instrument (.XRNI) and Device Chain (.XRNT) loaded from Slot " .. string.format("%02d", slot_number)) + else + renoise.app():show_status("Instrument (.XRNI) loaded from Slot " .. string.format("%02d", slot_number) .. " but failed to load Device Chain (.XRNT): " .. tostring(err_xrnt)) + end +end +-- Function to show the Paketti Device Chain Dialog with XRNI functionality +local function show_paketti_device_chain_dialog() + if dialog and dialog.visible then + dialog:show() + return + end + -- Reset the references + slot_path_views_xrnt = {} + slot_path_views_xrni = {} + folder_path_view = nil + local slots_rows_xrnt = {} + local slots_rows_xrni = {} + local slots_rows_both = {} + for i = 1, 10 do + local slot_number = string.format("%02d", i) + -- Create XRNT textfield and store it + local textfield_xrnt = vb:textfield { + text = get_slot_preference_xrnt(i).value or "", + width = 900, -- Increased width as per requirement + notifier = function(text) + get_slot_preference_xrnt(i).value = text + end + } + slot_path_views_xrnt[i] = textfield_xrnt + + -- XRNT Row + local row_xrnt = vb:row { + -- margin = 2, + vb:text { text = "Load Device Chain (.XRNT) Slot" .. slot_number .. ":", width = 200 }, + textfield_xrnt, + vb:button { + text = "Browse", + notifier = function() + select_xrnt_file(i) + end + }, + vb:button { + text = "Save", + notifier = function() + save_device_chain_to_slot(i) + end + }, + vb:button { + text = "Load", + notifier = function() + load_device_chain_from_slot(i) + end + } + } + slots_rows_xrnt[#slots_rows_xrnt + 1] = row_xrnt + + -- Create XRNI textfield and store it + local textfield_xrni = vb:textfield { + text = get_slot_preference_xrni(i).value or "", + width = 900, -- Increased width as per requirement + notifier = function(text) + get_slot_preference_xrni(i).value = text + end + } + slot_path_views_xrni[i] = textfield_xrni + + -- XRNI Row + local row_xrni = vb:row { + -- margin = 2, + vb:text { text = "Load Instrument (.XRNI) Slot" .. slot_number .. ":", width = 200 }, + textfield_xrni, + vb:button { + text = "Browse", + notifier = function() + select_xrni_file(i) + end + }, + vb:button { + text = "Save", + notifier = function() + save_instrument_to_slot(i) + end + }, + vb:button { + text = "Load", + notifier = function() + load_instrument_from_slot(i) + end + } + } + slots_rows_xrni[#slots_rows_xrni + 1] = row_xrni + + -- Both XRNI&XRNT Row + local row_both = vb:row { + vb:text { text = "Load Both Instrument&Device Chain (.XRNI&.XRNT) Slot" .. slot_number .. ":", width = 200 }, + vb:button { + text = "Load Both", + notifier = function() + load_both_from_slot(i) + end + } + } + slots_rows_both[#slots_rows_both + 1] = row_both + end + -- Define the content of the dialog + local content = vb:column { + vb:row { + vb:text { text = "User XRNT/XRNI Save Folder:", width = 200 }, + vb:textfield { + text = preferences.UserDevices.Path.value ~= "" and preferences.UserDevices.Path.value or "", + width = 900, -- Increased width as per requirement + notifier = function(text) + preferences.UserDevices.Path.value = text + end + }, + vb:button { + text = "Browse", + notifier = function() + select_user_xrnt_saving_folder() + end + } + }, + vb:column { + vb:text { text = "Load Device Chain (.XRNT) Slots (01-10)", font = "bold" }, + unpack(slots_rows_xrnt) + }, + vb:column { + vb:text { text = "Load Instrument (.XRNI) Slots (01-10)", font = "bold" }, + unpack(slots_rows_xrni) + }, + vb:column { + vb:text { text = "Load Both Instrument&Device Chain (.XRNI&.XRNT) Slots (01-10)", font = "bold" }, + unpack(slots_rows_both) + }, + vb:row { + vb:button { + text = "Close", + notifier = function() + dialog:close() + dialog = nil -- Clear the dialog reference + end + } + } + } ---[[ + -- Create and show the dialog + dialog = renoise.app():show_custom_dialog("Paketti Device Chain & Instrument Dialog", content, nil, nil) +end +-- Function to add menu entries and key bindings grouped by functionality +local function add_menu_entries_and_keybindings() + -- Load Device Chain (.XRNT) Slots 01-10 + for i = 1, 10 do + local slot_number = string.format("%02d", i) -local key_hold_start = nil -local held_note = nil -local is_filling = false -local mode_active = false -local dialog = nil + local menu_entry_name_xrnt = "Mixer:Paketti..:Load Device Chain (.XRNT) Slot" .. slot_number + local menu_entry_name2_xrnt = "DSP Device:Paketti..:Load Device Chain (.XRNT) Slot" .. slot_number + local key_binding_name_xrnt = "Global:Paketti:Load Device Chain (.XRNT) Slot " .. slot_number --- Timer function to handle note filling -local function check_key_hold() - if not key_hold_start or not held_note then - print("DEBUG: Timer running, but no key is being held.") - return + renoise.tool():add_menu_entry { name = menu_entry_name_xrnt, invoke = function() load_device_chain_from_slot(i) end } + renoise.tool():add_menu_entry { name = menu_entry_name2_xrnt, invoke = function() load_device_chain_from_slot(i) end } + renoise.tool():add_keybinding { name = key_binding_name_xrnt, invoke = function() load_device_chain_from_slot(i) end } end - local hold_duration = os.clock() - key_hold_start - if hold_duration >= 1 and not is_filling then - print("DEBUG: Hold detected. Filling column...") - - is_filling = true - local song = renoise.song() - local track_idx = song.selected_track_index - local line_idx = song.selected_line_index - local column_idx = song.selected_note_column_index + -- Load Instrument (.XRNI) Slots 01-10 + for i = 1, 10 do + local slot_number = string.format("%02d", i) - if track_idx and line_idx and column_idx then - local track = song:track(track_idx) - local note_column = track:line(line_idx):note_column(column_idx) + local menu_entry_name_xrni = "Mixer:Paketti..:Load Instrument (.XRNI) Slot" .. slot_number + local menu_entry_name2_xrni = "DSP Device:Paketti..:Load Instrument (.XRNI) Slot" .. slot_number + local key_binding_name_xrni = "Global:Paketti:Load Instrument (.XRNI) Slot " .. slot_number - if not note_column.is_empty then - local note_value = note_column.note_value - local instrument_value = note_column.instrument_value - local volume_value = note_column.volume_value - local panning_value = note_column.panning_value - local delay_value = note_column.delay_value + renoise.tool():add_menu_entry { name = menu_entry_name_xrni, invoke = function() load_instrument_from_slot(i) end } + renoise.tool():add_menu_entry { name = menu_entry_name2_xrni, invoke = function() load_instrument_from_slot(i) end } + renoise.tool():add_keybinding { name = key_binding_name_xrni, invoke = function() load_instrument_from_slot(i) end } + end - print("DEBUG: Filling column with Note Value:", note_value) + -- Load Both Instrument&Device Chain (.XRNI&.XRNT) Slots 01-10 + for i = 1, 10 do + local slot_number = string.format("%02d", i) - -- Fill the rest of the column - local pattern = song.selected_pattern - local num_lines = pattern.number_of_lines - for i = line_idx + 1, num_lines do - local target_line = track:line(i) - local target_column = target_line:note_column(column_idx) - if target_column then - target_column.note_value = note_value - target_column.instrument_value = instrument_value - target_column.volume_value = volume_value - target_column.panning_value = panning_value - target_column.delay_value = delay_value - end - end - print("DEBUG: Filling complete.") - else - print("DEBUG: Note column is empty.") - end - else - print("DEBUG: Invalid pattern editor position.") - end + local menu_entry_name_load_both = "Mixer:Paketti..:Load Both Instrument&Device Chain (.XRNI&.XRNT) Slot" .. slot_number + local menu_entry_name2_load_both = "DSP Device:Paketti..:Load Both Instrument&Device Chain (.XRNI&.XRNT) Slot" .. slot_number + local key_binding_name_load_both = "Global:Paketti:Load Both Instrument&Device Chain (.XRNI&.XRNT) Slot " .. slot_number - -- Reset state - is_filling = false - key_hold_start = nil - held_note = nil + renoise.tool():add_menu_entry { name = menu_entry_name_load_both, invoke = function() load_both_from_slot(i) end } + renoise.tool():add_menu_entry { name = menu_entry_name2_load_both, invoke = function() load_both_from_slot(i) end } + renoise.tool():add_keybinding { name = key_binding_name_load_both, invoke = function() load_both_from_slot(i) end } end end --- Key handler for dialog -local function key_handler(dialog, key) - if key.note then - if key.state == "pressed" then - key_hold_start = os.clock() - held_note = key.note - print("DEBUG: Key pressed. Note:", key.note, "Start Time:", key_hold_start) - elseif key.state == "released" then - key_hold_start = nil - held_note = nil - print("DEBUG: Key released.") - end - elseif key.name == "esc" then - dialog:close() - renoise.tool():remove_timer(check_key_hold) - print("DEBUG: Dialog closed. Timer stopped.") - end -end +add_menu_entries_and_keybindings() +renoise.tool():add_menu_entry { name = "Mixer:Paketti..:Open Device & Instrument Dialog...", invoke = function() show_paketti_device_chain_dialog() end } +renoise.tool():add_menu_entry { name = "DSP Device:Paketti..:Open Device & Instrument Dialog...", invoke = function() show_paketti_device_chain_dialog() end } +renoise.tool():add_menu_entry { name = "Main Menu:Tools:Paketti..:Paketti Device & Instrument Dialog...", invoke = function() show_paketti_device_chain_dialog() end } --- Show dialog to enable key capture -local function show_dialog() - if dialog and dialog.visible then - dialog:close() - renoise.tool():remove_timer(check_key_hold) - print("DEBUG: Dialog already open. Closing.") - else - local vb = renoise.ViewBuilder() - dialog = renoise.app():show_custom_dialog( - "Hold-to-Fill Mode", - vb:text{text="Hold a note to fill the column"}, - key_handler - ) - renoise.tool():add_timer(check_key_hold, 50) - print("DEBUG: Dialog opened. Timer started.") - end -end --- Add menu entry to toggle the tool -renoise.tool():add_menu_entry { - name = "Main Menu:Tools:Toggle Hold-to-Fill Mode", - invoke = show_dialog -} -]]-- @@ -489,1076 +850,610 @@ renoise.tool():add_menu_entry { -function selection_in_pattern_pro() - local song = renoise.song() - -- Get the selection in pattern - local selection = song.selection_in_pattern - if not selection then - print("No selection in pattern!") - return nil - end - -- Debug: Print selection details - print("Selection in Pattern:") - print("Start Track:", selection.start_track) - print("End Track:", selection.end_track) - print("Start Column:", selection.start_column) - print("End Column:", selection.end_column) - print("Start Line:", selection.start_line) - print("End Line:", selection.end_line) - local result = {} +------------------------ - -- Iterate over the selected tracks - for track_index = selection.start_track, selection.end_track do - local track = song.tracks[track_index] - local track_info = { - track_index = track_index, - track_type = track.type, -- Track type (e.g., "track", "group", "send", "master") - note_columns = {}, - effect_columns = {} - } - -- Fetch visible note and effect columns - local visible_note_columns = track.visible_note_columns - local visible_effect_columns = track.visible_effect_columns - local total_columns = visible_note_columns + visible_effect_columns - - -- Debugging visibility - print("Track Index:", track_index) - print("Visible Note Columns:", visible_note_columns) - print("Visible Effect Columns:", visible_effect_columns) - print("Total Columns:", total_columns) - - -- Determine the range of selected columns for this track - local track_start_column = (track_index == selection.start_track) and selection.start_column or 1 - local track_end_column = (track_index == selection.end_track) and selection.end_column or total_columns - - -- Ensure valid column ranges - track_start_column = math.max(track_start_column, 1) - track_end_column = math.min(track_end_column, total_columns) - - -- Process Note Columns - if visible_note_columns > 0 and track_start_column <= visible_note_columns then - for col = track_start_column, math.min(track_end_column, visible_note_columns) do - table.insert(track_info.note_columns, col) - end - end - -- Process Effect Columns - if visible_effect_columns > 0 and track_end_column > visible_note_columns then - local effect_start = math.max(track_start_column - visible_note_columns, 1) - local effect_end = track_end_column - visible_note_columns - for col = effect_start, math.min(effect_end, visible_effect_columns) do - table.insert(track_info.effect_columns, col) - end - end - - -- Debugging output - print("Selected Note Columns:", #track_info.note_columns > 0 and table.concat(track_info.note_columns, ", ") or "None") - print("Selected Effect Columns:", #track_info.effect_columns > 0 and table.concat(track_info.effect_columns, ", ") or "None") - - -- Add track information to the result - table.insert(result, track_info) - end - - return result -end - - -function wipe_random_notes_with_note_offs() - local song = renoise.song() - local random = math.random - - -- Get the selection in pattern - local selection_data = selection_in_pattern_pro() - if not selection_data then - renoise.app():show_status("No valid selection in pattern!") - return - end - - local pattern_index = song.selected_pattern_index - local pattern = song.patterns[pattern_index] - - -- Randomize the number of notes to replace (1–12) - local notes_to_replace = random(1, 12) - local replaced_count = 0 - - print("Random notes to replace:", notes_to_replace) - - -- Iterate through the tracks in the selection - for _, track_info in ipairs(selection_data) do - local track_index = track_info.track_index - local track = song.tracks[track_index] - - print("Processing Track:", track_index) - - -- Skip tracks with no selected note columns - if #track_info.note_columns > 0 then - for _, column_index in ipairs(track_info.note_columns) do - print("Processing Column:", column_index) - - -- Access the lines within the selected range - for line_index = song.selection_in_pattern.start_line, song.selection_in_pattern.end_line do - local line = pattern.tracks[track_index]:line(line_index) - local note_column = line:note_column(column_index) - - -- Debug: Print note details - if note_column then - print("Line:", line_index, "Column:", column_index, "Note String:", note_column.note_string or "Empty", "Is Empty:", note_column.is_empty) - end +local vb = renoise.ViewBuilder() +local dialog = nil +local dialog_content = nil - -- Replace random notes with NOTE_OFF, skipping NOTE_OFF columns - if note_column and not note_column.is_empty and note_column.note_string ~= "OFF" then - if replaced_count < notes_to_replace and random(0, 1) == 1 then -- Random decision for replacement - print("Replacing Note with NOTE_OFF at Line:", line_index, "Column:", column_index) - note_column.note_string = "OFF" -- Set the note to OFF - note_column.instrument_value = 255 -- Clear the instrument value - replaced_count = replaced_count + 1 - end - end - end - end +local function my_keyhandler_func(dialog, key) +local closer = preferences.pakettiDialogClose.value + if key.modifiers == "" and key.name == closer then + dialog:close() + return end + + if key.name == "!" then + dialog:close() + renoise.app().window.active_middle_frame = renoise.ApplicationWindow.MIDDLE_FRAME_PATTERN_EDITOR else - print("No selected note columns in Track:", track_index) + return key end - end - - -- Show appropriate status message - if replaced_count > 0 then - renoise.app():show_status("Removed " .. replaced_count .. " notes and replaced them with note-offs.") - else - renoise.app():show_status("No notes left to be wiped, doing nothing.") - end - - -- Return focus to the pattern editor - renoise.app().window.active_middle_frame = renoise.ApplicationWindow.MIDDLE_FRAME_PATTERN_EDITOR end - - -renoise.tool():add_keybinding{name="Global:Paketti:Wipe Random Notes",invoke=function() wipe_random_notes_with_note_offs() end} - - - - - - - - -function crossfade_loop(crossfade_length) - -- Check for an active instrument +local function update_sample_volumes(x, y) local instrument = renoise.song().selected_instrument - if not instrument then - renoise.app():show_status("No instrument selected.") - return - end - - -- Check for an active sample - local sample = instrument:sample(1) - if not sample then - renoise.app():show_status("No sample available.") - return - end - - -- Check if the sample has sample data and looping is enabled - local sample_buffer = sample.sample_buffer - if not sample_buffer or not sample_buffer.has_sample_data then - renoise.app():show_status("Sample has no data.") - return - end - - if sample.loop_mode == renoise.Sample.LOOP_MODE_OFF then - renoise.app():show_status("Sample loop mode is off.") - return - end - - -- Get loop points and validate - local loop_start = sample.loop_start - local loop_end = sample.loop_end - local num_frames = sample_buffer.number_of_frames - - -- Define fade lengths - local fade_length = 2500 -- Number of frames for fade-in/out at loop points - - -- Validate frame ranges - if loop_start <= crossfade_length + fade_length then - renoise.app():show_status("Insufficient frames before loop_start for crossfade and fades.") - return - end - - if loop_end <= crossfade_length + fade_length then - renoise.app():show_status("Insufficient frames before loop_end for crossfade and fades.") - return - end - - if loop_start + fade_length - 1 > num_frames then - renoise.app():show_status("Insufficient frames after loop_start for fade-in.") - return - end - - if loop_end - fade_length < 1 then - renoise.app():show_status("Insufficient frames before loop_end for fade-out.") + if #instrument.samples < 4 then + renoise.app():show_status("Selected instrument must have at least 4 samples.") return end - -- Define crossfade regions - local fade_in_start = loop_start - crossfade_length - local fade_in_end = loop_start - 1 - local fade_out_start = loop_end - crossfade_length - local fade_out_end = loop_end - 1 - - -- Prepare for sample data changes - sample_buffer:prepare_sample_data_changes() - - -- Perform crossfade between regions before loop_start and before loop_end - for i = 0, crossfade_length - 1 do - local fade_in_pos = fade_in_start + i - local fade_out_pos = fade_out_start + i - - -- Calculate fade ratios - local fade_in_ratio = i / (crossfade_length - 1) -- Ramps from 0 to 1 - local fade_out_ratio = 1 - fade_in_ratio -- Ramps from 1 to 0 - - -- Apply crossfade to each channel - for c = 1, sample_buffer.number_of_channels do - local fade_in_val = sample_buffer:sample_data(c, fade_in_pos) - local fade_out_val = sample_buffer:sample_data(c, fade_out_pos) - - -- Crossfade the samples - local blended_val = (fade_in_val * fade_in_ratio) + (fade_out_val * fade_out_ratio) - - -- Write the blended value back to the fade-out position - sample_buffer:set_sample_data(c, fade_out_pos, blended_val) - end - end - - -- Apply 20-frame fade-out at loop_end - for i = 0, fade_length - 1 do - local pos = loop_end - fade_length + i - - -- Calculate fade-out ratio (from 1 to 0) - local fade_ratio = 1 - (i / (fade_length - 1)) + -- Calculate volumes based on the x, y position of the xypad + local volumes = { + (1 - x) * y, -- Top-left (Sample 1) + x * y, -- Top-right (Sample 2) + (1 - x) * (1 - y), -- Bottom-left (Sample 3) + x * (1 - y) -- Bottom-right (Sample 4) + } - -- Apply fade-out to each channel - for c = 1, sample_buffer.number_of_channels do - local sample_val = sample_buffer:sample_data(c, pos) - local faded_val = sample_val * fade_ratio - sample_buffer:set_sample_data(c, pos, faded_val) - end + -- Normalize volumes to range 0.0 - 1.0 + for i, volume in ipairs(volumes) do + instrument.samples[i].volume = math.min(1.0, math.max(0.0, volume)) end - -- Apply 20-frame fade-in at loop_start - for i = 0, fade_length - 1 do - local pos = loop_start + i - - -- Calculate fade-in ratio (from 0 to 1) - local fade_ratio = i / (fade_length - 1) + renoise.app():show_status( + ("Sample volumes updated: S1=%.2f, S2=%.2f, S3=%.2f, S4=%.2f"): + format(volumes[1], volumes[2], volumes[3], volumes[4]) + ) +end - -- Apply fade-in to each channel - for c = 1, sample_buffer.number_of_channels do - local sample_val = sample_buffer:sample_data(c, pos) - local faded_val = sample_val * fade_ratio - sample_buffer:set_sample_data(c, pos, faded_val) +dialog_content = vb:column { + vb:xypad { + width = 200, + height = 200, + value = {x=0.5, y=0.5}, + notifier = function(value) + update_sample_volumes(value.x, value.y) end - end - - -- Apply 20-frame fade-out before loop_start - for i = 0, fade_length - 1 do - local pos = loop_start - fade_length + i - - -- Check if position is within valid range - if pos >= 1 and pos <= num_frames then - -- Calculate fade-out ratio (from 1 to 0) - local fade_ratio = 1 - (i / (fade_length - 1)) + } +} - -- Apply fade-out to each channel - for c = 1, sample_buffer.number_of_channels do - local sample_val = sample_buffer:sample_data(c, pos) - local faded_val = sample_val * fade_ratio - sample_buffer:set_sample_data(c, pos, faded_val) - end - end +function showXyPaddialog() + if dialog and dialog.visible then + dialog:close() + else + dialog = renoise.app():show_custom_dialog("XY Pad Sound Mixer", dialog_content, my_keyhandler_func) end - - -- Finalize sample data changes - sample_buffer:finalize_sample_data_changes() - - -- Show status message - renoise.app():show_status("Crossfade and fades applied to create a smooth loop.") end --- Keybinding setup with crossfade length parameter -renoise.tool():add_keybinding{ - name="Global:Paketti:Crossfade Loop", - invoke=function() - crossfade_loop(50000) -- Adjust this value as needed - end -} - - - - - - - - - - - - - - - - +renoise.tool():add_menu_entry {name = "Main Menu:Tools:XY Pad Sound Mixer",invoke = function() showXyPaddialog() end} +--[[ +local vb = renoise.ViewBuilder() +local dialog = nil +local monitoring_enabled = false -- Tracks the monitoring state +local active = false +-- Tracks all SB0/SBX pairs in the Master Track +local loop_pairs = {} ------- -local dialog -- Variable to track dialog visibility +-- Scan the Master Track for all SB0/SBX pairs +local function analyze_loops() + local song = renoise.song() + local master_track_index = renoise.song().sequencer_track_count + 1 + local master_track = song.selected_pattern.tracks[master_track_index] --- Function to modify the SampleBuffer based on operation and value -function PakettiOffsetSampleBuffer(operation, number) - local sample = renoise.song().selected_sample - local buffer = sample.sample_buffer + loop_pairs = {} - if buffer.has_sample_data then - buffer:prepare_sample_data_changes() - - for ch = 1, buffer.number_of_channels do - for i = 1, buffer.number_of_frames do - local current_sample = buffer:sample_data(ch, i) - local modified_sample + for line_idx, line in ipairs(master_track.lines) do + if #line.effect_columns > 0 then + local col = line.effect_columns[1] + if col.number_string == "0S" then + local parameter = col.amount_value - 176 -- Decode by subtracting `B0` - if operation == "subtract" then - modified_sample = math.max(-1.0, math.min(1.0, current_sample + number)) -- Shift down with negative value - elseif operation == "multiply" then - modified_sample = math.max(-1.0, math.min(1.0, current_sample * (1 + number))) -- Apply scaling factor - else - renoise.app():show_status("Invalid operation. Use 'subtract' or 'multiply'.") - return + if parameter == 0 then + -- Found SB0 (start) + table.insert(loop_pairs, {start_line = line_idx, end_line = nil, repeat_count = 0, max_repeats = 0}) + elseif parameter >= 1 and parameter <= 15 then + -- Found SBX (end) for the last SB0 + local last_pair = loop_pairs[#loop_pairs] + if last_pair and not last_pair.end_line then + last_pair.end_line = line_idx + last_pair.max_repeats = parameter + end end - - buffer:set_sample_data(ch, i, modified_sample) end end - - buffer:finalize_sample_data_changes() - renoise.app():show_status(operation .. " operation applied with value " .. number .. " to the sample buffer.") - else - renoise.app():show_status("No sample data available in the selected sample.") - end -end - --- Key handler function as per your specification -local function PakettiOffsetDialogKeyHandlerFunc(dialog, key) - local closer = preferences.pakettiDialogClose.value - if key.modifiers == "" and key.name == closer then - dialog:close() - return end - if key.name == "!" then - dialog:close() - renoise.app().window.active_middle_frame = renoise.ApplicationWindow.MIDDLE_FRAME_INSTRUMENT_SAMPLE_EDITOR - else - return key - end -end - --- Function to show the offset dialog with slider, switch, and button -function show_offset_dialog() - if dialog and dialog.visible then - dialog:close() -- Close if already open - return + if #loop_pairs == 0 then + print("Error: No valid SB0/SBX pairs found in the Master Track.") + return false end - local vb = renoise.ViewBuilder() - local slider_value = vb:text { text="0.0", width=40 } -- Initial display text for slider value - - local slider = vb:slider { - min=-1.0, - max=1.0, - value=0, - width=120, - notifier=function(value) - slider_value.text = string.format("%.2f", value) -- Update text to reflect slider position - end - } - - local operation_switch = vb:switch { items={ "-", "*" }, value=1, width=40 } - - local function apply_offset() - local value = slider.value - local operation = (operation_switch.value == 1) and "subtract" or "multiply" - - -- Adjust operation logic based on slider value - PakettiOffsetSampleBuffer(operation, value) - - renoise.app().window.active_middle_frame = renoise.ApplicationWindow.MIDDLE_FRAME_INSTRUMENT_SAMPLE_EDITOR + print("Detected SB0/SBX pairs in Master Track:") + for i, pair in ipairs(loop_pairs) do + print("Pair " .. i .. ": Start=" .. pair.start_line .. ", End=" .. pair.end_line .. ", Max Repeats=" .. pair.max_repeats) end - local content = vb:column { - vb:horizontal_aligner { - vb:text { text="Offset/Multiplier:" }, - slider, - slider_value -- Display text next to the slider - }, - vb:horizontal_aligner { - vb:text { text="Operation:" }, - operation_switch - }, - vb:button { text="Change Sample Buffer", width=160, notifier=apply_offset } - } - - dialog = renoise.app():show_custom_dialog("Offset Sample Buffer", content, PakettiOffsetDialogKeyHandlerFunc) - renoise.app().window.active_middle_frame = renoise.ApplicationWindow.MIDDLE_FRAME_INSTRUMENT_SAMPLE_EDITOR - + return true end --- Keybindings for both operations and dialog -renoise.tool():add_keybinding { name="Sample Editor:Paketti:Offset Sample Buffer by -0.5", invoke=function() PakettiOffsetSampleBuffer("subtract", 0.5) end } -renoise.tool():add_keybinding { name="Sample Editor:Paketti:Multiply Sample Buffer by 0.5", invoke=function() PakettiOffsetSampleBuffer("multiply", 0.5) end } -renoise.tool():add_keybinding { name="Global:Paketti:Offset Dialog...", invoke=show_offset_dialog } - --- Menu entries for Sample Editor and Main Menu -renoise.tool():add_menu_entry { name="Sample Editor:Paketti..:Offset Dialog...", invoke=show_offset_dialog } -renoise.tool():add_menu_entry { name="Main Menu:Tools:Paketti..:Offset Dialog...", invoke=show_offset_dialog } - - - --- Function to invert specified content in the selection or entire track -function invert_content(column_type) - local song=renoise.song() - local pattern=song.selected_pattern - local selection=song.selection_in_pattern - - -- Determine the range based on the selection or entire track if no selection - local start_line, end_line, start_track, end_track, start_column, end_column - - if selection then - start_line=selection.start_line - end_line=selection.end_line - start_track=selection.start_track - end_track=selection.end_track - start_column=selection.start_column - end_column=selection.end_column - else - start_line=1 - end_line=pattern.number_of_lines - start_track=song.selected_track_index - end_track=start_track - start_column=1 - end_column=song:track(start_track).visible_note_columns + song:track(start_track).visible_effect_columns - end - - -- Iterate over the specified lines and tracks - for line_index=start_line, end_line do - for track_index=start_track, end_track do - local track=pattern:track(track_index) - local track_vis=song:track(track_index) - local note_columns_visible=track_vis.visible_note_columns - local effect_columns_visible=track_vis.visible_effect_columns - local total_columns_visible=note_columns_visible + effect_columns_visible - - -- Calculate column boundaries for this track - local current_start_column = (selection and track_index == start_track) and start_column or 1 - local current_end_column = (selection and track_index == end_track) and end_column or total_columns_visible - - -- Iterate over the columns based on calculated boundaries - for col=current_start_column, current_end_column do - if col <= note_columns_visible and (column_type == "notecolumns" or column_type == "all") then - -- Note column inversion - local note_col=track:line(line_index).note_columns[col] - - -- Invert volume if within 0x00-0x80 range - if note_col.volume_value >= 0 and note_col.volume_value <= 0x80 then - note_col.volume_value=0x80 - note_col.volume_value - end - - -- Invert panning if within 0x00-0x80 range - if note_col.panning_value >= 0 and note_col.panning_value <= 0x80 then - note_col.panning_value=0x80 - note_col.panning_value - end - - -- Invert delay if present (range 0x00-0xFF) - if note_col.delay_value > 0 then - note_col.delay_value=0xFF - note_col.delay_value - end - - -- Invert effect amount if present (range 0x00-0xFF) - if note_col.effect_amount_value > 0 then - note_col.effect_amount_value=0xFF - note_col.effect_amount_value - end +-- Playback Monitoring Function +local function monitor_playback() + local song = renoise.song() + local play_pos = song.transport.playback_pos + local current_line = play_pos.line + local max_row = renoise.song().selected_pattern.number_of_lines - 1 -- Last row in the pattern - elseif col > note_columns_visible and (column_type == "effectcolumns" or column_type == "all") then - -- Effect column inversion - local effect_col=track:line(line_index).effect_columns[col - note_columns_visible] + -- Reset all repeat counts at the end of the pattern + if current_line == max_row then + for _, pair in ipairs(loop_pairs) do + pair.repeat_count = 0 + end + print("Resetting all repeat counts at the end of the pattern.") + return + end - -- Invert amount if present (range 0x00-0xFF) only if number_value is not zero - if effect_col.number_value ~= 0 then - effect_col.amount_value = (effect_col.amount_value == 0x00) and 0xFF or (0xFF - effect_col.amount_value) - end - end + -- Handle looping logic for each pair + for i, pair in ipairs(loop_pairs) do + if current_line == pair.end_line then + if pair.repeat_count < pair.max_repeats then + pair.repeat_count = pair.repeat_count + 1 + print("Pair " .. i .. ": Looping back to SB0 (line " .. pair.start_line .. "). Repeat count: " .. pair.repeat_count) + song.transport.playback_pos = renoise.SongPos(play_pos.sequence, pair.start_line) + return + else + print("Pair " .. i .. ": Completed all repeats for this iteration.") end end end - - renoise.app():show_status("Inverted values in selected range: " .. column_type) end -renoise.tool():add_keybinding{name="Pattern Editor:Paketti:Invert Note Column Subcolumns", invoke=function() invert_content("notecolumns") end} -renoise.tool():add_keybinding{name="Pattern Editor:Paketti:Invert Effect Column Subcolumns", invoke=function() invert_content("effectcolumns") end} -renoise.tool():add_keybinding{name="Pattern Editor:Paketti:Invert All Subcolumns", invoke=function() invert_content("all") end} -renoise.tool():add_menu_entry{name="--Pattern Editor:Paketti..:Invert Note Column Subcolumns", invoke=function() invert_content("notecolumns") end} -renoise.tool():add_menu_entry{name="Pattern Editor:Paketti..:Invert Effect Column Subcolumns", invoke=function() invert_content("effectcolumns") end} -renoise.tool():add_menu_entry{name="Pattern Editor:Paketti..:Invert All Subcolumns", invoke=function() invert_content("all") end} - - - - - - - - - -local function duplicate_sample_with_transpose(transpose_amount) - local song = renoise.song() - local instrument = song.selected_instrument - local selected_sample_index = song.selected_sample_index - - if not instrument then - renoise.app():show_status("No instrument selected.") +-- Global Reset Function +function reset_repeat_counts() + if not monitoring_enabled then + print("Monitoring is disabled. Reset operation skipped.") return end - if not selected_sample_index or selected_sample_index < 1 or selected_sample_index > #instrument.samples then - renoise.app():show_status("No valid sample selected.") + print("Checking Master Track for SB0/SBX pairs...") + if not analyze_loops() then + print("No valid SB0/SBX pairs found in the Master Track. Reset operation aborted.") return end - -- Get the selected sample - local original_sample = instrument.samples[selected_sample_index] + for i, pair in ipairs(loop_pairs) do + pair.repeat_count = 0 + print("Reset Pair " .. i .. ": Start=" .. pair.start_line .. ", End=" .. pair.end_line .. ", Max Repeats=" .. pair.max_repeats) + end - -- Create a new sample slot - local new_sample_index = selected_sample_index + 1 - instrument:insert_sample_at(new_sample_index) - local new_sample = instrument.samples[new_sample_index] + print("All repeat counts reset to 0. Monitoring restarted.") + InitSBx() -- Reinitialize SBX monitoring +end - -- Copy data from original sample to new sample - new_sample:copy_from(original_sample) +-- Initialize SBX Monitoring +function InitSBx() + if monitoring_enabled then + print("Monitoring is enabled. Checking Master Track for SBX...") + if not analyze_loops() then + print("No valid SBX commands found in the Master Track. Monitoring will not start.") + return + end + if not active then + renoise.tool().app_idle_observable:add_notifier(monitor_playback) + print("SBX Monitoring started.") + active = true + end + else + print("Monitoring is disabled. SBX initialization skipped.") + end +end - -- Set the transpose and rename the sample - new_sample.transpose = original_sample.transpose + transpose_amount - new_sample.name = original_sample.name .. " " .. (transpose_amount >= 0 and "+" or "") .. transpose_amount +-- Enable Monitoring +local function enable_monitoring() + monitoring_enabled = true + InitSBx() +end - -- Confirm the duplication - renoise.app():show_status("Sample duplicated and transposed by " .. transpose_amount .. ".") +-- Disable Monitoring +local function disable_monitoring() + monitoring_enabled = false + if active and renoise.tool().app_idle_observable:has_notifier(monitor_playback) then + renoise.tool().app_idle_observable:remove_notifier(monitor_playback) + print("SBX Monitoring stopped.") + active = false + end end --- Keybindings, Menu Entries, and MIDI Mappings for each transpose amount -renoise.tool():add_keybinding{name="Global:Paketti:Duplicate Selected Sample at -12 transpose",invoke=function() duplicate_sample_with_transpose(-12) end} -renoise.tool():add_keybinding{name="Global:Paketti:Duplicate Selected Sample at -24 transpose",invoke=function() duplicate_sample_with_transpose(-24) end} -renoise.tool():add_keybinding{name="Global:Paketti:Duplicate Selected Sample at +12 transpose",invoke=function() duplicate_sample_with_transpose(12) end} -renoise.tool():add_keybinding{name="Global:Paketti:Duplicate Selected Sample at +24 transpose",invoke=function() duplicate_sample_with_transpose(24) end} +-- GUI for Triggering the Script +local function show_dialog() + if dialog and dialog.visible then dialog:close() return end + local content = vb:column { + margin = 10, + vb:text { text = "Trigger SBX Loop Handler" }, + vb:button { + text = "Enable Monitoring", + released = function() + enable_monitoring() + end + }, + vb:button { + text = "Disable Monitoring", + released = function() + disable_monitoring() + end + } + } + dialog = renoise.app():show_custom_dialog("SBX Playback Handler", content) +end -renoise.tool():add_menu_entry{name="--Sample Navigator:Paketti..:Duplicate Selected Sample at -12 transpose",invoke=function() duplicate_sample_with_transpose(-12) end} -renoise.tool():add_menu_entry{name="Sample Navigator:Paketti..:Duplicate Selected Sample at -24 transpose",invoke=function() duplicate_sample_with_transpose(-24) end} -renoise.tool():add_menu_entry{name="Sample Navigator:Paketti..:Duplicate Selected Sample at +12 transpose",invoke=function() duplicate_sample_with_transpose(12) end} -renoise.tool():add_menu_entry{name="Sample Navigator:Paketti..:Duplicate Selected Sample at +24 transpose",invoke=function() duplicate_sample_with_transpose(24) end} +-- Add Menu Entry +renoise.tool():add_menu_entry { + name = "Main Menu:Tools:SBX Loop Playback", + invoke = show_dialog +} -renoise.tool():add_menu_entry{name="--Sample Mappings:Paketti..:Duplicate Selected Sample at -12 transpose",invoke=function() duplicate_sample_with_transpose(-12) end} -renoise.tool():add_menu_entry{name="Sample Mappings:Paketti..:Duplicate Selected Sample at -24 transpose",invoke=function() duplicate_sample_with_transpose(-24) end} -renoise.tool():add_menu_entry{name="Sample Mappings:Paketti..:Duplicate Selected Sample at +12 transpose",invoke=function() duplicate_sample_with_transpose(12) end} -renoise.tool():add_menu_entry{name="Sample Mappings:Paketti..:Duplicate Selected Sample at +24 transpose",invoke=function() duplicate_sample_with_transpose(24) end} +-- Add Shortcut for Reset and Playback +renoise.tool():add_keybinding { + name = "Global:Transport:Reset SBX and Start Playback", + invoke = function() + reset_repeat_counts() + renoise.song().transport:start() -- Start playback + end +} +-- Tool Initialization + monitoring_enabled = true +InitSBx() -renoise.tool():add_menu_entry{name="--Sample Editor:Paketti..:Duplicate Selected Sample at -12 transpose",invoke=function() duplicate_sample_with_transpose(-12) end} -renoise.tool():add_menu_entry{name="Sample Editor:Paketti..:Duplicate Selected Sample at -24 transpose",invoke=function() duplicate_sample_with_transpose(-24) end} -renoise.tool():add_menu_entry{name="Sample Editor:Paketti..:Duplicate Selected Sample at +12 transpose",invoke=function() duplicate_sample_with_transpose(12) end} -renoise.tool():add_menu_entry{name="Sample Editor:Paketti..:Duplicate Selected Sample at +24 transpose",invoke=function() duplicate_sample_with_transpose(24) end} -renoise.tool():add_midi_mapping{name="Paketti:Duplicate Selected Sample at -12 transpose",invoke=function(message) if message:is_trigger() then duplicate_sample_with_transpose(-12) end end} -renoise.tool():add_midi_mapping{name="Paketti:Duplicate Selected Sample at -24 transpose",invoke=function(message) if message:is_trigger() then duplicate_sample_with_transpose(-24) end end} -renoise.tool():add_midi_mapping{name="Paketti:Duplicate Selected Sample at +12 transpose",invoke=function(message) if message:is_trigger() then duplicate_sample_with_transpose(12) end end} -renoise.tool():add_midi_mapping{name="Paketti:Duplicate Selected Sample at +24 transpose",invoke=function(message) if message:is_trigger() then duplicate_sample_with_transpose(24) end end} +]]-- -local function duplicate_pattern_and_clear_muted_above() - local song=renoise.song() - local current_pattern_index=song.selected_pattern_index - local current_sequence_index=song.selected_sequence_index - -- Insert a new, unreferenced pattern above the current sequence index - local new_sequence_index = current_sequence_index - local new_pattern_index = song.sequencer:insert_new_pattern_at(new_sequence_index) - -- Copy the current pattern into the newly created pattern - song.patterns[new_pattern_index]:copy_from(song.patterns[current_pattern_index]) - -- Set the name of the new pattern based on the original name or default to "Pattern (mutes cleared)" - local original_name = song.patterns[current_pattern_index].name - if original_name == "" then - original_name = "Pattern " .. tostring(current_pattern_index) - end - song.patterns[new_pattern_index].name = original_name .. " (mutes cleared)" - -- Select the new sequence index - song.selected_sequence_index = new_sequence_index - -- Apply mute states from the original pattern to the new pattern in the sequencer - for track_index = 1, #song.tracks do - local is_muted = song.sequencer:track_sequence_slot_is_muted(track_index, current_sequence_index) - song.sequencer:set_track_sequence_slot_is_muted(track_index, new_sequence_index, is_muted) - if is_muted then - print("Track " .. track_index .. " was muted in the original sequence; muting in new sequence.") - end - end - -- Copy all automation data from the original pattern to the new pattern - for track_index = 1, #song.tracks do - local original_track = song.patterns[current_pattern_index].tracks[track_index] - local new_track = song.patterns[new_pattern_index].tracks[track_index] - for _, automation in ipairs(original_track.automation) do - local parameter = automation.dest_parameter - -- Find or create the corresponding automation in the new track - local new_automation = new_track:find_automation(parameter) - if not new_automation then - new_automation = new_track:create_automation(parameter) - end +--[[ - -- Copy the entire automation data using copy_from - new_automation:copy_from(automation) - print("Copied complete automation for parameter in track " .. track_index) - end - end - -- Identify tracks that are muted or off, then clear them in the new pattern - local muted_tracks = {} - for i, track in ipairs(song.tracks) do - if track.mute_state == renoise.Track.MUTE_STATE_MUTED or track.mute_state == renoise.Track.MUTE_STATE_OFF then - table.insert(muted_tracks, i) - print("Track " .. i .. " is muted or off. Preparing to clear it.") - end - end +local key_hold_start = nil +local held_note = nil +local is_filling = false +local mode_active = false +local dialog = nil - for _, track_index in ipairs(muted_tracks) do - song.patterns[new_pattern_index].tracks[track_index]:clear() - print("Cleared track " .. track_index .. " in duplicated pattern.") +-- Timer function to handle note filling +local function check_key_hold() + if not key_hold_start or not held_note then + print("DEBUG: Timer running, but no key is being held.") + return end - renoise.app():show_status("Duplicated pattern above current sequence with mute states, complete automation, and cleared muted tracks.") -end - -renoise.tool():add_keybinding{name="Global:Paketti:Duplicate Pattern Above & Clear Muted Tracks", invoke=duplicate_pattern_and_clear_muted_above} -renoise.tool():add_midi_mapping{name="Paketti:Duplicate Pattern Above & Clear Muted", invoke=duplicate_pattern_and_clear_muted_above} -renoise.tool():add_menu_entry{name="Main Menu:Tools:Paketti..:Pattern Editor..:Duplicate Pattern Above & Clear Muted", invoke=duplicate_pattern_and_clear_muted_above} -renoise.tool():add_menu_entry{name="Pattern Editor:Paketti..:Duplicate Pattern Above & Clear Muted", invoke=duplicate_pattern_and_clear_muted_above} -renoise.tool():add_menu_entry{name="Pattern Matrix:Paketti..:Duplicate Pattern Above & Clear Muted", invoke=duplicate_pattern_and_clear_muted_above} -renoise.tool():add_menu_entry{name="Mixer:Paketti..:Duplicate Pattern Above & Clear Muted", invoke=duplicate_pattern_and_clear_muted_above} - - -local function duplicate_pattern_and_clear_muted() - local song=renoise.song() - local current_pattern_index=song.selected_pattern_index - local current_sequence_index=song.selected_sequence_index - - -- Insert a new, unreferenced pattern below the current sequence index - local new_sequence_index = current_sequence_index + 1 - local new_pattern_index = song.sequencer:insert_new_pattern_at(new_sequence_index) - - -- Copy the current pattern into the newly created pattern - song.patterns[new_pattern_index]:copy_from(song.patterns[current_pattern_index]) - - -- Set the name of the new pattern based on the original name or default to "Pattern (mutes cleared)" - local original_name = song.patterns[current_pattern_index].name - if original_name == "" then - original_name = "Pattern " .. tostring(current_pattern_index) - end - song.patterns[new_pattern_index].name = original_name .. " (mutes cleared)" + local hold_duration = os.clock() - key_hold_start + if hold_duration >= 1 and not is_filling then + print("DEBUG: Hold detected. Filling column...") - -- Select the new sequence index - song.selected_sequence_index = new_sequence_index + is_filling = true + local song = renoise.song() + local track_idx = song.selected_track_index + local line_idx = song.selected_line_index + local column_idx = song.selected_note_column_index - -- Apply mute states from the original pattern to the new pattern in the sequencer - for track_index = 1, #song.tracks do - local is_muted = song.sequencer:track_sequence_slot_is_muted(track_index, current_sequence_index) - song.sequencer:set_track_sequence_slot_is_muted(track_index, new_sequence_index, is_muted) - if is_muted then - end - end + if track_idx and line_idx and column_idx then + local track = song:track(track_idx) + local note_column = track:line(line_idx):note_column(column_idx) - -- Copy all automation data from the original pattern to the new pattern - for track_index = 1, #song.tracks do - local original_track = song.patterns[current_pattern_index].tracks[track_index] - local new_track = song.patterns[new_pattern_index].tracks[track_index] + if not note_column.is_empty then + local note_value = note_column.note_value + local instrument_value = note_column.instrument_value + local volume_value = note_column.volume_value + local panning_value = note_column.panning_value + local delay_value = note_column.delay_value - for _, automation in ipairs(original_track.automation) do - local parameter = automation.dest_parameter + print("DEBUG: Filling column with Note Value:", note_value) - -- Find or create the corresponding automation in the new track - local new_automation = new_track:find_automation(parameter) - if not new_automation then - new_automation = new_track:create_automation(parameter) + -- Fill the rest of the column + local pattern = song.selected_pattern + local num_lines = pattern.number_of_lines + for i = line_idx + 1, num_lines do + local target_line = track:line(i) + local target_column = target_line:note_column(column_idx) + if target_column then + target_column.note_value = note_value + target_column.instrument_value = instrument_value + target_column.volume_value = volume_value + target_column.panning_value = panning_value + target_column.delay_value = delay_value + end + end + print("DEBUG: Filling complete.") + else + print("DEBUG: Note column is empty.") end - - -- Copy the entire automation data using copy_from - new_automation:copy_from(automation) + else + print("DEBUG: Invalid pattern editor position.") end + + -- Reset state + is_filling = false + key_hold_start = nil + held_note = nil end +end - -- Identify tracks that are muted or off, then clear them in the new pattern - local muted_tracks = {} - for i, track in ipairs(song.tracks) do - if track.mute_state == renoise.Track.MUTE_STATE_MUTED or track.mute_state == renoise.Track.MUTE_STATE_OFF then - table.insert(muted_tracks, i) +-- Key handler for dialog +local function key_handler(dialog, key) + if key.note then + if key.state == "pressed" then + key_hold_start = os.clock() + held_note = key.note + print("DEBUG: Key pressed. Note:", key.note, "Start Time:", key_hold_start) + elseif key.state == "released" then + key_hold_start = nil + held_note = nil + print("DEBUG: Key released.") end + elseif key.name == "esc" then + dialog:close() + renoise.tool():remove_timer(check_key_hold) + print("DEBUG: Dialog closed. Timer stopped.") end +end - for _, track_index in ipairs(muted_tracks) do - song.patterns[new_pattern_index].tracks[track_index]:clear() +-- Show dialog to enable key capture +local function show_dialog() + if dialog and dialog.visible then + dialog:close() + renoise.tool():remove_timer(check_key_hold) + print("DEBUG: Dialog already open. Closing.") + else + local vb = renoise.ViewBuilder() + dialog = renoise.app():show_custom_dialog( + "Hold-to-Fill Mode", + vb:text{text="Hold a note to fill the column"}, + key_handler + ) + renoise.tool():add_timer(check_key_hold, 50) + print("DEBUG: Dialog opened. Timer started.") end - - renoise.app():show_status("Duplicated pattern below current sequence with mute states, complete automation, and cleared muted tracks.") end -renoise.tool():add_keybinding{name="Global:Paketti:Duplicate Pattern Below & Clear Muted Tracks", invoke=duplicate_pattern_and_clear_muted} -renoise.tool():add_midi_mapping{name="Paketti:Duplicate Pattern Below & Clear Muted", invoke=duplicate_pattern_and_clear_muted} -renoise.tool():add_menu_entry{name="Main Menu:Tools:Paketti..:Pattern Editor..:Duplicate Pattern Below & Clear Muted", invoke=duplicate_pattern_and_clear_muted} -renoise.tool():add_menu_entry{name="Pattern Editor:Paketti..:Duplicate Pattern Below & Clear Muted", invoke=duplicate_pattern_and_clear_muted} -renoise.tool():add_menu_entry{name="Pattern Matrix:Paketti..:Duplicate Pattern Below & Clear Muted", invoke=duplicate_pattern_and_clear_muted} -renoise.tool():add_menu_entry{name="Mixer:Paketti..:Duplicate Pattern Below & Clear Muted", invoke=duplicate_pattern_and_clear_muted} - - - - - - - - - - - +-- Add menu entry to toggle the tool +renoise.tool():add_menu_entry { + name = "Main Menu:Tools:Toggle Hold-to-Fill Mode", + invoke = show_dialog +} -local function NudgeAndPasteSelection(deselect) - local song = renoise.song() - local selection = song.selection_in_pattern - -- Check if there's a selection - if not selection then - renoise.app():show_status("Nothing was selected, doing nothing.") - return - end +]]-- - local pattern = song.selected_pattern - local pattern_lines = pattern.number_of_lines - local selected_track_index = song.selected_track_index - -- Determine selection start and end lines - local start_line = selection.start_line - local end_line = selection.end_line - local selection_length = end_line - start_line + 1 - -- Reference to the track for modifying lines - local track = pattern:track(selected_track_index) - -- Step 1: Copy the selected lines into a table - local content_copy = {} - for line = start_line, end_line do - local line_data = track:line(line) - content_copy[#content_copy + 1] = { - note_columns = {}, - effect_columns = {} - } - -- Copy each note column - for nc = 1, #line_data.note_columns do - local note_column = line_data:note_column(nc) - content_copy[#content_copy].note_columns[nc] = { - note_value = note_column.note_value, - instrument_value = note_column.instrument_value, - volume_value = note_column.volume_value, - panning_value = note_column.panning_value, - delay_value = note_column.delay_value, - effect_number_value = note_column.effect_number_value, - effect_amount_value = note_column.effect_amount_value - } - end - -- Copy each effect column - for ec = 1, #line_data.effect_columns do - local effect_column = line_data:effect_column(ec) - content_copy[#content_copy].effect_columns[ec] = { - number_value = effect_column.number_value, - amount_value = effect_column.amount_value - } - end - end - -- Step 2: Nudge existing content down by the selection length - for line = pattern_lines - selection_length, start_line, -1 do - local target_line = line + selection_length - if target_line <= pattern_lines then - track:line(target_line):copy_from(track:line(line)) - end - end - -- Step 3: Clear the original selection range to prepare for pasting - for line = start_line, end_line do - track:line(line):clear() - end - -- Step 4: Paste the copied content into the original selection position - for i, line_content in ipairs(content_copy) do - local target_line = track:line(start_line + i - 1) - -- Paste note columns - for nc, note_data in ipairs(line_content.note_columns) do - local note_column = target_line:note_column(nc) - note_column.note_value = note_data.note_value - note_column.instrument_value = note_data.instrument_value - note_column.volume_value = note_data.volume_value - note_column.panning_value = note_data.panning_value - note_column.delay_value = note_data.delay_value - note_column.effect_number_value = note_data.effect_number_value - note_column.effect_amount_value = note_data.effect_amount_value - end - -- Paste effect columns - for ec, effect_data in ipairs(line_content.effect_columns) do - local effect_column = target_line:effect_column(ec) - effect_column.number_value = effect_data.number_value - effect_column.amount_value = effect_data.amount_value - end - end - -- Set selection in pattern to the newly pasted content -if deselect ~= false then - song.selection_in_pattern = { - start_line = start_line, - end_line = end_line, - start_track = selection.start_track, - end_track = selection.end_track - } -else renoise.song().selection_in_pattern = nil -end -end +function crossfade_loop(crossfade_length) + -- User-adjustable fade length for loop start/end fades + local fade_length = 20 --- Example usage: -renoise.tool():add_keybinding{name="Pattern Editor:Paketti:Nudge and Paste Selection", invoke=function() NudgeAndPasteSelection(true) end} -renoise.tool():add_keybinding{name="Pattern Editor:Paketti:Nudge and Paste Selection + Deselect", invoke=function() NudgeAndPasteSelection(false) end} + -- Check for an active instrument + local instrument = renoise.song().selected_instrument + if not instrument then + renoise.app():show_status("No instrument selected.") + return + end + -- Check for an active sample + local sample = instrument:sample(1) + if not sample then + renoise.app():show_status("No sample available.") + return + end + -- Check if sample has data and looping is enabled + local sample_buffer = sample.sample_buffer + if not sample_buffer or not sample_buffer.has_sample_data then + renoise.app():show_status("Sample has no data.") + return + end + if sample.loop_mode == renoise.Sample.LOOP_MODE_OFF then + renoise.app():show_status("Loop mode is off.") + return + end + local loop_start = sample.loop_start + local loop_end = sample.loop_end + local num_frames = sample_buffer.number_of_frames + -- Validate frame ranges for crossfade and fade operations + if loop_start <= crossfade_length + fade_length then + renoise.app():show_status("Not enough frames before loop_start for crossfade and fades.") + return + end + if loop_end <= crossfade_length + fade_length then + renoise.app():show_status("Not enough frames before loop_end for crossfade and fades.") + return + end --- Function with an option to retain or clear silence rows -local function DuplicateSelectionWithPaddingMoveCursor(retain_silence_content) - local song = renoise.song() - local selection = song.selection_in_pattern + if loop_start + fade_length - 1 > num_frames then + renoise.app():show_status("Not enough frames after loop_start for fade-in.") + return + end - -- Check if there's a selection - if not selection then - renoise.app():show_status("Nothing was selected, doing nothing.") - return - end + if loop_end - fade_length < 1 then + renoise.app():show_status("Not enough frames before loop_end for fade-out.") + return + end - local pattern = song.selected_pattern - local pattern_lines = pattern.number_of_lines - local selected_track_index = song.selected_track_index + -- Define crossfade regions: + -- a-b (fade-in region) is before loop_start + local fade_in_start = loop_start - crossfade_length + local fade_in_end = loop_start - 1 - -- Determine selection start and end lines - local start_line = selection.start_line - local end_line = selection.end_line - local selection_length = end_line - start_line + 1 + -- c-d (fade-out region) is before loop_end + local fade_out_start = loop_end - crossfade_length + local fade_out_end = loop_end - 1 - -- Calculate required end position to fit content, silence, content, and final silence - local required_end_position = end_line + (selection_length * 3) -- original + silence + duplicated + final silence + -- Prepare sample data changes + sample_buffer:prepare_sample_data_changes() - -- Check if the required pattern length exceeds the max limit of 512 lines - if required_end_position > 512 then - renoise.app():show_status("Already at maximum pattern length, doing nothing.") - return - end + --------------------------------------------------- + -- Crossfade: Mix a-b region into c-d region + --------------------------------------------------- + for i = 0, crossfade_length - 1 do + local fade_in_pos = fade_in_start + i + local fade_out_pos = fade_out_start + i - -- Resize pattern only if required end position exceeds current length - if required_end_position > pattern_lines then - pattern.number_of_lines = required_end_position - pattern_lines = required_end_position - renoise.app():show_status("Pattern resized to " .. required_end_position .. " lines to accommodate duplication and silence.") - end + -- Fade ratios: fade_in ramps 0->1, fade_out ramps 1->0 + local fade_in_ratio = i / (crossfade_length - 1) + local fade_out_ratio = 1 - fade_in_ratio - -- Calculate positions for silent rows and duplicated content - local silence_start = end_line + 1 - local paste_start = silence_start + selection_length - local paste_end = paste_start + selection_length - 1 - local final_silence_start = paste_end + 1 + for c = 1, sample_buffer.number_of_channels do + local fade_in_val = sample_buffer:sample_data(c, fade_in_pos) + local fade_out_val = sample_buffer:sample_data(c, fade_out_pos) - -- Reference to the track for modifying lines - local track = pattern:track(selected_track_index) + -- Blend the two segments + local blended_val = (fade_in_val * fade_in_ratio) + (fade_out_val * fade_out_ratio) - -- Copy the selected lines into a table - local content_copy = {} - for line = start_line, end_line do - local line_data = track:line(line) - content_copy[#content_copy + 1] = { - note_columns = {}, - effect_columns = {} - } - -- Copy each note column - for nc = 1, #line_data.note_columns do - local note_column = line_data:note_column(nc) - content_copy[#content_copy].note_columns[nc] = { - note_value = note_column.note_value, - instrument_value = note_column.instrument_value, - volume_value = note_column.volume_value, - panning_value = note_column.panning_value, - delay_value = note_column.delay_value, - effect_number_value = note_column.effect_number_value, - effect_amount_value = note_column.effect_amount_value - } - end - -- Copy each effect column - for ec = 1, #line_data.effect_columns do - local effect_column = line_data:effect_column(ec) - content_copy[#content_copy].effect_columns[ec] = { - number_value = effect_column.number_value, - amount_value = effect_column.amount_value - } - end + -- Write the blended value back to the fade_out region (c-d) + sample_buffer:set_sample_data(c, fade_out_pos, blended_val) end + end - -- Insert silence after original content (retain or clear based on function parameter) - for line = silence_start, silence_start + selection_length - 1 do - if not retain_silence_content then - track:line(line):clear() - end + --------------------------------------------------- + -- 20-frame fade-out at loop_end + -- Ensures silence right at loop_end + --------------------------------------------------- + for i = 0, fade_length - 1 do + local pos = loop_end - fade_length + i + local fade_ratio = 1 - (i / (fade_length - 1)) + for c = 1, sample_buffer.number_of_channels do + local sample_val = sample_buffer:sample_data(c, pos) + sample_buffer:set_sample_data(c, pos, sample_val * fade_ratio) end + end - -- Paste duplicated content after the silent rows - for i, line_content in ipairs(content_copy) do - local target_line = track:line(paste_start + i - 1) - -- Paste note columns - for nc, note_data in ipairs(line_content.note_columns) do - local note_column = target_line:note_column(nc) - note_column.note_value = note_data.note_value - note_column.instrument_value = note_data.instrument_value - note_column.volume_value = note_data.volume_value - note_column.panning_value = note_data.panning_value - note_column.delay_value = note_data.delay_value - note_column.effect_number_value = note_data.effect_number_value - note_column.effect_amount_value = note_data.effect_amount_value - end - -- Paste effect columns - for ec, effect_data in ipairs(line_content.effect_columns) do - local effect_column = target_line:effect_column(ec) - effect_column.number_value = effect_data.number_value - effect_column.amount_value = effect_data.amount_value - end + --------------------------------------------------- + -- 20-frame fade-in at loop_start + -- Ensures sound ramps up from silence at loop_start + --------------------------------------------------- + for i = 0, fade_length - 1 do + local pos = loop_start + i + local fade_ratio = i / (fade_length - 1) + for c = 1, sample_buffer.number_of_channels do + local sample_val = sample_buffer:sample_data(c, pos) + sample_buffer:set_sample_data(c, pos, sample_val * fade_ratio) end + end - -- Insert final silence after the duplicated content (retain or clear based on function parameter) - for line = final_silence_start, final_silence_start + selection_length - 1 do - if not retain_silence_content then - track:line(line):clear() - end + --------------------------------------------------- + -- 20-frame fade-out before loop_start + -- Ensures silence leading into the loop_start region + --------------------------------------------------- + for i = 0, fade_length - 1 do + local pos = loop_start - fade_length + i + if pos >= 1 and pos <= num_frames then + local fade_ratio = 1 - (i / (fade_length - 1)) + for c = 1, sample_buffer.number_of_channels do + local sample_val = sample_buffer:sample_data(c, pos) + sample_buffer:set_sample_data(c, pos, sample_val * fade_ratio) + end end + end - -- Set selection and move cursor to the equivalent row in the pasted content - song.selection_in_pattern = { - start_line = paste_start, - end_line = paste_end, - start_track = selection.start_track, - end_track = selection.end_track - } - song.transport.edit_pos = renoise.SongPos(song.selected_sequence_index, paste_start + (song.transport.edit_pos.line - start_line)) + -- Finalize changes + sample_buffer:finalize_sample_data_changes() + + renoise.app():show_status("Crossfade and 20-frame fades applied to create a smooth X-shaped loop.") end --- Example usage: --- DuplicateSelectionWithPaddingMoveCursor(true) -- to retain existing content in silence blocks --- DuplicateSelectionWithPaddingMoveCursor(false) -- to clear existing content in silence blocks +-- Helper function to determine crossfade_length based on the current selection +local function get_dynamic_crossfade_length() + local song = renoise.song() + local sample = song and song.selected_sample or nil + if not sample or not sample.sample_buffer or not sample.sample_buffer.has_sample_data then + renoise.app():show_status("No valid sample selected.") + return nil + end + + local loop_end = sample.loop_end + local sel = sample.sample_buffer.selection_range + + if not sel or #sel < 2 then + renoise.app():show_status("No sample selection made.") + return nil + end + + -- According to the updated math: + -- crossfade_length = loop_end - selection_end + local selection_end = sel[2] + + if selection_end >= loop_end then + renoise.app():show_status("Selection end must be before loop_end.") + return nil + end + local crossfade_length = loop_end - selection_end + return crossfade_length +end -renoise.tool():add_keybinding{name="Pattern Editor:Paketti:Duplicate Selection with Padding&Move Cursor 1", invoke=function() DuplicateSelectionWithPaddingMoveCursor(false) end} -renoise.tool():add_keybinding{name="Pattern Editor:Paketti:Duplicate Selection with Padding&Move Cursor 2", invoke=function() DuplicateSelectionWithPaddingMoveCursor(true) end} +-- Keybinding: Use the dynamic crossfade length based on selection_end +renoise.tool():add_keybinding{ + name="Global:Paketti:Crossfade Loop", + invoke=function() + local crossfade_length = get_dynamic_crossfade_length() + if crossfade_length then + renoise.app():show_status("Using crossfade length: " .. tostring(crossfade_length)) + crossfade_loop(crossfade_length) + end + end +} +-- Menu Entry: Use the dynamic crossfade length based on selection_end +renoise.tool():add_menu_entry{ + name="Sample Editor:Paketti..:Crossfade Loop", + invoke=function() + local crossfade_length = get_dynamic_crossfade_length() + if crossfade_length then + renoise.app():show_status("Using crossfade length: " .. tostring(crossfade_length)) + crossfade_loop(crossfade_length) + end + end +} -function loadNewWithCurrentSliceMarkers() - local song=renoise.song() - if song.selected_sample == nil then - renoise.app():show_status("There is no sample in this instrument, doing nothing.") - return else -local originalSample = renoise.song().instruments[renoise.song().selected_instrument_index] -local selected_sample = song.selected_instrument.samples[1] - - -- Check if the selected sample has slice markers -if #selected_sample.slice_markers == 0 then - renoise.app():show_status("Please select an instrument with slice markers, doing nothing for now.") - else - -- Retain slice markers and sample settings - local saved_markers=selected_sample.slice_markers - local saved_sample=selected_sample - -- Trigger the file loader to load a new sample - pitchBendMultipleSampleLoader() - -- Wait for the sample to load and then apply markers and settings - local new_sample=song.selected_sample -- Assumes the loaded sample replaces selected_sample - if new_sample then - local new_sample_length=new_sample.sample_buffer.number_of_frames - -- Filter markers to fit within the new sample length - local valid_markers={} - for _, marker in ipairs(saved_markers) do - if marker<=new_sample_length then - table.insert(valid_markers,marker) - end - end - -- Apply the valid slice markers and copy general sample settings - new_sample.slice_markers=valid_markers - CopySampleSettings(originalSample.samples[1],renoise.song().selected_instrument.samples[1]) - -- Copy slice settings for each individual slice sample - for i=2, #originalSample.samples do -- Slices start at index 2 - CopySliceSettings(originalSample.samples[i],renoise.song().selected_instrument.samples[i]) - end - renoise.app():show_status("Slice markers and all sample & slice settings applied to the newly loaded sample.") - else - renoise.app():show_status("No new sample loaded; settings not applied.") - end - end -end -end --- Register menu entries and keybindings -renoise.tool():add_menu_entry{name="Instrument Box:Paketti..:Load New Instrument with Current Slice Markers",invoke=function() loadNewWithCurrentSliceMarkers() end} -renoise.tool():add_menu_entry{name="Sample Editor:Paketti..:Load New Instrument with Current Slice Markers",invoke=function() loadNewWithCurrentSliceMarkers() end} -renoise.tool():add_keybinding{name="Global:Paketti:Load New Instrument with Current Slice Markers",invoke=function() loadNewWithCurrentSliceMarkers() end} @@ -1586,75 +1481,6 @@ renoise.tool():add_midi_mapping{name="Paketti:Midi Selected Instrument Transpose -local function PakettiAutomationPlayModeChange_SetPlaymode(mode) - local song = renoise.song() - local automation_parameter = song.selected_automation_parameter - if not automation_parameter or not automation_parameter.is_automatable then - renoise.app():show_status("Please select an automatable parameter.") - return - end - - local envelope = song:pattern(song.selected_pattern_index):track(song.selected_track_index):find_automation(automation_parameter) - if not envelope then - renoise.app():show_status("No automation envelope found for the selected parameter.") - return - end - - envelope.playmode = mode - renoise.app():show_status("Playmode set to " .. mode) -end - -local function PakettiAutomationPlayModeChange_Next() - local song = renoise.song() - local automation_parameter = song.selected_automation_parameter - if not automation_parameter or not automation_parameter.is_automatable then - renoise.app():show_status("Please select an automatable parameter.") - return - end - - local envelope = song:pattern(song.selected_pattern_index):track(song.selected_track_index):find_automation(automation_parameter) - if not envelope then - renoise.app():show_status("No automation envelope found for the selected parameter.") - return - end - - envelope.playmode = (envelope.playmode % 3) + 1 - renoise.app():show_status("Next playmode selected: " .. envelope.playmode) -end - -local function PakettiAutomationPlayModeChange_Previous() - local song = renoise.song() - local automation_parameter = song.selected_automation_parameter - if not automation_parameter or not automation_parameter.is_automatable then - renoise.app():show_status("Please select an automatable parameter.") - return - end - - local envelope = song:pattern(song.selected_pattern_index):track(song.selected_track_index):find_automation(automation_parameter) - if not envelope then - renoise.app():show_status("No automation envelope found for the selected parameter.") - return - end - - envelope.playmode = (envelope.playmode - 2) % 3 + 1 - renoise.app():show_status("Previous playmode selected: " .. envelope.playmode) -end - --- Add Keybindings -renoise.tool():add_keybinding {name="Global:Paketti:Select Automation Playmode (Next)",invoke=PakettiAutomationPlayModeChange_Next} -renoise.tool():add_keybinding {name="Global:Paketti:Select Automation Playmode (Previous)",invoke=PakettiAutomationPlayModeChange_Previous} -renoise.tool():add_keybinding {name="Global:Paketti:Select Automation Playmode 01 Points",invoke=function() PakettiAutomationPlayModeChange_SetPlaymode(renoise.PatternTrackAutomation.PLAYMODE_POINTS) end} -renoise.tool():add_keybinding {name="Global:Paketti:Select Automation Playmode 02 Lines",invoke=function() PakettiAutomationPlayModeChange_SetPlaymode(renoise.PatternTrackAutomation.PLAYMODE_LINES) end} -renoise.tool():add_keybinding {name="Global:Paketti:Select Automation Playmode 03 Curves",invoke=function() PakettiAutomationPlayModeChange_SetPlaymode(renoise.PatternTrackAutomation.PLAYMODE_CURVES) end} - --- Add MIDI Mappings -renoise.tool():add_midi_mapping {name="Paketti:Select Automation Playmode (Next)",invoke=PakettiAutomationPlayModeChange_Next} -renoise.tool():add_midi_mapping {name="Paketti:Select Automation Playmode (Previous)",invoke=PakettiAutomationPlayModeChange_Previous} -renoise.tool():add_midi_mapping {name="Paketti:Select Automation Playmode 01 Points",invoke=function() PakettiAutomationPlayModeChange_SetPlaymode(renoise.PatternTrackAutomation.PLAYMODE_POINTS) end} -renoise.tool():add_midi_mapping {name="Paketti:Select Automation Playmode 02 Lines",invoke=function() PakettiAutomationPlayModeChange_SetPlaymode(renoise.PatternTrackAutomation.PLAYMODE_LINES) end} -renoise.tool():add_midi_mapping {name="Paketti:Select Automation Playmode 03 Curves",invoke=function() PakettiAutomationPlayModeChange_SetPlaymode(renoise.PatternTrackAutomation.PLAYMODE_CURVES) end} - - local function flood_fill_column() @@ -3792,48 +3618,6 @@ renoise.tool():add_midi_mapping{name="Paketti:Slide Selected Track Content Down" --- Toggle Note Off "===" On / Off in all selected tracks within the selection or current row. -function PakettiNoteOffToSelection() - local s = renoise.song() - local currPatt = s.selected_pattern_index - local selection = s.selection_in_pattern - local note_col_idx = s.selected_note_column_index - - if selection then - -- Loop through all lines and tracks within the selection - for line = selection.start_line, selection.end_line do - for track = selection.start_track, selection.end_track do - local note_col = s.patterns[currPatt].tracks[track].lines[line].note_columns[note_col_idx] - - if note_col_idx and note_col_idx > 0 then - if note_col.note_string == "OFF" then - note_col.note_string = "" - else - note_col.note_string = "OFF" - end - end - end - end - else - -- No selection, operate on the current row - local currLine = s.selected_line_index - local currTrack = s.selected_track_index - - if note_col_idx and note_col_idx > 0 then - local note_col = s.patterns[currPatt].tracks[currTrack].lines[currLine].note_columns[note_col_idx] - - if note_col.note_string == "OFF" then - note_col.note_string = "" - else - note_col.note_string = "OFF" - end - end - end -end - --- Add keybinding for the new function -renoise.tool():add_keybinding{name="Pattern Editor:Paketti:Toggle Note Off in Selected Tracks",invoke=function() PakettiNoteOffToSelection() end} - @@ -4119,6 +3903,7 @@ end ------------------------- -------- +--[[ function Experimental() function read_file(path) local file = io.open(path, "r") -- Open the file in read mode @@ -4161,7 +3946,7 @@ function Experimental() end --renoise.tool():add_menu_entry{name="Main Menu:Tools:Paketti..:Experimental (macOS Only) Config.XML overwriter (Destructive)",invoke=function() Experimental() end} - +]]-- --Wipes the pattern data, but not the samples or instruments. --WARNING: Does not reset current filename. -- TODO @@ -4538,27 +4323,7 @@ else end end end} ---------------------------------------------------------------------------------------------------------- ---esa- 2nd keybind for Record Toggle ON/OFF with effect_column reading -function RecordToggle() - local a=renoise.app() - local s=renoise.song() - local t=s.transport - local currentstep=t.edit_step ---if has notifier, dump notifier, if no notifier, add notifier - if t.edit_mode then - t.edit_mode=false - if t.edit_step==0 then - t.edit_step=1 - else - return - end - else - t.edit_mode = true - if s.selected_effect_column_index == 1 then t.edit_step=0 - elseif s.selected_effect_column_index == 0 then t.edit_step=currentstep return - end -end -end + ---------------------------------------- require "Research/FormulaDeviceManual" @@ -4846,136 +4611,3 @@ renoise.tool():add_menu_entry{name="--Sample Navigator:Paketti..:Unison Generato renoise.tool():add_menu_entry{name="--Sample Editor:Paketti..:Unison Generator", invoke=PakettiCreateUnisonSamples} renoise.tool():add_menu_entry{name="--Sample Mappings:Paketti..:Unison Generator", invoke=PakettiCreateUnisonSamples} - ---------- --- Helper function to check if in a valid note column -local function is_in_note_column() - local note_column_index = renoise.song().selected_note_column_index - if note_column_index == nil then - renoise.app():show_status("You are not in a Note Column, doing nothing.") - return false - end - return true -end - --- Function to match the current sub-column type to all rows in the selected note column -local function match_current_sub_column_to_track() - if not is_in_note_column() then return end - - local song = renoise.song() - local track = song.selected_track - local sub_column_type = song.selected_sub_column_type - local line_index = song.selected_line_index - local pattern = song.selected_pattern - local number_of_lines = pattern.number_of_lines - local note_column_index = song.selected_note_column_index - local current_line = pattern:track(song.selected_track_index):line(line_index) - - -- Iterate through all lines in the selected track and match based on sub-column type - for i = 1, number_of_lines do - local line = pattern:track(song.selected_track_index):line(i) - - if sub_column_type == 2 and current_line.note_columns[note_column_index].instrument_value ~= nil then - line.note_columns[note_column_index].instrument_value = current_line.note_columns[note_column_index].instrument_value - elseif sub_column_type == 3 and current_line.note_columns[note_column_index].volume_value ~= renoise.PatternLine.EMPTY_VOLUME then - line.note_columns[note_column_index].volume_value = current_line.note_columns[note_column_index].volume_value - elseif sub_column_type == 4 and current_line.note_columns[note_column_index].panning_value ~= renoise.PatternLine.EMPTY_PANNING then - line.note_columns[note_column_index].panning_value = current_line.note_columns[note_column_index].panning_value - elseif sub_column_type == 5 and current_line.note_columns[note_column_index].delay_value ~= renoise.PatternLine.EMPTY_DELAY then - line.note_columns[note_column_index].delay_value = current_line.note_columns[note_column_index].delay_value - elseif sub_column_type == 6 and current_line.note_columns[note_column_index].effect_number_value ~= renoise.PatternLine.EMPTY_EFFECT_NUMBER then - line.note_columns[note_column_index].effect_number_value = current_line.note_columns[note_column_index].effect_number_value - elseif sub_column_type == 7 and current_line.note_columns[note_column_index].effect_amount_value ~= renoise.PatternLine.EMPTY_EFFECT_AMOUNT then - line.note_columns[note_column_index].effect_amount_value = current_line.note_columns[note_column_index].effect_amount_value - end - end - - renoise.app():show_status("Matched current sub-column value to the entire track.") -end - --- Function to match volume column to current row -local function match_volume_to_current_row() - if not is_in_note_column() then return end - - local song = renoise.song() - local track = song.selected_track - local line_index = song.selected_line_index - local pattern = song.selected_pattern - local number_of_lines = pattern.number_of_lines - local note_column_index = song.selected_note_column_index - local current_line = pattern:track(song.selected_track_index):line(line_index) - - -- Get the volume value from the selected note column - if current_line.note_columns[note_column_index].volume_value ~= renoise.PatternLine.EMPTY_VOLUME then - local volume_value = current_line.note_columns[note_column_index].volume_value - - -- Apply to all lines in the selected track - for i = 1, number_of_lines do - local line = pattern:track(song.selected_track_index):line(i) - line.note_columns[note_column_index].volume_value = volume_value - end - end - - renoise.app():show_status("Matched volume to the entire track from the current row.") -end - --- Function to match panning column to current row -local function match_panning_to_current_row() - if not is_in_note_column() then return end - - local song = renoise.song() - local track = song.selected_track - local line_index = song.selected_line_index - local pattern = song.selected_pattern - local number_of_lines = pattern.number_of_lines - local note_column_index = song.selected_note_column_index - local current_line = pattern:track(song.selected_track_index):line(line_index) - - -- Get the panning value from the selected note column - if current_line.note_columns[note_column_index].panning_value ~= renoise.PatternLine.EMPTY_PANNING then - local panning_value = current_line.note_columns[note_column_index].panning_value - - -- Apply to all lines in the selected track - for i = 1, number_of_lines do - local line = pattern:track(song.selected_track_index):line(i) - line.note_columns[note_column_index].panning_value = panning_value - end - end - - renoise.app():show_status("Matched panning to the entire track from the current row.") -end - --- Function to match delay column to current row -local function match_delay_to_current_row() - if not is_in_note_column() then return end - - local song = renoise.song() - local track = song.selected_track - local line_index = song.selected_line_index - local pattern = song.selected_pattern - local number_of_lines = pattern.number_of_lines - local note_column_index = song.selected_note_column_index - local current_line = pattern:track(song.selected_track_index):line(line_index) - - -- Get the delay value from the selected note column - if current_line.note_columns[note_column_index].delay_value ~= renoise.PatternLine.EMPTY_DELAY then - local delay_value = current_line.note_columns[note_column_index].delay_value - - -- Apply to all lines in the selected track - for i = 1, number_of_lines do - local line = pattern:track(song.selected_track_index):line(i) - line.note_columns[note_column_index].delay_value = delay_value - end - end - - renoise.app():show_status("Matched delay to the entire track from the current row.") -end - --- Add keybindings for the sub-column type function -renoise.tool():add_keybinding{name="Pattern Editor:Paketti:Match Current Sub Column Selection", invoke = function() match_current_sub_column_to_track() end} - -renoise.tool():add_keybinding{name="Pattern Editor:Paketti:Match Volume Column to Current Row",invoke = function() match_volume_to_current_row()end} -renoise.tool():add_keybinding{name="Pattern Editor:Paketti:Match Panning Column to Current Row",invoke = function() match_panning_to_current_row() end} -renoise.tool():add_keybinding{name="Pattern Editor:Paketti:Match Delay Column to Current Row",invoke = function() match_delay_to_current_row() end} - - diff --git a/PakettiImpulseTracker.lua b/PakettiImpulseTracker.lua index 9b62517..a1271b1 100644 --- a/PakettiImpulseTracker.lua +++ b/PakettiImpulseTracker.lua @@ -222,7 +222,7 @@ t.metronome_enabled=false t.loop_block_enabled=false t.loop_pattern = false t.loop_block_enabled=false -t:start(renoise.Transport.PLAYMODE_RESTART_PATTERN) +t:start_at(startpos) end renoise.tool():add_keybinding{name="Global:Paketti:Impulse Tracker F5 Start Playback", invoke=function() ImpulseTrackerPlaySong() end} renoise.tool():add_keybinding{name="Global:Paketti:Impulse Tracker F5 Start Playback (2nd)", invoke=function() ImpulseTrackerPlaySong() end} diff --git a/PakettiLoaders.lua b/PakettiLoaders.lua index d50b78e..58d1003 100644 --- a/PakettiLoaders.lua +++ b/PakettiLoaders.lua @@ -2742,3 +2742,225 @@ renoise.tool():add_keybinding{name="Global:Paketti:Insert Inverter Device to Tra renoise.tool():add_midi_mapping{name="Paketti:Insert Inverter Device to TrackDSP/SampleFX",invoke=function(message) if message:is_trigger() then PakettiInvertDeviceTrackDSP() end end} ----- +function wipePhrases() +-- Deletes all phrases in the current instrument or shows a status if none exist +local song = renoise.song() +local instrument = song.selected_instrument + +if #instrument.phrases > 0 then + while #instrument.phrases > 0 do + instrument:delete_phrase_at(1) -- Always delete the first phrase (index 0) + end + renoise.app():show_status("All phrases deleted from the current instrument.") +else + renoise.app():show_status("There were no phrases to delete.") +end +end +renoise.tool():add_keybinding{name="Global:Paketti:Wipe Phrases on Selected Instrument",invoke=function() wipePhrases() end} +renoise.tool():add_menu_entry{name="Instrument Box:Paketti..:Wipe Phrases on Selected Instrument",invoke=function() wipePhrases() end} +renoise.tool():add_menu_entry{name="Phrase Editor:Paketti..:Wipe Phrases on Selected Instrument",invoke=function() wipePhrases() end} +renoise.tool():add_menu_entry{name="Phrase Mappings:Paketti..:Wipe Phrases on Selected Instrument",invoke=function() wipePhrases() end} +renoise.tool():add_menu_entry{name="Phrase Grid:Paketti..:Wipe Phrases on Selected Instrument",invoke=function() wipePhrases() end} +renoise.tool():add_menu_entry{name="Sample Mappings:Paketti..:Wipe Phrases on Selected Instrument",invoke=function() wipePhrases() end} + +function loadXRNIWipePhrases() +-- Prompts user to load an .XRNI, loads it into a new instrument, and deletes all phrases +local song = renoise.song() +local current_instrument_index = song.selected_instrument_index + +-- Create a new instrument below the current one and select it +local new_instrument_index = math.min(current_instrument_index + 1, #song.instruments + 1) +song:insert_instrument_at(new_instrument_index) +song.selected_instrument_index = new_instrument_index +local new_instrument = song.selected_instrument + +-- Prompt the user to load an XRNI file +local file_path = renoise.app():prompt_for_filename_to_read({"*.xrni"}, "Select an XRNI file to load") + +if not file_path then + renoise.app():show_status("No .XRNI was selected, doing nothing.") + return -- Exit the script if no file was selected +end + +-- Try loading the selected XRNI file into the newly created instrument +local success, error_message = pcall(function() + renoise.app():load_instrument(file_path) +end) + +if not success then + renoise.app():show_status("Failed to load the selected .XRNI file: " .. error_message) + return -- Exit if the XRNI couldn't be loaded +end + +-- Wipe all phrases from the newly loaded instrument +if #renoise.song().selected_instrument.phrases > 0 then + while #renoise.song().selected_instrument.phrases > 0 do + renoise.song().selected_instrument:delete_phrase_at(1) -- Always delete the first phrase + end + renoise.app():show_status("Loaded .XRNI and deleted all phrases from the new instrument.") +else + renoise.app():show_status("Loaded .XRNI, but there were no phrases to delete.") +end + +end + +renoise.tool():add_keybinding{name="Global:Paketti:Load XRNI & Wipe Phrases",invoke=function() loadXRNIWipePhrases() end} +renoise.tool():add_menu_entry{name="Instrument Box:Paketti..:Load XRNI & Wipe Phrases",invoke=function() loadXRNIWipePhrases() end} +renoise.tool():add_menu_entry{name="Phrase Editor:Paketti..:Load XRNI & Wipe Phrases",invoke=function() loadXRNIWipePhrases() end} +renoise.tool():add_menu_entry{name="Phrase Mappings:Paketti..:Load XRNI & Wipe Phrases",invoke=function() loadXRNIWipePhrases() end} +renoise.tool():add_menu_entry{name="Phrase Grid:Paketti..:Load XRNI & Wipe Phrases",invoke=function() loadXRNIWipePhrases() end} +renoise.tool():add_menu_entry{name="Sample Mappings:Paketti..:Load XRNI & Wipe Phrases",invoke=function() loadXRNIWipePhrases() end} +renoise.tool():add_midi_mapping{name="Paketti:Load XRNI & Wipe Phrases",invoke=function(message) if message:is_trigger() then + loadXRNIWipePhrases() end end} + +function loadXRNIWipePhrasesTwo() +-- Prompts user to load an .XRNI, loads it into a new instrument, and deletes all phrases +local song = renoise.song() +local current_instrument_index = song.selected_instrument_index + +-- Create a new instrument below the current one and select it +local new_instrument_index = math.min(current_instrument_index + 1, #song.instruments + 1) +song:insert_instrument_at(new_instrument_index) +song.selected_instrument_index = new_instrument_index +local new_instrument = song.selected_instrument + +-- Prompt the user to load an XRNI file +local file_path = renoise.app():prompt_for_filename_to_read({"*.xrni"}, "Select an XRNI file to load") + +if not file_path then + renoise.app():show_status("No .XRNI was selected, doing nothing.") + return -- Exit the script if no file was selected +end + +-- Try loading the selected XRNI file into the newly created instrument +local success, error_message = pcall(function() + renoise.app():load_instrument(file_path) +end) + +if not success then + renoise.app():show_status("Failed to load the selected .XRNI file: " .. error_message) + return -- Exit if the XRNI couldn't be loaded +end + +-- Wipe all phrases from the newly loaded instrument +if #renoise.song().selected_instrument.phrases > 0 then +renoise.song().instruments[renoise.song().selected_instrument_index].phrase_playback_mode=1 + renoise.app():show_status("Loaded .XRNI and disabled phrases.") +else + renoise.app():show_status("Loaded .XRNI, but there were no phrases to disable.") +end +end + +renoise.tool():add_keybinding{name="Global:Paketti:Load XRNI & Disable Phrases",invoke=function() loadXRNIWipePhrasesTwo() end} +renoise.tool():add_menu_entry{name="Instrument Box:Paketti..:Load XRNI & Disable Phrases",invoke=function() loadXRNIWipePhrasesTwo() end} +renoise.tool():add_menu_entry{name="Phrase Editor:Paketti..:Load XRNI & Disable Phrases",invoke=function() loadXRNIWipePhrasesTwo() end} +renoise.tool():add_menu_entry{name="Phrase Mappings:Paketti..:Load XRNI & Disable Phrases",invoke=function() loadXRNIWipePhrasesTwo() end} +renoise.tool():add_menu_entry{name="Phrase Grid:Paketti..:Load XRNI & Disable Phrases",invoke=function() loadXRNIWipePhrasesTwo() end} +renoise.tool():add_menu_entry{name="Sample Mappings:Paketti..:Load XRNI & Disable Phrases",invoke=function() loadXRNIWipePhrasesTwo() end} +renoise.tool():add_midi_mapping{name="Paketti:Load XRNI & Disable Phrases",invoke=function(message) if message:is_trigger() then + loadXRNIWipePhrasesTwo() end end} + + + + + + +function loadXRNIKeepPhrases() + +-- Creates a new instrument, loads an XRNI, and shows its name with phrase information +local song = renoise.song() +local current_instrument_index = song.selected_instrument_index + +-- Create a new instrument below the current one and select it +local new_instrument_index = math.min(current_instrument_index + 1, #song.instruments + 1) +song:insert_instrument_at(new_instrument_index) +song.selected_instrument_index = new_instrument_index +local new_instrument = song.selected_instrument + +-- Prompt the user to load an XRNI file +local file_path = renoise.app():prompt_for_filename_to_read({"*.xrni"}, "Select an XRNI file to load") + +if not file_path then + renoise.app():show_status("No .XRNI was selected, doing nothing.") + return -- Exit the script if no file was selected +end + +-- Try loading the selected XRNI file into the newly created instrument +local success, error_message = pcall(function() + renoise.app():load_instrument(file_path) +end) + +if not success then + renoise.app():show_status("Failed to load the selected .XRNI file: " .. error_message) + return -- Exit if the XRNI couldn't be loaded +end + + + +-- Show a status message with the instrument name and phrase info +renoise.app():show_status("Loaded Instrument name: " .. file_path) +end +renoise.tool():add_keybinding{name="Global:Paketti:Load XRNI & Keep Phrases",invoke=function() loadXRNIKeepPhrases() end} +renoise.tool():add_menu_entry{name="Instrument Box:Paketti..:Load XRNI & Keep Phrases",invoke=function() loadXRNIKeepPhrases() end} +renoise.tool():add_menu_entry{name="Phrase Editor:Paketti..:Load XRNI & Keep Phrases",invoke=function() loadXRNIKeepPhrases() end} +renoise.tool():add_menu_entry{name="Phrase Mappings:Paketti..:Load XRNI & Keep Phrases",invoke=function() loadXRNIKeepPhrases() end} +renoise.tool():add_menu_entry{name="Phrase Grid:Paketti..:Load XRNI & Keep Phrases",invoke=function() loadXRNIKeepPhrases() end} +renoise.tool():add_menu_entry{name="Sample Mappings:Paketti..:Load XRNI & Keep Phrases",invoke=function() loadXRNIKeepPhrases() end} +renoise.tool():add_midi_mapping{name="Paketti:Load XRNI & Keep Phrases",invoke=function(message) if message:is_trigger() then loadXRNIKeepPhrases() end end} + +------- +function loadNewWithCurrentSliceMarkers() + local song=renoise.song() + if song.selected_sample == nil then + renoise.app():show_status("There is no sample in this instrument, doing nothing.") + return else +local originalSample = renoise.song().instruments[renoise.song().selected_instrument_index] +local selected_sample = song.selected_instrument.samples[1] + + -- Check if the selected sample has slice markers +if #selected_sample.slice_markers == 0 then + renoise.app():show_status("Please select an instrument with slice markers, doing nothing for now.") + else + -- Retain slice markers and sample settings + local saved_markers=selected_sample.slice_markers + local saved_sample=selected_sample + + -- Trigger the file loader to load a new sample + pitchBendMultipleSampleLoader() + + -- Wait for the sample to load and then apply markers and settings + local new_sample=song.selected_sample -- Assumes the loaded sample replaces selected_sample + + if new_sample then + local new_sample_length=new_sample.sample_buffer.number_of_frames + + -- Filter markers to fit within the new sample length + local valid_markers={} + for _, marker in ipairs(saved_markers) do + if marker<=new_sample_length then + table.insert(valid_markers,marker) + end + end + + -- Apply the valid slice markers and copy general sample settings + new_sample.slice_markers=valid_markers + CopySampleSettings(originalSample.samples[1],renoise.song().selected_instrument.samples[1]) + + -- Copy slice settings for each individual slice sample + for i=2, #originalSample.samples do -- Slices start at index 2 + CopySliceSettings(originalSample.samples[i],renoise.song().selected_instrument.samples[i]) + end + + renoise.app():show_status("Slice markers and all sample & slice settings applied to the newly loaded sample.") + else + renoise.app():show_status("No new sample loaded; settings not applied.") + end + end +end +end + +-- Register menu entries and keybindings +renoise.tool():add_menu_entry{name="Instrument Box:Paketti..:Load New Instrument with Current Slice Markers",invoke=function() loadNewWithCurrentSliceMarkers() end} +renoise.tool():add_menu_entry{name="Sample Editor:Paketti..:Load New Instrument with Current Slice Markers",invoke=function() loadNewWithCurrentSliceMarkers() end} +renoise.tool():add_keybinding{name="Global:Paketti:Load New Instrument with Current Slice Markers",invoke=function() loadNewWithCurrentSliceMarkers() end} + diff --git a/PakettiMainMenuEntries.lua b/PakettiMainMenuEntries.lua index 3169eb2..5ca6958 100644 --- a/PakettiMainMenuEntries.lua +++ b/PakettiMainMenuEntries.lua @@ -29,13 +29,13 @@ local dialog_content = vb:column{ vb:multiline_textfield{width = textfield_width, height = 40, text = "There's probably tons more, but: dBlue, danoise, cortex, pandabot, ffx, Joule, Avaruus, astu/flo, syflom, Protman, vV, Bantai, taktik, Snowrobot, MXB, Jenoki, Kmaki, aleksip, Unless, martblek and the whole Renoise community."}, vb:text{text = "Ideas provided by:", style = "strong", font = "bold"}, - vb:multiline_textfield{width = textfield_width, height = 80, text = "tkna, Nate Schmold, Casiino, Royal Sexton, Bovaflux, Xerxes, ViZiON, Satoi, Kaneel, Subi, MigloJE, Yalk DX, Michael Langer, Christopher Jooste, Zoey Samples, Avaruus, Pieter Koenekoop, Widgetphreak, Bálint Magyar, Mick Rippon, MMD (Mr. Mark Dollin), ne7, renoize-user, Dionysis, untilde, Greystar, Kaidiak, sousândrade, senseiprod, Brandon Hale, dmt, Diigitae, Dávid Halmi (Nagz), tEiS, Floppi J, Aleksi Eeben, fuzzy, Jalex, Mike Pehel, grymmjack, Mister Garbanzo, tdel, Jek, Mezzguru, Run Anymore, gentleclockdivider, Aaron Munson (Ilkae), pr0t0type, Joonas Holmén (JouluPam), Ugly Cry and many others."}, + vb:multiline_textfield{width = textfield_width, height = 80, text = "tkna, Nate Schmold, Casiino, Royal Sexton, Bovaflux, Xerxes, ViZiON, Satoi, Kaneel, Subi, MigloJE, Yalk DX, Michael Langer, Christopher Jooste, Zoey Samples, Avaruus, Pieter Koenekoop, Widgetphreak, Bálint Magyar, Mick Rippon, MMD (Mr. Mark Dollin), ne7, renoize-user, Dionysis, untilde, Greystar, Kaidiak, sousândrade, senseiprod, Brandon Hale, dmt, Diigitae, Dávid Halmi (Nagz), tEiS, Floppi J, Aleksi Eeben, fuzzy, Jalex, Mike Pehel, grymmjack, Mister Garbanzo, tdel, Jek, Mezzguru, Run Anymore, gentleclockdivider, Aaron Munson (Ilkae), pr0t0type, Joonas Holmén (JouluPam), Ugly Cry, NPC1, Vulkan and many others."}, vb:text{text = "Who made it possible:", style = "strong", font = "bold"}, vb:multiline_textfield{width = textfield_width, height = 40, text = "Thanks to @lpn (Brothomstates) for suggesting that I could pick up and learn LUA, that it would not be beyond me. Really appreciate your (sometimes misplaced and ahead-of-time) faith in me. And thanks for the inspiration."}, vb:text{text = "Kudos:", style = "strong", font = "bold"}, - vb:multiline_textfield{width = textfield_width, height = 60, text = "Massive kudos to martblek for allowing me to take his abandoned ReSpeak tool and make it into a Paketti eSpeak Text-to-Speech, Kaidiak for donating ClippyClip device, and also for smdkun for letting me tweak their KeyBind Visualizer code and incorporate it into Paketti further down the line."}, + vb:multiline_textfield{width = textfield_width, height = 60, text = "Massive kudos to martblek for allowing me to take his abandoned ReSpeak tool and make it into Paketti eSpeak Text-to-Speech, Kaidiak for donating ClippyClip device, and also for smdkun for letting me tweak their KeyBind Visualizer code and incorporate it into Paketti further down the line."}, vb:horizontal_aligner{mode = "distribute", vb:text{text = "Talk about Paketti", style = "strong", font = "bold"}}, vb:horizontal_aligner{ @@ -357,7 +357,6 @@ renoise.tool():add_menu_entry{name="Main Menu:Tools:Paketti..:Paketti Track Rena renoise.tool():add_menu_entry{name="Main Menu:Tools:Paketti..:Paketti eSpeak Text-to-Speech Dialog...",invoke=function()PakettieSpeakToggleDialog()end} -renoise.tool():add_menu_entry{name="Main Menu:Tools:Paketti..:Xperimental/Work in Progress:Paketti Coluga Downloader Dialog...", invoke = function() PakettiColugaShowDialog() end } renoise.tool():add_menu_entry{name="Main Menu:Tools:Paketti..:Xperimental/Work in Progress:Audio Processing Tools Dialog...", invoke = function() PakettiAudioProcessingToolsDialogShow() end} diff --git a/PakettiPatternEditor.lua b/PakettiPatternEditor.lua index 0196a5a..66b69ed 100644 --- a/PakettiPatternEditor.lua +++ b/PakettiPatternEditor.lua @@ -3273,8 +3273,8 @@ function ExposeAndSelectColumn(number) end end -renoise.tool():add_keybinding{name="Global:Paketti:Expose and Select Next Column",invoke=function() ExposeAndSelectColumn(1) end} -renoise.tool():add_keybinding{name="Global:Paketti:Hide Current and Select Previous Column",invoke=function() ExposeAndSelectColumn(-1) end} +renoise.tool():add_keybinding{name="Pattern Editor:Paketti:Expose and Select Next Column",invoke=function() ExposeAndSelectColumn(1) end} +renoise.tool():add_keybinding{name="Pattern Editor:Paketti:Hide Current and Select Previous Column",invoke=function() ExposeAndSelectColumn(-1) end} renoise.tool():add_midi_mapping{name="Paketti:Expose and Select Next Column",invoke=function(message) if message:is_trigger() then ExposeAndSelectColumn(1) end end} renoise.tool():add_midi_mapping{name="Paketti:Hide Current and Select Previous Column",invoke=function(message) if message:is_trigger() then xposeAndSelectColumn(-1) end end} @@ -3552,4 +3552,845 @@ end renoise.tool():add_keybinding{name="Pattern Editor:Paketti:Clear Selected Track Below Current Row",invoke=function() clear_below_selected_line() end} renoise.tool():add_keybinding{name="Pattern Editor:Paketti:Clear All Tracks Below Current Row",invoke=function() clear_all_tracks_below_current_row() end} +----- +-- Helper function to check if in a valid note column +local function is_in_note_column() + local note_column_index = renoise.song().selected_note_column_index + if note_column_index == nil then + renoise.app():show_status("You are not in a Note Column, doing nothing.") + return false + end + return true +end + +-- Function to match the current sub-column type to all rows in the selected note column +local function match_current_sub_column_to_track() + if not is_in_note_column() then return end + + local song = renoise.song() + local track = song.selected_track + local sub_column_type = song.selected_sub_column_type + local line_index = song.selected_line_index + local pattern = song.selected_pattern + local number_of_lines = pattern.number_of_lines + local note_column_index = song.selected_note_column_index + local current_line = pattern:track(song.selected_track_index):line(line_index) + + -- Iterate through all lines in the selected track and match based on sub-column type + for i = 1, number_of_lines do + local line = pattern:track(song.selected_track_index):line(i) + + if sub_column_type == 2 and current_line.note_columns[note_column_index].instrument_value ~= nil then + line.note_columns[note_column_index].instrument_value = current_line.note_columns[note_column_index].instrument_value + elseif sub_column_type == 3 and current_line.note_columns[note_column_index].volume_value ~= renoise.PatternLine.EMPTY_VOLUME then + line.note_columns[note_column_index].volume_value = current_line.note_columns[note_column_index].volume_value + elseif sub_column_type == 4 and current_line.note_columns[note_column_index].panning_value ~= renoise.PatternLine.EMPTY_PANNING then + line.note_columns[note_column_index].panning_value = current_line.note_columns[note_column_index].panning_value + elseif sub_column_type == 5 and current_line.note_columns[note_column_index].delay_value ~= renoise.PatternLine.EMPTY_DELAY then + line.note_columns[note_column_index].delay_value = current_line.note_columns[note_column_index].delay_value + elseif sub_column_type == 6 and current_line.note_columns[note_column_index].effect_number_value ~= renoise.PatternLine.EMPTY_EFFECT_NUMBER then + line.note_columns[note_column_index].effect_number_value = current_line.note_columns[note_column_index].effect_number_value + elseif sub_column_type == 7 and current_line.note_columns[note_column_index].effect_amount_value ~= renoise.PatternLine.EMPTY_EFFECT_AMOUNT then + line.note_columns[note_column_index].effect_amount_value = current_line.note_columns[note_column_index].effect_amount_value + end + end + + renoise.app():show_status("Matched current sub-column value to the entire track.") +end + +-- Function to match volume column to current row +local function match_volume_to_current_row() + if not is_in_note_column() then return end + + local song = renoise.song() + local track = song.selected_track + local line_index = song.selected_line_index + local pattern = song.selected_pattern + local number_of_lines = pattern.number_of_lines + local note_column_index = song.selected_note_column_index + local current_line = pattern:track(song.selected_track_index):line(line_index) + + -- Get the volume value from the selected note column + if current_line.note_columns[note_column_index].volume_value ~= renoise.PatternLine.EMPTY_VOLUME then + local volume_value = current_line.note_columns[note_column_index].volume_value + + -- Apply to all lines in the selected track + for i = 1, number_of_lines do + local line = pattern:track(song.selected_track_index):line(i) + line.note_columns[note_column_index].volume_value = volume_value + end + end + + renoise.app():show_status("Matched volume to the entire track from the current row.") +end + +-- Function to match panning column to current row +local function match_panning_to_current_row() + if not is_in_note_column() then return end + + local song = renoise.song() + local track = song.selected_track + local line_index = song.selected_line_index + local pattern = song.selected_pattern + local number_of_lines = pattern.number_of_lines + local note_column_index = song.selected_note_column_index + local current_line = pattern:track(song.selected_track_index):line(line_index) + + -- Get the panning value from the selected note column + if current_line.note_columns[note_column_index].panning_value ~= renoise.PatternLine.EMPTY_PANNING then + local panning_value = current_line.note_columns[note_column_index].panning_value + + -- Apply to all lines in the selected track + for i = 1, number_of_lines do + local line = pattern:track(song.selected_track_index):line(i) + line.note_columns[note_column_index].panning_value = panning_value + end + end + + renoise.app():show_status("Matched panning to the entire track from the current row.") +end + +-- Function to match delay column to current row +local function match_delay_to_current_row() + if not is_in_note_column() then return end + + local song = renoise.song() + local track = song.selected_track + local line_index = song.selected_line_index + local pattern = song.selected_pattern + local number_of_lines = pattern.number_of_lines + local note_column_index = song.selected_note_column_index + local current_line = pattern:track(song.selected_track_index):line(line_index) + + -- Get the delay value from the selected note column + if current_line.note_columns[note_column_index].delay_value ~= renoise.PatternLine.EMPTY_DELAY then + local delay_value = current_line.note_columns[note_column_index].delay_value + + -- Apply to all lines in the selected track + for i = 1, number_of_lines do + local line = pattern:track(song.selected_track_index):line(i) + line.note_columns[note_column_index].delay_value = delay_value + end + end + + renoise.app():show_status("Matched delay to the entire track from the current row.") +end + +renoise.tool():add_keybinding{name="Pattern Editor:Paketti:Match Current Sub Column Selection", invoke = function() match_current_sub_column_to_track() end} +renoise.tool():add_keybinding{name="Pattern Editor:Paketti:Match Volume Column to Current Row",invoke = function() match_volume_to_current_row()end} +renoise.tool():add_keybinding{name="Pattern Editor:Paketti:Match Panning Column to Current Row",invoke = function() match_panning_to_current_row() end} +renoise.tool():add_keybinding{name="Pattern Editor:Paketti:Match Delay Column to Current Row",invoke = function() match_delay_to_current_row() end} +------- + +function nudge(direction) + local song = renoise.song() + local selection = selection_in_pattern_pro() + if not selection then + renoise.app():show_status("No selection in pattern!") + return + end + + local pattern_index = song.selected_pattern_index + local pattern = song.patterns[pattern_index] + + -- Get selection boundaries from song.selection_in_pattern + local pattern_selection = song.selection_in_pattern + if not pattern_selection then + renoise.app():show_status("No selection in pattern!") + return + end + local start_line = pattern_selection.start_line + local end_line = pattern_selection.end_line + + -- Debugging: Print the selection boundaries + print("Selection in Pattern:") + print(string.format("Start Line: %d, End Line: %d", start_line, end_line)) + print(string.format("Start Column: %d, End Column: %d", pattern_selection.start_column, pattern_selection.end_column)) + for _, track_info in ipairs(selection) do + print(string.format("Track Index: %d", track_info.track_index)) + print(string.format("Selected Note Columns: %s", table.concat(track_info.note_columns, ", "))) + end + + -- Helper functions to copy note and effect columns + local function copy_note_column(note_column) + return { + note_value = note_column.note_value, + instrument_value = note_column.instrument_value, + volume_value = note_column.volume_value, + panning_value = note_column.panning_value, + delay_value = note_column.delay_value, + effect_number_value = note_column.effect_number_value, + effect_amount_value = note_column.effect_amount_value + } + end + + local function set_note_column(note_column, data) + note_column.note_value = data.note_value + note_column.instrument_value = data.instrument_value + note_column.volume_value = data.volume_value + note_column.panning_value = data.panning_value + note_column.delay_value = data.delay_value + note_column.effect_number_value = data.effect_number_value + note_column.effect_amount_value = data.effect_amount_value + end + + local function copy_effect_column(effect_column) + return { + number_value = effect_column.number_value, + amount_value = effect_column.amount_value + } + end + + local function set_effect_column(effect_column, data) + effect_column.number_value = data.number_value + effect_column.amount_value = data.amount_value + end + + -- Iterate through selected tracks + for _, track_info in ipairs(selection) do + local track = song.tracks[track_info.track_index] + + -- Validate the boundaries + local lines = pattern.tracks[track_info.track_index].lines + local adjusted_start_line = math.max(1, math.min(start_line, #lines)) + local adjusted_end_line = math.max(1, math.min(end_line, #lines)) + + -- Process all selected note columns + for _, column_index in ipairs(track_info.note_columns) do + if direction == "down" then + -- Store the bottom line data + local bottom_line = lines[adjusted_end_line] + local stored_note_column = copy_note_column(bottom_line.note_columns[column_index]) + local stored_effect_columns = {} + for ec_index, effect_column in ipairs(bottom_line.effect_columns) do + stored_effect_columns[ec_index] = copy_effect_column(effect_column) + end + + -- Shift data down + for line_index = adjusted_end_line, adjusted_start_line + 1, -1 do + local current_line = lines[line_index] + local previous_line = lines[line_index - 1] + + -- Copy note column data + local current_note_column = current_line.note_columns[column_index] + local previous_note_column = previous_line.note_columns[column_index] + current_note_column:copy_from(previous_note_column) + + -- Copy effect columns + local current_effect_columns = current_line.effect_columns + local previous_effect_columns = previous_line.effect_columns + for ec_index = 1, #current_effect_columns do + current_effect_columns[ec_index]:copy_from(previous_effect_columns[ec_index]) + end + end + + -- Place stored data into the top line + local top_line = lines[adjusted_start_line] + set_note_column(top_line.note_columns[column_index], stored_note_column) + local top_effect_columns = top_line.effect_columns + for ec_index = 1, #top_effect_columns do + set_effect_column(top_effect_columns[ec_index], stored_effect_columns[ec_index] or {}) + end + + elseif direction == "up" then + -- Store the top line data + local top_line = lines[adjusted_start_line] + local stored_note_column = copy_note_column(top_line.note_columns[column_index]) + local stored_effect_columns = {} + for ec_index, effect_column in ipairs(top_line.effect_columns) do + stored_effect_columns[ec_index] = copy_effect_column(effect_column) + end + + -- Shift data up + for line_index = adjusted_start_line, adjusted_end_line - 1 do + local current_line = lines[line_index] + local next_line = lines[line_index + 1] + + -- Copy note column data + local current_note_column = current_line.note_columns[column_index] + local next_note_column = next_line.note_columns[column_index] + current_note_column:copy_from(next_note_column) + + -- Copy effect columns + local current_effect_columns = current_line.effect_columns + local next_effect_columns = next_line.effect_columns + for ec_index = 1, #current_effect_columns do + current_effect_columns[ec_index]:copy_from(next_effect_columns[ec_index]) + end + end + + -- Place stored data into the bottom line + local bottom_line = lines[adjusted_end_line] + set_note_column(bottom_line.note_columns[column_index], stored_note_column) + local bottom_effect_columns = bottom_line.effect_columns + for ec_index = 1, #bottom_effect_columns do + set_effect_column(bottom_effect_columns[ec_index], stored_effect_columns[ec_index] or {}) + end + + else + renoise.app():show_status("Invalid nudge direction!") + return + end + end -- End of column iteration + end -- End of track iteration + + -- Return focus to the pattern editor + renoise.app().window.active_middle_frame = renoise.ApplicationWindow.MIDDLE_FRAME_PATTERN_EDITOR + renoise.app():show_status("Nudge " .. direction .. " applied.") +end + +renoise.tool():add_keybinding {name = "Pattern Editor:Paketti:Nudge Down",invoke = function() nudge("down") end} +renoise.tool():add_keybinding {name = "Pattern Editor:Paketti:Nudge Up",invoke = function() nudge("up") end} + +function nudge_with_delay(direction) + local song = renoise.song() + local selection = selection_in_pattern_pro() + if not selection then + renoise.app():show_status("No selection in pattern!") + return + end + + local pattern_index = song.selected_pattern_index + local pattern = song.patterns[pattern_index] + + -- Get selection boundaries from song.selection_in_pattern + local pattern_selection = song.selection_in_pattern + if not pattern_selection then + renoise.app():show_status("No selection in pattern!") + return + end + local start_line = pattern_selection.start_line + local end_line = pattern_selection.end_line + + -- Debugging: Print the selection boundaries + print("Selection in Pattern:") + print(string.format("Start Line: %d, End Line: %d", start_line, end_line)) + print(string.format("Start Column: %d, End Column: %d", pattern_selection.start_column, pattern_selection.end_column)) + for _, track_info in ipairs(selection) do + print(string.format("Track Index: %d", track_info.track_index)) + print(string.format("Selected Note Columns: %s", table.concat(track_info.note_columns, ", "))) + end + + -- Iterate through selected tracks + for _, track_info in ipairs(selection) do + local track = song.tracks[track_info.track_index] + + -- Do not modify delay column visibility + -- Validate the boundaries + local lines = pattern.tracks[track_info.track_index].lines + local adjusted_start_line = math.max(1, math.min(start_line, #lines)) + local adjusted_end_line = math.max(1, math.min(end_line, #lines)) + + -- Process all selected note columns + for _, column_index in ipairs(track_info.note_columns) do + -- Determine the iteration order based on the direction + if direction == "down" then + -- Process from bottom to top for "nudge down" + for line_index = adjusted_end_line, adjusted_start_line, -1 do + local note_column = lines[line_index].note_columns[column_index] + local effect_columns = lines[line_index].effect_columns + + -- Process even if the note_column is empty (no note), but has a delay value + if not note_column.is_empty or note_column.delay_value > 0 then + local delay = note_column.delay_value + local new_delay = delay + 1 + + if new_delay > 0xFF then + new_delay = 0 + + -- Determine the next line index with wrap-around + local next_line_index = line_index + 1 + if next_line_index > adjusted_end_line then + next_line_index = adjusted_start_line -- Wrap to the start of the selection + end + + local next_line = lines[next_line_index] + local next_note_column = next_line.note_columns[column_index] + local next_effect_columns = next_line.effect_columns + + -- Check if the target note column and effect columns are empty + local can_move = next_note_column.is_empty and next_note_column.delay_value == 0 + for _, next_effect_column in ipairs(next_effect_columns) do + if not next_effect_column.is_empty then + can_move = false + break + end + end + + if can_move then + print(string.format( + "Moving note/delay down with wrap: Track %d, Column %d, Row %d -> Row %d", + track_info.track_index, column_index, line_index, next_line_index)) + + -- Move the note column (includes volume, panning, sample effect data) + next_note_column:copy_from(note_column) + next_note_column.delay_value = new_delay -- Set new delay in the new row + note_column:clear() -- Clear the old note completely + + -- Move effect columns + for ec_index, effect_column in ipairs(effect_columns) do + local next_effect_column = next_effect_columns[ec_index] + next_effect_column:copy_from(effect_column) + effect_column:clear() + end + else + print(string.format( + "Collision at Track %d, Column %d, Row %d. Cannot nudge further.", + track_info.track_index, column_index, next_line_index)) + -- Cannot move note due to collision + end + else + -- Update the delay value + note_column.delay_value = new_delay + print(string.format( + "Row %d, Column %d: Note %s, Delay %02X -> %02X", + line_index, column_index, note_column.note_string, delay, new_delay)) + end + end + end + elseif direction == "up" then + -- Process from top to bottom for "nudge up" + for line_index = adjusted_start_line, adjusted_end_line do + local note_column = lines[line_index].note_columns[column_index] + local effect_columns = lines[line_index].effect_columns + + -- Process even if the note_column is empty (no note), but has a delay value + if not note_column.is_empty or note_column.delay_value > 0 then + local delay = note_column.delay_value + local new_delay = delay - 1 + + if new_delay < 0 then + new_delay = 0xFF + + -- Determine the previous line index with wrap-around + local prev_line_index = line_index - 1 + if prev_line_index < adjusted_start_line then + prev_line_index = adjusted_end_line -- Wrap to the end of the selection + end + + local prev_line = lines[prev_line_index] + local prev_note_column = prev_line.note_columns[column_index] + local prev_effect_columns = prev_line.effect_columns + + -- Check if the target note column and effect columns are empty + local can_move = prev_note_column.is_empty and prev_note_column.delay_value == 0 + for _, prev_effect_column in ipairs(prev_effect_columns) do + if not prev_effect_column.is_empty then + can_move = false + break + end + end + + if can_move then + print(string.format( + "Moving note/delay up with wrap: Track %d, Column %d, Row %d -> Row %d", + track_info.track_index, column_index, line_index, prev_line_index)) + + -- Move the note column (includes volume, panning, sample effect data) + prev_note_column:copy_from(note_column) + prev_note_column.delay_value = new_delay -- Set new delay in the new row + note_column:clear() -- Clear the old note completely + + -- Move effect columns + for ec_index, effect_column in ipairs(effect_columns) do + local prev_effect_column = prev_effect_columns[ec_index] + prev_effect_column:copy_from(effect_column) + effect_column:clear() + end + else + print(string.format( + "Collision at Track %d, Column %d, Row %d. Cannot nudge further.", + track_info.track_index, column_index, prev_line_index)) + -- Cannot move note due to collision + end + else + -- Update the delay value + note_column.delay_value = new_delay + print(string.format( + "Row %d, Column %d: Note %s, Delay %02X -> %02X", + line_index, column_index, note_column.note_string, delay, new_delay)) + end + end + end + else + renoise.app():show_status("Invalid nudge direction!") + return + end + end -- End of column iteration + end -- End of track iteration + + -- Return focus to the pattern editor + renoise.app().window.active_middle_frame = renoise.ApplicationWindow.MIDDLE_FRAME_PATTERN_EDITOR + renoise.app():show_status("Nudge " .. direction .. " with delay applied.") +end + +-- Keybindings for nudging up and down +renoise.tool():add_keybinding {name = "Pattern Editor:Paketti:Nudge with Delay (Down)", invoke = function() nudge_with_delay("down") end} +renoise.tool():add_keybinding {name = "Pattern Editor:Paketti:Nudge with Delay (Up)", invoke = function() nudge_with_delay("up") end} + + + + + +-- Main function for toggling LPB and inserting ZLxx commands. +local function toggle_lpb_and_insert_commands() + local song=renoise.song() + local pattern=song.selected_pattern + local track_idx=song.selected_track_index + local line_idx=song.selected_line_index + local track=song.tracks[track_idx] + + if track.type~=renoise.Track.TRACK_TYPE_SEQUENCER then + renoise.app():show_status("ZLxx commands can only be applied to regular tracks!") + return + end + + -- Read LPB from the first row of the track (stored LPB). + local first_line=pattern:track(track_idx):line(1) + local stored_lpb=nil + + if first_line.effect_columns[1].number_string=="ZL" then + stored_lpb=first_line.effect_columns[1].amount_value -- Read the stored LPB. + else + -- If no stored LPB, write the current LPB to the first row. + stored_lpb=song.transport.lpb + first_line.effect_columns[1].number_string="ZL" + first_line.effect_columns[1].amount_value=stored_lpb + renoise.app():show_status("Stored LPB="..stored_lpb.." in the first row.") + end + + -- Calculate LPB/4. + local lpb_div_4=math.max(1, math.floor(stored_lpb/4)) -- Ensure it's at least 1. + + -- Toggle LPB: If current LPB=LPB/4, switch back to stored LPB. Otherwise, set to LPB/4. + if song.transport.lpb==lpb_div_4 then + song.transport.lpb=stored_lpb + renoise.app():show_status("Restored LPB to original value: "..stored_lpb) + else + song.transport.lpb=lpb_div_4 + renoise.app():show_status("Set LPB to LPB/4: "..lpb_div_4) + end + + -- Insert ZL01 at the current line. + local current_line=pattern:track(track_idx):line(line_idx) + current_line.effect_columns[1].number_string="ZL" + current_line.effect_columns[1].amount_value=1 + + -- Insert ZLxx (stored LPB) at the calculated next position. + local pattern_length=pattern.number_of_lines + local next_idx=line_idx+lpb_div_4 + if next_idx>pattern_length then + next_idx=(next_idx-pattern_length)%pattern_length -- Wrap to the first row. + end + + local next_line=pattern:track(track_idx):line(next_idx) + next_line.effect_columns[1].number_string="ZL" + next_line.effect_columns[1].amount_value=stored_lpb + + -- Return focus to the pattern editor. + renoise.app().window.active_middle_frame=renoise.ApplicationWindow.MIDDLE_FRAME_PATTERN_EDITOR + renoise.app():show_status("Inserted ZL01 and ZL"..stored_lpb.." commands!") + renoise.song().transport.lpb=stored_lpb +end + +-- Add keybinding to trigger the function. +renoise.tool():add_keybinding {name="Global:Paketti:Divide LPB by 4, return to Original",invoke=function() toggle_lpb_and_insert_commands() end} +------- + + +function globalCenter() + +local song=renoise.song() + +-- Calculate the total number of tracks +local total_tracks=song.sequencer_track_count+1+song.send_track_count + +-- Iterate through each track and set panning values +for i=1,total_tracks do + local track=song.tracks[i] + track.postfx_panning.value=0.5 + track.prefx_panning.value=0.5 +end + +renoise.app():show_status("Panning values for all tracks set to 0.5") + +end + +renoise.tool():add_keybinding{name="Global:Paketti:Set All Tracks to Center",invoke=function() globalCenter() end} +renoise.tool():add_menu_entry{name="Mixer:Paketti..:Set All Tracks to Center",invoke=function() globalCenter() end} +renoise.tool():add_menu_entry{name="Pattern Editor:Paketti..:Set All Tracks to Center",invoke=function() globalCenter() end} +renoise.tool():add_menu_entry{name="DSP Device:Paketti..:Set All Tracks to Center",invoke=function() globalCenter() end} +------ +-- Toggle Note Off "===" On / Off in all selected tracks within the selection or current row. +function PakettiNoteOffToSelection() + local s = renoise.song() + local currPatt = s.selected_pattern_index + local selection = s.selection_in_pattern + local note_col_idx = s.selected_note_column_index + + if selection then + -- Loop through all lines and tracks within the selection + for line = selection.start_line, selection.end_line do + for track = selection.start_track, selection.end_track do + local note_col = s.patterns[currPatt].tracks[track].lines[line].note_columns[note_col_idx] + + if note_col_idx and note_col_idx > 0 then + if note_col.note_string == "OFF" then + note_col.note_string = "" + else + note_col.note_string = "OFF" + end + end + end + end + else + -- No selection, operate on the current row + local currLine = s.selected_line_index + local currTrack = s.selected_track_index + + if note_col_idx and note_col_idx > 0 then + local note_col = s.patterns[currPatt].tracks[currTrack].lines[currLine].note_columns[note_col_idx] + + if note_col.note_string == "OFF" then + note_col.note_string = "" + else + note_col.note_string = "OFF" + end + end + end +end + +-- Add keybinding for the new function +renoise.tool():add_keybinding{name="Pattern Editor:Paketti:Toggle Note Off in Selected Tracks",invoke=function() PakettiNoteOffToSelection() end} + +------- +-- Function with an option to retain or clear silence rows +local function DuplicateSelectionWithPaddingMoveCursor(retain_silence_content) + local song = renoise.song() + local selection = song.selection_in_pattern + + -- Check if there's a selection + if not selection then + renoise.app():show_status("Nothing was selected, doing nothing.") + return + end + + local pattern = song.selected_pattern + local pattern_lines = pattern.number_of_lines + local selected_track_index = song.selected_track_index + + -- Determine selection start and end lines + local start_line = selection.start_line + local end_line = selection.end_line + local selection_length = end_line - start_line + 1 + + -- Calculate required end position to fit content, silence, content, and final silence + local required_end_position = end_line + (selection_length * 3) -- original + silence + duplicated + final silence + + -- Check if the required pattern length exceeds the max limit of 512 lines + if required_end_position > 512 then + renoise.app():show_status("Already at maximum pattern length, doing nothing.") + return + end + + -- Resize pattern only if required end position exceeds current length + if required_end_position > pattern_lines then + pattern.number_of_lines = required_end_position + pattern_lines = required_end_position + renoise.app():show_status("Pattern resized to " .. required_end_position .. " lines to accommodate duplication and silence.") + end + + -- Calculate positions for silent rows and duplicated content + local silence_start = end_line + 1 + local paste_start = silence_start + selection_length + local paste_end = paste_start + selection_length - 1 + local final_silence_start = paste_end + 1 + + -- Reference to the track for modifying lines + local track = pattern:track(selected_track_index) + + -- Copy the selected lines into a table + local content_copy = {} + for line = start_line, end_line do + local line_data = track:line(line) + content_copy[#content_copy + 1] = { + note_columns = {}, + effect_columns = {} + } + -- Copy each note column + for nc = 1, #line_data.note_columns do + local note_column = line_data:note_column(nc) + content_copy[#content_copy].note_columns[nc] = { + note_value = note_column.note_value, + instrument_value = note_column.instrument_value, + volume_value = note_column.volume_value, + panning_value = note_column.panning_value, + delay_value = note_column.delay_value, + effect_number_value = note_column.effect_number_value, + effect_amount_value = note_column.effect_amount_value + } + end + -- Copy each effect column + for ec = 1, #line_data.effect_columns do + local effect_column = line_data:effect_column(ec) + content_copy[#content_copy].effect_columns[ec] = { + number_value = effect_column.number_value, + amount_value = effect_column.amount_value + } + end + end + + -- Insert silence after original content (retain or clear based on function parameter) + for line = silence_start, silence_start + selection_length - 1 do + if not retain_silence_content then + track:line(line):clear() + end + end + + -- Paste duplicated content after the silent rows + for i, line_content in ipairs(content_copy) do + local target_line = track:line(paste_start + i - 1) + -- Paste note columns + for nc, note_data in ipairs(line_content.note_columns) do + local note_column = target_line:note_column(nc) + note_column.note_value = note_data.note_value + note_column.instrument_value = note_data.instrument_value + note_column.volume_value = note_data.volume_value + note_column.panning_value = note_data.panning_value + note_column.delay_value = note_data.delay_value + note_column.effect_number_value = note_data.effect_number_value + note_column.effect_amount_value = note_data.effect_amount_value + end + -- Paste effect columns + for ec, effect_data in ipairs(line_content.effect_columns) do + local effect_column = target_line:effect_column(ec) + effect_column.number_value = effect_data.number_value + effect_column.amount_value = effect_data.amount_value + end + end + + -- Insert final silence after the duplicated content (retain or clear based on function parameter) + for line = final_silence_start, final_silence_start + selection_length - 1 do + if not retain_silence_content then + track:line(line):clear() + end + end + + -- Set selection and move cursor to the equivalent row in the pasted content + song.selection_in_pattern = { + start_line = paste_start, + end_line = paste_end, + start_track = selection.start_track, + end_track = selection.end_track + } + song.transport.edit_pos = renoise.SongPos(song.selected_sequence_index, paste_start + (song.transport.edit_pos.line - start_line)) +end + + +renoise.tool():add_keybinding{name="Pattern Editor:Paketti:Duplicate Selection with Padding&Move Cursor 1", invoke=function() DuplicateSelectionWithPaddingMoveCursor(false) end} +renoise.tool():add_keybinding{name="Pattern Editor:Paketti:Duplicate Selection with Padding&Move Cursor 2", invoke=function() DuplicateSelectionWithPaddingMoveCursor(true) end} +------ +local function NudgeAndPasteSelection(deselect) + local song = renoise.song() + local selection = song.selection_in_pattern + + -- Check if there's a selection + if not selection then + renoise.app():show_status("Nothing was selected, doing nothing.") + return + end + + local pattern = song.selected_pattern + local pattern_lines = pattern.number_of_lines + local selected_track_index = song.selected_track_index + + -- Determine selection start and end lines + local start_line = selection.start_line + local end_line = selection.end_line + local selection_length = end_line - start_line + 1 + + -- Reference to the track for modifying lines + local track = pattern:track(selected_track_index) + + -- Step 1: Copy the selected lines into a table + local content_copy = {} + for line = start_line, end_line do + local line_data = track:line(line) + content_copy[#content_copy + 1] = { + note_columns = {}, + effect_columns = {} + } + -- Copy each note column + for nc = 1, #line_data.note_columns do + local note_column = line_data:note_column(nc) + content_copy[#content_copy].note_columns[nc] = { + note_value = note_column.note_value, + instrument_value = note_column.instrument_value, + volume_value = note_column.volume_value, + panning_value = note_column.panning_value, + delay_value = note_column.delay_value, + effect_number_value = note_column.effect_number_value, + effect_amount_value = note_column.effect_amount_value + } + end + -- Copy each effect column + for ec = 1, #line_data.effect_columns do + local effect_column = line_data:effect_column(ec) + content_copy[#content_copy].effect_columns[ec] = { + number_value = effect_column.number_value, + amount_value = effect_column.amount_value + } + end + end + + -- Step 2: Nudge existing content down by the selection length + for line = pattern_lines - selection_length, start_line, -1 do + local target_line = line + selection_length + if target_line <= pattern_lines then + track:line(target_line):copy_from(track:line(line)) + end + end + + -- Step 3: Clear the original selection range to prepare for pasting + for line = start_line, end_line do + track:line(line):clear() + end + + -- Step 4: Paste the copied content into the original selection position + for i, line_content in ipairs(content_copy) do + local target_line = track:line(start_line + i - 1) + -- Paste note columns + for nc, note_data in ipairs(line_content.note_columns) do + local note_column = target_line:note_column(nc) + note_column.note_value = note_data.note_value + note_column.instrument_value = note_data.instrument_value + note_column.volume_value = note_data.volume_value + note_column.panning_value = note_data.panning_value + note_column.delay_value = note_data.delay_value + note_column.effect_number_value = note_data.effect_number_value + note_column.effect_amount_value = note_data.effect_amount_value + end + -- Paste effect columns + for ec, effect_data in ipairs(line_content.effect_columns) do + local effect_column = target_line:effect_column(ec) + effect_column.number_value = effect_data.number_value + effect_column.amount_value = effect_data.amount_value + end + end + + -- Set selection in pattern to the newly pasted content +if deselect ~= false then + + song.selection_in_pattern = { + start_line = start_line, + end_line = end_line, + start_track = selection.start_track, + end_track = selection.end_track + } +else renoise.song().selection_in_pattern = nil +end +end + +renoise.tool():add_keybinding{name="Pattern Editor:Paketti:Nudge and Paste Selection", invoke=function() NudgeAndPasteSelection(true) end} +renoise.tool():add_keybinding{name="Pattern Editor:Paketti:Nudge and Paste Selection + Deselect", invoke=function() NudgeAndPasteSelection(false) end} diff --git a/PakettiPatternMatrix.lua b/PakettiPatternMatrix.lua index 57b5ea5..6fcf929 100644 --- a/PakettiPatternMatrix.lua +++ b/PakettiPatternMatrix.lua @@ -19,4 +19,158 @@ renoise.tool():add_menu_entry{name="--Pattern Matrix:Paketti..:Bypass All Device renoise.tool():add_menu_entry{name="Pattern Matrix:Paketti..:Enable All Devices on Channel", invoke=function() effectenable() end} renoise.tool():add_menu_entry{name="--Pattern Matrix:Paketti..:Play at 75% Speed (Song BPM)", invoke=function() playat75() end} renoise.tool():add_menu_entry{name="Pattern Matrix:Paketti..:Play at 100% Speed (Song BPM)", invoke=function() returnbackto100() end} +------- + + + +local function duplicate_pattern_and_clear_muted_above() + local song=renoise.song() + local current_pattern_index=song.selected_pattern_index + local current_sequence_index=song.selected_sequence_index + + -- Insert a new, unreferenced pattern above the current sequence index + local new_sequence_index = current_sequence_index + local new_pattern_index = song.sequencer:insert_new_pattern_at(new_sequence_index) + + -- Copy the current pattern into the newly created pattern + song.patterns[new_pattern_index]:copy_from(song.patterns[current_pattern_index]) + + -- Set the name of the new pattern based on the original name or default to "Pattern (mutes cleared)" + local original_name = song.patterns[current_pattern_index].name + if original_name == "" then + original_name = "Pattern " .. tostring(current_pattern_index) + end + song.patterns[new_pattern_index].name = original_name .. " (mutes cleared)" + + -- Select the new sequence index + song.selected_sequence_index = new_sequence_index + + -- Apply mute states from the original pattern to the new pattern in the sequencer + for track_index = 1, #song.tracks do + local is_muted = song.sequencer:track_sequence_slot_is_muted(track_index, current_sequence_index) + song.sequencer:set_track_sequence_slot_is_muted(track_index, new_sequence_index, is_muted) + if is_muted then + print("Track " .. track_index .. " was muted in the original sequence; muting in new sequence.") + end + end + + -- Copy all automation data from the original pattern to the new pattern + for track_index = 1, #song.tracks do + local original_track = song.patterns[current_pattern_index].tracks[track_index] + local new_track = song.patterns[new_pattern_index].tracks[track_index] + + for _, automation in ipairs(original_track.automation) do + local parameter = automation.dest_parameter + + -- Find or create the corresponding automation in the new track + local new_automation = new_track:find_automation(parameter) + if not new_automation then + new_automation = new_track:create_automation(parameter) + end + + -- Copy the entire automation data using copy_from + new_automation:copy_from(automation) + print("Copied complete automation for parameter in track " .. track_index) + end + end + + -- Identify tracks that are muted or off, then clear them in the new pattern + local muted_tracks = {} + for i, track in ipairs(song.tracks) do + if track.mute_state == renoise.Track.MUTE_STATE_MUTED or track.mute_state == renoise.Track.MUTE_STATE_OFF then + table.insert(muted_tracks, i) + print("Track " .. i .. " is muted or off. Preparing to clear it.") + end + end + + for _, track_index in ipairs(muted_tracks) do + song.patterns[new_pattern_index].tracks[track_index]:clear() + print("Cleared track " .. track_index .. " in duplicated pattern.") + end + + renoise.app():show_status("Duplicated pattern above current sequence with mute states, complete automation, and cleared muted tracks.") +end + +renoise.tool():add_keybinding{name="Global:Paketti:Duplicate Pattern Above & Clear Muted Tracks", invoke=duplicate_pattern_and_clear_muted_above} +renoise.tool():add_midi_mapping{name="Paketti:Duplicate Pattern Above & Clear Muted", invoke=duplicate_pattern_and_clear_muted_above} +renoise.tool():add_menu_entry{name="Main Menu:Tools:Paketti..:Pattern Editor..:Duplicate Pattern Above & Clear Muted", invoke=duplicate_pattern_and_clear_muted_above} +renoise.tool():add_menu_entry{name="Pattern Editor:Paketti..:Duplicate Pattern Above & Clear Muted", invoke=duplicate_pattern_and_clear_muted_above} +renoise.tool():add_menu_entry{name="Pattern Matrix:Paketti..:Duplicate Pattern Above & Clear Muted", invoke=duplicate_pattern_and_clear_muted_above} +renoise.tool():add_menu_entry{name="Mixer:Paketti..:Duplicate Pattern Above & Clear Muted", invoke=duplicate_pattern_and_clear_muted_above} + + +local function duplicate_pattern_and_clear_muted() + local song=renoise.song() + local current_pattern_index=song.selected_pattern_index + local current_sequence_index=song.selected_sequence_index + + -- Insert a new, unreferenced pattern below the current sequence index + local new_sequence_index = current_sequence_index + 1 + local new_pattern_index = song.sequencer:insert_new_pattern_at(new_sequence_index) + + -- Copy the current pattern into the newly created pattern + song.patterns[new_pattern_index]:copy_from(song.patterns[current_pattern_index]) + + -- Set the name of the new pattern based on the original name or default to "Pattern (mutes cleared)" + local original_name = song.patterns[current_pattern_index].name + if original_name == "" then + original_name = "Pattern " .. tostring(current_pattern_index) + end + song.patterns[new_pattern_index].name = original_name .. " (mutes cleared)" + + -- Select the new sequence index + song.selected_sequence_index = new_sequence_index + + -- Apply mute states from the original pattern to the new pattern in the sequencer + for track_index = 1, #song.tracks do + local is_muted = song.sequencer:track_sequence_slot_is_muted(track_index, current_sequence_index) + song.sequencer:set_track_sequence_slot_is_muted(track_index, new_sequence_index, is_muted) + if is_muted then + end + end + + -- Copy all automation data from the original pattern to the new pattern + for track_index = 1, #song.tracks do + local original_track = song.patterns[current_pattern_index].tracks[track_index] + local new_track = song.patterns[new_pattern_index].tracks[track_index] + + for _, automation in ipairs(original_track.automation) do + local parameter = automation.dest_parameter + + -- Find or create the corresponding automation in the new track + local new_automation = new_track:find_automation(parameter) + if not new_automation then + new_automation = new_track:create_automation(parameter) + end + + -- Copy the entire automation data using copy_from + new_automation:copy_from(automation) + end + end + + -- Identify tracks that are muted or off, then clear them in the new pattern + local muted_tracks = {} + for i, track in ipairs(song.tracks) do + if track.mute_state == renoise.Track.MUTE_STATE_MUTED or track.mute_state == renoise.Track.MUTE_STATE_OFF then + table.insert(muted_tracks, i) + end + end + + for _, track_index in ipairs(muted_tracks) do + song.patterns[new_pattern_index].tracks[track_index]:clear() + end + + renoise.app():show_status("Duplicated pattern below current sequence with mute states, complete automation, and cleared muted tracks.") +end + +renoise.tool():add_keybinding{name="Global:Paketti:Duplicate Pattern Below & Clear Muted Tracks", invoke=duplicate_pattern_and_clear_muted} +renoise.tool():add_midi_mapping{name="Paketti:Duplicate Pattern Below & Clear Muted", invoke=duplicate_pattern_and_clear_muted} +renoise.tool():add_menu_entry{name="Main Menu:Tools:Paketti..:Pattern Editor..:Duplicate Pattern Below & Clear Muted", invoke=duplicate_pattern_and_clear_muted} +renoise.tool():add_menu_entry{name="Pattern Editor:Paketti..:Duplicate Pattern Below & Clear Muted", invoke=duplicate_pattern_and_clear_muted} +renoise.tool():add_menu_entry{name="Pattern Matrix:Paketti..:Duplicate Pattern Below & Clear Muted", invoke=duplicate_pattern_and_clear_muted} +renoise.tool():add_menu_entry{name="Mixer:Paketti..:Duplicate Pattern Below & Clear Muted", invoke=duplicate_pattern_and_clear_muted} + + + + diff --git a/PakettiRequests.lua b/PakettiRequests.lua index e786ec6..7dd559e 100644 --- a/PakettiRequests.lua +++ b/PakettiRequests.lua @@ -2843,6 +2843,123 @@ renoise.tool():add_menu_entry{name="--Instrument Box:Paketti..:Isolate Slices or renoise.tool():add_menu_entry{name="--Sample Mappings:Paketti..:Isolate Slices or Samples to New Instruments",invoke=PakettiIsolateSlices} renoise.tool():add_keybinding{name="Global:Paketti:Isolate Slices or Samples to New Instruments",invoke=PakettiIsolateSlices} renoise.tool():add_midi_mapping{name="Paketti:Isolate Slices or Samples to New Instruments",invoke=PakettiIsolateSlices} + +-- Main function to isolate slices into a new instrument or samples into new instruments +function PakettiIsolateSlicesToInstrument() + local song = renoise.song() + local selected_instrument_index = song.selected_instrument_index + local instrument = song.selected_instrument + local selected_sample_index = song.selected_sample_index + + if not instrument or #instrument.samples == 0 then + renoise.app():show_status("No valid instrument with samples selected.") + return + end + + -- Helper function to create a new instrument + local function create_new_instrument(name_suffix, index) + song:insert_instrument_at(index) + song.selected_instrument_index = index +renoise.app():load_instrument(preferences.pakettiDefaultDrumkitXRNI.value) + local new_instrument = song.instruments[index] + new_instrument.name = instrument.name .. name_suffix + return new_instrument + end + + -- Helper function to create a new sample with given sample data + local function create_new_sample(new_instrument, sample, start_frame, end_frame, sample_name) + local new_sample = new_instrument:insert_sample_at(#new_instrument.samples + 1) + new_sample.name = sample_name + + local slice_length = end_frame - start_frame + 1 + new_sample.sample_buffer:create_sample_data( + sample.sample_buffer.sample_rate, + sample.sample_buffer.bit_depth, + sample.sample_buffer.number_of_channels, + slice_length + ) + new_sample.sample_buffer:prepare_sample_data_changes() + + for ch = 1, sample.sample_buffer.number_of_channels do + for frame = 1, slice_length do + new_sample.sample_buffer:set_sample_data(ch, frame, sample.sample_buffer:sample_data(ch, start_frame + frame - 1)) + end + end + + new_sample.sample_buffer:finalize_sample_data_changes() + end + + local sample = instrument.samples[1] + local insert_index = selected_instrument_index + 1 + + if #sample.slice_markers > 0 then + -- Create one new instrument for all slices + local new_instrument = create_new_instrument(" (Isolated Slices)", insert_index) + for i, slice_start in ipairs(sample.slice_markers) do + local slice_end = (i == #sample.slice_markers) and sample.sample_buffer.number_of_frames or sample.slice_markers[i + 1] - 1 + local slice_length = slice_end - slice_start + 1 + + if slice_length > 0 then + local sample_name = "Slice " .. string.format("%02X", i) + create_new_sample(new_instrument, sample, slice_start, slice_end, sample_name) + else + renoise.app():show_status("Invalid slice length calculated.") + return + end + end + song.selected_instrument_index = insert_index + else + -- No slices, handle samples as before + for i = 1, #instrument.samples do + local sample = instrument.samples[i] + -- Create a new instrument for each sample + local new_instrument = create_new_instrument(" (Sample " .. string.format("%02X", i) .. ")", insert_index) + create_new_sample(new_instrument, sample, 1, sample.sample_buffer.number_of_frames, sample.name) + insert_index = insert_index + 1 + end + song.selected_instrument_index = selected_instrument_index + selected_sample_index + end + + song.transport.octave = 3 + renoise.app():show_status( + #sample.slice_markers > 0 and + #sample.slice_markers .. " Slices isolated into a new Instrument" or + #instrument.samples .. " Samples isolated into new Instruments" + ) + renoise.song().selected_instrument:delete_sample_at(1) +end + +-- Update menu entries and keybindings to reflect the new function name and purpose +renoise.tool():add_menu_entry{ + name="Instrument Box:Paketti..:Isolate Slices to New Instrument", + invoke=PakettiIsolateSlicesToInstrument +} +renoise.tool():add_menu_entry{ + name="Sample Navigator:Paketti..:Isolate Slices to New Instrument", + invoke=PakettiIsolateSlicesToInstrument +} +renoise.tool():add_menu_entry{ + name="Sample Editor:Paketti..:Isolate Slices to New Instrument", + invoke=PakettiIsolateSlicesToInstrument +} +renoise.tool():add_menu_entry{ + name="Sample Mappings:Paketti..:Isolate Slices to New Instrument", + invoke=PakettiIsolateSlicesToInstrument +} +renoise.tool():add_menu_entry{ + name="Main Menu:Tools:Paketti..:Instruments..:Isolate Slices to New Instrument", + invoke=PakettiIsolateSlicesToInstrument +} +renoise.tool():add_keybinding{ + name="Global:Paketti:Isolate Slices to New Instrument", + invoke=PakettiIsolateSlicesToInstrument +} +renoise.tool():add_midi_mapping{ + name="Paketti:Isolate Slices to New Instrument", + invoke=PakettiIsolateSlicesToInstrument +} + + --------- --[[ This script reverses the notes and their associated data in the selected pattern range. @@ -2850,140 +2967,235 @@ renoise.tool():add_midi_mapping{name="Paketti:Isolate Slices or Samples to New I ]] function PakettiReverseNotesInSelection() - local song = renoise.song() - local selection = song.selection_in_pattern + local song=renoise.song() + local selection=selection_in_pattern_pro() if not selection then renoise.app():show_status("No selection in the pattern.") return end - local start_line = selection.start_line - local end_line = selection.end_line - local start_track = selection.start_track - local end_track = selection.end_track - - local notes = {} - local origin_track = song.tracks[start_track] - - -- Collect notes and effect columns from the selection - for line = start_line, end_line do - for track = start_track, end_track do - local pattern_track = song.selected_pattern.tracks[track] - local note_columns = pattern_track:line(line).note_columns - local effect_columns = pattern_track:line(line).effect_columns - local line_data = {note_columns = {}, effect_columns = {}} - - for column_index, column in ipairs(note_columns) do - line_data.note_columns[column_index] = { - note_value = column.note_value, - instrument_value = column.instrument_value, - volume_value = column.volume_value, - panning_value = column.panning_value, - delay_value = column.delay_value, - is_empty = column.is_empty + -- Get the global start and end lines from song.selection_in_pattern + local pattern_selection=song.selection_in_pattern + local start_line=pattern_selection.start_line + local end_line=pattern_selection.end_line + + local notes={} + + -- Collect notes and effect columns from the advanced selection + for _,track_info in ipairs(selection) do + local track_index=track_info.track_index + local pattern_track=song.selected_pattern.tracks[track_index] + + -- Loop through lines in the selection + for line=start_line,end_line do + local line_data={note_columns={},effect_columns={}} + + -- Collect note columns + for _,col in ipairs(track_info.note_columns) do + local column=pattern_track:line(line).note_columns[col] + line_data.note_columns[col]={ + note_value=column.note_value, + instrument_value=column.instrument_value, + volume_value=column.volume_value, + panning_value=column.panning_value, + delay_value=column.delay_value, + is_empty=column.is_empty } end - for column_index, column in ipairs(effect_columns) do - line_data.effect_columns[column_index] = { - number_value = column.number_value, - amount_value = column.amount_value, - is_empty = column.is_empty + -- Collect effect columns + for _,col in ipairs(track_info.effect_columns) do + local column=pattern_track:line(line).effect_columns[col] + line_data.effect_columns[col]={ + number_value=column.number_value, + amount_value=column.amount_value, + is_empty=column.is_empty } end - table.insert(notes, {line = line, track = track, line_data = line_data}) + table.insert(notes,{line=line,track=track_index,line_data=line_data}) end end -- Debug output for collected notes and effect columns print("Collected Notes and Effect Columns:") - for _, note in ipairs(notes) do - for column_index, column in ipairs(note.line_data.note_columns) do - if not column.is_empty then + for _,note in ipairs(notes) do + for col,col_data in pairs(note.line_data.note_columns) do + if not col_data.is_empty then print(string.format("Line: %d, Track: %d, Note Column: %d, Note: %d, Instrument: %d, Volume: %d, Panning: %d, Delay: %d", - note.line, note.track, column_index, column.note_value, column.instrument_value, column.volume_value, column.panning_value, column.delay_value)) + note.line,note.track,col,col_data.note_value,col_data.instrument_value,col_data.volume_value,col_data.panning_value,col_data.delay_value)) else - print(string.format("Line: %d, Track: %d, Note Column: %d is empty", note.line, note.track, column_index)) + print(string.format("Line: %d, Track: %d, Note Column: %d is empty",note.line,note.track,col)) end end - for column_index, column in ipairs(note.line_data.effect_columns) do - if not column.is_empty then + for col,col_data in pairs(note.line_data.effect_columns) do + if not col_data.is_empty then print(string.format("Line: %d, Track: %d, Effect Column: %d, Number: %d, Amount: %d", - note.line, note.track, column_index, column.number_value, column.amount_value)) + note.line,note.track,col,col_data.number_value,col_data.amount_value)) else - print(string.format("Line: %d, Track: %d, Effect Column: %d is empty", note.line, note.track, column_index)) + print(string.format("Line: %d, Track: %d, Effect Column: %d is empty",note.line,note.track,col)) end end end -- Reverse the collected notes and effect columns - local reversed_notes = {} - for i = #notes, 1, -1 do - table.insert(reversed_notes, notes[i]) + local reversed_notes={} + for i=#notes,1,-1 do + table.insert(reversed_notes,notes[i]) end -- Debug output for reversed notes and effect columns print("Reversed Notes and Effect Columns:") - for _, note in ipairs(reversed_notes) do - for column_index, column in ipairs(note.line_data.note_columns) do - if not column.is_empty then + for _,note in ipairs(reversed_notes) do + for col,col_data in pairs(note.line_data.note_columns) do + if not col_data.is_empty then print(string.format("Line: %d, Track: %d, Note Column: %d, Note: %d, Instrument: %d, Volume: %d, Panning: %d, Delay: %d", - note.line, note.track, column_index, column.note_value, column.instrument_value, column.volume_value, column.panning_value, column.delay_value)) + note.line,note.track,col,col_data.note_value,col_data.instrument_value,col_data.volume_value,col_data.panning_value,col_data.delay_value)) else - print(string.format("Line: %d, Track: %d, Note Column: %d is empty", note.line, note.track, column_index)) + print(string.format("Line: %d, Track: %d, Note Column: %d is empty",note.line,note.track,col)) end end - for column_index, column in ipairs(note.line_data.effect_columns) do - if not column.is_empty then + for col,col_data in pairs(note.line_data.effect_columns) do + if not col_data.is_empty then print(string.format("Line: %d, Track: %d, Effect Column: %d, Number: %d, Amount: %d", - note.line, note.track, column_index, column.number_value, column.amount_value)) + note.line,note.track,col,col_data.number_value,col_data.amount_value)) else - print(string.format("Line: %d, Track: %d, Effect Column: %d is empty", note.line, note.track, column_index)) + print(string.format("Line: %d, Track: %d, Effect Column: %d is empty",note.line,note.track,col)) end end end -- Write reversed notes and effect columns back to the original selection - for i, note in ipairs(reversed_notes) do - local line_index = start_line + (i - 1) - for column_index, column in ipairs(note.line_data.note_columns) do - local note_column = song.selected_pattern.tracks[note.track]:line(line_index).note_columns[column_index] - - note_column.note_value = column.note_value - note_column.instrument_value = column.instrument_value - note_column.volume_value = column.volume_value - note_column.panning_value = column.panning_value - note_column.delay_value = column.delay_value + for i,note in ipairs(reversed_notes) do + local line_index=start_line+(i-1) + local pattern_track=song.selected_pattern.tracks[note.track] + + for col,col_data in pairs(note.line_data.note_columns) do + local note_column=pattern_track:line(line_index).note_columns[col] + note_column.note_value=col_data.note_value + note_column.instrument_value=col_data.instrument_value + note_column.volume_value=col_data.volume_value + note_column.panning_value=col_data.panning_value + note_column.delay_value=col_data.delay_value -- Debug output before writing note print(string.format("Writing Note to Line: %d, Track: %d, Note Column: %d, Note: %d, Instrument: %d, Volume: %d, Panning: %d, Delay: %d", - line_index, note.track, column_index, column.note_value, column.instrument_value, column.volume_value, column.panning_value, column.delay_value)) + line_index,note.track,col,col_data.note_value,col_data.instrument_value,col_data.volume_value,col_data.panning_value,col_data.delay_value)) end - for column_index, column in ipairs(note.line_data.effect_columns) do - local effect_column = song.selected_pattern.tracks[note.track]:line(line_index).effect_columns[column_index] - - effect_column.number_value = column.number_value - effect_column.amount_value = column.amount_value + for col,col_data in pairs(note.line_data.effect_columns) do + local effect_column=pattern_track:line(line_index).effect_columns[col] + effect_column.number_value=col_data.number_value + effect_column.amount_value=col_data.amount_value -- Debug output before writing effect print(string.format("Writing Effect to Line: %d, Track: %d, Effect Column: %d, Number: %d, Amount: %d", - line_index, note.track, column_index, column.number_value, column.amount_value)) + line_index,note.track,col,col_data.number_value,col_data.amount_value)) end end - -- Debug output after writing back reversed notes and effect columns - print("Reversed notes and effect columns written back to pattern in the original selection.") - renoise.app():show_status("Notes and effect columns in the selection have been reversed.") end -renoise.tool():add_menu_entry{name="Main Menu:Tools:Paketti..:Pattern Editor..:Reverse Notes in Selection",invoke=PakettiReverseNotesInSelection} + +renoise.tool():add_menu_entry{name="Main Menu:Tools:Paketti..:Pattern Editor..:Reverse Notes in Selection",invoke=function() PakettiReverseNotesInSelection() end } +renoise.tool():add_keybinding{name="Pattern Editor:Paketti:Reverse Notes in Selection",invoke=function() PakettiReverseNotesInSelection() end} + +-- Randomize or swap notes in a pattern selection +-- Randomize or swap notes in a pattern selection (using selection_in_pattern_pro) +function randomize_notes_in_selection() + local song = renoise.song() + local selection = selection_in_pattern_pro() + + -- Check if a valid selection is returned + if not selection then + renoise.app():show_status("No selection in pattern") + return + end + + local notes = {} + local note_positions = {} + + -- Step 1: Collect all notes in the selection + for _, track_info in ipairs(selection) do + local track_index = track_info.track_index + local note_columns = track_info.note_columns + + for _, col in ipairs(note_columns) do + for line_idx = song.selection_in_pattern.start_line, song.selection_in_pattern.end_line do + local note_column = song:pattern(song.selected_pattern_index):track(track_index):line(line_idx):note_column(col) + + -- Check if there's a note in this column + if note_column and note_column.note_string ~= "---" then + table.insert(notes, { + note = note_column.note_string, + instr = note_column.instrument_value, + vol = note_column.volume_value, + pann = note_column.panning_value, + delay = note_column.delay_value + }) + table.insert(note_positions, { + line = line_idx, + track = track_index, + column = col + }) + + -- Clear the note in preparation for rearranging + note_column:clear() + end + end + end + end + + -- Step 2: Handle the notes based on their count + local note_count = #notes + + if note_count < 2 then + renoise.app():show_status("Not enough notes to randomize") + return + elseif note_count == 2 then + -- Swap the two notes + local temp = note_positions[1] + note_positions[1] = note_positions[2] + note_positions[2] = temp + else + -- Randomize note positions + local random_pos = {} + + while #note_positions > 0 do + local idx = math.random(#note_positions) + table.insert(random_pos, note_positions[idx]) + table.remove(note_positions, idx) + end + + note_positions = random_pos + end + + -- Step 3: Reapply the notes in their new positions + for i, note_data in ipairs(notes) do + local pos = note_positions[i] + local note_column = song:pattern(song.selected_pattern_index):track(pos.track):line(pos.line):note_column(pos.column) + note_column.note_string = note_data.note + note_column.instrument_value = note_data.instr + note_column.volume_value = note_data.vol + note_column.panning_value = note_data.pann + note_column.delay_value = note_data.delay + end + + renoise.app():show_status("Notes randomized successfully") +end + + + +renoise.tool():add_keybinding{name="Global:Paketti:Roll the Dice on Notes",invoke= function() +randomize_notes_in_selection() end} + +renoise.tool():add_menu_entry{name="--Pattern Editor:Paketti..:Roll the Dice on Notes in Selection",invoke=function() randomize_notes_in_selection() end } renoise.tool():add_menu_entry{name="Pattern Editor:Paketti..:Reverse Notes in Selection",invoke=PakettiReverseNotesInSelection} -renoise.tool():add_keybinding{name="Pattern Editor:Paketti:Reverse Notes in Selection",invoke=PakettiReverseNotesInSelection} + ------- +--[[ local MIN_SHIFT = -12 local MAX_SHIFT = 12 @@ -3138,6 +3350,126 @@ for interval = MIN_SHIFT, MAX_SHIFT do } end end +]]-- + +local MIN_SHIFT = -12 +local MAX_SHIFT = 12 + +-- Main function to adjust instrument transpose +local function PakettiTransposeShifter(interval, scope) + local song = renoise.song() + + -- Validate interval + if interval == 0 then + renoise.app():show_status("No shift applied (interval is 0)") + return + end + + -- Function to process a single instrument + local function process_instrument(instrument, instrument_index, interval) + local new_transpose = instrument.transpose + interval + + -- Ensure the new transpose is within valid range (-120 to +120) + if new_transpose > 120 then + renoise.app():show_status("Transpose cannot exceed +120. Skipping Instrument " .. instrument_index) + return + elseif new_transpose < -120 then + renoise.app():show_status("Transpose cannot be below -120. Skipping Instrument " .. instrument_index) + return + end + + instrument.transpose = new_transpose + end + + -- Determine the shift direction for status messages + local direction = (interval > 0) and ("+" .. interval) or tostring(interval) + + -- Process all instruments or only the selected instrument + if scope == "all" then + for i, instrument in ipairs(song.instruments) do + process_instrument(instrument, i, interval) + end + renoise.app():show_status("Transpose shifted by " .. direction .. " semitones for all instruments.") + elseif scope == "current" then + local instrument = song.selected_instrument + if not instrument then + renoise.app():show_status("No selected instrument.") + return + end + local instrument_index = song.selected_instrument_index + process_instrument(instrument, instrument_index, interval) + renoise.app():show_status("Transpose shifted by " .. direction .. " semitones for the current instrument.") + else + renoise.app():show_status("Invalid scope parameter: use 'all' or 'current'.") + end +end + +-- Generate controls for each semitone shift from -12 to +12, excluding 0 +for interval = MIN_SHIFT, MAX_SHIFT do + if interval ~= 0 then + local shift_label = (interval > 0) and ("+" .. interval) or tostring(interval) + + -- Define menu labels under "Main Menu:Tools:Paketti..:Instrument..:" + local menu_label_all_main = "Main Menu:Tools:Paketti..:Instruments..:Transpose..:Transpose Shift " .. shift_label .. " (All Instruments)" + local menu_label_current_main = "Main Menu:Tools:Paketti..:Instruments..:Transpose..:Transpose Shift " .. shift_label .. " (Selected Instrument)" + + -- Define menu labels under "Sample Editor:Paketti..:" + local menu_label_all_pattern = "Sample Editor:Paketti..:Transpose..:Transpose Shift " .. shift_label .. " (All Instruments)" + local menu_label_current_pattern = "Sample Editor:Paketti..:Transpose..:Transpose Shift " .. shift_label .. " (Selected Instrument)" + + -- Define unique identifiers for keybindings + local keybinding_label_all = "Global:Paketti:Transpose Shift " .. shift_label .. " (All Instruments)" + local keybinding_label_current = "Global:Paketti:Transpose Shift " .. shift_label .. " (Selected Instrument)" + + -- Define MIDI mapping labels + local midi_mapping_all = "Paketti:Transpose Shift " .. shift_label .. " (All Instruments)" + local midi_mapping_current = "Paketti:Transpose Shift " .. shift_label .. " (Selected Instrument)" + + -- Add menu entries under "Main Menu:Tools:Paketti..:Instrument..:" + renoise.tool():add_menu_entry{ + name = menu_label_all_main, + invoke = function() PakettiTransposeShifter(interval, "all") end + } + + renoise.tool():add_menu_entry{ + name = menu_label_current_main, + invoke = function() PakettiTransposeShifter(interval, "current") end + } + + -- Add menu entries under "Sample Editor:Paketti..:" + renoise.tool():add_menu_entry{ + name = menu_label_all_pattern, + invoke = function() PakettiTransposeShifter(interval, "all") end + } + + renoise.tool():add_menu_entry{ + name = menu_label_current_pattern, + invoke = function() PakettiTransposeShifter(interval, "current") end + } + + -- Add keybindings + renoise.tool():add_keybinding{ + name = keybinding_label_all, + invoke = function() PakettiTransposeShifter(interval, "all") end + } + + renoise.tool():add_keybinding{ + name = keybinding_label_current, + invoke = function() PakettiTransposeShifter(interval, "current") end + } + + -- Add MIDI mappings + renoise.tool():add_midi_mapping{ + name = midi_mapping_all, + invoke = function() PakettiTransposeShifter(interval, "all") end + } + + renoise.tool():add_midi_mapping{ + name = midi_mapping_current, + invoke = function() PakettiTransposeShifter(interval, "current") end + } + end +end --------- @@ -7685,4 +8017,276 @@ end -- Call the main function renoise.tool():add_keybinding{name="Global:Paketti:Save Song with Timestamp",invoke=function() save_with_new_timestamp() end} renoise.tool():add_menu_entry{name="Main Menu:File:Save Song with Timestamp",invoke=function() save_with_new_timestamp() end} +------- +local dialog -- Variable to track dialog visibility + +-- Function to modify the SampleBuffer based on operation and value +function PakettiOffsetSampleBuffer(operation, number) + local sample = renoise.song().selected_sample + local buffer = sample.sample_buffer + + if buffer.has_sample_data then + buffer:prepare_sample_data_changes() + + for ch = 1, buffer.number_of_channels do + for i = 1, buffer.number_of_frames do + local current_sample = buffer:sample_data(ch, i) + local modified_sample + + if operation == "subtract" then + modified_sample = math.max(-1.0, math.min(1.0, current_sample + number)) -- Shift down with negative value + elseif operation == "multiply" then + modified_sample = math.max(-1.0, math.min(1.0, current_sample * (1 + number))) -- Apply scaling factor + else + renoise.app():show_status("Invalid operation. Use 'subtract' or 'multiply'.") + return + end + + buffer:set_sample_data(ch, i, modified_sample) + end + end + + buffer:finalize_sample_data_changes() + renoise.app():show_status(operation .. " operation applied with value " .. number .. " to the sample buffer.") + else + renoise.app():show_status("No sample data available in the selected sample.") + end +end + +-- Key handler function as per your specification +local function PakettiOffsetDialogKeyHandlerFunc(dialog, key) + local closer = preferences.pakettiDialogClose.value + if key.modifiers == "" and key.name == closer then + dialog:close() + return + end + + if key.name == "!" then + dialog:close() + renoise.app().window.active_middle_frame = renoise.ApplicationWindow.MIDDLE_FRAME_INSTRUMENT_SAMPLE_EDITOR + else + return key + end +end + +-- Function to show the offset dialog with slider, switch, and button +function show_offset_dialog() + if dialog and dialog.visible then + dialog:close() -- Close if already open + return + end + + local vb = renoise.ViewBuilder() + local slider_value = vb:text { text="0.0", width=40 } -- Initial display text for slider value + + local slider = vb:slider { + min=-1.0, + max=1.0, + value=0, + width=120, + notifier=function(value) + slider_value.text = string.format("%.2f", value) -- Update text to reflect slider position + end + } + + local operation_switch = vb:switch { items={ "-", "*" }, value=1, width=40 } + + local function apply_offset() + local value = slider.value + local operation = (operation_switch.value == 1) and "subtract" or "multiply" + + -- Adjust operation logic based on slider value + PakettiOffsetSampleBuffer(operation, value) + + renoise.app().window.active_middle_frame = renoise.ApplicationWindow.MIDDLE_FRAME_INSTRUMENT_SAMPLE_EDITOR + end + + local content = vb:column { + vb:horizontal_aligner { + vb:text { text="Offset/Multiplier:" }, + slider, + slider_value -- Display text next to the slider + }, + vb:horizontal_aligner { + vb:text { text="Operation:" }, + operation_switch + }, + vb:button { text="Change Sample Buffer", width=160, notifier=apply_offset } + } + + dialog = renoise.app():show_custom_dialog("Offset Sample Buffer", content, PakettiOffsetDialogKeyHandlerFunc) + renoise.app().window.active_middle_frame = renoise.ApplicationWindow.MIDDLE_FRAME_INSTRUMENT_SAMPLE_EDITOR + +end + +renoise.tool():add_keybinding { name="Sample Editor:Paketti:Offset Sample Buffer by -0.5", invoke=function() PakettiOffsetSampleBuffer("subtract", 0.5) end } +renoise.tool():add_keybinding { name="Sample Editor:Paketti:Multiply Sample Buffer by 0.5", invoke=function() PakettiOffsetSampleBuffer("multiply", 0.5) end } +renoise.tool():add_keybinding { name="Global:Paketti:Offset Dialog...", invoke=show_offset_dialog } +renoise.tool():add_menu_entry { name="Sample Editor:Paketti..:Offset Dialog...", invoke=show_offset_dialog } +renoise.tool():add_menu_entry { name="Main Menu:Tools:Paketti..:Paketti Offset Dialog...", invoke=show_offset_dialog } + + +------ + +-- Function to invert specified content in the selection or entire track +function invert_content(column_type) + local song=renoise.song() + local pattern=song.selected_pattern + local selection=song.selection_in_pattern + + -- Determine the range based on the selection or entire track if no selection + local start_line, end_line, start_track, end_track, start_column, end_column + + if selection then + start_line=selection.start_line + end_line=selection.end_line + start_track=selection.start_track + end_track=selection.end_track + start_column=selection.start_column + end_column=selection.end_column + else + start_line=1 + end_line=pattern.number_of_lines + start_track=song.selected_track_index + end_track=start_track + start_column=1 + end_column=song:track(start_track).visible_note_columns + song:track(start_track).visible_effect_columns + end + + -- Iterate over the specified lines and tracks + for line_index=start_line, end_line do + for track_index=start_track, end_track do + local track=pattern:track(track_index) + local track_vis=song:track(track_index) + local note_columns_visible=track_vis.visible_note_columns + local effect_columns_visible=track_vis.visible_effect_columns + local total_columns_visible=note_columns_visible + effect_columns_visible + + -- Calculate column boundaries for this track + local current_start_column = (selection and track_index == start_track) and start_column or 1 + local current_end_column = (selection and track_index == end_track) and end_column or total_columns_visible + + -- Iterate over the columns based on calculated boundaries + for col=current_start_column, current_end_column do + if col <= note_columns_visible and (column_type == "notecolumns" or column_type == "all") then + -- Note column inversion + local note_col=track:line(line_index).note_columns[col] + + -- Invert volume if within 0x00-0x80 range + if note_col.volume_value >= 0 and note_col.volume_value <= 0x80 then + note_col.volume_value=0x80 - note_col.volume_value + end + + -- Invert panning if within 0x00-0x80 range + if note_col.panning_value >= 0 and note_col.panning_value <= 0x80 then + note_col.panning_value=0x80 - note_col.panning_value + end + + -- Invert delay if present (range 0x00-0xFF) + if note_col.delay_value > 0 then + note_col.delay_value=0xFF - note_col.delay_value + end + + -- Invert effect amount if present (range 0x00-0xFF) + if note_col.effect_amount_value > 0 then + note_col.effect_amount_value=0xFF - note_col.effect_amount_value + end + + elseif col > note_columns_visible and (column_type == "effectcolumns" or column_type == "all") then + -- Effect column inversion + local effect_col=track:line(line_index).effect_columns[col - note_columns_visible] + + -- Invert amount if present (range 0x00-0xFF) only if number_value is not zero + if effect_col.number_value ~= 0 then + effect_col.amount_value = (effect_col.amount_value == 0x00) and 0xFF or (0xFF - effect_col.amount_value) + end + end + end + end + end + + renoise.app():show_status("Inverted values in selected range: " .. column_type) +end + +renoise.tool():add_keybinding{name="Pattern Editor:Paketti:Invert Note Column Subcolumns", invoke=function() invert_content("notecolumns") end} +renoise.tool():add_keybinding{name="Pattern Editor:Paketti:Invert Effect Column Subcolumns", invoke=function() invert_content("effectcolumns") end} +renoise.tool():add_keybinding{name="Pattern Editor:Paketti:Invert All Subcolumns", invoke=function() invert_content("all") end} +renoise.tool():add_menu_entry{name="--Pattern Editor:Paketti..:Invert Note Column Subcolumns", invoke=function() invert_content("notecolumns") end} +renoise.tool():add_menu_entry{name="Pattern Editor:Paketti..:Invert Effect Column Subcolumns", invoke=function() invert_content("effectcolumns") end} +renoise.tool():add_menu_entry{name="Pattern Editor:Paketti..:Invert All Subcolumns", invoke=function() invert_content("all") end} + + +--- +function wipe_random_notes_with_note_offs() + local song = renoise.song() + local random = math.random + + -- Get the selection in pattern + local selection_data = selection_in_pattern_pro() + if not selection_data then + renoise.app():show_status("No valid selection in pattern!") + return + end + + local pattern_index = song.selected_pattern_index + local pattern = song.patterns[pattern_index] + + -- Randomize the number of notes to replace (1–12) + local notes_to_replace = random(1, 12) + local replaced_count = 0 + + print("Random notes to replace:", notes_to_replace) + + -- Iterate through the tracks in the selection + for _, track_info in ipairs(selection_data) do + local track_index = track_info.track_index + local track = song.tracks[track_index] + + print("Processing Track:", track_index) + + -- Skip tracks with no selected note columns + if #track_info.note_columns > 0 then + for _, column_index in ipairs(track_info.note_columns) do + print("Processing Column:", column_index) + + -- Access the lines within the selected range + for line_index = song.selection_in_pattern.start_line, song.selection_in_pattern.end_line do + local line = pattern.tracks[track_index]:line(line_index) + local note_column = line:note_column(column_index) + + -- Debug: Print note details + if note_column then + print("Line:", line_index, "Column:", column_index, "Note String:", note_column.note_string or "Empty", "Is Empty:", note_column.is_empty) + end + + -- Replace random notes with NOTE_OFF, skipping NOTE_OFF columns + if note_column and not note_column.is_empty and note_column.note_string ~= "OFF" then + if replaced_count < notes_to_replace and random(0, 1) == 1 then -- Random decision for replacement + print("Replacing Note with NOTE_OFF at Line:", line_index, "Column:", column_index) + note_column.note_string = "OFF" -- Set the note to OFF + note_column.instrument_value = 255 -- Clear the instrument value + replaced_count = replaced_count + 1 + end + end + end + end + else + print("No selected note columns in Track:", track_index) + end + end + + -- Show appropriate status message + if replaced_count > 0 then + renoise.app():show_status("Removed " .. replaced_count .. " notes and replaced them with note-offs.") + else + renoise.app():show_status("No notes left to be wiped, doing nothing.") + end + + -- Return focus to the pattern editor + renoise.app().window.active_middle_frame = renoise.ApplicationWindow.MIDDLE_FRAME_PATTERN_EDITOR +end + + + +renoise.tool():add_keybinding{name="Global:Paketti:Wipe Random Notes",invoke=function() wipe_random_notes_with_note_offs() end} diff --git a/PakettiSamples.lua b/PakettiSamples.lua index 479613e..64df5b7 100644 --- a/PakettiSamples.lua +++ b/PakettiSamples.lua @@ -5,6 +5,8 @@ local vb = renoise.ViewBuilder() local app_paths = {} local smart_folder_paths = {} + + -- Function to browse for an app and update the corresponding field function appSelectionBrowseForApp(index) local file_extensions = {"*.*"} @@ -351,6 +353,12 @@ for i=1, 6 do saveSelectedSampleToTempAndOpen(preferences.AppSelection["AppSelection"..i].value) end } + renoise.tool():add_menu_entry{ + name="Sample Editor:Paketti..:Launch App..:Send Selected Sample to AppSelection" .. i, + invoke=function() + saveSelectedSampleToTempAndOpen(preferences.AppSelection["AppSelection"..i].value) + end + } renoise.tool():add_midi_mapping{name="Paketti:Send Selected Sample to AppSelection" .. i, invoke=function(message) @@ -3341,12 +3349,16 @@ local function load_random_akwf_sample(amount) -- Set the volume of each sample to the calculated reduction factor sample.volume = volume_reduction_factor + renoise.song().selected_instrument.volume = volume_reduction_factor -- Extract filename for setting sample name local filename = selected_file:match("([^/]+)%.wav$") or "Sample" sample.name = filename sample.transpose = -2 + -- Set finetune based on index: -10 for odd, +10 for even + sample.fine_tune = (i % 2 == 1) and -10 or 10 + -- Update instrument name for clarity, using the last loaded file instrument.name = "AKWF - " .. filename end @@ -3358,10 +3370,21 @@ local function load_random_akwf_sample(amount) end end + -- Keybindings to load different numbers of samples renoise.tool():add_keybinding{name="Global:Paketti:Load Random AKWF Sample", invoke=function() load_random_akwf_sample(1) end} renoise.tool():add_keybinding{name="Global:Paketti:Load Random amount (1...12) of AKWF Samples", invoke=function() load_random_akwf_sample("random") end} renoise.tool():add_keybinding{name="Global:Paketti:Load 05 AKWF Samples", invoke=function() load_random_akwf_sample(5) end} +renoise.tool():add_keybinding{name="Global:Paketti:Load 05 AKWF Samples with Overlap Random", invoke=function() load_random_akwf_sample(5) +DrumKitToOverlay(2) end} +renoise.tool():add_keybinding{name="Global:Paketti:Load 05 AKWF Samples with Overlap Cycle", invoke=function() load_random_akwf_sample(5) +DrumKitToOverlay(1) end} +renoise.tool():add_keybinding{name="Global:Paketti:Load 12 AKWF Samples with Overlap Random", invoke=function() load_random_akwf_sample(12) +DrumKitToOverlay(2) end} +renoise.tool():add_keybinding{name="Global:Paketti:Load 12 AKWF Samples with Overlap Cycle", invoke=function() load_random_akwf_sample(12) +DrumKitToOverlay(1) end} + + renoise.tool():add_keybinding{name="Global:Paketti:Load 04 AKWF Samples (XY)", invoke=function() load_random_akwf_sample(4) for i = 1,#renoise.song().selected_instrument.samples do renoise.song().selected_instrument.samples[i].volume = 0 @@ -3946,7 +3969,72 @@ function PakettiUserDefinedSamplesShowDialog() end -- Add menu entry to show the dialog -renoise.tool():add_menu_entry{ - name = "Main Menu:Tools:Paketti..:!Preferences..:User-Defined Sample Folders", - invoke = PakettiUserDefinedSamplesShowDialog -} +renoise.tool():add_menu_entry{name = "Main Menu:Tools:Paketti..:Paketti User-Defined Sample Folders Dialog...",invoke=PakettiUserDefinedSamplesShowDialog} +renoise.tool():add_menu_entry{name = "Sample Editor:Paketti..:User-Defined Sample Folders Dialog...",invoke=PakettiUserDefinedSamplesShowDialog} +renoise.tool():add_keybinding{name = "Global:Paketti:User-Defined Sample Folders Dialog...",invoke=PakettiUserDefinedSamplesShowDialog} + +------ + + +local function duplicate_sample_with_transpose(transpose_amount) + local song = renoise.song() + local instrument = song.selected_instrument + local selected_sample_index = song.selected_sample_index + + if not instrument then + renoise.app():show_status("No instrument selected.") + return + end + + if not selected_sample_index or selected_sample_index < 1 or selected_sample_index > #instrument.samples then + renoise.app():show_status("No valid sample selected.") + return + end + + -- Get the selected sample + local original_sample = instrument.samples[selected_sample_index] + + -- Create a new sample slot + local new_sample_index = selected_sample_index + 1 + instrument:insert_sample_at(new_sample_index) + local new_sample = instrument.samples[new_sample_index] + + -- Copy data from original sample to new sample + new_sample:copy_from(original_sample) + + -- Set the transpose and rename the sample + new_sample.transpose = original_sample.transpose + transpose_amount + new_sample.name = original_sample.name .. " " .. (transpose_amount >= 0 and "+" or "") .. transpose_amount + + -- Confirm the duplication + renoise.app():show_status("Sample duplicated and transposed by " .. transpose_amount .. ".") +end + +-- Keybindings, Menu Entries, and MIDI Mappings for each transpose amount +renoise.tool():add_keybinding{name="Global:Paketti:Duplicate Selected Sample at -12 transpose",invoke=function() duplicate_sample_with_transpose(-12) end} +renoise.tool():add_keybinding{name="Global:Paketti:Duplicate Selected Sample at -24 transpose",invoke=function() duplicate_sample_with_transpose(-24) end} +renoise.tool():add_keybinding{name="Global:Paketti:Duplicate Selected Sample at +12 transpose",invoke=function() duplicate_sample_with_transpose(12) end} +renoise.tool():add_keybinding{name="Global:Paketti:Duplicate Selected Sample at +24 transpose",invoke=function() duplicate_sample_with_transpose(24) end} + +renoise.tool():add_menu_entry{name="--Sample Navigator:Paketti..:Duplicate Selected Sample at -12 transpose",invoke=function() duplicate_sample_with_transpose(-12) end} +renoise.tool():add_menu_entry{name="Sample Navigator:Paketti..:Duplicate Selected Sample at -24 transpose",invoke=function() duplicate_sample_with_transpose(-24) end} +renoise.tool():add_menu_entry{name="Sample Navigator:Paketti..:Duplicate Selected Sample at +12 transpose",invoke=function() duplicate_sample_with_transpose(12) end} +renoise.tool():add_menu_entry{name="Sample Navigator:Paketti..:Duplicate Selected Sample at +24 transpose",invoke=function() duplicate_sample_with_transpose(24) end} + +renoise.tool():add_menu_entry{name="--Sample Mappings:Paketti..:Duplicate Selected Sample at -12 transpose",invoke=function() duplicate_sample_with_transpose(-12) end} +renoise.tool():add_menu_entry{name="Sample Mappings:Paketti..:Duplicate Selected Sample at -24 transpose",invoke=function() duplicate_sample_with_transpose(-24) end} +renoise.tool():add_menu_entry{name="Sample Mappings:Paketti..:Duplicate Selected Sample at +12 transpose",invoke=function() duplicate_sample_with_transpose(12) end} +renoise.tool():add_menu_entry{name="Sample Mappings:Paketti..:Duplicate Selected Sample at +24 transpose",invoke=function() duplicate_sample_with_transpose(24) end} + + +renoise.tool():add_menu_entry{name="--Sample Editor:Paketti..:Duplicate Selected Sample at -12 transpose",invoke=function() duplicate_sample_with_transpose(-12) end} +renoise.tool():add_menu_entry{name="Sample Editor:Paketti..:Duplicate Selected Sample at -24 transpose",invoke=function() duplicate_sample_with_transpose(-24) end} +renoise.tool():add_menu_entry{name="Sample Editor:Paketti..:Duplicate Selected Sample at +12 transpose",invoke=function() duplicate_sample_with_transpose(12) end} +renoise.tool():add_menu_entry{name="Sample Editor:Paketti..:Duplicate Selected Sample at +24 transpose",invoke=function() duplicate_sample_with_transpose(24) end} + + +renoise.tool():add_midi_mapping{name="Paketti:Duplicate Selected Sample at -12 transpose",invoke=function(message) if message:is_trigger() then duplicate_sample_with_transpose(-12) end end} +renoise.tool():add_midi_mapping{name="Paketti:Duplicate Selected Sample at -24 transpose",invoke=function(message) if message:is_trigger() then duplicate_sample_with_transpose(-24) end end} +renoise.tool():add_midi_mapping{name="Paketti:Duplicate Selected Sample at +12 transpose",invoke=function(message) if message:is_trigger() then duplicate_sample_with_transpose(12) end end} +renoise.tool():add_midi_mapping{name="Paketti:Duplicate Selected Sample at +24 transpose",invoke=function(message) if message:is_trigger() then duplicate_sample_with_transpose(24) end end} + diff --git a/Themes/amegas 4k.xrnc b/Themes/amegas 4k.xrnc deleted file mode 100644 index 4496514..0000000 --- a/Themes/amegas 4k.xrnc +++ /dev/null @@ -1,93 +0,0 @@ - - - 33,33,33 - 181,181,181 - 19,19,19 - 246,246,246 - 55,55,59 - 177,177,177 - 131,131,131 - 31,31,31 - 216,216,216 - 200,163,255 - 27,19,28 - 174,116,255 - 19,153,246 - 255,255,255 - 69,68,69 - 140,115,179 - 0,246,255 - 15,15,15 - 107,93,115 - 200,163,255 - 34,34,34 - 146,107,204 - 153,153,153 - 61,59,67 - 96,86,102 - 75,79,214 - 34,35,35 - 219,206,221 - 87,115,182 - 22,15,204 - 140,100,176 - 118,155,193 - 146,136,145 - 153,143,152 - 113,106,112 - 35,34,35 - 41,41,41 - 200,187,199 - 86,114,181 - 22,15,203 - 142,101,177 - 119,153,192 - 165,166,166 - 137,129,137 - 137,129,137 - 71,67,71 - 82,78,82 - 252,253,255 - 109,102,107 - 255,255,255 - 82,78,82 - 137,129,137 - 45,75,94 - 45,75,94 - 200,163,255 - 131,131,131 - 19,158,255 - 45,75,94 - 76,236,255 - 76,169,255 - 68,206,255 - 19,158,255 - 200,163,255 - 92,7,89 - 86,19,255 - 19,158,255 - 19,246,255 - 19,158,255 - 140,76,255 - 76,236,255 - 188,85,57 - 188,133,57 - 188,183,57 - 143,188,57 - 94,188,57 - 57,188,69 - 57,188,117 - 57,188,167 - 57,160,188 - 57,111,188 - 57,61,188 - 101,57,188 - 150,57,188 - 188,57,177 - 188,57,127 - 188,57,77 - 1.12799895 - 1.13599992 - -0.5 - Dotted - diff --git a/Themes/amigaos3 4k.xrnc b/Themes/amigaos3 4k.xrnc deleted file mode 100644 index 6fb744c..0000000 --- a/Themes/amigaos3 4k.xrnc +++ /dev/null @@ -1,93 +0,0 @@ - - - 220,220,220 - 50,50,50 - 192,192,192 - 25,25,25 - 176,176,176 - 67,67,67 - 54,54,54 - 199,199,199 - 50,50,50 - 33,33,33 - 129,129,129 - 39,39,39 - 107,111,113 - 204,204,204 - 129,129,129 - 210,210,210 - 234,125,43 - 12,12,12 - 136,136,136 - 12,12,12 - 194,194,194 - 12,12,12 - 12,12,12 - 173,175,179 - 255,255,255 - 96,96,96 - 225,225,225 - 12,12,12 - 167,83,100 - 36,31,24 - 52,37,34 - 98,127,104 - 87,95,102 - 12,12,12 - 12,12,12 - 82,82,82 - 202,202,202 - 12,12,12 - 148,95,97 - 123,114,98 - 153,133,122 - 144,148,148 - 144,148,150 - 42,42,42 - 37,37,37 - 83,83,83 - 63,70,70 - 138,176,174 - 113,132,147 - 234,234,234 - 172,172,172 - 33,33,33 - 162,162,162 - 167,167,167 - 12,12,12 - 106,106,106 - 94,97,100 - 83,104,127 - 71,93,98 - 78,78,78 - 86,86,86 - 175,175,175 - 12,12,12 - 140,160,198 - 93,117,149 - 200,143,96 - 234,146,74 - 218,77,153 - 42,42,42 - 114,211,138 - 179,54,54 - 179,100,54 - 179,147,54 - 163,179,54 - 116,179,54 - 69,179,54 - 54,179,85 - 54,179,132 - 54,179,179 - 54,132,179 - 54,85,179 - 69,54,179 - 116,54,179 - 163,54,179 - 179,54,147 - 179,54,100 - 1.15999985 - 1.01200056 - -0.5 - Dotted - diff --git a/main.lua b/main.lua index 7787a6b..c6dcdaa 100644 --- a/main.lua +++ b/main.lua @@ -4,6 +4,85 @@ function formatDigits(digits, number) return string.format("%0" .. digits .. "d", number) end + + +function selection_in_pattern_pro() + local song = renoise.song() + + -- Get the selection in pattern + local selection = song.selection_in_pattern + if not selection then + print("No selection in pattern!") + return nil + end + + -- Debug: Print selection details + print("Selection in Pattern:") + print("Start Track:", selection.start_track) + print("End Track:", selection.end_track) + print("Start Column:", selection.start_column) + print("End Column:", selection.end_column) + print("Start Line:", selection.start_line) + print("End Line:", selection.end_line) + + local result = {} + + -- Iterate over the selected tracks + for track_index = selection.start_track, selection.end_track do + local track = song.tracks[track_index] + local track_info = { + track_index = track_index, + track_type = track.type, -- Track type (e.g., "track", "group", "send", "master") + note_columns = {}, + effect_columns = {} + } + + -- Fetch visible note and effect columns + local visible_note_columns = track.visible_note_columns + local visible_effect_columns = track.visible_effect_columns + local total_columns = visible_note_columns + visible_effect_columns + + -- Debugging visibility + print("Track Index:", track_index) + print("Visible Note Columns:", visible_note_columns) + print("Visible Effect Columns:", visible_effect_columns) + print("Total Columns:", total_columns) + + -- Determine the range of selected columns for this track + local track_start_column = (track_index == selection.start_track) and selection.start_column or 1 + local track_end_column = (track_index == selection.end_track) and selection.end_column or total_columns + + -- Ensure valid column ranges + track_start_column = math.max(track_start_column, 1) + track_end_column = math.min(track_end_column, total_columns) + + -- Process Note Columns + if visible_note_columns > 0 and track_start_column <= visible_note_columns then + for col = track_start_column, math.min(track_end_column, visible_note_columns) do + table.insert(track_info.note_columns, col) + end + end + + -- Process Effect Columns + if visible_effect_columns > 0 and track_end_column > visible_note_columns then + local effect_start = math.max(track_start_column - visible_note_columns, 1) + local effect_end = track_end_column - visible_note_columns + for col = effect_start, math.min(effect_end, visible_effect_columns) do + table.insert(track_info.effect_columns, col) + end + end + + -- Debugging output + print("Selected Note Columns:", #track_info.note_columns > 0 and table.concat(track_info.note_columns, ", ") or "None") + print("Selected Effect Columns:", #track_info.effect_columns > 0 and table.concat(track_info.effect_columns, ", ") or "None") + + -- Add track information to the result + table.insert(result, track_info) + end + + return result +end + require "Paketti0G01_Loader" require "PakettiKeyBindings" require "PakettiThemeSelector" diff --git a/manifest.xml b/manifest.xml index 1007944..e834b69 100644 --- a/manifest.xml +++ b/manifest.xml @@ -4,7 +4,7 @@ org.lackluster.Paketti 3.54 6 - lackluster | esaruoho@gmail.com + lackluster | esaruoho@icloud.com false Workflow Shortcuts, midimappings, menu entries for sample modification, clean rendering, ImpulseTracker shortcuts, Pattern Editor features, loading VST,VST3,AudioUnit devices, etc. diff --git a/preferences.xml b/preferences.xml index 4321b9d..9502be5 100644 --- a/preferences.xml +++ b/preferences.xml @@ -35,6 +35,20 @@ 0.0121 true + + + + + /Users/esaruoho/Library/Mobile Documents/com~apple~CloudDocs/Renoise/Tools/org.lackluster.Paketti.xrnx/DeviceChains//Slot01.xrni + /Users/esaruoho/Library/Mobile Documents/com~apple~CloudDocs/Renoise/Tools/org.lackluster.Paketti.xrnx/DeviceChains//Slot03.xrni + + + + + + /Users/esaruoho/Library/Mobile Documents/com~apple~CloudDocs/Renoise/Tools/org.lackluster.Paketti.xrnx/DeviceChains//Slot02.xrni + + 1.0 @@ -53,15 +67,24 @@ - 195.26223776223779 - 0.0 + 188.1293706293707 + 87.377622377622373 false - false + true false true 100 - + + + Vintage (AU) + Audio/Generators/AU/aumu:V4vi:Manu + + + XO (AU) + Audio/Generators/AU/aumu:xAXO:xlnA + + esc false @@ -74,7 +97,7 @@ false 1.0 - LP Clean + LP Moog External/wordlist.txt YYYY_MM_DD @@ -101,9 +124,9 @@ 2 1.0 1.0 - Set this yourself, please. + /Users/esaruoho/Music/samples/colugatest/ 10 - <No path set> + /opt/homebrew/Cellar/yt-dlp/2024.11.18/libexec/bin/yt-dlp true true @@ -158,7 +181,19 @@ 0.0 - + + + + /Users/esaruoho/Library/Mobile Documents/com~apple~CloudDocs/Renoise/Tools/org.lackluster.Paketti.xrnx/DeviceChains//Slot06.xrnt + /Users/esaruoho/Library/Mobile Documents/com~apple~CloudDocs/Renoise/Tools/org.lackluster.Paketti.xrnx/DeviceChains/colourcopy-valhalladelay-pingpong-niceness.xrnt + /Users/esaruoho/Library/Mobile Documents/com~apple~CloudDocs/Renoise/Tools/org.lackluster.Paketti.xrnx/DeviceChains//Slot03.xrnt + /Users/esaruoho/Library/Mobile Documents/com~apple~CloudDocs/Renoise/Tools/org.lackluster.Paketti.xrnx/DeviceChains//Slot05.xrnt + /Users/esaruoho/Library/Mobile Documents/com~apple~CloudDocs/Renoise/Tools/org.lackluster.Paketti.xrnx/DeviceChains//Slot04.xrnt + + + + /Users/esaruoho/Library/Mobile Documents/com~apple~CloudDocs/Renoise/Tools/org.lackluster.Paketti.xrnx/DeviceChains//Slot02.xrnt + false Presets/12st_Pitchbend_Drumkit_C0.xrni false