From 4002a5b93efd70fc23590638d361e92cfd4cd074 Mon Sep 17 00:00:00 2001 From: esaruoho Date: Tue, 7 Jan 2025 01:50:11 +0200 Subject: [PATCH] 2025 jan cleanup --- Customization/Agave-Regular.ttf | Bin 0 -> 267136 bytes Customization/PatternConfig_agave.xml | 23 + Customization/PatternConfig_original.xml | 23 + ...alhalladelay-specific-delay+maximizer.xrnt | 212 + KeyBindings/2025_01_06_PakettiKeyBindings.xml | 21432 ++++++++++++++++ KeyBindings/Debug_Paketti_KeyBindings.log | 3958 ++- KeyBindings/Debug_Renoise_KeyBindings.log | 5160 ++++ Paketti0G01_Loader.lua | 4 +- PakettiAudioProcessing.lua | 70 + PakettiAutomation.lua | 299 +- PakettiChordsPlus.lua | 295 + PakettiColuga.lua | 2 +- PakettiControls.lua | 108 +- PakettiCustomization.lua | 61 + PakettiDynamicViews.lua | 12 +- PakettiEightOneTwenty.lua | 31 +- PakettiExperimental_Verify.lua | 662 +- PakettiImpulseTracker.lua | 140 +- PakettiLoadPlugins.lua | 2 +- PakettiLoaders.lua | 173 +- PakettiMainMenuEntries.lua | 157 +- PakettiMidi.lua | 23 +- PakettiPatternEditor.lua | 418 +- PakettiPatternMatrix.lua | 3 - PakettiPhraseEditor.lua | 3 +- PakettiPlayerProSuite.lua | 4 +- PakettiRecorder.lua | 17 +- PakettiRequests.lua | 1233 +- PakettiSampleLoader.lua | 248 + PakettiSamples.lua | 462 +- PakettiSandbox.lua | 345 + PakettiStacker.lua | 518 + PakettiStretch.lua | 1530 ++ PakettiTkna.lua | 40 +- PakettiTupletGenerator.lua | 386 + PakettiWavetabler.lua | 223 + main.lua | 159 +- preferences.xml | 29 +- preferencesDynamicView.xml | 6 +- 39 files changed, 37176 insertions(+), 1295 deletions(-) create mode 100644 Customization/Agave-Regular.ttf create mode 100644 Customization/PatternConfig_agave.xml create mode 100755 Customization/PatternConfig_original.xml create mode 100644 DeviceChains/valhalladelay-specific-delay+maximizer.xrnt create mode 100644 KeyBindings/2025_01_06_PakettiKeyBindings.xml create mode 100644 KeyBindings/Debug_Renoise_KeyBindings.log create mode 100644 PakettiChordsPlus.lua create mode 100644 PakettiCustomization.lua create mode 100644 PakettiSandbox.lua create mode 100644 PakettiStacker.lua create mode 100644 PakettiStretch.lua create mode 100644 PakettiTupletGenerator.lua create mode 100644 PakettiWavetabler.lua diff --git a/Customization/Agave-Regular.ttf b/Customization/Agave-Regular.ttf new file mode 100644 index 0000000000000000000000000000000000000000..c5135c6d8a738dd8b6787574481342b0a1c6f1b3 GIT binary patch literal 267136 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

mum5nsa9C82F3wRpVu?({;NZOW(% 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 IoSK^YUsy(DN&o-= literal 0 HcmV?d00001 diff --git a/Customization/PatternConfig_agave.xml b/Customization/PatternConfig_agave.xml new file mode 100644 index 0000000..63a3a71 --- /dev/null +++ b/Customization/PatternConfig_agave.xml @@ -0,0 +1,23 @@ + + + + 16,16 + Fonts/Agave-Regular.ttf + YES + + + 19,19 + Fonts/Agave-Regular.ttf + YES + + + 23,23 + Fonts/Agave-Regular.ttf + YES + + + 28,28 + Fonts/Agave-Regular.ttf + YES + + diff --git a/Customization/PatternConfig_original.xml b/Customization/PatternConfig_original.xml new file mode 100755 index 0000000..4009734 --- /dev/null +++ b/Customization/PatternConfig_original.xml @@ -0,0 +1,23 @@ + + + + 9,9 + Fonts/DejaVuSansMono.ttf + YES + + + 11,11 + Fonts/DejaVuSansMono.ttf + YES + + + 13,13 + Fonts/DejaVuSansMono.ttf + YES + + + 15,15 + Fonts/DejaVuSansMono.ttf + YES + + diff --git a/DeviceChains/valhalladelay-specific-delay+maximizer.xrnt b/DeviceChains/valhalladelay-specific-delay+maximizer.xrnt new file mode 100644 index 0000000..3a5cb23 --- /dev/null +++ b/DeviceChains/valhalladelay-specific-delay+maximizer.xrnt @@ -0,0 +1,212 @@ + + + Init + Bundled Content + false + + + false + false + Init + Bundled Content + true + + 1.0 + Device only + + -1 + AU + aufx:dLay:oDin + AU: Valhalla DSP, LLC: ValhallaDelay + ValhallaDelay + 566,308 + Chunk + + + + 0.286000013 + Device only + + + 0.615999997 + Device only + + + 0.5 + Device only + + + 0.224000007 + Device only + + + 0.125 + Device only + + + 0.5 + Device only + + + 0.319000006 + Device only + + + 0.25 + Device only + + + 0.5 + Device only + + + 0.5 + 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.465000004 + Device only + + + 1.0 + Device only + + + 0.0 + Device only + + + 0.5 + Device only + + + 0.0 + Device only + + + 1.0 + Device only + + + 0.119999997 + 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.125 + Device only + + + 0.333333343 + Device only + + + 0.0 + Device only + + + 0.0 + Device only + + + 0.0 + Device only + + + 0.0 + Device only + + + + + true + true + Init + Bundled Content + false + + 1.0 + Device only + + + 0.0 + Mixer and Device + + + -0.0199999996 + Device only + + + 1.0 + Device only + + + 80 + Device only + + + 0.0 + Mixer and Device + + + + diff --git a/KeyBindings/2025_01_06_PakettiKeyBindings.xml b/KeyBindings/2025_01_06_PakettiKeyBindings.xml new file mode 100644 index 0000000..95b3d14 --- /dev/null +++ b/KeyBindings/2025_01_06_PakettiKeyBindings.xml @@ -0,0 +1,21432 @@ + + + + + + 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 + + + Tools + ∿ Easy Tune + + + Tools + ∿ Select random instrument + + + Paketti + ∿ Show Paketti Preferences... + Shift + Command + 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 + ∿ Open Player Pro Note Column Dialog + + + 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) + + + Tools + ∿ Paketti Tuplet Writer + + + Paketti + ∿ Load Plugin Vintage (AU) + + + Paketti + ∿ Load Plugin XO (AU) + + + Paketti + ∿ Load Plugin XO (VST) + + + Paketti + ∿ Load Plugin XO (VST3) + + + Paketti + ∿ Clone Current Sequence + + + Paketti + ∿ Show/Hide Pattern Matrix + + + Paketti + ∿ Duplicate Pattern Above & Clear Muted Tracks + Shift + Control + X + + + Paketti + ∿ Duplicate Pattern Below & Clear Muted Tracks + + + 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 + + + Tools + ∿ Paketti YT-DLP Downloader + + + Paketti + ∿ BeatDetector Modified... + + + Paketti + ∿ Stack All Samples in Instrument with Velocity Mapping Split + + + Paketti + ∿ Write Velocity Ramp Up for Stacked Instrument + + + Paketti + ∿ Write Velocity Ramp Down for Stacked Instrument + + + Paketti + ∿ Write Velocity Random for Stacked Instrument + + + Paketti + ∿ Load&Slice&Isolate&Stack Sample + + + Paketti + ∿ Paketti Stacker Dialog... + + + 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 + + + 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 + ∿ Record Toggle with EditStep Reading (2nd) + + + Paketti + ∿ Load Recently Saved Song + + + Paketti + ∿ Switch Upper Frame (Track Scopes/Master Spectrum) + + + Paketti + ∿ Duplicate Selected Track & Name + + + 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 + ∿ 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 + ∿ Create Random AKWF Wavetable (032) + + + Paketti + ∿ Create Random AKWF Wavetable (064) + + + Paketti + ∿ Create Random AKWF Wavetable (128) + + + Paketti + ∿ Create Random AKWF Wavetable (256) + + + Paketti + ∿ Create Random AKWF Wavetable (032,loop) + + + Paketti + ∿ Create Random AKWF Wavetable (064,loop) + + + Paketti + ∿ Create Random AKWF Wavetable (128,loop) + + + Paketti + ∿ Create Random AKWF Wavetable (256,loop) + + + Paketti + ∿ Next Wavetable Cycle + + + Paketti + ∿ Previous Wavetable Cycle + + + 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 + ∿ Pattern Effect Command CheatSheet + F1 + + + 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 MIDI Populator Dialog... + + + 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 + + + Paketti + ∿ Paketti Gater Dialog... + Control + G + + + Paketti + ∿ Paketti Gater Insert Commands + Shift + Control + G + + + 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 + ∿ Show Automation Value Dialog... + + + Paketti + ∿ Write Automation Value 0.0 + + + Paketti + ∿ Write Automation Value 0.1 + + + Paketti + ∿ Write Automation Value 0.2 + + + Paketti + ∿ Write Automation Value 0.3 + + + Paketti + ∿ Write Automation Value 0.4 + + + Paketti + ∿ Write Automation Value 0.5 + + + Paketti + ∿ Write Automation Value 0.6 + + + Paketti + ∿ Write Automation Value 0.7 + + + Paketti + ∿ Write Automation Value 0.8 + + + Paketti + ∿ Write Automation Value 0.9 + + + Paketti + ∿ Write Automation Value 1.0 + + + Paketti + ∿ Flood Fill Automation Selection + + + Paketti + ∿ Set Automation Range to Max (1.0) + + + Paketti + ∿ Set Automation Range to Middle (0.5) + + + Paketti + ∿ Set Automation Range to Min (0.0) + + + Paketti + ∿ Scale Automation to 90% + + + Paketti + ∿ Scale Automation to 110% + + + Paketti + ∿ Scale Automation to 50% + + + Paketti + ∿ Flip Automation Selection Horizontally + + + Paketti + ∿ Flip Automation Selection Vertically + + + Paketti + ∿ Generate Automation Points from Notes in Selected Track + + + 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 + ∿ Clone Sequence (Automation Only) + + + Paketti + ∿ Clone Pattern (Without Automation) + + + 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 + ∿ 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 + ∿ Initialize for Groovebox 8120 + + + 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 + ∿ Paketti PitchBend Drumkit Sample Loader (Random) + Option + 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 + ∿ 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 05 AKWF Samples with Overlap Random + + + Paketti + ∿ Load 05 AKWF Samples with Overlap Cycle + + + Paketti + ∿ Load 12 AKWF Samples with Overlap Random + + + Paketti + ∿ Load 12 AKWF Samples with Overlap Cycle + + + Paketti + ∿ Load 04 AKWF Samples (XY) + + + Paketti + ∿ Load 12 AKWF Samples + + + Paketti + ∿ Load 02 AKWF Samples + + + Paketti + ∿ Load Random Samples (32) from Path + + + Paketti + ∿ Load Random Samples (01) from Path + + + Paketti + ∿ Load Random Samples (12) into Single Instrument + Shift + Option + 1 + + + Paketti + ∿ Load Random Samples (04) into Single Instrument (XY) + + + Paketti + ∿ User-Defined Sample Folders Dialog... + + + 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 + ∿ Cycle Overlap Mode + + + Paketti + ∿ Set Overlap Mode 0 (Play All) + + + Paketti + ∿ Set Overlap Mode 1 (Cycle) + + + Paketti + ∿ Set Overlap Mode 2 (Random) + + + Paketti + ∿ Set DrumKit to Overlap Random + + + Paketti + ∿ Load DrumKit with Overlap Random + + + Paketti + ∿ Load DrumKit with Overlap Cycle + + + Paketti + ∿ Duplicate All Samples at -36 Transpose + + + Paketti + ∿ Duplicate All Samples at -24 Transpose + + + Paketti + ∿ Duplicate All Samples at -12 Transpose + + + Paketti + ∿ Duplicate All Samples at +12 Transpose + + + Paketti + ∿ Duplicate All Samples at +24 Transpose + + + Paketti + ∿ Duplicate All Samples at +36 Transpose + + + Tools + ∿ Toggle Match EditStep with Delay Pattern + + + Paketti + ∿ OctaMED Note Spread 02 + + + Paketti + ∿ OctaMED Note Spread 03 + + + Paketti + ∿ OctaMED Note Spread 04 + + + Paketti + ∿ OctaMED Note Spread 05 + + + Paketti + ∿ OctaMED Note Spread 06 + + + Paketti + ∿ OctaMED Note Spread 07 + + + Paketti + ∿ OctaMED Note Spread 08 + + + Paketti + ∿ OctaMED Note Spread 09 + + + Paketti + ∿ OctaMED Note Spread 10 + + + Paketti + ∿ OctaMED Note Spread 11 + + + Paketti + ∿ OctaMED Note Spread 12 + + + Paketti + ∿ Load Device Chain (.XRNT) Slot 01 + + + Paketti + ∿ Load Device Chain (.XRNT) Slot 02 + + + Paketti + ∿ Load Device Chain (.XRNT) Slot 03 + + + Paketti + ∿ Load Device Chain (.XRNT) Slot 04 + + + Paketti + ∿ Load Device Chain (.XRNT) Slot 05 + + + Paketti + ∿ Load Device Chain (.XRNT) Slot 06 + + + Paketti + ∿ Load Device Chain (.XRNT) Slot 07 + + + Paketti + ∿ Load Device Chain (.XRNT) Slot 08 + + + Paketti + ∿ Load Device Chain (.XRNT) Slot 09 + + + Paketti + ∿ Load Device Chain (.XRNT) Slot 10 + + + Paketti + ∿ Load Instrument (.XRNI) Slot 01 + + + Paketti + ∿ Load Instrument (.XRNI) Slot 02 + + + Paketti + ∿ Load Instrument (.XRNI) Slot 03 + + + Paketti + ∿ Load Instrument (.XRNI) Slot 04 + + + Paketti + ∿ Load Instrument (.XRNI) Slot 05 + + + Paketti + ∿ Load Instrument (.XRNI) Slot 06 + + + Paketti + ∿ Load Instrument (.XRNI) Slot 07 + + + Paketti + ∿ Load Instrument (.XRNI) Slot 08 + + + Paketti + ∿ Load Instrument (.XRNI) Slot 09 + + + Paketti + ∿ Load Instrument (.XRNI) Slot 10 + + + Paketti + ∿ Load Both Instrument&Device Chain (.XRNI&.XRNT) Slot 01 + + + Paketti + ∿ Load Both Instrument&Device Chain (.XRNI&.XRNT) Slot 02 + + + Paketti + ∿ Load Both Instrument&Device Chain (.XRNI&.XRNT) Slot 03 + + + Paketti + ∿ Load Both Instrument&Device Chain (.XRNI&.XRNT) Slot 04 + + + Paketti + ∿ Load Both Instrument&Device Chain (.XRNI&.XRNT) Slot 05 + + + Paketti + ∿ Load Both Instrument&Device Chain (.XRNI&.XRNT) Slot 06 + + + Paketti + ∿ Load Both Instrument&Device Chain (.XRNI&.XRNT) Slot 07 + + + Paketti + ∿ Load Both Instrument&Device Chain (.XRNI&.XRNT) Slot 08 + + + Paketti + ∿ Load Both Instrument&Device Chain (.XRNI&.XRNT) Slot 09 + + + Paketti + ∿ Load Both Instrument&Device Chain (.XRNI&.XRNT) Slot 10 + + + Transport + ∿ Reset SBx and Start Playback + + + Paketti + ∿ Crossfade Loop + Shift + Command + C + + + 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 + + + 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 + ∿ Wipe Phrases on Selected Instrument + + + Paketti + ∿ Load XRNI & Wipe Phrases + + + Paketti + ∿ Load XRNI & Disable Phrases + + + Paketti + ∿ Load XRNI & Keep Phrases + + + Paketti + ∿ Load New Instrument with Current Slice Markers + + + Paketti + ∿ Toggle Auto-Open Track Devices + + + Paketti + ∿ Show XO Plugin External Editor + + + 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 + ∿ 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 + ∿ 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 + ∿ Clone and Expand Pattern to LPB*2 + + + Paketti + ∿ Clone and Shrink Pattern to LPB/2 + + + Tools + ∿ Toggle Match EditStep with Note Placement + + + Paketti + ∿ Set Random EditStep 0-64 + + + Paketti + ∿ Set Random EditStep 1-64 + + + Paketti + ∿ Divide LPB by 4, return to Original + + + Paketti + ∿ Set All Tracks to Center + + + Paketti + ∿ Hide All Effect Columns + + + Paketti + ∿ Move Track Left + + + Paketti + ∿ Move Track Right + + + 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 + ∿ 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 + ∿ 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 + ∿ Set Selected Instrument All Autoseek On/Off + + + Paketti + ∿ Set Selected Instrument All Autoseek On + + + Paketti + ∿ Set Selected Instrument All Autoseek 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 + ∿ Isolate Slices to New Instrument as Samples + + + Paketti + ∿ Roll the Dice on Notes + + + Paketti + ∿ Transpose Shift -12 (All Instruments) + + + Paketti + ∿ Transpose Shift -12 (Selected Instrument) + + + Paketti + ∿ Transpose Shift -11 (All Instruments) + + + Paketti + ∿ Transpose Shift -11 (Selected Instrument) + + + Paketti + ∿ Transpose Shift -10 (All Instruments) + + + Paketti + ∿ Transpose Shift -10 (Selected Instrument) + + + Paketti + ∿ Transpose Shift -9 (All Instruments) + + + Paketti + ∿ Transpose Shift -9 (Selected Instrument) + + + Paketti + ∿ Transpose Shift -8 (All Instruments) + + + Paketti + ∿ Transpose Shift -8 (Selected Instrument) + + + Paketti + ∿ Transpose Shift -7 (All Instruments) + + + Paketti + ∿ Transpose Shift -7 (Selected Instrument) + + + Paketti + ∿ Transpose Shift -6 (All Instruments) + + + Paketti + ∿ Transpose Shift -6 (Selected Instrument) + + + Paketti + ∿ Transpose Shift -5 (All Instruments) + + + Paketti + ∿ Transpose Shift -5 (Selected Instrument) + + + Paketti + ∿ Transpose Shift -4 (All Instruments) + + + Paketti + ∿ Transpose Shift -4 (Selected Instrument) + + + Paketti + ∿ Transpose Shift -3 (All Instruments) + + + Paketti + ∿ Transpose Shift -3 (Selected Instrument) + + + Paketti + ∿ Transpose Shift -2 (All Instruments) + + + Paketti + ∿ Transpose Shift -2 (Selected Instrument) + + + Paketti + ∿ Transpose Shift -1 (All Instruments) + + + Paketti + ∿ Transpose Shift -1 (Selected Instrument) + + + Paketti + ∿ Transpose Shift +1 (All Instruments) + + + Paketti + ∿ Transpose Shift +1 (Selected Instrument) + + + Paketti + ∿ Transpose Shift +2 (All Instruments) + + + Paketti + ∿ Transpose Shift +2 (Selected Instrument) + + + Paketti + ∿ Transpose Shift +3 (All Instruments) + + + Paketti + ∿ Transpose Shift +3 (Selected Instrument) + + + Paketti + ∿ Transpose Shift +4 (All Instruments) + + + Paketti + ∿ Transpose Shift +4 (Selected Instrument) + + + Paketti + ∿ Transpose Shift +5 (All Instruments) + + + Paketti + ∿ Transpose Shift +5 (Selected Instrument) + + + Paketti + ∿ Transpose Shift +6 (All Instruments) + + + Paketti + ∿ Transpose Shift +6 (Selected Instrument) + + + Paketti + ∿ Transpose Shift +7 (All Instruments) + + + Paketti + ∿ Transpose Shift +7 (Selected Instrument) + + + Paketti + ∿ Transpose Shift +8 (All Instruments) + + + Paketti + ∿ Transpose Shift +8 (Selected Instrument) + + + Paketti + ∿ Transpose Shift +9 (All Instruments) + + + Paketti + ∿ Transpose Shift +9 (Selected Instrument) + + + Paketti + ∿ Transpose Shift +10 (All Instruments) + + + Paketti + ∿ Transpose Shift +10 (Selected Instrument) + + + Paketti + ∿ Transpose Shift +11 (All Instruments) + + + Paketti + ∿ Transpose Shift +11 (Selected Instrument) + + + Paketti + ∿ Transpose Shift +12 (All Instruments) + + + Paketti + ∿ Transpose Shift +12 (Selected Instrument) + + + 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 current Pattern length + + + Paketti + ∿ Resize all non-empty Patterns to 012 + + + Paketti + ∿ Resize all non-empty Patterns to 016 + + + Paketti + ∿ Resize all non-empty Patterns to 024 + + + Paketti + ∿ Resize all non-empty Patterns to 032 + + + Paketti + ∿ Resize all non-empty Patterns to 048 + + + Paketti + ∿ Resize all non-empty Patterns to 064 + + + Paketti + ∿ Resize all non-empty Patterns to 096 + + + Paketti + ∿ Resize all non-empty Patterns to 128 + + + Paketti + ∿ Resize all non-empty Patterns to 192 + + + Paketti + ∿ Resize all non-empty Patterns to 256 + + + Paketti + ∿ Resize all non-empty Patterns to 384 + + + Paketti + ∿ Resize all non-empty Patterns to 512 + + + 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 + + + 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 + ∿ Populate GlobalGainers on Each Track (start chain) + + + Paketti + ∿ Populate GlobalGainers on Each Track (end chain) + + + Paketti + ∿ Add Gainer A to Selected Track + + + Paketti + ∿ Add Gainer B to Selected Track + + + Paketti + ∿ Save Song with Timestamp + + + Paketti + ∿ Offset Dialog... + + + Paketti + ∿ Wipe Random Notes + + + Paketti + ∿ Global Volume Reduce All Instruments by -4.5dB + + + Paketti + ∿ Global Volume Reduce All Samples by -4.5dB + + + Paketti + ∿ Global Volume Adjustment Dialog... + + + Paketti + ∿ Show EditStep Dialog + + + + + 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 + ∿ 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 + ∿ 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 + ∿ 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 + ∿ Clean Render Selected Track/Group + Command + R + + + Paketti + ∿ Keep Sequence Sorted False + + + Paketti + ∿ Keep Sequence Sorted True + + + Paketti + ∿ Keep Sequence Sorted Toggle + Shift + Command + N + + + Paketti + ∿ Capture Nearest Instrument and Octave (nojump) + + + Paketti + ∿ Capture Nearest Instrument and Octave (jump) + + + 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 + ∿ 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 + ∿ 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-F Expand Selection Twice + + + Paketti + ∿ Impulse Tracker ALT-G Shrink Selection + Command + G + + + Paketti + ∿ Impulse Tracker ALT-G Shrink Selection Twice + + + Paketti + ∿ Impulse Tracker ALT-F Expand Selection Replicate + + + Paketti + ∿ Impulse Tracker ALT-G Shrink Selection Replicate + + + 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 + ∿ Impulse Tracker ALT-X *2 (Interpolate&Clear Effect Columns) + + + Paketti + ∿ Switch to Automation + + + Paketti + ∿ Show Automation + + + Paketti + ∿ Clean Render Selected Track/Group LPB*2 + + + Paketti + ∿ Clean Render Seamless Selected Track/Group + + + 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 + ∿ Impulse Tracker MixPaste + Option + M + + + 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 + ∿ Interpolate Column Values (Effect) + + + 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 + ∿ Expose and Select Next Column + + + Paketti + ∿ Hide Current and Select Previous Column + Shift + Command + 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 + ∿ Clear Selected Track Below Current Row + + + Paketti + ∿ Clear All Tracks Below Current Row + + + 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 + + + Paketti + ∿ Nudge Down + + + Paketti + ∿ Nudge Up + + + Paketti + ∿ Nudge with Delay (Down) + + + Paketti + ∿ Nudge with Delay (Up) + + + Paketti + ∿ Toggle Note Off in Selected Tracks + Option + Capital + + + Paketti + ∿ Duplicate Selection with Padding&Move Cursor 1 + Shift + Option + D + + + Paketti + ∿ Duplicate Selection with Padding&Move Cursor 2 + Option + D + + + Paketti + ∿ Nudge and Paste Selection + Shift + Command + Down + + + Paketti + ∿ Nudge and Paste Selection + Deselect + + + Paketti + ∿ Create New Pattern with Selection + + + Paketti.. + ∿ Random Selected Notes Octave Up 25% Probability + + + Paketti.. + ∿ Random Selected Notes Octave Up 50% Probability + + + Paketti.. + ∿ Random Selected Notes Octave Up 75% Probability + + + 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 + ∿ Interpolate Notes + + + 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 + ∿ Interpolate Column Values (Volume) + + + Paketti + ∿ Interpolate Column Values (Delay) + + + Paketti + ∿ Interpolate Column Values (Panning) + + + Paketti + ∿ Interpolate Column Values (Sample FX) + + + Paketti + ∿ Invert Note Column Subcolumns + Shift + Control + V + + + Paketti + ∿ Invert Effect Column Subcolumns + Shift + Option + V + + + Paketti + ∿ Invert All Subcolumns + Shift + Option + Control + V + + + + + 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 + ∿ Phrase Editor Visible + + + 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 + ∿ Normalize Selected Sample to -12dB + + + Paketti + ∿ Normalize Selected Instrument to -12dB + + + Paketti + ∿ Normalize All Instruments to -12dB + + + 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 + ∿ Rotate Sample Buffer Upwards + + + Paketti + ∿ Rotate Sample Buffer Downwards + + + 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 + ∿ Offset Sample Buffer by -0.5 + Shift + Command + E + + + Paketti + ∿ Multiply Sample Buffer by 0.5 + Command + P + + + + + 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 + + + Paketti + ∿ Clean Render Selected Track/Group + Command + R + + + Paketti + ∿ Capture Nearest Instrument and Octave (nojump) + + + Paketti + ∿ Capture Nearest Instrument and Octave (jump) + + + 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 + ∿ Switch to Automation + + + Paketti + ∿ Show Automation + + + Paketti + ∿ Clean Render Selected Track/Group LPB*2 + + + Paketti + ∿ Clean Render Seamless Selected Track/Group + + + Paketti + ∿ Paketti Pattern Doubler + Command + Grave + + + Paketti + ∿ Paketti Pattern Halver + Shift + Option + Grave + + + Paketti + ∿ Paketti Track Renamer Dialog... + + + 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 + + + Paketti.. + ∿ Pattern Matrix Selection Expand + + + Paketti.. + ∿ Pattern Matrix Selection Shrink + + + + + 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 + ∿ 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) + + + 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 + + + + + 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 + + + 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 + + + + + diff --git a/KeyBindings/Debug_Paketti_KeyBindings.log b/KeyBindings/Debug_Paketti_KeyBindings.log index bf02a72..32d29ff 100644 --- a/KeyBindings/Debug_Paketti_KeyBindings.log +++ b/KeyBindings/Debug_Paketti_KeyBindings.log @@ -1,23 +1,3935 @@ -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 +Debug: Total Paketti keybindings found - 3934 +0001:Global:Paketti: ∿ EZ Maximize Spectrum: +0002:Global:Paketti: ∿ Show Paketti Preferences...: Shift + Command + Comma +0003:Global:Paketti: ∿ Paketti eSpeak Text-to-Speech: Control + E +0004:Global:Paketti: ∿ Paketti eSpeak Generate Sample: +0005:Global:Paketti: ∿ Paketti eSpeak Generate Selection: +0006:Global:Paketti: ∿ Paketti eSpeak Generate Row 00: +0007:Global:Paketti: ∿ Paketti eSpeak Generate Row 01: +0008:Global:Paketti: ∿ Paketti eSpeak Generate Row 02: +0009:Global:Paketti: ∿ Paketti eSpeak Generate Row 03: +0010:Global:Paketti: ∿ Paketti eSpeak Generate Row 04: +0011:Global:Paketti: ∿ Paketti eSpeak Generate Row 05: +0012:Global:Paketti: ∿ Paketti eSpeak Generate Row 06: +0013:Global:Paketti: ∿ Paketti eSpeak Generate Row 07: +0014:Global:Paketti: ∿ Paketti eSpeak Generate Row 08: +0015:Global:Paketti: ∿ Paketti eSpeak Generate Row 09: +0016:Global:Paketti: ∿ Paketti eSpeak Generate Row 10: +0017:Global:Paketti: ∿ Paketti eSpeak Generate Row 11: +0018:Global:Paketti: ∿ Paketti eSpeak Generate Row 12: +0019:Global:Paketti: ∿ Paketti eSpeak Generate Row 13: +0020:Global:Paketti: ∿ Paketti eSpeak Generate Row 14: +0021:Global:Paketti: ∿ Paketti eSpeak Generate Row 15: +0022:Global:Paketti: ∿ Paketti eSpeak Generate Row 16: +0023:Global:Paketti: ∿ Paketti eSpeak Generate Row 17: +0024:Global:Paketti: ∿ Paketti eSpeak Generate Row 18: +0025:Global:Paketti: ∿ Paketti eSpeak Generate Row 19: +0026:Global:Paketti: ∿ Paketti eSpeak Generate Row 20: +0027:Global:Paketti: ∿ Paketti eSpeak Generate Row 21: +0028:Global:Paketti: ∿ Paketti eSpeak Generate Row 22: +0029:Global:Paketti: ∿ Paketti eSpeak Generate Row 23: +0030:Global:Paketti: ∿ Paketti eSpeak Generate Row 24: +0031:Global:Paketti: ∿ Paketti eSpeak Generate Row 25: +0032:Global:Paketti: ∿ Paketti eSpeak Generate Row 26: +0033:Global:Paketti: ∿ Paketti eSpeak Generate Row 27: +0034:Global:Paketti: ∿ Paketti eSpeak Generate Row 28: +0035:Global:Paketti: ∿ Paketti eSpeak Generate Row 29: +0036:Global:Paketti: ∿ Paketti eSpeak Generate Row 30: +0037:Global:Paketti: ∿ Paketti eSpeak Generate Row 31: +0038:Global:Paketti: ∿ Paketti eSpeak Refresh: +0039:Global:Paketti: ∿ Open Player Pro Note Column Dialog: +0040:Global:Paketti: ∿ Create New Track&Load Random Device Chain/Preset: +0041:Global:Paketti: ∿ Load Device Chain EQ10 Macro Experimental: Shift + Q +0042:Global:Paketti: ∿ Load Device Chain SimpleSend: +0043:Global:Paketti: ∿ Load Device Chain Paketti Doofer Rudiments: +0044:Global:Paketti: ∿ Load Device Chain ClippyClip: +0045:Global:Paketti: ∿ Load Device Chain Track Compressor (NPC1): +0046:Global:Paketti: ∿ Load Device Chain Low - High Cut (steep) (NPC1): +0047:Global:Paketti: ∿ Load Device Chain Low - High Cut (halfsteep) (NPC1): +0048:Global:Paketti: ∿ Load Device Chain Low - High Cut (flat) (NPC1): +0049:Global:Paketti: ∿ Load Plugin Vintage (AU): +0050:Global:Paketti: ∿ Load Plugin XO (AU): +0051:Global:Paketti: ∿ Load Plugin XO (VST): +0052:Global:Paketti: ∿ Load Plugin XO (VST3): +0053:Global:Paketti: ∿ Clone Current Sequence: +0054:Global:Paketti: ∿ Show/Hide Pattern Matrix: +0055:Global:Paketti: ∿ Duplicate Pattern Above & Clear Muted Tracks: Shift + Control + X +0056:Global:Paketti: ∿ Duplicate Pattern Below & Clear Muted Tracks: +0057:Global:Paketti: ∿ Duplicate Instrument and Select New Instrument: Shift + Command + D +0058:Global:Paketti: ∿ Duplicate Instrument and Select New Instrument (2nd): +0059:Global:Paketti: ∿ Duplicate Instrument and Select New Instrument (3rd): +0060:Global:Paketti: ∿ Duplicate Instrument and Select Last Instrument: +0061:Global:Paketti: ∿ Numpad SelectPlay 0: +0062:Global:Paketti: ∿ Numpad SelectPlay 1: +0063:Global:Paketti: ∿ Numpad SelectPlay 2: +0064:Global:Paketti: ∿ Numpad SelectPlay 3: +0065:Global:Paketti: ∿ Numpad SelectPlay 4: +0066:Global:Paketti: ∿ Numpad SelectPlay 5: +0067:Global:Paketti: ∿ Numpad SelectPlay 6: +0068:Global:Paketti: ∿ Numpad SelectPlay 7: +0069:Global:Paketti: ∿ Numpad SelectPlay 8: +0070:Global:Paketti: ∿ Numpad SelectPlay 9: +0071:Global:Paketti: ∿ Capture Nearest Instrument and Octave (nojump): +0072:Global:Paketti: ∿ Capture Nearest Instrument and Octave (jump): +0073:Global:Paketti: ∿ Select Next Chunk (00..F0): Shift + Option + Command + Right +0074:Global:Paketti: ∿ Select Previous Chunk (00..F0): Shift + Option + Command + Left +0075:Global:Paketti: ∿ Select Chunk 00: +0076:Global:Paketti: ∿ Select Chunk 10: +0077:Global:Paketti: ∿ Select Chunk 20: +0078:Global:Paketti: ∿ Select Chunk 30: +0079:Global:Paketti: ∿ Select Chunk 40: +0080:Global:Paketti: ∿ Select Chunk 50: +0081:Global:Paketti: ∿ Select Chunk 60: +0082:Global:Paketti: ∿ Select Chunk 70: +0083:Global:Paketti: ∿ Select Chunk 80: +0084:Global:Paketti: ∿ Select Chunk 90: +0085:Global:Paketti: ∿ Select Chunk A0: +0086:Global:Paketti: ∿ Select Chunk B0: +0087:Global:Paketti: ∿ Select Chunk C0: +0088:Global:Paketti: ∿ Select Chunk D0: +0089:Global:Paketti: ∿ Select Chunk E0: +0090:Global:Paketti: ∿ Select Chunk F0: Shift + Option + F +0091:Global:Paketti: ∿ BeatDetector Modified...: +0092:Global:Paketti: ∿ Stack All Samples in Instrument with Velocity Mapping Split: +0093:Global:Paketti: ∿ Write Velocity Ramp Up for Stacked Instrument: +0094:Global:Paketti: ∿ Write Velocity Ramp Down for Stacked Instrument: +0095:Global:Paketti: ∿ Write Velocity Random for Stacked Instrument: +0096:Global:Paketti: ∿ Load&Slice&Isolate&Stack Sample: +0097:Global:Paketti: ∿ Paketti Stacker Dialog...: +0098:Global:Paketti: ∿ Set ReWire Channel (Next): +0099:Global:Paketti: ∿ Contour Shuttle Record Prototype: +0100:Global:Paketti: ∿ Sample NOW then F3 (Record): +0101:Global:Paketti: ∿ Record to Current Track: +0102:Global:Paketti: ∿ Record to Current Track w/Metronome: +0103:Global:Paketti: ∿ Record Follow: +0104:Global:Paketti: ∿ Simple Play Record Follow: +0105:Global:Paketti: ∿ Simple Play Record Follow (2nd): +0106:Global:Paketti: ∿ TouchOSC Sample Recorder and Record: +0107:Global:Paketti: ∿ TouchOSC Pattern Editor: Option + F2 +0108:Global:Paketti: ∿ TouchOSC Sample Editor: Option + Control + F3 +0109:Global:Paketti: ∿ Start/Stop Sample Recording and Pakettify: Option + F3 +0110:Global:Paketti: ∿ Save Song (2nd): +0111:Global:Paketti: ∿ Record+Follow Toggle (2nd): RShift +0112:Global:Paketti: ∿ Record+Follow Toggle (3rd): +0113:Global:Paketti: ∿ Record+Follow Toggle (4th): +0114:Global:Paketti: ∿ Toggle EditMode (2nd): +0115:Global:Paketti: ∿ Toggle EditMode (3rd): Escape +0116:Global:Paketti: ∿ Record+Follow+Metronome Toggle: Shift + Escape +0117:Global:Paketti: ∿ Toggle Follow Pattern (2nd): +0118:Global:Paketti: ∿ Fullscreen (2nd): +0119:Global:Paketti: ∿ KeybOctave Up: +0120:Global:Paketti: ∿ KeybOctave Down: +0121:Global:Paketti: ∿ Simple Play: +0122:Global:Paketti: ∿ Toggle Metronome On/Off: +0123:Global:Paketti: ∿ Song Details (Filename, BPM, LPB): +0124:Global:Paketti: ∿ Contour Shuttle Record Off: +0125:Global:Paketti: ∿ Contour Shuttle Record On: +0126:Global:Paketti: ∿ Global Edit Mode Toggle: +0127:Global:Paketti: ∿ Rewind Playback by 4 steps: +0128:Global:Paketti: ∿ Pattern Editor <-> Midi Editor Switcher: +0129:Global:Paketti: ∿ Select Track (Next): +0130:Global:Paketti: ∿ Select Track (Previous): +0131:Global:Paketti: ∿ Insert Track (2nd): +0132:Global:Paketti: ∿ Sample Editor Tab Switcher (01 Phrases): +0133:Global:Paketti: ∿ Sample Editor Tab Switcher (02 Keyzones): +0134:Global:Paketti: ∿ Sample Editor Tab Switcher (03 Waveform): +0135:Global:Paketti: ∿ Sample Editor Tab Switcher (04 Modulation): +0136:Global:Paketti: ∿ Sample Editor Tab Switcher (05 Effects): +0137:Global:Paketti: ∿ Sample Editor Tab Switcher (06 Plugin Editor): +0138:Global:Paketti: ∿ Sample Editor Tab Switcher (07 Midi Editor): +0139:Global:Paketti: ∿ Select LoopBlock Backwards (Previous): +0140:Global:Paketti: ∿ Select LoopBlock Forwards (Next): +0141:Global:Paketti: ∿ Set EditStep to 00: +0142:Global:Paketti: ∿ Set EditStep to 01: +0143:Global:Paketti: ∿ Set EditStep to 02: +0144:Global:Paketti: ∿ Set EditStep to 03: +0145:Global:Paketti: ∿ Set EditStep to 04: +0146:Global:Paketti: ∿ Set EditStep to 05: +0147:Global:Paketti: ∿ Set EditStep to 06: +0148:Global:Paketti: ∿ Set EditStep to 07: +0149:Global:Paketti: ∿ Set EditStep to 08: +0150:Global:Paketti: ∿ Set EditStep to 09: +0151:Global:Paketti: ∿ Set EditStep to 10: +0152:Global:Paketti: ∿ Set EditStep to 11: +0153:Global:Paketti: ∿ Set EditStep to 12: +0154:Global:Paketti: ∿ Set EditStep to 13: +0155:Global:Paketti: ∿ Set EditStep to 14: +0156:Global:Paketti: ∿ Set EditStep to 15: +0157:Global:Paketti: ∿ Set EditStep to 16: +0158:Global:Paketti: ∿ Set EditStep to 17: +0159:Global:Paketti: ∿ Set EditStep to 18: +0160:Global:Paketti: ∿ Set EditStep to 19: +0161:Global:Paketti: ∿ Set EditStep to 20: +0162:Global:Paketti: ∿ Set EditStep to 21: +0163:Global:Paketti: ∿ Set EditStep to 22: +0164:Global:Paketti: ∿ Set EditStep to 23: +0165:Global:Paketti: ∿ Set EditStep to 24: +0166:Global:Paketti: ∿ Set EditStep to 25: +0167:Global:Paketti: ∿ Set EditStep to 26: +0168:Global:Paketti: ∿ Set EditStep to 27: +0169:Global:Paketti: ∿ Set EditStep to 28: +0170:Global:Paketti: ∿ Set EditStep to 29: +0171:Global:Paketti: ∿ Set EditStep to 30: +0172:Global:Paketti: ∿ Set EditStep to 31: +0173:Global:Paketti: ∿ Set EditStep to 32: +0174:Global:Paketti: ∿ Set EditStep to 33: +0175:Global:Paketti: ∿ Set EditStep to 34: +0176:Global:Paketti: ∿ Set EditStep to 35: +0177:Global:Paketti: ∿ Set EditStep to 36: +0178:Global:Paketti: ∿ Set EditStep to 37: +0179:Global:Paketti: ∿ Set EditStep to 38: +0180:Global:Paketti: ∿ Set EditStep to 39: +0181:Global:Paketti: ∿ Set EditStep to 40: +0182:Global:Paketti: ∿ Set EditStep to 41: +0183:Global:Paketti: ∿ Set EditStep to 42: +0184:Global:Paketti: ∿ Set EditStep to 43: +0185:Global:Paketti: ∿ Set EditStep to 44: +0186:Global:Paketti: ∿ Set EditStep to 45: +0187:Global:Paketti: ∿ Set EditStep to 46: +0188:Global:Paketti: ∿ Set EditStep to 47: +0189:Global:Paketti: ∿ Set EditStep to 48: +0190:Global:Paketti: ∿ Set EditStep to 49: +0191:Global:Paketti: ∿ Set EditStep to 50: +0192:Global:Paketti: ∿ Set EditStep to 51: +0193:Global:Paketti: ∿ Set EditStep to 52: +0194:Global:Paketti: ∿ Set EditStep to 53: +0195:Global:Paketti: ∿ Set EditStep to 54: +0196:Global:Paketti: ∿ Set EditStep to 55: +0197:Global:Paketti: ∿ Set EditStep to 56: +0198:Global:Paketti: ∿ Set EditStep to 57: +0199:Global:Paketti: ∿ Set EditStep to 58: +0200:Global:Paketti: ∿ Set EditStep to 59: +0201:Global:Paketti: ∿ Set EditStep to 60: +0202:Global:Paketti: ∿ Set EditStep to 61: +0203:Global:Paketti: ∿ Set EditStep to 62: +0204:Global:Paketti: ∿ Set EditStep to 63: +0205:Global:Paketti: ∿ Set EditStep to 64: +0206:Global:Paketti: ∿ Record Toggle with EditStep Reading (2nd): +0207:Global:Paketti: ∿ Load Recently Saved Song: +0208:Global:Paketti: ∿ Switch Upper Frame (Track Scopes/Master Spectrum): +0209:Global:Paketti: ∿ Duplicate Selected Track & Name: +0210:Global:Paketti: ∿ Paketti MIDI Mappings...: +0211:Global:Paketti: ∿ Generate Paketti Midi Mappings to Console: +0212:Global:Paketti: ∿ Show Paketti KeyBindings Dialog: Command + K +0213:Global:Paketti: ∿ Show Renoise KeyBindings Dialog: Shift + Command + K +0214:Global:Paketti: ∿ Open Paketti Init Phrase Dialog...: Command + I +0215:Global:Paketti: ∿ Create New Phrase using Paketti Settings: +0216:Global:Paketti: ∿ Modify Current Phrase using Paketti Settings: +0217:Global:Paketti: ∿ Phrase Editor Visible: +0218:Global:Paketti: ∿ Add New Phrase: +0219:Global:Paketti: ∿ Create Random AKWF Wavetable (032): +0220:Global:Paketti: ∿ Create Random AKWF Wavetable (064): +0221:Global:Paketti: ∿ Create Random AKWF Wavetable (128): +0222:Global:Paketti: ∿ Create Random AKWF Wavetable (256): +0223:Global:Paketti: ∿ Create Random AKWF Wavetable (032,loop): +0224:Global:Paketti: ∿ Create Random AKWF Wavetable (064,loop): +0225:Global:Paketti: ∿ Create Random AKWF Wavetable (128,loop): +0226:Global:Paketti: ∿ Create Random AKWF Wavetable (256,loop): +0227:Global:Paketti: ∿ Next Wavetable Cycle: +0228:Global:Paketti: ∿ Previous Wavetable Cycle: +0229:Global:Paketti: ∿ Paketti Audio Processing Tools Dialog...: Control + A +0230:Global:Paketti: ∿ Strip Silence: Shift + Option + S +0231:Global:Paketti: ∿ Move Beginning Silence to End: +0232:Global:Paketti: ∿ Max Amp DC Offset Kick Generator: +0233:Global:Paketti: ∿ Diagonal Line to 16800 length Sample: +0234:Global:Paketti: ∿ Paketti Normalize Sample: +0235:Global:Paketti: ∿ Pattern Effect Command CheatSheet: F1 +0236:Global:Paketti Theme Selector: ∿ Open Paketti Theme Selector Dialog: Shift + Option + Comma +0237:Global:Paketti Theme Selector: ∿ Pick a Random Theme (All): Shift + Option + Control + Comma +0238:Global:Paketti Theme Selector: ∿ Pick a Random Theme (Favorites): Shift + Control + Comma +0239:Global:Paketti: ∿ Paketti MIDI Populator Dialog...: +0240:Global:Paketti: ∿ Impulse Tracker F2 Pattern Editor: +0241:Global:Paketti: ∿ Impulse Tracker F2 Pattern Editor ONLY: +0242:Global:Paketti: ∿ Impulse Tracker F2 Pattern Editor Mini: +0243:Global:Paketti: ∿ Impulse Tracker F3 Sample Editor: +0244:Global:Paketti: ∿ Impulse Tracker F3 Sample Editor Only: +0245:Global:Paketti: ∿ Impulse Tracker F4 Instrument Editor: +0246:Global:Paketti: ∿ Impulse Tracker F5 Start Playback: F5 +0247:Global:Paketti: ∿ Impulse Tracker F5 Start Playback (2nd): +0248:Global:Paketti: ∿ Impulse Tracker F7 Start Playback from Cursor Row: F7 +0249:Global:Paketti: ∿ Impulse Tracker F7 Start Playback from Cursor Row (2nd): RControl +0250:Global:Paketti: ∿ Impulse Tracker F8 Stop Playback (Panic): F8 +0251:Global:Paketti: ∿ Impulse Tracker F8 Stop Playback (Panic) (2nd): +0252:Global:Paketti: ∿ Impulse Tracker F8 Stop/Start Playback (Panic): +0253:Global:Paketti: ∿ Impulse Tracker F11 Order List: +0254:Global:Paketti: ∿ Impulse Tracker F12 Master: F12 +0255:Global:Paketti: ∿ Impulse Tracker Pattern (Next): +0256:Global:Paketti: ∿ Impulse Tracker Pattern (Previous): +0257:Global:Paketti: ∿ Impulse Tracker Pattern (Next) 2nd: +0258:Global:Paketti: ∿ Impulse Tracker Pattern (Previous) 2nd: +0259:Global:Paketti: ∿ Impulse Tracker PageUp Jump Lines: +0260:Global:Paketti: ∿ Impulse Tracker PageDown Jump Lines: +0261:Global:Paketti: ∿ Impulse Tracker 8 Play Current Line & Advance by EditStep: +0262:Global:Paketti: ∿ Impulse Tracker ALT-F10 (Solo Toggle): +0263:Global:Paketti: ∿ Impulse Tracker CTRL-N New Song Dialog: Control + N +0264:Global:Paketti: ∿ Impulse Tracker ALT-U Unmark Selection: Command + U +0265:Global:Paketti: ∿ Impulse Tracker ALT-U Unmark Selection (2nd): +0266:Global:Paketti: ∿ Impulse Tracker ALT-Y Swap Block: Command + Y +0267:Global:Paketti: ∿ Paketti Gater Dialog...: Control + G +0268:Global:Paketti: ∿ Paketti Gater Insert Commands: Shift + Control + G +0269:Global:Paketti: ∿ Paketti Automation: Option + T +0270:Global:Paketti: ∿ Switch to Automation: +0271:Global:Paketti..: ∿ Automation Ramp Up (Exp): +0272:Global:Paketti..: ∿ Automation Ramp Down (Exp): +0273:Global:Paketti..: ∿ Automation Ramp Up (Lin): +0274:Global:Paketti..: ∿ Automation Ramp Down (Lin): +0275:Global:Paketti..: ∿ Automation Center to Top (Exp): +0276:Global:Paketti..: ∿ Automation Top to Center (Exp): +0277:Global:Paketti..: ∿ Automation Center to Bottom (Exp): +0278:Global:Paketti..: ∿ Automation Bottom to Center (Exp): +0279:Global:Paketti..: ∿ Automation Center to Top (Lin): +0280:Global:Paketti..: ∿ Automation Top to Center (Lin): +0281:Global:Paketti..: ∿ Automation Center to Bottom (Lin): +0282:Global:Paketti..: ∿ Automation Bottom to Center (Lin): +0283:Global:Paketti: ∿ Randomize Automation Envelope: Shift + Option + R +0284:Global:Paketti: ∿ Randomize Automation Envelopes for Device: Option + Command + R +0285:Global:Paketti: ∿ Switch to Automation Dynamic: A +0286:Global:Paketti: ∿ Show Automation Value Dialog...: +0287:Global:Paketti: ∿ Write Automation Value 0.0: +0288:Global:Paketti: ∿ Write Automation Value 0.1: +0289:Global:Paketti: ∿ Write Automation Value 0.2: +0290:Global:Paketti: ∿ Write Automation Value 0.3: +0291:Global:Paketti: ∿ Write Automation Value 0.4: +0292:Global:Paketti: ∿ Write Automation Value 0.5: +0293:Global:Paketti: ∿ Write Automation Value 0.6: +0294:Global:Paketti: ∿ Write Automation Value 0.7: +0295:Global:Paketti: ∿ Write Automation Value 0.8: +0296:Global:Paketti: ∿ Write Automation Value 0.9: +0297:Global:Paketti: ∿ Write Automation Value 1.0: +0298:Global:Paketti: ∿ Flood Fill Automation Selection: +0299:Global:Paketti: ∿ Set Automation Range to Max (1.0): +0300:Global:Paketti: ∿ Set Automation Range to Middle (0.5): +0301:Global:Paketti: ∿ Set Automation Range to Min (0.0): +0302:Global:Paketti: ∿ Scale Automation to 90%: +0303:Global:Paketti: ∿ Scale Automation to 110%: +0304:Global:Paketti: ∿ Scale Automation to 50%: +0305:Global:Paketti: ∿ Flip Automation Selection Horizontally: +0306:Global:Paketti: ∿ Flip Automation Selection Vertically: +0307:Global:Paketti: ∿ Generate Automation Points from Notes in Selected Track: +0308:Global:Paketti: ∿ Select Automation Playmode (Next): +0309:Global:Paketti: ∿ Select Automation Playmode (Previous): +0310:Global:Paketti: ∿ Select Automation Playmode 01 Points: +0311:Global:Paketti: ∿ Select Automation Playmode 02 Lines: +0312:Global:Paketti: ∿ Select Automation Playmode 03 Curves: +0313:Global:Paketti: ∿ Clone Sequence (Automation Only): +0314:Global:Paketti: ∿ Clone Pattern (Without Automation): +0315:Global:Paketti: ∿ ∿ Squiggly Sinewave to Clipboard (macOS): +0316:Global:Paketti: ∿ Toggle Paketti Dialog of Dialogs: +0317:Global:Paketti: ∿ Selected Instrument Midi Program +1 (Next): +0318:Global:Paketti: ∿ Selected Instrument Midi Program -1 (Previous): +0319:Global:Paketti: ∿ Cycle Paketti Dynamic View 01: F2 +0320:Global:Paketti: ∿ Cycle Paketti Dynamic View 02: F3 +0321:Global:Paketti: ∿ Cycle Paketti Dynamic View 03: F4 +0322:Global:Paketti: ∿ Cycle Paketti Dynamic View 04: F11 +0323:Global:Paketti: ∿ Cycle Paketti Dynamic View 05: +0324:Global:Paketti: ∿ Cycle Paketti Dynamic View 06: +0325:Global:Paketti: ∿ Cycle Paketti Dynamic View 07: +0326:Global:Paketti: ∿ Cycle Paketti Dynamic View 08: +0327:Global:Paketti: ∿ Paketti Dynamic View Preferences Dialog 1-4...: +0328:Global:Paketti: ∿ Paketti Dynamic View Preferences Dialog 5-8...: +0329:Global:Paketti: ∿ Paketti Groovebox 8120: Option + 8 +0330:Global:Paketti: ∿ Initialize for Groovebox 8120: +0331:Global:Paketti: ∿ Send Selected Sample to AppSelection1: +0332:Global:Paketti: ∿ Send Selected Sample to AppSelection2: +0333:Global:Paketti: ∿ Send Selected Sample to AppSelection3: +0334:Global:Paketti: ∿ Send Selected Sample to AppSelection4: +0335:Global:Paketti: ∿ Send Selected Sample to AppSelection5: +0336:Global:Paketti: ∿ Send Selected Sample to AppSelection6: +0337:Global:Paketti: ∿ Save Sample to Smart/Backup Folder 1: +0338:Global:Paketti: ∿ Save Sample to Smart/Backup Folder 2: +0339:Global:Paketti: ∿ Save Sample to Smart/Backup Folder 3: +0340:Global:Paketti: ∿ Save All Samples to Smart/Backup Folder 1: +0341:Global:Paketti: ∿ Save All Samples to Smart/Backup Folder 2: +0342:Global:Paketti: ∿ Save All Samples to Smart/Backup Folder 3: +0343:Global:Paketti: ∿ Paketti PitchBend Drumkit Sample Loader: Shift + Command + O +0344:Global:Paketti: ∿ Paketti PitchBend Drumkit Sample Loader (Random): Option + Command + O +0345:Global:Paketti: ∿ Create New Instrument & Loop from Selection: Option + Command + Right +0346:Global:Paketti: ∿ Paketti PitchBend Multiple Sample Loader: Command + O +0347:Global:Paketti: ∿ Paketti PitchBend Multiple Sample Loader (Normalize): Shift + Option + O +0348:Global:Paketti: ∿ Add Sample Slot to Instrument: +0349:Global:Paketti: ∿ Add 84 Sample Slots to Instrument: +0350:Global:Paketti: ∿ Set Sample to One-Shot + NNA Continue: +0351:Global:Paketti: ∿ Wipe&Slice (2): Option + 1 +0352:Global:Paketti: ∿ Wipe&Slice (4): Option + 2 +0353:Global:Paketti: ∿ Wipe&Slice (8): Option + 3 +0354:Global:Paketti: ∿ Wipe&Slice (16): Option + 4 +0355:Global:Paketti: ∿ Wipe&Slice (32): Option + 5 +0356:Global:Paketti: ∿ Wipe&Slice (64): Option + 6 +0357:Global:Paketti: ∿ Wipe&Slice (128): Option + 7 +0358:Global:Paketti: ∿ Wipe Slices: Option + 0 +0359:Global:Paketti: ∿ Show DSP FX Chain: +0360:Global:Paketti: ∿ Paketti Save Selected Sample .WAV: Command + W +0361:Global:Paketti: ∿ Paketti Save Selected Sample .FLAC: +0362:Global:Paketti: ∿ Wipe Song Retain Sample: +0363:Global:Paketti: ∿ Reset Slice Counter: +0364:Global:Paketti: ∿ Sample Loop Cycler (Forwards): +0365:Global:Paketti: ∿ Sample Loop Cycler (Backwards): +0366:Global:Paketti: ∿ All Samples Loop Cycler (Forwards): +0367:Global:Paketti: ∿ All Samples Loop Cycler (Backwards): +0368:Global:Paketti: ∿ Duplicate and Reverse Instrument: Shift + Command + R +0369:Global:Paketti: ∿ Paketti Save Selected Sample Range .WAV: Shift + Command + W +0370:Global:Paketti: ∿ Paketti Save Selected Sample Range .FLAC: +0371:Global:Paketti..: ∿ FT2 Minimize Selected Sample: +0372:Global:Paketti: ∿ Randomize Selected Instrument Modulation Filter Type: Shift + Option + M +0373:Global:Paketti: ∿ Clean Render&Save Selected Track/Group (.WAV): Shift + Control + R +0374:Global:Paketti: ∿ Clean Render&Save Selected Track/Group (.FLAC): +0375:Global:Paketti: ∿ Pakettify Current Instrument: Shift + Control + 8 +0376:Global:Paketti: ∿ Show/Hide PitchStep on Selected Instrument: Option + P +0377:Global:Paketti: ∿ Smart BeatSync from Selection: Shift + Command + S +0378:Global:Paketti: ∿ Eight 120-fy: Shift + Option + 8 +0379:Global:Paketti: ∿ Modify PitchStep Steps (Octave Up+2, Octave Down-2): Option + Command + P +0380:Global:Paketti: ∿ Modify PitchStep Steps (Random): Shift + Option + Command + P +0381:Global:Paketti: ∿ Modify PitchStep Steps (Octave Up, Octave Down): Shift + Command + P +0382:Global:Paketti: ∿ Clear PitchStep Steps: Shift + Option + P +0383:Global:Paketti: ∿ Load Random AKWF Sample: Shift + Command + 1 +0384:Global:Paketti: ∿ Load Random amount (1...12) of AKWF Samples: Shift + Command + 2 +0385:Global:Paketti: ∿ Load 05 AKWF Samples: +0386:Global:Paketti: ∿ Load 05 AKWF Samples with Overlap Random: +0387:Global:Paketti: ∿ Load 05 AKWF Samples with Overlap Cycle: +0388:Global:Paketti: ∿ Load 12 AKWF Samples with Overlap Random: +0389:Global:Paketti: ∿ Load 12 AKWF Samples with Overlap Cycle: +0390:Global:Paketti: ∿ Load 04 AKWF Samples (XY): +0391:Global:Paketti: ∿ Load 12 AKWF Samples: +0392:Global:Paketti: ∿ Load 02 AKWF Samples: +0393:Global:Paketti: ∿ Load Random Samples (32) from Path: +0394:Global:Paketti: ∿ Load Random Samples (01) from Path: +0395:Global:Paketti: ∿ Load Random Samples (12) into Single Instrument: Shift + Option + 1 +0396:Global:Paketti: ∿ Load Random Samples (04) into Single Instrument (XY): +0397:Global:Paketti: ∿ User-Defined Sample Folders Dialog...: +0398:Global:Paketti: ∿ Duplicate Selected Sample at -12 transpose: +0399:Global:Paketti: ∿ Duplicate Selected Sample at -24 transpose: +0400:Global:Paketti: ∿ Duplicate Selected Sample at +12 transpose: +0401:Global:Paketti: ∿ Duplicate Selected Sample at +24 transpose: +0402:Global:Paketti: ∿ Cycle Overlap Mode: +0403:Global:Paketti: ∿ Set Overlap Mode 0 (Play All): +0404:Global:Paketti: ∿ Set Overlap Mode 1 (Cycle): +0405:Global:Paketti: ∿ Set Overlap Mode 2 (Random): +0406:Global:Paketti: ∿ Set DrumKit to Overlap Random: +0407:Global:Paketti: ∿ Load DrumKit with Overlap Random: +0408:Global:Paketti: ∿ Load DrumKit with Overlap Cycle: +0409:Global:Paketti: ∿ Duplicate All Samples at -36 Transpose: +0410:Global:Paketti: ∿ Duplicate All Samples at -24 Transpose: +0411:Global:Paketti: ∿ Duplicate All Samples at -12 Transpose: +0412:Global:Paketti: ∿ Duplicate All Samples at +12 Transpose: +0413:Global:Paketti: ∿ Duplicate All Samples at +24 Transpose: +0414:Global:Paketti: ∿ Duplicate All Samples at +36 Transpose: +0415:Global:Paketti: ∿ OctaMED Note Spread 02: +0416:Global:Paketti: ∿ OctaMED Note Spread 03: +0417:Global:Paketti: ∿ OctaMED Note Spread 04: +0418:Global:Paketti: ∿ OctaMED Note Spread 05: +0419:Global:Paketti: ∿ OctaMED Note Spread 06: +0420:Global:Paketti: ∿ OctaMED Note Spread 07: +0421:Global:Paketti: ∿ OctaMED Note Spread 08: +0422:Global:Paketti: ∿ OctaMED Note Spread 09: +0423:Global:Paketti: ∿ OctaMED Note Spread 10: +0424:Global:Paketti: ∿ OctaMED Note Spread 11: +0425:Global:Paketti: ∿ OctaMED Note Spread 12: +0426:Global:Paketti: ∿ Load Device Chain (.XRNT) Slot 01: +0427:Global:Paketti: ∿ Load Device Chain (.XRNT) Slot 02: +0428:Global:Paketti: ∿ Load Device Chain (.XRNT) Slot 03: +0429:Global:Paketti: ∿ Load Device Chain (.XRNT) Slot 04: +0430:Global:Paketti: ∿ Load Device Chain (.XRNT) Slot 05: +0431:Global:Paketti: ∿ Load Device Chain (.XRNT) Slot 06: +0432:Global:Paketti: ∿ Load Device Chain (.XRNT) Slot 07: +0433:Global:Paketti: ∿ Load Device Chain (.XRNT) Slot 08: +0434:Global:Paketti: ∿ Load Device Chain (.XRNT) Slot 09: +0435:Global:Paketti: ∿ Load Device Chain (.XRNT) Slot 10: +0436:Global:Paketti: ∿ Load Instrument (.XRNI) Slot 01: +0437:Global:Paketti: ∿ Load Instrument (.XRNI) Slot 02: +0438:Global:Paketti: ∿ Load Instrument (.XRNI) Slot 03: +0439:Global:Paketti: ∿ Load Instrument (.XRNI) Slot 04: +0440:Global:Paketti: ∿ Load Instrument (.XRNI) Slot 05: +0441:Global:Paketti: ∿ Load Instrument (.XRNI) Slot 06: +0442:Global:Paketti: ∿ Load Instrument (.XRNI) Slot 07: +0443:Global:Paketti: ∿ Load Instrument (.XRNI) Slot 08: +0444:Global:Paketti: ∿ Load Instrument (.XRNI) Slot 09: +0445:Global:Paketti: ∿ Load Instrument (.XRNI) Slot 10: +0446:Global:Paketti: ∿ Load Both Instrument&Device Chain (.XRNI&.XRNT) Slot 01: +0447:Global:Paketti: ∿ Load Both Instrument&Device Chain (.XRNI&.XRNT) Slot 02: +0448:Global:Paketti: ∿ Load Both Instrument&Device Chain (.XRNI&.XRNT) Slot 03: +0449:Global:Paketti: ∿ Load Both Instrument&Device Chain (.XRNI&.XRNT) Slot 04: +0450:Global:Paketti: ∿ Load Both Instrument&Device Chain (.XRNI&.XRNT) Slot 05: +0451:Global:Paketti: ∿ Load Both Instrument&Device Chain (.XRNI&.XRNT) Slot 06: +0452:Global:Paketti: ∿ Load Both Instrument&Device Chain (.XRNI&.XRNT) Slot 07: +0453:Global:Paketti: ∿ Load Both Instrument&Device Chain (.XRNI&.XRNT) Slot 08: +0454:Global:Paketti: ∿ Load Both Instrument&Device Chain (.XRNI&.XRNT) Slot 09: +0455:Global:Paketti: ∿ Load Both Instrument&Device Chain (.XRNI&.XRNT) Slot 10: +0456:Global:Paketti: ∿ Crossfade Loop: Shift + Command + C +0457:Global:Paketti: ∿ Flood Fill Column with Row: +0458:Global:Paketti: ∿ Repeater 1 / 1 Even: +0459:Global:Paketti: ∿ Repeater 1 / 1 Triplet: +0460:Global:Paketti: ∿ Repeater 1 / 1 Dotted: +0461:Global:Paketti: ∿ Repeater 1 / 2 Even: +0462:Global:Paketti: ∿ Repeater 1 / 2 Triplet: +0463:Global:Paketti: ∿ Repeater 1 / 2 Dotted: +0464:Global:Paketti: ∿ Repeater 1 / 4 Even: +0465:Global:Paketti: ∿ Repeater 1 / 4 Triplet: +0466:Global:Paketti: ∿ Repeater 1 / 4 Dotted: +0467:Global:Paketti: ∿ Repeater 1 / 8 Even: +0468:Global:Paketti: ∿ Repeater 1 / 8 Triplet: +0469:Global:Paketti: ∿ Repeater 1 / 8 Dotted: +0470:Global:Paketti: ∿ Repeater 1 / 16 Even: +0471:Global:Paketti: ∿ Repeater 1 / 16 Triplet: +0472:Global:Paketti: ∿ Repeater 1 / 16 Dotted: +0473:Global:Paketti: ∿ Repeater 1 / 32 Even: +0474:Global:Paketti: ∿ Repeater 1 / 32 Triplet: +0475:Global:Paketti: ∿ Repeater 1 / 32 Dotted: +0476:Global:Paketti: ∿ Repeater 1 / 64 Even: +0477:Global:Paketti: ∿ Repeater 1 / 64 Triplet: +0478:Global:Paketti: ∿ Repeater 1 / 64 Dotted: +0479:Global:Paketti: ∿ Repeater 1 / 128 Even: +0480:Global:Paketti: ∿ Repeater 1 / 128 Triplet: +0481:Global:Paketti: ∿ Repeater 1 / 128 Dotted: +0482:Global:Paketti: ∿ Toggle Solo Tracks: Command + F10 +0483:Global:Paketti: ∿ Toggle Mute Tracks: Command + F9 +0484:Global:Paketti: ∿ Open Visible Pages to Fit Parameters: +0485:Global:Paketti: ∿ Recordammajic9000: +0486:Global:Paketti: ∿ Display Sample Recorder with #Line Input: +0487:Global:Paketti: ∿ Note Off / Caps Lock replacement: +0488:Global:Paketti: ∿ Record to Current Track+Plus: +0489:Global:Paketti: ∿ Open FormulaDevice Dialog...: Command + Control + F +0490:Global:Paketti: ∿ Column Cycle Keyjazz 01: +0491:Global:Paketti: ∿ Column Cycle Keyjazz 02: +0492:Global:Paketti: ∿ Column Cycle Keyjazz 03: +0493:Global:Paketti: ∿ Column Cycle Keyjazz 04: +0494:Global:Paketti: ∿ Column Cycle Keyjazz 05: +0495:Global:Paketti: ∿ Column Cycle Keyjazz 06: +0496:Global:Paketti: ∿ Column Cycle Keyjazz 07: +0497:Global:Paketti: ∿ Column Cycle Keyjazz 08: +0498:Global:Paketti: ∿ Column Cycle Keyjazz 09: +0499:Global:Paketti: ∿ Column Cycle Keyjazz 10: +0500:Global:Paketti: ∿ Column Cycle Keyjazz 11: +0501:Global:Paketti: ∿ Column Cycle Keyjazz 12: Shift + Option + Control + 5 +0502:Global:Paketti: ∿ Start/Stop Column Cycling: +0503:Global:Paketti: ∿ Column Cycle Keyjazz 01_Special: Shift + Option + Control + 1 +0504:Global:Paketti: ∿ Paketti Unison Generator: Option + U +0505:Global:Paketti: ∿ AU/VST/VST3/Native Plugins/Effects Lister Dump: +0506:Global:Paketti: ∿ Dump Current Instrument parameters: +0507:Global:Paketti: ∿ Open External Editor for Plugin: Apostrophe +0508:Global:Paketti: ∿ Open External Editor for Plugin (2nd): +0509:Global:Paketti: ∿ Add Filter & LFO (AutoFilter): Shift + Command + F +0510:Global:Paketti: ∿ Load Rhino 2.1 AU: +0511:Global:Paketti: ∿ Load FabFilter One: Option + Command + F +0512:Global:Paketti: ∿ Load Surge (VST): +0513:Global:Paketti: ∿ Load U-He Zebra (VST): Option + Z +0514:Global:Paketti: ∿ Load Waldorf PPG v2 (VST): +0515:Global:Paketti: ∿ Load Waldorf Attack (VST): +0516:Global:Paketti: ∿ Open External Editor of Selected Effect: +0517:Global:Paketti: ∿ Hide Track DSP Device External Editors: +0518:Global:Paketti: ∿ Inspect Plugin: +0519:Global:Paketti: ∿ Inspect Device in Slot 2: +0520:Global:Paketti: ∿ Load Modulation Device (01 Volume) AHDSR: +0521:Global:Paketti: ∿ Load Modulation Device (02 Panning) AHDSR: +0522:Global:Paketti: ∿ Load Modulation Device (03 Pitch) AHDSR: +0523:Global:Paketti: ∿ Load Modulation Device (04 Cutoff) AHDSR: +0524:Global:Paketti: ∿ Load Modulation Device (05 Resonance) AHDSR: +0525:Global:Paketti: ∿ Load Modulation Device (06 Drive) AHDSR: +0526:Global:Paketti: ∿ Load Modulation Device (01 Volume) Envelope: +0527:Global:Paketti: ∿ Load Modulation Device (02 Panning) Envelope: +0528:Global:Paketti: ∿ Load Modulation Device (03 Pitch) Envelope: +0529:Global:Paketti: ∿ Load Modulation Device (04 Cutoff) Envelope: +0530:Global:Paketti: ∿ Load Modulation Device (05 Resonance) Envelope: +0531:Global:Paketti: ∿ Load Modulation Device (06 Drive) Envelope: +0532:Global:Paketti: ∿ Load Modulation Device (01 Volume) Fader: +0533:Global:Paketti: ∿ Load Modulation Device (02 Panning) Fader: +0534:Global:Paketti: ∿ Load Modulation Device (03 Pitch) Fader: +0535:Global:Paketti: ∿ Load Modulation Device (04 Cutoff) Fader: +0536:Global:Paketti: ∿ Load Modulation Device (05 Resonance) Fader: +0537:Global:Paketti: ∿ Load Modulation Device (06 Drive) Fader: +0538:Global:Paketti: ∿ Load Modulation Device (01 Volume) Key Tracking: +0539:Global:Paketti: ∿ Load Modulation Device (02 Panning) Key Tracking: +0540:Global:Paketti: ∿ Load Modulation Device (03 Pitch) Key Tracking: +0541:Global:Paketti: ∿ Load Modulation Device (04 Cutoff) Key Tracking: +0542:Global:Paketti: ∿ Load Modulation Device (05 Resonance) Key Tracking: +0543:Global:Paketti: ∿ Load Modulation Device (06 Drive) Key Tracking: +0544:Global:Paketti: ∿ Load Modulation Device (01 Volume) LFO: +0545:Global:Paketti: ∿ Load Modulation Device (02 Panning) LFO: +0546:Global:Paketti: ∿ Load Modulation Device (03 Pitch) LFO: +0547:Global:Paketti: ∿ Load Modulation Device (04 Cutoff) LFO: +0548:Global:Paketti: ∿ Load Modulation Device (05 Resonance) LFO: +0549:Global:Paketti: ∿ Load Modulation Device (06 Drive) LFO: +0550:Global:Paketti: ∿ Load Modulation Device (01 Volume) Operand: +0551:Global:Paketti: ∿ Load Modulation Device (02 Panning) Operand: +0552:Global:Paketti: ∿ Load Modulation Device (03 Pitch) Operand: +0553:Global:Paketti: ∿ Load Modulation Device (04 Cutoff) Operand: +0554:Global:Paketti: ∿ Load Modulation Device (05 Resonance) Operand: +0555:Global:Paketti: ∿ Load Modulation Device (06 Drive) Operand: +0556:Global:Paketti: ∿ Load Modulation Device (01 Volume) Stepper: +0557:Global:Paketti: ∿ Load Modulation Device (02 Panning) Stepper: +0558:Global:Paketti: ∿ Load Modulation Device (03 Pitch) Stepper: +0559:Global:Paketti: ∿ Load Modulation Device (04 Cutoff) Stepper: +0560:Global:Paketti: ∿ Load Modulation Device (05 Resonance) Stepper: +0561:Global:Paketti: ∿ Load Modulation Device (06 Drive) Stepper: +0562:Global:Paketti: ∿ Load Modulation Device (01 Volume) Velocity Tracking: +0563:Global:Paketti: ∿ Load Modulation Device (02 Panning) Velocity Tracking: +0564:Global:Paketti: ∿ Load Modulation Device (03 Pitch) Velocity Tracking: +0565:Global:Paketti: ∿ Load Modulation Device (04 Cutoff) Velocity Tracking: +0566:Global:Paketti: ∿ Load Modulation Device (05 Resonance) Velocity Tracking: +0567:Global:Paketti: ∿ Load Modulation Device (06 Drive) Velocity Tracking: +0568:Global:Paketti: ∿ Expose/Hide Selected Device Parameters in Mixer: +0569:Global:Paketti: ∿ Expose/Hide Selected Track ALL Device Parameters: +0570:Global:Paketti: ∿ Bypass All Devices on Track: +0571:Global:Paketti: ∿ Enable All Devices on Track: +0572:Global:Paketti: ∿ Bypass All Devices on All Tracks: +0573:Global:Paketti: ∿ Enable All Devices on All Tracks: +0574:Global:Paketti: ∿ Insert Stereo -> Mono device to Beginning of DSP Chain: +0575:Global:Paketti: ∿ Insert Stereo -> Mono device to End of DSP Chain: Option + S +0576:Global:Paketti: ∿ Insert Stereo -> Mono device to Beginning of Master: +0577:Global:Paketti: ∿ Insert Stereo -> Mono device to End of Master: +0578:Global:Paketti: ∿ Hide Track DSP Device External Editors for All Tracks: Command + H +0579:Global:Paketti: ∿ Show/Hide Track DSP and FX Chain Device External Editors: Shift + Command + H +0580:Global:Paketti: ∿ Randomize Devices and Plugins Dialog: +0581:Global:Paketti: ∿ Randomize Selected Device with User1 (%): +0582:Global:Paketti: ∿ Randomize Selected Device with User2 (%): +0583:Global:Paketti: ∿ Randomize Selected Device with User3 (%): +0584:Global:Paketti: ∿ Randomize Selected Device with User4 (%): +0585:Global:Paketti: ∿ Randomize Selected Device with User5 (%): +0586:Global:Paketti: ∿ Randomize All Devices of Track with User1 (%): +0587:Global:Paketti: ∿ Randomize All Devices of Track with User2 (%): +0588:Global:Paketti: ∿ Randomize All Devices of Track with User3 (%): +0589:Global:Paketti: ∿ Randomize All Devices of Track with User4 (%): +0590:Global:Paketti: ∿ Randomize All Devices of Track with User5 (%): +0591:Global:Paketti: ∿ Randomize Selected Plugin with User1 (%): +0592:Global:Paketti: ∿ Randomize Selected Plugin with User2 (%): +0593:Global:Paketti: ∿ Randomize Selected Plugin with User3 (%): +0594:Global:Paketti: ∿ Randomize Selected Plugin with User4 (%): +0595:Global:Paketti: ∿ Randomize Selected Plugin with User5 (%): +0596:Global:Paketti: ∿ Randomize All Plugins in Song with User1 (%): +0597:Global:Paketti: ∿ Randomize All Plugins in Song with User2 (%): +0598:Global:Paketti: ∿ Randomize All Plugins in Song with User3 (%): +0599:Global:Paketti: ∿ Randomize All Plugins in Song with User4 (%): +0600:Global:Paketti: ∿ Randomize All Plugins in Song with User5 (%): +0601:Global:Paketti: ∿ Randomize Selected Plugin: +0602:Global:Paketti: ∿ Randomize Selected Device: Option + R +0603:Global:Paketti: ∿ Clear All TrackDSPs from Current Track: Shift + Option + T +0604:Global:Paketti: ∿ Insert Inverter Device to TrackDSP/SampleFX: Option + I +0605:Global:Paketti: ∿ Wipe Phrases on Selected Instrument: +0606:Global:Paketti: ∿ Load XRNI & Wipe Phrases: +0607:Global:Paketti: ∿ Load XRNI & Disable Phrases: +0608:Global:Paketti: ∿ Load XRNI & Keep Phrases: +0609:Global:Paketti: ∿ Load New Instrument with Current Slice Markers: +0610:Global:Paketti: ∿ Toggle Auto-Open Track Devices: +0611:Global:Paketti: ∿ Show XO Plugin External Editor: +0612:Global:Paketti: ∿ Quantization Decrease (-1): +0613:Global:Paketti: ∿ Quantization Increase (+1): +0614:Global:Paketti: ∿ Metronome LPB Decrease (-1): +0615:Global:Paketti: ∿ Metronome LPB Increase (+1): +0616:Global:Paketti: ∿ Metronome BPB Decrease (-1): +0617:Global:Paketti: ∿ Metronome BPB Increase (+1): +0618:Global:Paketti: ∿ LPB Decrease (-1): +0619:Global:Paketti: ∿ LPB Increase (+1): +0620:Global:Paketti: ∿ TPL Decrease (-1): +0621:Global:Paketti: ∿ TPL Increase (+1): +0622:Global:Paketti: ∿ Solo Channel + Play + Follow: +0623:Global:Paketti: ∿ Uncollapse All Tracks: +0624:Global:Paketti: ∿ Collapse All Tracks: +0625:Global:Paketti: ∿ Computer Keyboard Velocity (-1): +0626:Global:Paketti: ∿ Computer Keyboard Velocity (+1): +0627:Global:Paketti: ∿ Computer Keyboard Velocity (-10): +0628:Global:Paketti: ∿ Computer Keyboard Velocity (+10): +0629:Global:Paketti: ∿ Set Keyboard Velocity to 10: +0630:Global:Paketti: ∿ Set Keyboard Velocity to 20: +0631:Global:Paketti: ∿ Set Keyboard Velocity to 30: +0632:Global:Paketti: ∿ Set Keyboard Velocity to 40: +0633:Global:Paketti: ∿ Set Keyboard Velocity to 50: +0634:Global:Paketti: ∿ Set Keyboard Velocity to 60: +0635:Global:Paketti: ∿ Set Keyboard Velocity to 70: +0636:Global:Paketti: ∿ Toggle Keyboard Velocity: +0637:Global:Paketti: ∿ Set Keyboard Velocity to 7F (Max): +0638:Global:Paketti: ∿ Set Keyboard Velocity to 00 (Min): +0639:Global:Paketti: ∿ BPM Decrease (-1): Backslash +0640:Global:Paketti: ∿ BPM Increase (+1): Shift + Backslash +0641:Global:Paketti: ∿ BPM Decrease (-0.1): Shift + RBracket +0642:Global:Paketti: ∿ BPM Increase (+0.1): Command + RBracket +0643:Global:Paketti: ∿ BPM Decrease (-0.5): Shift + Control + Backslash +0644:Global:Paketti: ∿ BPM Increase (+0.5): Control + Backslash +0645:Global:Paketti: ∿ Play at 75% Speed (Song BPM): +0646:Global:Paketti: ∿ Play at 100% Speed (Song BPM): +0647:Global:Paketti: ∿ Random BPM from List: +0648:Global:Paketti: ∿ Select Specific Track 01: Shift + 1 +0649:Global:Paketti: ∿ Select Specific Track 02: Shift + 2 +0650:Global:Paketti: ∿ Select Specific Track 03: Shift + 3 +0651:Global:Paketti: ∿ Select Specific Track 04: Shift + 4 +0652:Global:Paketti: ∿ Select Specific Track 05: Shift + 5 +0653:Global:Paketti: ∿ Select Specific Track 06: Shift + 6 +0654:Global:Paketti: ∿ Select Specific Track 07: Shift + 7 +0655:Global:Paketti: ∿ Select Specific Track 08: Shift + 8 +0656:Global:Paketti: ∿ Select Specific Track 09: Shift + 9 +0657:Global:Paketti: ∿ Select Specific Track 10: Shift + 0 +0658:Global:Paketti: ∿ Select Specific Track 11: +0659:Global:Paketti: ∿ Select Specific Track 12: +0660:Global:Paketti: ∿ Select Specific Track 13: +0661:Global:Paketti: ∿ Select Specific Track 14: +0662:Global:Paketti: ∿ Select Specific Track 15: +0663:Global:Paketti: ∿ Select Specific Track 16: +0664:Global:Paketti: ∿ Clone Current Pattern to Current Sequence: +0665:Global:Paketti: ∿ Clone Current Pattern to Current Sequence (2nd): +0666:Global:Paketti: ∿ Clone Current Pattern to Current Sequence (3rd): +0667:Global:Paketti: ∿ Toggle Edit Mode and Tint Track: +0668:Global:Paketti: ∿ Duplicate Effect Column Content to Pattern or Selection: Option + X +0669:Global:Paketti: ∿ Randomize Effect Column Parameters: Shift + Option + X +0670:Global:Paketti: ∿ Wipe Selected Track TrackDSPs: Control + X +0671:Global:Paketti: ∿ Insert Random Delay to Selected Row: +0672:Global:Paketti: ∿ Insert Random Panning to Selected Row: +0673:Global:Paketti: ∿ Insert Random Volume to Selected Row: +0674:Global:Paketti: ∿ Clone and Expand Pattern to LPB*2: +0675:Global:Paketti: ∿ Clone and Shrink Pattern to LPB/2: +0676:Global:Paketti: ∿ Set Random EditStep 0-64: +0677:Global:Paketti: ∿ Set Random EditStep 1-64: +0678:Global:Paketti: ∿ Divide LPB by 4, return to Original: +0679:Global:Paketti: ∿ Set All Tracks to Center: +0680:Global:Paketti: ∿ Hide All Effect Columns: +0681:Global:Paketti: ∿ Move Track Left: +0682:Global:Paketti: ∿ Move Track Right: +0683:Global:Paketti: ∿ Set Selected Sample Loop Release On/Off: +0684:Global:Paketti: ∿ Set Selected Sample One-Shot On/Off: +0685:Global:Paketti: ∿ Set Selected Sample Loop 1 (Off): +0686:Global:Paketti: ∿ Set Selected Sample Loop 2 (Forward): +0687:Global:Paketti: ∿ Set Selected Sample Loop 3 (Backward): +0688:Global:Paketti: ∿ Set Selected Sample Loop 4 (PingPong): +0689:Global:Paketti: ∿ Set Selected Sample Transpose (-1): +0690:Global:Paketti: ∿ Set Selected Sample Transpose (+1): +0691:Global:Paketti: ∿ Set Selected Sample Transpose (-12): +0692:Global:Paketti: ∿ Set Selected Sample Transpose (+12): +0693:Global:Paketti: ∿ Selected Sample Transpose (0): +0694:Global:Paketti: ∿ Set Selected Sample Finetune (-1): +0695:Global:Paketti: ∿ Set Selected Sample Finetune (+1): +0696:Global:Paketti: ∿ Set Selected Sample Finetune (-10): +0697:Global:Paketti: ∿ Set Selected Sample Finetune (+10): +0698:Global:Paketti: ∿ Set Selected Sample Finetune (0): +0699:Global:Paketti: ∿ Set Selected Sample Panning 0.5 (Center): +0700:Global:Paketti: ∿ Set Selected Sample Panning 0.0 (Left): +0701:Global:Paketti: ∿ Set Selected Sample Panning 1.0 (Right): +0702:Global:Paketti: ∿ Set Selected Sample Panning (+0.01): +0703:Global:Paketti: ∿ Set Selected Sample Panning (-0.01): +0704:Global:Paketti: ∿ Set Selected Sample Volume (+0.01): +0705:Global:Paketti: ∿ Set Selected Sample Volume (-0.01): +0706:Global:Paketti: ∿ Set Selected Sample Volume Reset (0.0dB): +0707:Global:Paketti: ∿ Set Selected Sample Interpolation to 1 (None): +0708:Global:Paketti: ∿ Set Selected Sample Interpolation to 2 (Linear): +0709:Global:Paketti: ∿ Set Selected Sample Interpolation to 3 (Cubic): +0710:Global:Paketti: ∿ Set Selected Sample Interpolation to 4 (Sinc): +0711:Global:Paketti: ∿ Set Selected Sample Oversample On: +0712:Global:Paketti: ∿ Set Selected Sample Oversample Off: +0713:Global:Paketti: ∿ Set Selected Sample Oversample On/Off: +0714:Global:Paketti: ∿ Set Selected Sample Beatsync 1 (Repitch): +0715:Global:Paketti: ∿ Set Selected Sample Beatsync 2 (Time-Stretch Percussion): +0716:Global:Paketti: ∿ Set Selected Sample Beatsync 3 (Time-Stretch Texture): +0717:Global:Paketti: ∿ Set Selected Sample Beatsync On/Off 1 (Repitch): +0718:Global:Paketti: ∿ Set Selected Sample Beatsync On/Off 2 (Time-Stretch Percussion): +0719:Global:Paketti: ∿ Set Selected Sample Beatsync On/Off 3 (Time-Stretch Texture): +0720:Global:Paketti: ∿ Set Selected Sample Beatsync On/Off: +0721:Global:Paketti: ∿ Set Selected Sample Beatsync Line (+1): +0722:Global:Paketti: ∿ Set Selected Sample Beatsync Line (-1): +0723:Global:Paketti: ∿ Set Selected Sample Autofade On/Off: +0724:Global:Paketti: ∿ Set Selected Sample Autoseek On/Off: +0725:Global:Paketti: ∿ Set Selected Sample NNA to 1 (Cut): +0726:Global:Paketti: ∿ Set Selected Sample NNA to 2 (Note-Off): +0727:Global:Paketti: ∿ Set Selected Sample NNA to 3 (Continue): +0728:Global:Paketti: ∿ Set Selected Sample Mute Group to 0 (Off): +0729:Global:Paketti: ∿ Set Selected Sample Mute Group to 1: +0730:Global:Paketti: ∿ Set Selected Sample Mute Group to 2: +0731:Global:Paketti: ∿ Set Selected Sample Mute Group to 3: +0732:Global:Paketti: ∿ Set Selected Sample Mute Group to 4: +0733:Global:Paketti: ∿ Set Selected Sample Mute Group to 5: +0734:Global:Paketti: ∿ Set Selected Sample Mute Group to 6: +0735:Global:Paketti: ∿ Set Selected Sample Mute Group to 7: +0736:Global:Paketti: ∿ Set Selected Sample Mute Group to 8: +0737:Global:Paketti: ∿ Set Selected Sample Mute Group to 9: +0738:Global:Paketti: ∿ Set Selected Sample Mute Group to A: +0739:Global:Paketti: ∿ Set Selected Sample Mute Group to B: +0740:Global:Paketti: ∿ Set Selected Sample Mute Group to C: +0741:Global:Paketti: ∿ Set Selected Sample Mute Group to D: +0742:Global:Paketti: ∿ Set Selected Sample Mute Group to E: +0743:Global:Paketti: ∿ Set Selected Sample Mute Group to F: +0744:Global:Paketti: ∿ Set Selected Track Output Routing 00: +0745:Global:Paketti: ∿ Set Selected Track Output Routing 01: +0746:Global:Paketti: ∿ Set Selected Track Output Routing 02: +0747:Global:Paketti: ∿ Set Selected Track Output Routing 03: +0748:Global:Paketti: ∿ Set Selected Track Output Routing 04: +0749:Global:Paketti: ∿ Set Selected Track Output Routing 05: +0750:Global:Paketti: ∿ Set Selected Track Output Routing 06: +0751:Global:Paketti: ∿ Set Selected Track Output Routing 07: +0752:Global:Paketti: ∿ Set Selected Track Output Routing 08: +0753:Global:Paketti: ∿ Set Selected Track Output Routing 09: +0754:Global:Paketti: ∿ Set Selected Track Output Routing 10: +0755:Global:Paketti: ∿ Set Selected Track Output Routing 11: +0756:Global:Paketti: ∿ Set Selected Track Output Routing 12: +0757:Global:Paketti: ∿ Set Selected Track Output Routing 13: +0758:Global:Paketti: ∿ Set Selected Track Output Routing 14: +0759:Global:Paketti: ∿ Set Selected Track Output Routing 15: +0760:Global:Paketti: ∿ Set Selected Track Output Routing 16: +0761:Global:Paketti: ∿ Set Selected Track Output Routing 17: +0762:Global:Paketti: ∿ Set Selected Track Output Routing 18: +0763:Global:Paketti: ∿ Set Selected Track Output Routing 19: +0764:Global:Paketti: ∿ Set Selected Track Output Routing 20: +0765:Global:Paketti: ∿ Set Selected Track Output Routing 21: +0766:Global:Paketti: ∿ Set Selected Track Output Routing 22: +0767:Global:Paketti: ∿ Set Selected Track Output Routing 23: +0768:Global:Paketti: ∿ Set Selected Track Output Routing 24: +0769:Global:Paketti: ∿ Set Selected Track Output Routing 25: +0770:Global:Paketti: ∿ Set Selected Track Output Routing 26: +0771:Global:Paketti: ∿ Set Selected Track Output Routing 27: +0772:Global:Paketti: ∿ Set Selected Track Output Routing 28: +0773:Global:Paketti: ∿ Set Selected Track Output Routing 29: +0774:Global:Paketti: ∿ Set Selected Track Output Routing 30: +0775:Global:Paketti: ∿ Set Selected Track Output Routing 31: +0776:Global:Paketti: ∿ Set Selected Track Output Routing 32: +0777:Global:Paketti: ∿ Set Selected Track Output Routing 33: +0778:Global:Paketti: ∿ Set Selected Track Output Routing 34: +0779:Global:Paketti: ∿ Set Selected Track Output Routing 35: +0780:Global:Paketti: ∿ Set Selected Track Output Routing 36: +0781:Global:Paketti: ∿ Set Selected Track Output Routing 37: +0782:Global:Paketti: ∿ Set Selected Track Output Routing 38: +0783:Global:Paketti: ∿ Set Selected Track Output Routing 39: +0784:Global:Paketti: ∿ Set Selected Track Output Routing 40: +0785:Global:Paketti: ∿ Set Selected Track Output Routing 41: +0786:Global:Paketti: ∿ Set Selected Track Output Routing 42: +0787:Global:Paketti: ∿ Set Selected Track Output Routing 43: +0788:Global:Paketti: ∿ Set Selected Track Output Routing 44: +0789:Global:Paketti: ∿ Set Selected Track Output Routing 45: +0790:Global:Paketti: ∿ Set Selected Track Output Routing 46: +0791:Global:Paketti: ∿ Set Selected Track Output Routing 47: +0792:Global:Paketti: ∿ Set Selected Track Output Routing 48: +0793:Global:Paketti: ∿ Set Selected Track Output Routing 49: +0794:Global:Paketti: ∿ Set Selected Track Output Routing 50: +0795:Global:Paketti: ∿ Set Selected Track Output Routing 51: +0796:Global:Paketti: ∿ Set Selected Track Output Routing 52: +0797:Global:Paketti: ∿ Set Selected Track Output Routing 53: +0798:Global:Paketti: ∿ Set Selected Track Output Routing 54: +0799:Global:Paketti: ∿ Set Selected Track Output Routing 55: +0800:Global:Paketti: ∿ Set Selected Track Output Routing 56: +0801:Global:Paketti: ∿ Set Selected Track Output Routing 57: +0802:Global:Paketti: ∿ Set Selected Track Output Routing 58: +0803:Global:Paketti: ∿ Set Selected Track Output Routing 59: +0804:Global:Paketti: ∿ Set Selected Track Output Routing 60: +0805:Global:Paketti: ∿ Set Selected Track Output Routing 61: +0806:Global:Paketti: ∿ Set Selected Track Output Routing 62: +0807:Global:Paketti: ∿ Set Selected Track Output Routing 63: +0808:Global:Paketti: ∿ Set Master Track Output Routing 00: +0809:Global:Paketti: ∿ Set Master Track Output Routing 01: +0810:Global:Paketti: ∿ Set Master Track Output Routing 02: +0811:Global:Paketti: ∿ Set Master Track Output Routing 03: +0812:Global:Paketti: ∿ Set Master Track Output Routing 04: +0813:Global:Paketti: ∿ Set Master Track Output Routing 05: +0814:Global:Paketti: ∿ Set Master Track Output Routing 06: +0815:Global:Paketti: ∿ Set Master Track Output Routing 07: +0816:Global:Paketti: ∿ Set Master Track Output Routing 08: +0817:Global:Paketti: ∿ Set Master Track Output Routing 09: +0818:Global:Paketti: ∿ Set Master Track Output Routing 10: +0819:Global:Paketti: ∿ Set Master Track Output Routing 11: +0820:Global:Paketti: ∿ Set Master Track Output Routing 12: +0821:Global:Paketti: ∿ Set Master Track Output Routing 13: +0822:Global:Paketti: ∿ Set Master Track Output Routing 14: +0823:Global:Paketti: ∿ Set Master Track Output Routing 15: +0824:Global:Paketti: ∿ Set Master Track Output Routing 16: +0825:Global:Paketti: ∿ Set Master Track Output Routing 17: +0826:Global:Paketti: ∿ Set Master Track Output Routing 18: +0827:Global:Paketti: ∿ Set Master Track Output Routing 19: +0828:Global:Paketti: ∿ Set Master Track Output Routing 20: +0829:Global:Paketti: ∿ Set Master Track Output Routing 21: +0830:Global:Paketti: ∿ Set Master Track Output Routing 22: +0831:Global:Paketti: ∿ Set Master Track Output Routing 23: +0832:Global:Paketti: ∿ Set Master Track Output Routing 24: +0833:Global:Paketti: ∿ Set Master Track Output Routing 25: +0834:Global:Paketti: ∿ Set Master Track Output Routing 26: +0835:Global:Paketti: ∿ Set Master Track Output Routing 27: +0836:Global:Paketti: ∿ Set Master Track Output Routing 28: +0837:Global:Paketti: ∿ Set Master Track Output Routing 29: +0838:Global:Paketti: ∿ Set Master Track Output Routing 30: +0839:Global:Paketti: ∿ Set Master Track Output Routing 31: +0840:Global:Paketti: ∿ Set Master Track Output Routing 32: +0841:Global:Paketti: ∿ Set Master Track Output Routing 33: +0842:Global:Paketti: ∿ Set Master Track Output Routing 34: +0843:Global:Paketti: ∿ Set Master Track Output Routing 35: +0844:Global:Paketti: ∿ Set Master Track Output Routing 36: +0845:Global:Paketti: ∿ Set Master Track Output Routing 37: +0846:Global:Paketti: ∿ Set Master Track Output Routing 38: +0847:Global:Paketti: ∿ Set Master Track Output Routing 39: +0848:Global:Paketti: ∿ Set Master Track Output Routing 40: +0849:Global:Paketti: ∿ Set Master Track Output Routing 41: +0850:Global:Paketti: ∿ Set Master Track Output Routing 42: +0851:Global:Paketti: ∿ Set Master Track Output Routing 43: +0852:Global:Paketti: ∿ Set Master Track Output Routing 44: +0853:Global:Paketti: ∿ Set Master Track Output Routing 45: +0854:Global:Paketti: ∿ Set Master Track Output Routing 46: +0855:Global:Paketti: ∿ Set Master Track Output Routing 47: +0856:Global:Paketti: ∿ Set Master Track Output Routing 48: +0857:Global:Paketti: ∿ Set Master Track Output Routing 49: +0858:Global:Paketti: ∿ Set Master Track Output Routing 50: +0859:Global:Paketti: ∿ Set Master Track Output Routing 51: +0860:Global:Paketti: ∿ Set Master Track Output Routing 52: +0861:Global:Paketti: ∿ Set Master Track Output Routing 53: +0862:Global:Paketti: ∿ Set Master Track Output Routing 54: +0863:Global:Paketti: ∿ Set Master Track Output Routing 55: +0864:Global:Paketti: ∿ Set Master Track Output Routing 56: +0865:Global:Paketti: ∿ Set Master Track Output Routing 57: +0866:Global:Paketti: ∿ Set Master Track Output Routing 58: +0867:Global:Paketti: ∿ Set Master Track Output Routing 59: +0868:Global:Paketti: ∿ Set Master Track Output Routing 60: +0869:Global:Paketti: ∿ Set Master Track Output Routing 61: +0870:Global:Paketti: ∿ Set Master Track Output Routing 62: +0871:Global:Paketti: ∿ Set Master Track Output Routing 63: +0872:Global:Paketti: ∿ Set Selected Sample Beatsync Line (Power of Two Above): +0873:Global:Paketti: ∿ Set Selected Sample Beatsync Line (Power of Two Below): +0874:Global:Paketti: ∿ Toggle Sequence Selection 00: +0875:Global:Paketti: ∿ Toggle Sequence Selection 01: +0876:Global:Paketti: ∿ Toggle Sequence Selection 02: +0877:Global:Paketti: ∿ Toggle Sequence Selection 03: +0878:Global:Paketti: ∿ Toggle Sequence Selection 04: +0879:Global:Paketti: ∿ Toggle Sequence Selection 05: +0880:Global:Paketti: ∿ Toggle Sequence Selection 06: +0881:Global:Paketti: ∿ Toggle Sequence Selection 07: +0882:Global:Paketti: ∿ Toggle Sequence Selection 08: +0883:Global:Paketti: ∿ Toggle Sequence Selection 09: +0884:Global:Paketti: ∿ Toggle Sequence Selection 10: +0885:Global:Paketti: ∿ Toggle Sequence Selection 11: +0886:Global:Paketti: ∿ Toggle Sequence Selection 12: +0887:Global:Paketti: ∿ Toggle Sequence Selection 13: +0888:Global:Paketti: ∿ Toggle Sequence Selection 14: +0889:Global:Paketti: ∿ Toggle Sequence Selection 15: +0890:Global:Paketti: ∿ Toggle Sequence Selection 16: +0891:Global:Paketti: ∿ Toggle Sequence Selection 17: +0892:Global:Paketti: ∿ Toggle Sequence Selection 18: +0893:Global:Paketti: ∿ Toggle Sequence Selection 19: +0894:Global:Paketti: ∿ Toggle Sequence Selection 20: +0895:Global:Paketti: ∿ Toggle Sequence Selection 21: +0896:Global:Paketti: ∿ Toggle Sequence Selection 22: +0897:Global:Paketti: ∿ Toggle Sequence Selection 23: +0898:Global:Paketti: ∿ Toggle Sequence Selection 24: +0899:Global:Paketti: ∿ Toggle Sequence Selection 25: +0900:Global:Paketti: ∿ Toggle Sequence Selection 26: +0901:Global:Paketti: ∿ Toggle Sequence Selection 27: +0902:Global:Paketti: ∿ Toggle Sequence Selection 28: +0903:Global:Paketti: ∿ Toggle Sequence Selection 29: +0904:Global:Paketti: ∿ Toggle Sequence Selection 30: +0905:Global:Paketti: ∿ Toggle Sequence Selection 31: +0906:Global:Paketti: ∿ Toggle Sequence Selection 32: +0907:Global:Paketti: ∿ Toggle Sequence Selection to Loop: +0908:Global:Paketti: ∿ Toggle Sequence Selection (All) On/Off: +0909:Global:Paketti: ∿ Set Sequence Selection Off: +0910:Global:Paketti: ∿ Toggle Current Sequence Selection On/Off: +0911:Global:Paketti: ∿ Select and Loop Sequence Section 01: +0912:Global:Paketti: ∿ Select and Loop Sequence Section 02: +0913:Global:Paketti: ∿ Select and Loop Sequence Section 03: +0914:Global:Paketti: ∿ Select and Loop Sequence Section 04: +0915:Global:Paketti: ∿ Select and Loop Sequence Section 05: +0916:Global:Paketti: ∿ Select and Loop Sequence Section 06: +0917:Global:Paketti: ∿ Select and Loop Sequence Section 07: +0918:Global:Paketti: ∿ Select and Loop Sequence Section 08: +0919:Global:Paketti: ∿ Select and Loop Sequence Section 09: +0920:Global:Paketti: ∿ Select and Loop Sequence Section 10: +0921:Global:Paketti: ∿ Select and Loop Sequence Section 11: +0922:Global:Paketti: ∿ Select and Loop Sequence Section 12: +0923:Global:Paketti: ∿ Select and Loop Sequence Section 13: +0924:Global:Paketti: ∿ Select and Loop Sequence Section 14: +0925:Global:Paketti: ∿ Select and Loop Sequence Section 15: +0926:Global:Paketti: ∿ Select and Loop Sequence Section 16: +0927:Global:Paketti: ∿ Select and Loop Sequence Section 17: +0928:Global:Paketti: ∿ Select and Loop Sequence Section 18: +0929:Global:Paketti: ∿ Select and Loop Sequence Section 19: +0930:Global:Paketti: ∿ Select and Loop Sequence Section 20: +0931:Global:Paketti: ∿ Select and Loop Sequence Section 21: +0932:Global:Paketti: ∿ Select and Loop Sequence Section 22: +0933:Global:Paketti: ∿ Select and Loop Sequence Section 23: +0934:Global:Paketti: ∿ Select and Loop Sequence Section 24: +0935:Global:Paketti: ∿ Select and Loop Sequence Section 25: +0936:Global:Paketti: ∿ Select and Loop Sequence Section 26: +0937:Global:Paketti: ∿ Select and Loop Sequence Section 27: +0938:Global:Paketti: ∿ Select and Loop Sequence Section 28: +0939:Global:Paketti: ∿ Select and Loop Sequence Section 29: +0940:Global:Paketti: ∿ Select and Loop Sequence Section 30: +0941:Global:Paketti: ∿ Select and Loop Sequence Section 31: +0942:Global:Paketti: ∿ Select and Loop Sequence Section 32: +0943:Global:Paketti: ∿ Select and Loop Section (Next): +0944:Global:Paketti: ∿ Select and Loop Section (Previous): +0945:Global:Paketti: ∿ Set Sequence Loop Selection Off: +0946:Global:Paketti: ∿ Jump to Sequence (Next): +0947:Global:Paketti: ∿ Jump to Sequence (Previous): +0948:Global:Paketti: ∿ Continue Sequence 00 From Same Line: +0949:Global:Paketti: ∿ Continue Sequence 01 From Same Line: +0950:Global:Paketti: ∿ Continue Sequence 02 From Same Line: +0951:Global:Paketti: ∿ Continue Sequence 03 From Same Line: +0952:Global:Paketti: ∿ Continue Sequence 04 From Same Line: +0953:Global:Paketti: ∿ Continue Sequence 05 From Same Line: +0954:Global:Paketti: ∿ Continue Sequence 06 From Same Line: +0955:Global:Paketti: ∿ Continue Sequence 07 From Same Line: +0956:Global:Paketti: ∿ Continue Sequence 08 From Same Line: +0957:Global:Paketti: ∿ Continue Sequence 09 From Same Line: +0958:Global:Paketti: ∿ Continue Sequence 10 From Same Line: +0959:Global:Paketti: ∿ Continue Sequence 11 From Same Line: +0960:Global:Paketti: ∿ Continue Sequence 12 From Same Line: +0961:Global:Paketti: ∿ Continue Sequence 13 From Same Line: +0962:Global:Paketti: ∿ Continue Sequence 14 From Same Line: +0963:Global:Paketti: ∿ Continue Sequence 15 From Same Line: +0964:Global:Paketti: ∿ Continue Sequence 16 From Same Line: +0965:Global:Paketti: ∿ Continue Sequence 17 From Same Line: +0966:Global:Paketti: ∿ Continue Sequence 18 From Same Line: +0967:Global:Paketti: ∿ Continue Sequence 19 From Same Line: +0968:Global:Paketti: ∿ Continue Sequence 20 From Same Line: +0969:Global:Paketti: ∿ Continue Sequence 21 From Same Line: +0970:Global:Paketti: ∿ Continue Sequence 22 From Same Line: +0971:Global:Paketti: ∿ Continue Sequence 23 From Same Line: +0972:Global:Paketti: ∿ Continue Sequence 24 From Same Line: +0973:Global:Paketti: ∿ Continue Sequence 25 From Same Line: +0974:Global:Paketti: ∿ Continue Sequence 26 From Same Line: +0975:Global:Paketti: ∿ Continue Sequence 27 From Same Line: +0976:Global:Paketti: ∿ Continue Sequence 28 From Same Line: +0977:Global:Paketti: ∿ Continue Sequence 29 From Same Line: +0978:Global:Paketti: ∿ Continue Sequence 30 From Same Line: +0979:Global:Paketti: ∿ Continue Sequence 31 From Same Line: +0980:Global:Paketti: ∿ Continue Current Sequence From Same Line: +0981:Global:Paketti: ∿ Selected Specific Sequence 00: +0982:Global:Paketti: ∿ Selected Specific Sequence 01: +0983:Global:Paketti: ∿ Selected Specific Sequence 02: +0984:Global:Paketti: ∿ Selected Specific Sequence 03: +0985:Global:Paketti: ∿ Selected Specific Sequence 04: +0986:Global:Paketti: ∿ Selected Specific Sequence 05: +0987:Global:Paketti: ∿ Selected Specific Sequence 06: +0988:Global:Paketti: ∿ Selected Specific Sequence 07: +0989:Global:Paketti: ∿ Selected Specific Sequence 08: +0990:Global:Paketti: ∿ Selected Specific Sequence 09: +0991:Global:Paketti: ∿ Selected Specific Sequence 10: +0992:Global:Paketti: ∿ Selected Specific Sequence 11: +0993:Global:Paketti: ∿ Selected Specific Sequence 12: +0994:Global:Paketti: ∿ Selected Specific Sequence 13: +0995:Global:Paketti: ∿ Selected Specific Sequence 14: +0996:Global:Paketti: ∿ Selected Specific Sequence 15: +0997:Global:Paketti: ∿ Selected Specific Sequence 16: +0998:Global:Paketti: ∿ Selected Specific Sequence 17: +0999:Global:Paketti: ∿ Selected Specific Sequence 18: +1000:Global:Paketti: ∿ Selected Specific Sequence 19: +1001:Global:Paketti: ∿ Selected Specific Sequence 20: +1002:Global:Paketti: ∿ Selected Specific Sequence 21: +1003:Global:Paketti: ∿ Selected Specific Sequence 22: +1004:Global:Paketti: ∿ Selected Specific Sequence 23: +1005:Global:Paketti: ∿ Selected Specific Sequence 24: +1006:Global:Paketti: ∿ Selected Specific Sequence 25: +1007:Global:Paketti: ∿ Selected Specific Sequence 26: +1008:Global:Paketti: ∿ Selected Specific Sequence 27: +1009:Global:Paketti: ∿ Selected Specific Sequence 28: +1010:Global:Paketti: ∿ Selected Specific Sequence 29: +1011:Global:Paketti: ∿ Selected Specific Sequence 30: +1012:Global:Paketti: ∿ Selected Specific Sequence 31: +1013:Global:Paketti: ∿ Trigger Sequence 00: +1014:Global:Paketti: ∿ Trigger Sequence 01: +1015:Global:Paketti: ∿ Trigger Sequence 02: +1016:Global:Paketti: ∿ Trigger Sequence 03: +1017:Global:Paketti: ∿ Trigger Sequence 04: +1018:Global:Paketti: ∿ Trigger Sequence 05: +1019:Global:Paketti: ∿ Trigger Sequence 06: +1020:Global:Paketti: ∿ Trigger Sequence 07: +1021:Global:Paketti: ∿ Trigger Sequence 08: +1022:Global:Paketti: ∿ Trigger Sequence 09: +1023:Global:Paketti: ∿ Trigger Sequence 10: +1024:Global:Paketti: ∿ Trigger Sequence 11: +1025:Global:Paketti: ∿ Trigger Sequence 12: +1026:Global:Paketti: ∿ Trigger Sequence 13: +1027:Global:Paketti: ∿ Trigger Sequence 14: +1028:Global:Paketti: ∿ Trigger Sequence 15: +1029:Global:Paketti: ∿ Trigger Sequence 16: +1030:Global:Paketti: ∿ Trigger Sequence 17: +1031:Global:Paketti: ∿ Trigger Sequence 18: +1032:Global:Paketti: ∿ Trigger Sequence 19: +1033:Global:Paketti: ∿ Trigger Sequence 20: +1034:Global:Paketti: ∿ Trigger Sequence 21: +1035:Global:Paketti: ∿ Trigger Sequence 22: +1036:Global:Paketti: ∿ Trigger Sequence 23: +1037:Global:Paketti: ∿ Trigger Sequence 24: +1038:Global:Paketti: ∿ Trigger Sequence 25: +1039:Global:Paketti: ∿ Trigger Sequence 26: +1040:Global:Paketti: ∿ Trigger Sequence 27: +1041:Global:Paketti: ∿ Trigger Sequence 28: +1042:Global:Paketti: ∿ Trigger Sequence 29: +1043:Global:Paketti: ∿ Trigger Sequence 30: +1044:Global:Paketti: ∿ Trigger Sequence 31: +1045:Global:Paketti: ∿ Set Sequence 00 as Scheduled List: +1046:Global:Paketti: ∿ Set Sequence 01 as Scheduled List: +1047:Global:Paketti: ∿ Set Sequence 02 as Scheduled List: +1048:Global:Paketti: ∿ Set Sequence 03 as Scheduled List: +1049:Global:Paketti: ∿ Set Sequence 04 as Scheduled List: +1050:Global:Paketti: ∿ Set Sequence 05 as Scheduled List: +1051:Global:Paketti: ∿ Set Sequence 06 as Scheduled List: +1052:Global:Paketti: ∿ Set Sequence 07 as Scheduled List: +1053:Global:Paketti: ∿ Set Sequence 08 as Scheduled List: +1054:Global:Paketti: ∿ Set Sequence 09 as Scheduled List: +1055:Global:Paketti: ∿ Set Sequence 10 as Scheduled List: +1056:Global:Paketti: ∿ Set Sequence 11 as Scheduled List: +1057:Global:Paketti: ∿ Set Sequence 12 as Scheduled List: +1058:Global:Paketti: ∿ Set Sequence 13 as Scheduled List: +1059:Global:Paketti: ∿ Set Sequence 14 as Scheduled List: +1060:Global:Paketti: ∿ Set Sequence 15 as Scheduled List: +1061:Global:Paketti: ∿ Set Sequence 16 as Scheduled List: +1062:Global:Paketti: ∿ Set Sequence 17 as Scheduled List: +1063:Global:Paketti: ∿ Set Sequence 18 as Scheduled List: +1064:Global:Paketti: ∿ Set Sequence 19 as Scheduled List: +1065:Global:Paketti: ∿ Set Sequence 20 as Scheduled List: +1066:Global:Paketti: ∿ Set Sequence 21 as Scheduled List: +1067:Global:Paketti: ∿ Set Sequence 22 as Scheduled List: +1068:Global:Paketti: ∿ Set Sequence 23 as Scheduled List: +1069:Global:Paketti: ∿ Set Sequence 24 as Scheduled List: +1070:Global:Paketti: ∿ Set Sequence 25 as Scheduled List: +1071:Global:Paketti: ∿ Set Sequence 26 as Scheduled List: +1072:Global:Paketti: ∿ Set Sequence 27 as Scheduled List: +1073:Global:Paketti: ∿ Set Sequence 28 as Scheduled List: +1074:Global:Paketti: ∿ Set Sequence 29 as Scheduled List: +1075:Global:Paketti: ∿ Set Sequence 30 as Scheduled List: +1076:Global:Paketti: ∿ Set Sequence 31 as Scheduled List: +1077:Global:Paketti: ∿ Set Current Sequence as Scheduled List: +1078:Global:Paketti: ∿ Add Current Sequence to Scheduled List: +1079:Global:Paketti: ∿ Add Sequence 00 to Scheduled List: +1080:Global:Paketti: ∿ Add Sequence 01 to Scheduled List: +1081:Global:Paketti: ∿ Add Sequence 02 to Scheduled List: +1082:Global:Paketti: ∿ Add Sequence 03 to Scheduled List: +1083:Global:Paketti: ∿ Add Sequence 04 to Scheduled List: +1084:Global:Paketti: ∿ Add Sequence 05 to Scheduled List: +1085:Global:Paketti: ∿ Add Sequence 06 to Scheduled List: +1086:Global:Paketti: ∿ Add Sequence 07 to Scheduled List: +1087:Global:Paketti: ∿ Add Sequence 08 to Scheduled List: +1088:Global:Paketti: ∿ Add Sequence 09 to Scheduled List: +1089:Global:Paketti: ∿ Add Sequence 10 to Scheduled List: +1090:Global:Paketti: ∿ Add Sequence 11 to Scheduled List: +1091:Global:Paketti: ∿ Add Sequence 12 to Scheduled List: +1092:Global:Paketti: ∿ Add Sequence 13 to Scheduled List: +1093:Global:Paketti: ∿ Add Sequence 14 to Scheduled List: +1094:Global:Paketti: ∿ Add Sequence 15 to Scheduled List: +1095:Global:Paketti: ∿ Add Sequence 16 to Scheduled List: +1096:Global:Paketti: ∿ Add Sequence 17 to Scheduled List: +1097:Global:Paketti: ∿ Add Sequence 18 to Scheduled List: +1098:Global:Paketti: ∿ Add Sequence 19 to Scheduled List: +1099:Global:Paketti: ∿ Add Sequence 20 to Scheduled List: +1100:Global:Paketti: ∿ Add Sequence 21 to Scheduled List: +1101:Global:Paketti: ∿ Add Sequence 22 to Scheduled List: +1102:Global:Paketti: ∿ Add Sequence 23 to Scheduled List: +1103:Global:Paketti: ∿ Add Sequence 24 to Scheduled List: +1104:Global:Paketti: ∿ Add Sequence 25 to Scheduled List: +1105:Global:Paketti: ∿ Add Sequence 26 to Scheduled List: +1106:Global:Paketti: ∿ Add Sequence 27 to Scheduled List: +1107:Global:Paketti: ∿ Add Sequence 28 to Scheduled List: +1108:Global:Paketti: ∿ Add Sequence 29 to Scheduled List: +1109:Global:Paketti: ∿ Add Sequence 30 to Scheduled List: +1110:Global:Paketti: ∿ Add Sequence 31 to Scheduled List: +1111:Global:Paketti: ∿ Toggle Sequence Loop to 00: +1112:Global:Paketti: ∿ Toggle Sequence Loop to 01: +1113:Global:Paketti: ∿ Toggle Sequence Loop to 02: +1114:Global:Paketti: ∿ Toggle Sequence Loop to 03: +1115:Global:Paketti: ∿ Toggle Sequence Loop to 04: +1116:Global:Paketti: ∿ Toggle Sequence Loop to 05: +1117:Global:Paketti: ∿ Toggle Sequence Loop to 06: +1118:Global:Paketti: ∿ Toggle Sequence Loop to 07: +1119:Global:Paketti: ∿ Toggle Sequence Loop to 08: +1120:Global:Paketti: ∿ Toggle Sequence Loop to 09: +1121:Global:Paketti: ∿ Toggle Sequence Loop to 10: +1122:Global:Paketti: ∿ Toggle Sequence Loop to 11: +1123:Global:Paketti: ∿ Toggle Sequence Loop to 12: +1124:Global:Paketti: ∿ Toggle Sequence Loop to 13: +1125:Global:Paketti: ∿ Toggle Sequence Loop to 14: +1126:Global:Paketti: ∿ Toggle Sequence Loop to 15: +1127:Global:Paketti: ∿ Toggle Sequence Loop to 16: +1128:Global:Paketti: ∿ Toggle Sequence Loop to 17: +1129:Global:Paketti: ∿ Toggle Sequence Loop to 18: +1130:Global:Paketti: ∿ Toggle Sequence Loop to 19: +1131:Global:Paketti: ∿ Toggle Sequence Loop to 20: +1132:Global:Paketti: ∿ Toggle Sequence Loop to 21: +1133:Global:Paketti: ∿ Toggle Sequence Loop to 22: +1134:Global:Paketti: ∿ Toggle Sequence Loop to 23: +1135:Global:Paketti: ∿ Toggle Sequence Loop to 24: +1136:Global:Paketti: ∿ Toggle Sequence Loop to 25: +1137:Global:Paketti: ∿ Toggle Sequence Loop to 26: +1138:Global:Paketti: ∿ Toggle Sequence Loop to 27: +1139:Global:Paketti: ∿ Toggle Sequence Loop to 28: +1140:Global:Paketti: ∿ Toggle Sequence Loop to 29: +1141:Global:Paketti: ∿ Toggle Sequence Loop to 30: +1142:Global:Paketti: ∿ Toggle Sequence Loop to 31: +1143:Global:Paketti: ∿ Clear Pattern Sequence Loop: +1144:Global:Paketti: ∿ Set Sequence Loop from Current to 00: +1145:Global:Paketti: ∿ Set Sequence Loop from Current to 01: +1146:Global:Paketti: ∿ Set Sequence Loop from Current to 02: +1147:Global:Paketti: ∿ Set Sequence Loop from Current to 03: +1148:Global:Paketti: ∿ Set Sequence Loop from Current to 04: +1149:Global:Paketti: ∿ Set Sequence Loop from Current to 05: +1150:Global:Paketti: ∿ Set Sequence Loop from Current to 06: +1151:Global:Paketti: ∿ Set Sequence Loop from Current to 07: +1152:Global:Paketti: ∿ Set Sequence Loop from Current to 08: +1153:Global:Paketti: ∿ Set Sequence Loop from Current to 09: +1154:Global:Paketti: ∿ Set Sequence Loop from Current to 10: +1155:Global:Paketti: ∿ Set Sequence Loop from Current to 11: +1156:Global:Paketti: ∿ Set Sequence Loop from Current to 12: +1157:Global:Paketti: ∿ Set Sequence Loop from Current to 13: +1158:Global:Paketti: ∿ Set Sequence Loop from Current to 14: +1159:Global:Paketti: ∿ Set Sequence Loop from Current to 15: +1160:Global:Paketti: ∿ Set Sequence Loop from Current to 16: +1161:Global:Paketti: ∿ Set Sequence Loop from Current to 17: +1162:Global:Paketti: ∿ Set Sequence Loop from Current to 18: +1163:Global:Paketti: ∿ Set Sequence Loop from Current to 19: +1164:Global:Paketti: ∿ Set Sequence Loop from Current to 20: +1165:Global:Paketti: ∿ Set Sequence Loop from Current to 21: +1166:Global:Paketti: ∿ Set Sequence Loop from Current to 22: +1167:Global:Paketti: ∿ Set Sequence Loop from Current to 23: +1168:Global:Paketti: ∿ Set Sequence Loop from Current to 24: +1169:Global:Paketti: ∿ Set Sequence Loop from Current to 25: +1170:Global:Paketti: ∿ Set Sequence Loop from Current to 26: +1171:Global:Paketti: ∿ Set Sequence Loop from Current to 27: +1172:Global:Paketti: ∿ Set Sequence Loop from Current to 28: +1173:Global:Paketti: ∿ Set Sequence Loop from Current to 29: +1174:Global:Paketti: ∿ Set Sequence Loop from Current to 30: +1175:Global:Paketti: ∿ Set Sequence Loop from Current to 31: +1176:Global:Paketti: ∿ Set Current Section as Scheduled Sequence: +1177:Global:Paketti: ∿ Add Current Section to Scheduled Sequences: +1178:Global:Paketti: ∿ Section Loop (Next): +1179:Global:Paketti: ∿ Section Loop (Previous): +1180:Global:Paketti: ∿ Sequence Selection (Next): Command + Control + 2 +1181:Global:Paketti: ∿ Sequence Selection (Previous): Command + Control + 1 +1182:Global:Paketti: ∿ Sequence Loop Selection (Next): +1183:Global:Paketti: ∿ Sequence Loop Selection (Previous): +1184:Global:Paketti: ∿ Set Section Loop and Schedule Section: +1185:Global:Paketti: ∿ Set Current Sequence as Scheduled and Loop: +1186:Global:Paketti: ∿ Select, Trigger and Loop Section 00: +1187:Global:Paketti: ∿ Select, Schedule and Loop Section 00: +1188:Global:Paketti: ∿ Select, Add to Schedule and Loop Section 00: +1189:Global:Paketti: ∿ Select, Trigger and Loop Section 01: +1190:Global:Paketti: ∿ Select, Schedule and Loop Section 01: +1191:Global:Paketti: ∿ Select, Add to Schedule and Loop Section 01: +1192:Global:Paketti: ∿ Select, Trigger and Loop Section 02: +1193:Global:Paketti: ∿ Select, Schedule and Loop Section 02: +1194:Global:Paketti: ∿ Select, Add to Schedule and Loop Section 02: +1195:Global:Paketti: ∿ Select, Trigger and Loop Section 03: +1196:Global:Paketti: ∿ Select, Schedule and Loop Section 03: +1197:Global:Paketti: ∿ Select, Add to Schedule and Loop Section 03: +1198:Global:Paketti: ∿ Select, Trigger and Loop Section 04: +1199:Global:Paketti: ∿ Select, Schedule and Loop Section 04: +1200:Global:Paketti: ∿ Select, Add to Schedule and Loop Section 04: +1201:Global:Paketti: ∿ Select, Trigger and Loop Section 05: +1202:Global:Paketti: ∿ Select, Schedule and Loop Section 05: +1203:Global:Paketti: ∿ Select, Add to Schedule and Loop Section 05: +1204:Global:Paketti: ∿ Select, Trigger and Loop Section 06: +1205:Global:Paketti: ∿ Select, Schedule and Loop Section 06: +1206:Global:Paketti: ∿ Select, Add to Schedule and Loop Section 06: +1207:Global:Paketti: ∿ Select, Trigger and Loop Section 07: +1208:Global:Paketti: ∿ Select, Schedule and Loop Section 07: +1209:Global:Paketti: ∿ Select, Add to Schedule and Loop Section 07: +1210:Global:Paketti: ∿ Select, Trigger and Loop Section 08: +1211:Global:Paketti: ∿ Select, Schedule and Loop Section 08: +1212:Global:Paketti: ∿ Select, Add to Schedule and Loop Section 08: +1213:Global:Paketti: ∿ Select, Trigger and Loop Section 09: +1214:Global:Paketti: ∿ Select, Schedule and Loop Section 09: +1215:Global:Paketti: ∿ Select, Add to Schedule and Loop Section 09: +1216:Global:Paketti: ∿ Select, Trigger and Loop Section 10: +1217:Global:Paketti: ∿ Select, Schedule and Loop Section 10: +1218:Global:Paketti: ∿ Select, Add to Schedule and Loop Section 10: +1219:Global:Paketti: ∿ Select, Trigger and Loop Section 11: +1220:Global:Paketti: ∿ Select, Schedule and Loop Section 11: +1221:Global:Paketti: ∿ Select, Add to Schedule and Loop Section 11: +1222:Global:Paketti: ∿ Select, Trigger and Loop Section 12: +1223:Global:Paketti: ∿ Select, Schedule and Loop Section 12: +1224:Global:Paketti: ∿ Select, Add to Schedule and Loop Section 12: +1225:Global:Paketti: ∿ Select, Trigger and Loop Section 13: +1226:Global:Paketti: ∿ Select, Schedule and Loop Section 13: +1227:Global:Paketti: ∿ Select, Add to Schedule and Loop Section 13: +1228:Global:Paketti: ∿ Select, Trigger and Loop Section 14: +1229:Global:Paketti: ∿ Select, Schedule and Loop Section 14: +1230:Global:Paketti: ∿ Select, Add to Schedule and Loop Section 14: +1231:Global:Paketti: ∿ Select, Trigger and Loop Section 15: +1232:Global:Paketti: ∿ Select, Schedule and Loop Section 15: +1233:Global:Paketti: ∿ Select, Add to Schedule and Loop Section 15: +1234:Global:Paketti: ∿ Select, Trigger and Loop Section 16: +1235:Global:Paketti: ∿ Select, Schedule and Loop Section 16: +1236:Global:Paketti: ∿ Select, Add to Schedule and Loop Section 16: +1237:Global:Paketti: ∿ Select, Trigger and Loop Section 17: +1238:Global:Paketti: ∿ Select, Schedule and Loop Section 17: +1239:Global:Paketti: ∿ Select, Add to Schedule and Loop Section 17: +1240:Global:Paketti: ∿ Select, Trigger and Loop Section 18: +1241:Global:Paketti: ∿ Select, Schedule and Loop Section 18: +1242:Global:Paketti: ∿ Select, Add to Schedule and Loop Section 18: +1243:Global:Paketti: ∿ Select, Trigger and Loop Section 19: +1244:Global:Paketti: ∿ Select, Schedule and Loop Section 19: +1245:Global:Paketti: ∿ Select, Add to Schedule and Loop Section 19: +1246:Global:Paketti: ∿ Select, Trigger and Loop Section 20: +1247:Global:Paketti: ∿ Select, Schedule and Loop Section 20: +1248:Global:Paketti: ∿ Select, Add to Schedule and Loop Section 20: +1249:Global:Paketti: ∿ Select, Trigger and Loop Section 21: +1250:Global:Paketti: ∿ Select, Schedule and Loop Section 21: +1251:Global:Paketti: ∿ Select, Add to Schedule and Loop Section 21: +1252:Global:Paketti: ∿ Select, Trigger and Loop Section 22: +1253:Global:Paketti: ∿ Select, Schedule and Loop Section 22: +1254:Global:Paketti: ∿ Select, Add to Schedule and Loop Section 22: +1255:Global:Paketti: ∿ Select, Trigger and Loop Section 23: +1256:Global:Paketti: ∿ Select, Schedule and Loop Section 23: +1257:Global:Paketti: ∿ Select, Add to Schedule and Loop Section 23: +1258:Global:Paketti: ∿ Select, Trigger and Loop Section 24: +1259:Global:Paketti: ∿ Select, Schedule and Loop Section 24: +1260:Global:Paketti: ∿ Select, Add to Schedule and Loop Section 24: +1261:Global:Paketti: ∿ Select, Trigger and Loop Section 25: +1262:Global:Paketti: ∿ Select, Schedule and Loop Section 25: +1263:Global:Paketti: ∿ Select, Add to Schedule and Loop Section 25: +1264:Global:Paketti: ∿ Select, Trigger and Loop Section 26: +1265:Global:Paketti: ∿ Select, Schedule and Loop Section 26: +1266:Global:Paketti: ∿ Select, Add to Schedule and Loop Section 26: +1267:Global:Paketti: ∿ Select, Trigger and Loop Section 27: +1268:Global:Paketti: ∿ Select, Schedule and Loop Section 27: +1269:Global:Paketti: ∿ Select, Add to Schedule and Loop Section 27: +1270:Global:Paketti: ∿ Select, Trigger and Loop Section 28: +1271:Global:Paketti: ∿ Select, Schedule and Loop Section 28: +1272:Global:Paketti: ∿ Select, Add to Schedule and Loop Section 28: +1273:Global:Paketti: ∿ Select, Trigger and Loop Section 29: +1274:Global:Paketti: ∿ Select, Schedule and Loop Section 29: +1275:Global:Paketti: ∿ Select, Add to Schedule and Loop Section 29: +1276:Global:Paketti: ∿ Select, Trigger and Loop Section 30: +1277:Global:Paketti: ∿ Select, Schedule and Loop Section 30: +1278:Global:Paketti: ∿ Select, Add to Schedule and Loop Section 30: +1279:Global:Paketti: ∿ Select, Trigger and Loop Section 31: +1280:Global:Paketti: ∿ Select, Schedule and Loop Section 31: +1281:Global:Paketti: ∿ Select, Add to Schedule and Loop Section 31: +1282:Global:Paketti: ∿ Select, Trigger and Loop Section 32: +1283:Global:Paketti: ∿ Select, Schedule and Loop Section 32: +1284:Global:Paketti: ∿ Select, Add to Schedule and Loop Section 32: +1285:Global:Paketti: ∿ Select, Trigger and Loop Section 33: +1286:Global:Paketti: ∿ Select, Schedule and Loop Section 33: +1287:Global:Paketti: ∿ Select, Add to Schedule and Loop Section 33: +1288:Global:Paketti: ∿ Select, Trigger and Loop Section 34: +1289:Global:Paketti: ∿ Select, Schedule and Loop Section 34: +1290:Global:Paketti: ∿ Select, Add to Schedule and Loop Section 34: +1291:Global:Paketti: ∿ Select, Trigger and Loop Section 35: +1292:Global:Paketti: ∿ Select, Schedule and Loop Section 35: +1293:Global:Paketti: ∿ Select, Add to Schedule and Loop Section 35: +1294:Global:Paketti: ∿ Select, Trigger and Loop Section 36: +1295:Global:Paketti: ∿ Select, Schedule and Loop Section 36: +1296:Global:Paketti: ∿ Select, Add to Schedule and Loop Section 36: +1297:Global:Paketti: ∿ Select, Trigger and Loop Section 37: +1298:Global:Paketti: ∿ Select, Schedule and Loop Section 37: +1299:Global:Paketti: ∿ Select, Add to Schedule and Loop Section 37: +1300:Global:Paketti: ∿ Select, Trigger and Loop Section 38: +1301:Global:Paketti: ∿ Select, Schedule and Loop Section 38: +1302:Global:Paketti: ∿ Select, Add to Schedule and Loop Section 38: +1303:Global:Paketti: ∿ Select, Trigger and Loop Section 39: +1304:Global:Paketti: ∿ Select, Schedule and Loop Section 39: +1305:Global:Paketti: ∿ Select, Add to Schedule and Loop Section 39: +1306:Global:Paketti: ∿ Select, Trigger and Loop Section 40: +1307:Global:Paketti: ∿ Select, Schedule and Loop Section 40: +1308:Global:Paketti: ∿ Select, Add to Schedule and Loop Section 40: +1309:Global:Paketti: ∿ Select, Trigger and Loop Section 41: +1310:Global:Paketti: ∿ Select, Schedule and Loop Section 41: +1311:Global:Paketti: ∿ Select, Add to Schedule and Loop Section 41: +1312:Global:Paketti: ∿ Select, Trigger and Loop Section 42: +1313:Global:Paketti: ∿ Select, Schedule and Loop Section 42: +1314:Global:Paketti: ∿ Select, Add to Schedule and Loop Section 42: +1315:Global:Paketti: ∿ Select, Trigger and Loop Section 43: +1316:Global:Paketti: ∿ Select, Schedule and Loop Section 43: +1317:Global:Paketti: ∿ Select, Add to Schedule and Loop Section 43: +1318:Global:Paketti: ∿ Select, Trigger and Loop Section 44: +1319:Global:Paketti: ∿ Select, Schedule and Loop Section 44: +1320:Global:Paketti: ∿ Select, Add to Schedule and Loop Section 44: +1321:Global:Paketti: ∿ Select, Trigger and Loop Section 45: +1322:Global:Paketti: ∿ Select, Schedule and Loop Section 45: +1323:Global:Paketti: ∿ Select, Add to Schedule and Loop Section 45: +1324:Global:Paketti: ∿ Select, Trigger and Loop Section 46: +1325:Global:Paketti: ∿ Select, Schedule and Loop Section 46: +1326:Global:Paketti: ∿ Select, Add to Schedule and Loop Section 46: +1327:Global:Paketti: ∿ Select, Trigger and Loop Section 47: +1328:Global:Paketti: ∿ Select, Schedule and Loop Section 47: +1329:Global:Paketti: ∿ Select, Add to Schedule and Loop Section 47: +1330:Global:Paketti: ∿ Select, Trigger and Loop Section 48: +1331:Global:Paketti: ∿ Select, Schedule and Loop Section 48: +1332:Global:Paketti: ∿ Select, Add to Schedule and Loop Section 48: +1333:Global:Paketti: ∿ Select, Trigger and Loop Section 49: +1334:Global:Paketti: ∿ Select, Schedule and Loop Section 49: +1335:Global:Paketti: ∿ Select, Add to Schedule and Loop Section 49: +1336:Global:Paketti: ∿ Select, Trigger and Loop Section 50: +1337:Global:Paketti: ∿ Select, Schedule and Loop Section 50: +1338:Global:Paketti: ∿ Select, Add to Schedule and Loop Section 50: +1339:Global:Paketti: ∿ Select, Trigger and Loop Section 51: +1340:Global:Paketti: ∿ Select, Schedule and Loop Section 51: +1341:Global:Paketti: ∿ Select, Add to Schedule and Loop Section 51: +1342:Global:Paketti: ∿ Select, Trigger and Loop Section 52: +1343:Global:Paketti: ∿ Select, Schedule and Loop Section 52: +1344:Global:Paketti: ∿ Select, Add to Schedule and Loop Section 52: +1345:Global:Paketti: ∿ Select, Trigger and Loop Section 53: +1346:Global:Paketti: ∿ Select, Schedule and Loop Section 53: +1347:Global:Paketti: ∿ Select, Add to Schedule and Loop Section 53: +1348:Global:Paketti: ∿ Select, Trigger and Loop Section 54: +1349:Global:Paketti: ∿ Select, Schedule and Loop Section 54: +1350:Global:Paketti: ∿ Select, Add to Schedule and Loop Section 54: +1351:Global:Paketti: ∿ Select, Trigger and Loop Section 55: +1352:Global:Paketti: ∿ Select, Schedule and Loop Section 55: +1353:Global:Paketti: ∿ Select, Add to Schedule and Loop Section 55: +1354:Global:Paketti: ∿ Select, Trigger and Loop Section 56: +1355:Global:Paketti: ∿ Select, Schedule and Loop Section 56: +1356:Global:Paketti: ∿ Select, Add to Schedule and Loop Section 56: +1357:Global:Paketti: ∿ Select, Trigger and Loop Section 57: +1358:Global:Paketti: ∿ Select, Schedule and Loop Section 57: +1359:Global:Paketti: ∿ Select, Add to Schedule and Loop Section 57: +1360:Global:Paketti: ∿ Select, Trigger and Loop Section 58: +1361:Global:Paketti: ∿ Select, Schedule and Loop Section 58: +1362:Global:Paketti: ∿ Select, Add to Schedule and Loop Section 58: +1363:Global:Paketti: ∿ Select, Trigger and Loop Section 59: +1364:Global:Paketti: ∿ Select, Schedule and Loop Section 59: +1365:Global:Paketti: ∿ Select, Add to Schedule and Loop Section 59: +1366:Global:Paketti: ∿ Select, Trigger and Loop Section 60: +1367:Global:Paketti: ∿ Select, Schedule and Loop Section 60: +1368:Global:Paketti: ∿ Select, Add to Schedule and Loop Section 60: +1369:Global:Paketti: ∿ Select, Trigger and Loop Section 61: +1370:Global:Paketti: ∿ Select, Schedule and Loop Section 61: +1371:Global:Paketti: ∿ Select, Add to Schedule and Loop Section 61: +1372:Global:Paketti: ∿ Select, Trigger and Loop Section 62: +1373:Global:Paketti: ∿ Select, Schedule and Loop Section 62: +1374:Global:Paketti: ∿ Select, Add to Schedule and Loop Section 62: +1375:Global:Paketti: ∿ Select, Trigger and Loop Section 63: +1376:Global:Paketti: ∿ Select, Schedule and Loop Section 63: +1377:Global:Paketti: ∿ Select, Add to Schedule and Loop Section 63: +1378:Global:Paketti: ∿ Select, Trigger and Loop Section 64: +1379:Global:Paketti: ∿ Select, Schedule and Loop Section 64: +1380:Global:Paketti: ∿ Select, Add to Schedule and Loop Section 64: +1381:Global:Paketti: ∿ Computer Keyboard Velocity (-16): +1382:Global:Paketti: ∿ Computer Keyboard Velocity (+16): +1383:Global:Paketti: ∿ BPM Decrease (-5): +1384:Global:Paketti: ∿ BPM Increase (+5): +1385:Global:Paketti: ∿ Selected Sample Exit Loop Note-Off Toggle: +1386:Global:Paketti: ∿ Selected Sample Exit Loop Note-Off Off: +1387:Global:Paketti: ∿ Selected Sample Exit Loop Note-Off On: +1388:Global:Paketti: ∿ Set Selected Sample Autofade On: +1389:Global:Paketti: ∿ Set Selected Sample Autofade Off: +1390:Global:Paketti: ∿ Set Selected Sample Finetune (-5): +1391:Global:Paketti: ∿ Set Selected Sample Finetune (+5): +1392:Global:Paketti: ∿ Set Selected Sample Volume (+0.05): +1393:Global:Paketti: ∿ Set Selected Sample Volume (-0.05): +1394:Global:Paketti: ∿ Set Selected Sample Panning (+0.05): +1395:Global:Paketti: ∿ Set Selected Sample Panning (-0.05): +1396:Global:Paketti: ∿ Set Selected Sample Transpose (-5): +1397:Global:Paketti: ∿ Set Selected Sample Transpose (+5): +1398:Global:Paketti: ∿ Set Selected Sample Mod to 00: +1399:Global:Paketti: ∿ Set Selected Sample Mod to 01: +1400:Global:Paketti: ∿ Set Selected Sample Mod to 02: +1401:Global:Paketti: ∿ Set Selected Sample Mod to 03: +1402:Global:Paketti: ∿ Set Selected Sample Mod to 04: +1403:Global:Paketti: ∿ Set Selected Sample Mod to 05: +1404:Global:Paketti: ∿ Set Selected Sample Mod to 06: +1405:Global:Paketti: ∿ Set Selected Sample Mod to 07: +1406:Global:Paketti: ∿ Set Selected Sample Mod to 08: +1407:Global:Paketti: ∿ Set Selected Sample Mod to 09: +1408:Global:Paketti: ∿ Set Selected Sample Mod to 10: +1409:Global:Paketti: ∿ Set Selected Sample Mod to 11: +1410:Global:Paketti: ∿ Set Selected Sample Mod to 12: +1411:Global:Paketti: ∿ Set Selected Sample Mod to 13: +1412:Global:Paketti: ∿ Set Selected Sample Mod to 14: +1413:Global:Paketti: ∿ Set Selected Sample Mod to 15: +1414:Global:Paketti: ∿ Set Selected Sample Mod to 16: +1415:Global:Paketti: ∿ Set Selected Sample Mod to 17: +1416:Global:Paketti: ∿ Set Selected Sample Mod to 18: +1417:Global:Paketti: ∿ Set Selected Sample Mod to 19: +1418:Global:Paketti: ∿ Set Selected Sample Mod to 20: +1419:Global:Paketti: ∿ Set Selected Sample Mod to 21: +1420:Global:Paketti: ∿ Set Selected Sample Mod to 22: +1421:Global:Paketti: ∿ Set Selected Sample Mod to 23: +1422:Global:Paketti: ∿ Set Selected Sample Mod to 24: +1423:Global:Paketti: ∿ Set Selected Sample Mod to 25: +1424:Global:Paketti: ∿ Set Selected Sample Mod to 26: +1425:Global:Paketti: ∿ Set Selected Sample Mod to 27: +1426:Global:Paketti: ∿ Set Selected Sample Mod to 28: +1427:Global:Paketti: ∿ Set Selected Sample Mod to 29: +1428:Global:Paketti: ∿ Set Selected Sample Mod to 30: +1429:Global:Paketti: ∿ Set Selected Sample Mod to 31: +1430:Global:Paketti: ∿ Set Selected Sample Mod to 32: +1431:Global:Paketti: ∿ Set Selected Sample FX to 00: +1432:Global:Paketti: ∿ Set Selected Sample FX to 01: +1433:Global:Paketti: ∿ Set Selected Sample FX to 02: +1434:Global:Paketti: ∿ Set Selected Sample FX to 03: +1435:Global:Paketti: ∿ Set Selected Sample FX to 04: +1436:Global:Paketti: ∿ Set Selected Sample FX to 05: +1437:Global:Paketti: ∿ Set Selected Sample FX to 06: +1438:Global:Paketti: ∿ Set Selected Sample FX to 07: +1439:Global:Paketti: ∿ Set Selected Sample FX to 08: +1440:Global:Paketti: ∿ Set Selected Sample FX to 09: +1441:Global:Paketti: ∿ Set Selected Sample FX to 10: +1442:Global:Paketti: ∿ Set Selected Sample FX to 11: +1443:Global:Paketti: ∿ Set Selected Sample FX to 12: +1444:Global:Paketti: ∿ Set Selected Sample FX to 13: +1445:Global:Paketti: ∿ Set Selected Sample FX to 14: +1446:Global:Paketti: ∿ Set Selected Sample FX to 15: +1447:Global:Paketti: ∿ Set Selected Sample FX to 16: +1448:Global:Paketti: ∿ Set Selected Sample FX to 17: +1449:Global:Paketti: ∿ Set Selected Sample FX to 18: +1450:Global:Paketti: ∿ Set Selected Sample FX to 19: +1451:Global:Paketti: ∿ Set Selected Sample FX to 20: +1452:Global:Paketti: ∿ Set Selected Sample FX to 21: +1453:Global:Paketti: ∿ Set Selected Sample FX to 22: +1454:Global:Paketti: ∿ Set Selected Sample FX to 23: +1455:Global:Paketti: ∿ Set Selected Sample FX to 24: +1456:Global:Paketti: ∿ Set Selected Sample FX to 25: +1457:Global:Paketti: ∿ Set Selected Sample FX to 26: +1458:Global:Paketti: ∿ Set Selected Sample FX to 27: +1459:Global:Paketti: ∿ Set Selected Sample FX to 28: +1460:Global:Paketti: ∿ Set Selected Sample FX to 29: +1461:Global:Paketti: ∿ Set Selected Sample FX to 30: +1462:Global:Paketti: ∿ Set Selected Sample FX to 31: +1463:Global:Paketti: ∿ Set Selected Sample FX to 32: +1464:Global:Paketti: ∿ Set Selected Instrument All Mod to 00: +1465:Global:Paketti: ∿ Set Selected Instrument All Mod to 01: +1466:Global:Paketti: ∿ Set Selected Instrument All Mod to 02: +1467:Global:Paketti: ∿ Set Selected Instrument All Mod to 03: +1468:Global:Paketti: ∿ Set Selected Instrument All Mod to 04: +1469:Global:Paketti: ∿ Set Selected Instrument All Mod to 05: +1470:Global:Paketti: ∿ Set Selected Instrument All Mod to 06: +1471:Global:Paketti: ∿ Set Selected Instrument All Mod to 07: +1472:Global:Paketti: ∿ Set Selected Instrument All Mod to 08: +1473:Global:Paketti: ∿ Set Selected Instrument All Mod to 09: +1474:Global:Paketti: ∿ Set Selected Instrument All Mod to 10: +1475:Global:Paketti: ∿ Set Selected Instrument All Mod to 11: +1476:Global:Paketti: ∿ Set Selected Instrument All Mod to 12: +1477:Global:Paketti: ∿ Set Selected Instrument All Mod to 13: +1478:Global:Paketti: ∿ Set Selected Instrument All Mod to 14: +1479:Global:Paketti: ∿ Set Selected Instrument All Mod to 15: +1480:Global:Paketti: ∿ Set Selected Instrument All Mod to 16: +1481:Global:Paketti: ∿ Set Selected Instrument All Mod to 17: +1482:Global:Paketti: ∿ Set Selected Instrument All Mod to 18: +1483:Global:Paketti: ∿ Set Selected Instrument All Mod to 19: +1484:Global:Paketti: ∿ Set Selected Instrument All Mod to 20: +1485:Global:Paketti: ∿ Set Selected Instrument All Mod to 21: +1486:Global:Paketti: ∿ Set Selected Instrument All Mod to 22: +1487:Global:Paketti: ∿ Set Selected Instrument All Mod to 23: +1488:Global:Paketti: ∿ Set Selected Instrument All Mod to 24: +1489:Global:Paketti: ∿ Set Selected Instrument All Mod to 25: +1490:Global:Paketti: ∿ Set Selected Instrument All Mod to 26: +1491:Global:Paketti: ∿ Set Selected Instrument All Mod to 27: +1492:Global:Paketti: ∿ Set Selected Instrument All Mod to 28: +1493:Global:Paketti: ∿ Set Selected Instrument All Mod to 29: +1494:Global:Paketti: ∿ Set Selected Instrument All Mod to 30: +1495:Global:Paketti: ∿ Set Selected Instrument All Mod to 31: +1496:Global:Paketti: ∿ Set Selected Instrument All Mod to 32: +1497:Global:Paketti: ∿ Set Selected Instrument All Fx to 01: +1498:Global:Paketti: ∿ Set Selected Instrument All Fx to 02: +1499:Global:Paketti: ∿ Set Selected Instrument All Fx to 03: +1500:Global:Paketti: ∿ Set Selected Instrument All Fx to 04: +1501:Global:Paketti: ∿ Set Selected Instrument All Fx to 05: +1502:Global:Paketti: ∿ Set Selected Instrument All Fx to 06: +1503:Global:Paketti: ∿ Set Selected Instrument All Fx to 07: +1504:Global:Paketti: ∿ Set Selected Instrument All Fx to 08: +1505:Global:Paketti: ∿ Set Selected Instrument All Fx to 09: +1506:Global:Paketti: ∿ Set Selected Instrument All Fx to 10: +1507:Global:Paketti: ∿ Set Selected Instrument All Fx to 11: +1508:Global:Paketti: ∿ Set Selected Instrument All Fx to 12: +1509:Global:Paketti: ∿ Set Selected Instrument All Fx to 13: +1510:Global:Paketti: ∿ Set Selected Instrument All Fx to 14: +1511:Global:Paketti: ∿ Set Selected Instrument All Fx to 15: +1512:Global:Paketti: ∿ Set Selected Instrument All Fx to 16: +1513:Global:Paketti: ∿ Set Selected Instrument All Fx to 17: +1514:Global:Paketti: ∿ Set Selected Instrument All Fx to 18: +1515:Global:Paketti: ∿ Set Selected Instrument All Fx to 19: +1516:Global:Paketti: ∿ Set Selected Instrument All Fx to 20: +1517:Global:Paketti: ∿ Set Selected Instrument All Fx to 21: +1518:Global:Paketti: ∿ Set Selected Instrument All Fx to 22: +1519:Global:Paketti: ∿ Set Selected Instrument All Fx to 23: +1520:Global:Paketti: ∿ Set Selected Instrument All Fx to 24: +1521:Global:Paketti: ∿ Set Selected Instrument All Fx to 25: +1522:Global:Paketti: ∿ Set Selected Instrument All Fx to 26: +1523:Global:Paketti: ∿ Set Selected Instrument All Fx to 27: +1524:Global:Paketti: ∿ Set Selected Instrument All Fx to 28: +1525:Global:Paketti: ∿ Set Selected Instrument All Fx to 29: +1526:Global:Paketti: ∿ Set Selected Instrument All Fx to 30: +1527:Global:Paketti: ∿ Set Selected Instrument All Fx to 31: +1528:Global:Paketti: ∿ Set Selected Instrument All Fx to 32: +1529:Global:Paketti: ∿ Set Selected Instrument All Autofade On/Off: +1530:Global:Paketti: ∿ Set Selected Instrument All Autofade On: +1531:Global:Paketti: ∿ Set Selected Instrument All Autofade Off: +1532:Global:Paketti: ∿ Set Selected Instrument All Autoseek On/Off: +1533:Global:Paketti: ∿ Set Selected Instrument All Autoseek On: +1534:Global:Paketti: ∿ Set Selected Instrument All Autoseek Off: +1535:Global:Paketti: ∿ Halve Beatsync Lines (All): +1536:Global:Paketti: ∿ Halve Beatsync Lines (Selected Sample): +1537:Global:Paketti: ∿ Double Beatsync Lines (All): +1538:Global:Paketti: ∿ Double Beatsync Lines (Selected Sample): +1539:Global:Paketti: ∿ Halve Halve Beatsync Lines (All): +1540:Global:Paketti: ∿ Halve Halve Beatsync Lines (Selected Sample): +1541:Global:Paketti: ∿ Double Double Beatsync Lines (All): +1542:Global:Paketti: ∿ Double Double Beatsync Lines (Selected Sample): +1543:Global:Paketti: ∿ 12st PitchBend Instrument Init: +1544:Global:Paketti: ∿ 24st PitchBend Instrument Init: +1545:Global:Paketti: ∿ 36st PitchBend Instrument Init: +1546:Global:Paketti: ∿ 48st PitchBend Instrument Init: +1547:Global:Paketti: ∿ 64st PitchBend Instrument Init: +1548:Global:Paketti: ∿ 96st PitchBend Instrument Init: +1549:Global:Paketti: ∿ PitchBend Drumkit Instrument Init: +1550:Global:Paketti: ∿ Set Selected Instrument Transpose (-1): +1551:Global:Paketti: ∿ Set Selected Instrument Transpose (+1): +1552:Global:Paketti: ∿ Set Selected Instrument Transpose (-12): +1553:Global:Paketti: ∿ Set Selected Instrument Transpose (+12): +1554:Global:Paketti: ∿ Set Selected Instrument Transpose 0 (Reset): +1555:Global:Paketti: ∿ Set Selected Instrument Velocity Tracking On: +1556:Global:Paketti: ∿ Set Selected Instrument Velocity Tracking Off: +1557:Global:Paketti: ∿ Toggle Selected Sample Velocity Tracking: +1558:Global:Paketti: ∿ Set Selected Sample Velocity Tracking On: +1559:Global:Paketti: ∿ Set Selected Sample Velocity Tracking Off: +1560:Global:Paketti: ∿ Select Instrument 00: +1561:Global:Paketti: ∿ Select Instrument 01: +1562:Global:Paketti: ∿ Select Instrument 02: +1563:Global:Paketti: ∿ Select Instrument 03: +1564:Global:Paketti: ∿ Select Instrument 04: +1565:Global:Paketti: ∿ Select Instrument 05: +1566:Global:Paketti: ∿ Select Instrument 06: +1567:Global:Paketti: ∿ Select Instrument 07: +1568:Global:Paketti: ∿ Select Instrument 08: +1569:Global:Paketti: ∿ Select Instrument 09: +1570:Global:Paketti: ∿ Select Instrument 10: +1571:Global:Paketti: ∿ Select Instrument 11: +1572:Global:Paketti: ∿ Select Instrument 12: +1573:Global:Paketti: ∿ Select Instrument 13: +1574:Global:Paketti: ∿ Select Instrument 14: +1575:Global:Paketti: ∿ Select Instrument 15: +1576:Global:Paketti: ∿ Select Instrument 16: +1577:Global:Paketti: ∿ Select Instrument 17: +1578:Global:Paketti: ∿ Select Instrument 18: +1579:Global:Paketti: ∿ Select Instrument 19: +1580:Global:Paketti: ∿ Select Instrument 20: +1581:Global:Paketti: ∿ Select Instrument 21: +1582:Global:Paketti: ∿ Select Instrument 22: +1583:Global:Paketti: ∿ Select Instrument 23: +1584:Global:Paketti: ∿ Select Instrument 24: +1585:Global:Paketti: ∿ Select Instrument 25: +1586:Global:Paketti: ∿ Select Instrument 26: +1587:Global:Paketti: ∿ Select Instrument 27: +1588:Global:Paketti: ∿ Select Instrument 28: +1589:Global:Paketti: ∿ Select Instrument 29: +1590:Global:Paketti: ∿ Select Instrument 30: +1591:Global:Paketti: ∿ Select Instrument 31: +1592:Global:Paketti: ∿ Select Instrument 32: +1593:Global:Paketti: ∿ Select Group (Next): +1594:Global:Paketti: ∿ Select Group (Previous): +1595:Global:Paketti: ∿ Delete / Clear / Wipe Entire Row: +1596:Global:Paketti: ∿ Delete / Clear / Wipe Selected Note Column with EditStep: Shift + Command + G +1597:Global:Paketti: ∿ Set Selected Instrument Volume (All) (+0.01): +1598:Global:Paketti: ∿ Set Selected Instrument Volume (All) (-0.01): +1599:Global:Paketti: ∿ Set Selected Instrument Volume Reset (All) (0.0dB): +1600:Global:Paketti: ∿ Set Selected Instrument Volume (All) (-INF dB): +1601:Global:Paketti: ∿ Set Selected Instrument Global Volume (+0.01): +1602:Global:Paketti: ∿ Set Selected Instrument Global Volume (-0.01): +1603:Global:Paketti: ∿ Set Selected Instrument Global Volume (0.0dB): +1604:Global:Paketti: ∿ Set Selected Instrument Global Volume (-INF dB): +1605:Global:Paketti: ∿ Set Selected Instrument Panning (+0.01): +1606:Global:Paketti: ∿ Set Selected Instrument Panning (-0.01): +1607:Global:Paketti: ∿ Set Selected Instrument Panning Reset (Center): +1608:Global:Paketti: ∿ Set Selected Instrument Panning 0.0 (Left): +1609:Global:Paketti: ∿ Set Selected Instrument Panning 1.0 (Right): +1610:Global:Paketti: ∿ Catch Octave: +1611:Global:Paketti: ∿ Set Selected Instrument Interpolation to 1 (None): +1612:Global:Paketti: ∿ Set Selected Instrument Interpolation to 2 (Linear): +1613:Global:Paketti: ∿ Set Selected Instrument Interpolation to 3 (Cubic): +1614:Global:Paketti: ∿ Set Selected Instrument Interpolation to 4 (Sinc): +1615:Global:Paketti: ∿ Set Selected Instrument Finetune (-1): +1616:Global:Paketti: ∿ Set Selected Instrument Finetune (+1): +1617:Global:Paketti: ∿ Set Selected Instrument Finetune (-10): +1618:Global:Paketti: ∿ Set Selected Instrument Finetune (+10): +1619:Global:Paketti: ∿ Set Selected Instrument Finetune (0): +1620:Global:Paketti: ∿ Set Selected Sample Mod Group (Next): +1621:Global:Paketti: ∿ Set Selected Sample Mod Group (Previous): +1622:Global:Paketti: ∿ Set Selected Sample FX Group (Next): +1623:Global:Paketti: ∿ Set Selected Sample FX Group (Previous): +1624:Global:Paketti: ∿ Set Selected Instrument Mod Group (Next): +1625:Global:Paketti: ∿ Set Selected Instrument Mod Group (Previous): +1626:Global:Paketti: ∿ Set Selected Instrument FX Group (Next): +1627:Global:Paketti: ∿ Set Selected Instrument FX Group (Previous): +1628:Global:Paketti: ∿ Duplicate Track, set to Selected Instrument: +1629:Global:Paketti: ∿ Duplicate Track Duplicate Instrument: +1630:Global:Paketti: ∿ Bypass All Other Track DSP Devices (Toggle): +1631:Global:Paketti: ∿ Create Identical Track: +1632:Global:Paketti: ∿ Note Column Solo Toggle: +1633:Global:Paketti: ∿ Group Tracks Note Column Solo Toggle: +1634:Global:Paketti: ∿ Move Slice Start Left by 10: +1635:Global:Paketti: ∿ Move Slice Start Right by 10: +1636:Global:Paketti: ∿ Move Slice End Left by 10: +1637:Global:Paketti: ∿ Move Slice End Right by 10: +1638:Global:Paketti: ∿ Move Slice Start Left by 100: +1639:Global:Paketti: ∿ Move Slice Start Right by 100: +1640:Global:Paketti: ∿ Move Slice End Left by 100: +1641:Global:Paketti: ∿ Move Slice End Right by 100: +1642:Global:Paketti: ∿ Move Slice Start Left by 300: +1643:Global:Paketti: ∿ Move Slice Start Right by 300: +1644:Global:Paketti: ∿ Move Slice End Left by 300: +1645:Global:Paketti: ∿ Move Slice End Right by 300: +1646:Global:Paketti: ∿ Move Slice Start Left by 500: +1647:Global:Paketti: ∿ Move Slice Start Right by 500: +1648:Global:Paketti: ∿ Move Slice End Left by 500: +1649:Global:Paketti: ∿ Move Slice End Right by 500: +1650:Global:Paketti: ∿ Isolate Slices or Samples to New Instruments: +1651:Global:Paketti: ∿ Isolate Slices to New Instrument as Samples: +1652:Global:Paketti: ∿ Roll the Dice on Notes: +1653:Global:Paketti: ∿ Transpose Shift -12 (All Instruments): +1654:Global:Paketti: ∿ Transpose Shift -12 (Selected Instrument): +1655:Global:Paketti: ∿ Transpose Shift -11 (All Instruments): +1656:Global:Paketti: ∿ Transpose Shift -11 (Selected Instrument): +1657:Global:Paketti: ∿ Transpose Shift -10 (All Instruments): +1658:Global:Paketti: ∿ Transpose Shift -10 (Selected Instrument): +1659:Global:Paketti: ∿ Transpose Shift -9 (All Instruments): +1660:Global:Paketti: ∿ Transpose Shift -9 (Selected Instrument): +1661:Global:Paketti: ∿ Transpose Shift -8 (All Instruments): +1662:Global:Paketti: ∿ Transpose Shift -8 (Selected Instrument): +1663:Global:Paketti: ∿ Transpose Shift -7 (All Instruments): +1664:Global:Paketti: ∿ Transpose Shift -7 (Selected Instrument): +1665:Global:Paketti: ∿ Transpose Shift -6 (All Instruments): +1666:Global:Paketti: ∿ Transpose Shift -6 (Selected Instrument): +1667:Global:Paketti: ∿ Transpose Shift -5 (All Instruments): +1668:Global:Paketti: ∿ Transpose Shift -5 (Selected Instrument): +1669:Global:Paketti: ∿ Transpose Shift -4 (All Instruments): +1670:Global:Paketti: ∿ Transpose Shift -4 (Selected Instrument): +1671:Global:Paketti: ∿ Transpose Shift -3 (All Instruments): +1672:Global:Paketti: ∿ Transpose Shift -3 (Selected Instrument): +1673:Global:Paketti: ∿ Transpose Shift -2 (All Instruments): +1674:Global:Paketti: ∿ Transpose Shift -2 (Selected Instrument): +1675:Global:Paketti: ∿ Transpose Shift -1 (All Instruments): +1676:Global:Paketti: ∿ Transpose Shift -1 (Selected Instrument): +1677:Global:Paketti: ∿ Transpose Shift +1 (All Instruments): +1678:Global:Paketti: ∿ Transpose Shift +1 (Selected Instrument): +1679:Global:Paketti: ∿ Transpose Shift +2 (All Instruments): +1680:Global:Paketti: ∿ Transpose Shift +2 (Selected Instrument): +1681:Global:Paketti: ∿ Transpose Shift +3 (All Instruments): +1682:Global:Paketti: ∿ Transpose Shift +3 (Selected Instrument): +1683:Global:Paketti: ∿ Transpose Shift +4 (All Instruments): +1684:Global:Paketti: ∿ Transpose Shift +4 (Selected Instrument): +1685:Global:Paketti: ∿ Transpose Shift +5 (All Instruments): +1686:Global:Paketti: ∿ Transpose Shift +5 (Selected Instrument): +1687:Global:Paketti: ∿ Transpose Shift +6 (All Instruments): +1688:Global:Paketti: ∿ Transpose Shift +6 (Selected Instrument): +1689:Global:Paketti: ∿ Transpose Shift +7 (All Instruments): +1690:Global:Paketti: ∿ Transpose Shift +7 (Selected Instrument): +1691:Global:Paketti: ∿ Transpose Shift +8 (All Instruments): +1692:Global:Paketti: ∿ Transpose Shift +8 (Selected Instrument): +1693:Global:Paketti: ∿ Transpose Shift +9 (All Instruments): +1694:Global:Paketti: ∿ Transpose Shift +9 (Selected Instrument): +1695:Global:Paketti: ∿ Transpose Shift +10 (All Instruments): +1696:Global:Paketti: ∿ Transpose Shift +10 (Selected Instrument): +1697:Global:Paketti: ∿ Transpose Shift +11 (All Instruments): +1698:Global:Paketti: ∿ Transpose Shift +11 (Selected Instrument): +1699:Global:Paketti: ∿ Transpose Shift +12 (All Instruments): +1700:Global:Paketti: ∿ Transpose Shift +12 (Selected Instrument): +1701:Global:Paketti: ∿ Populate Send Tracks for All Tracks: +1702:Global:Paketti: ∿ Populate Send Tracks for Selected Track: +1703:Global:Paketti: ∿ Populate Send Tracks for All Selected Tracks: +1704:Global:Paketti: ∿ Send Reverser: +1705:Global:Paketti: ∿ Set Selected Track Volume to -INF dB: +1706:Global:Paketti: ∿ Set Selected Track Volume to 0.0dB: +1707:Global:Paketti: ∿ Set Master Track Volume to -INF dB: +1708:Global:Paketti: ∿ Set Master Track Volume to 0.0dB: +1709:Global:Paketti: ∿ Change Master Track Volume by +0.1dB: +1710:Global:Paketti: ∿ Change Master Track Volume by -0.1dB: +1711:Global:Paketti: ∿ Pattern Resize and Fill 032: +1712:Global:Paketti: ∿ Pattern Resize and Fill 064: +1713:Global:Paketti: ∿ Pattern Resize and Fill 128: +1714:Global:Paketti: ∿ Pattern Resize and Fill 256: +1715:Global:Paketti: ∿ Pattern Resize and Fill 512: +1716:Global:Paketti: ∿ Open Oblique Strategies Dialog...: Control + O +1717:Global:Paketti: ∿ Shuffle Oblique Strategies Cards: +1718:Global:Paketti: ∿ Paketti Track Dater & Titler: Control + S +1719:Global:Paketti: ∿ Set Selected Sample Volume to -INF dB: +1720:Global:Paketti: ∿ Set Selected Sample Volume 0.0dB, others -INF: +1721:Global:Paketti: ∿ Record+Follow+Metronome Precount 1 Bar: +1722:Global:Paketti: ∿ Record+Follow+Metronome Precount 2 Bar: +1723:Global:Paketti: ∿ Record+Follow+Metronome Precount 3 Bar: +1724:Global:Paketti: ∿ Record+Follow+Metronome Precount 4 Bar: +1725:Global:Paketti: ∿ Set Selected Sample (+1) Velocity Range 7F others 00: +1726:Global:Paketti: ∿ Set Selected Sample (-1) Velocity Range 7F others 00: +1727:Global:Paketti: ∿ Set Selected Sample (Random) Velocity Range 7F others 00: +1728:Global:Paketti: ∿ Set Selected Sample Velocity Range 7F: +1729:Global:Paketti: ∿ Set Selected Sample Velocity Range 00: +1730:Global:Paketti: ∿ Set Sample Slot 01 Velocity to 00: +1731:Global:Paketti: ∿ Set Sample Slot 01 Velocity to 7F: +1732:Global:Paketti: ∿ Set Sample Slot 02 Velocity to 00: +1733:Global:Paketti: ∿ Set Sample Slot 02 Velocity to 7F: +1734:Global:Paketti: ∿ Set Sample Slot 03 Velocity to 00: +1735:Global:Paketti: ∿ Set Sample Slot 03 Velocity to 7F: +1736:Global:Paketti: ∿ Set Sample Slot 04 Velocity to 00: +1737:Global:Paketti: ∿ Set Sample Slot 04 Velocity to 7F: +1738:Global:Paketti: ∿ Set Sample Slot 05 Velocity to 00: +1739:Global:Paketti: ∿ Set Sample Slot 05 Velocity to 7F: +1740:Global:Paketti: ∿ Set Sample Slot 06 Velocity to 00: +1741:Global:Paketti: ∿ Set Sample Slot 06 Velocity to 7F: +1742:Global:Paketti: ∿ Set Sample Slot 07 Velocity to 00: +1743:Global:Paketti: ∿ Set Sample Slot 07 Velocity to 7F: +1744:Global:Paketti: ∿ Set Sample Slot 08 Velocity to 00: +1745:Global:Paketti: ∿ Set Sample Slot 08 Velocity to 7F: +1746:Global:Paketti: ∿ Set Sample Slot 09 Velocity to 00: +1747:Global:Paketti: ∿ Set Sample Slot 09 Velocity to 7F: +1748:Global:Paketti: ∿ Set Sample Slot 10 Velocity to 00: +1749:Global:Paketti: ∿ Set Sample Slot 10 Velocity to 7F: +1750:Global:Paketti: ∿ Set Sample Slot 11 Velocity to 00: +1751:Global:Paketti: ∿ Set Sample Slot 11 Velocity to 7F: +1752:Global:Paketti: ∿ Set Sample Slot 12 Velocity to 00: +1753:Global:Paketti: ∿ Set Sample Slot 12 Velocity to 7F: +1754:Global:Paketti: ∿ Set Sample Slot 13 Velocity to 00: +1755:Global:Paketti: ∿ Set Sample Slot 13 Velocity to 7F: +1756:Global:Paketti: ∿ Set Sample Slot 14 Velocity to 00: +1757:Global:Paketti: ∿ Set Sample Slot 14 Velocity to 7F: +1758:Global:Paketti: ∿ Set Sample Slot 15 Velocity to 00: +1759:Global:Paketti: ∿ Set Sample Slot 15 Velocity to 7F: +1760:Global:Paketti: ∿ Set Sample Slot 16 Velocity to 00: +1761:Global:Paketti: ∿ Set Sample Slot 16 Velocity to 7F: +1762:Global:Paketti: ∿ Set Sample Slot 17 Velocity to 00: +1763:Global:Paketti: ∿ Set Sample Slot 17 Velocity to 7F: +1764:Global:Paketti: ∿ Set Sample Slot 18 Velocity to 00: +1765:Global:Paketti: ∿ Set Sample Slot 18 Velocity to 7F: +1766:Global:Paketti: ∿ Set Sample Slot 19 Velocity to 00: +1767:Global:Paketti: ∿ Set Sample Slot 19 Velocity to 7F: +1768:Global:Paketti: ∿ Set Sample Slot 20 Velocity to 00: +1769:Global:Paketti: ∿ Set Sample Slot 20 Velocity to 7F: +1770:Global:Paketti: ∿ Set Sample Slot 21 Velocity to 00: +1771:Global:Paketti: ∿ Set Sample Slot 21 Velocity to 7F: +1772:Global:Paketti: ∿ Set Sample Slot 22 Velocity to 00: +1773:Global:Paketti: ∿ Set Sample Slot 22 Velocity to 7F: +1774:Global:Paketti: ∿ Set Sample Slot 23 Velocity to 00: +1775:Global:Paketti: ∿ Set Sample Slot 23 Velocity to 7F: +1776:Global:Paketti: ∿ Set Sample Slot 24 Velocity to 00: +1777:Global:Paketti: ∿ Set Sample Slot 24 Velocity to 7F: +1778:Global:Paketti: ∿ Set Sample Slot 25 Velocity to 00: +1779:Global:Paketti: ∿ Set Sample Slot 25 Velocity to 7F: +1780:Global:Paketti: ∿ Set Sample Slot 26 Velocity to 00: +1781:Global:Paketti: ∿ Set Sample Slot 26 Velocity to 7F: +1782:Global:Paketti: ∿ Set Sample Slot 27 Velocity to 00: +1783:Global:Paketti: ∿ Set Sample Slot 27 Velocity to 7F: +1784:Global:Paketti: ∿ Set Sample Slot 28 Velocity to 00: +1785:Global:Paketti: ∿ Set Sample Slot 28 Velocity to 7F: +1786:Global:Paketti: ∿ Set Sample Slot 29 Velocity to 00: +1787:Global:Paketti: ∿ Set Sample Slot 29 Velocity to 7F: +1788:Global:Paketti: ∿ Set Sample Slot 30 Velocity to 00: +1789:Global:Paketti: ∿ Set Sample Slot 30 Velocity to 7F: +1790:Global:Paketti: ∿ Set Sample Slot 31 Velocity to 00: +1791:Global:Paketti: ∿ Set Sample Slot 31 Velocity to 7F: +1792:Global:Paketti: ∿ Set Sample Slot 32 Velocity to 00: +1793:Global:Paketti: ∿ Set Sample Slot 32 Velocity to 7F: +1794:Global:Paketti: ∿ Set All Samples Velocity Range 7F: +1795:Global:Paketti: ∿ Resize all non-empty Patterns to current Pattern length: +1796:Global:Paketti: ∿ Resize all non-empty Patterns to 012: +1797:Global:Paketti: ∿ Resize all non-empty Patterns to 016: +1798:Global:Paketti: ∿ Resize all non-empty Patterns to 024: +1799:Global:Paketti: ∿ Resize all non-empty Patterns to 032: +1800:Global:Paketti: ∿ Resize all non-empty Patterns to 048: +1801:Global:Paketti: ∿ Resize all non-empty Patterns to 064: +1802:Global:Paketti: ∿ Resize all non-empty Patterns to 096: +1803:Global:Paketti: ∿ Resize all non-empty Patterns to 128: +1804:Global:Paketti: ∿ Resize all non-empty Patterns to 192: +1805:Global:Paketti: ∿ Resize all non-empty Patterns to 256: +1806:Global:Paketti: ∿ Resize all non-empty Patterns to 384: +1807:Global:Paketti: ∿ Resize all non-empty Patterns to 512: +1808:Global:Paketti: ∿ Randomize Selected Sample Finetune/Transpose +6/-6: +1809:Global:Paketti: ∿ Randomize Selected Sample Transpose +6/-6 Finetune +127/-127: +1810:Global:Paketti: ∿ Double LPB: +1811:Global:Paketti: ∿ Halve LPB: +1812:Global:Paketti: ∿ Double Double LPB: +1813:Global:Paketti: ∿ Halve Halve LPB: +1814:Global:Paketti: ∿ Halve BPM: +1815:Global:Paketti: ∿ Double BPM: +1816:Global:Paketti: ∿ Halve Halve BPM: +1817:Global:Paketti: ∿ Double Double BPM: +1818:Global:Paketti: ∿ Jump to Sends: Shift + Command + Control + Right +1819:Global:Paketti: ∿ Master TDR Kotelnikov Show/Hide: +1820:Global:Paketti: ∿ Show/Hide User Preference Devices Master Dialog: Shift + Option + 0 +1821:Global:Paketti: ∿ Open User Preferences Dialog: +1822:Global:Paketti: ∿ Show/Hide Slot 01 on Master: +1823:Global:Paketti: ∿ Show/Hide Slot 01 on Selected Track: +1824:Global:Paketti: ∿ Show/Hide Slot 02 on Master: +1825:Global:Paketti: ∿ Show/Hide Slot 02 on Selected Track: +1826:Global:Paketti: ∿ Show/Hide Slot 03 on Master: +1827:Global:Paketti: ∿ Show/Hide Slot 03 on Selected Track: +1828:Global:Paketti: ∿ Show/Hide Slot 04 on Master: +1829:Global:Paketti: ∿ Show/Hide Slot 04 on Selected Track: +1830:Global:Paketti: ∿ Show/Hide Slot 05 on Master: +1831:Global:Paketti: ∿ Show/Hide Slot 05 on Selected Track: +1832:Global:Paketti: ∿ Show/Hide Slot 06 on Master: +1833:Global:Paketti: ∿ Show/Hide Slot 06 on Selected Track: +1834:Global:Paketti: ∿ Show/Hide Slot 07 on Master: +1835:Global:Paketti: ∿ Show/Hide Slot 07 on Selected Track: +1836:Global:Paketti: ∿ Show/Hide Slot 08 on Master: +1837:Global:Paketti: ∿ Show/Hide Slot 08 on Selected Track: +1838:Global:Paketti: ∿ Show/Hide Slot 09 on Master: +1839:Global:Paketti: ∿ Show/Hide Slot 09 on Selected Track: +1840:Global:Paketti: ∿ Show/Hide Slot 10 on Master: +1841:Global:Paketti: ∿ Show/Hide Slot 10 on Selected Track: +1842:Global:Paketti: ∿ Set Selected Sample FX Group to None: +1843:Global:Paketti: ∿ Change Selected Track Volume by +0.1dB: Shift + Control + Minus +1844:Global:Paketti: ∿ Change Selected Track Volume by +0.5dB: +1845:Global:Paketti: ∿ Change Selected Track Volume by +1dB: +1846:Global:Paketti: ∿ Change Selected Track Volume by -0.1dB: Shift + Control + Slash +1847:Global:Paketti: ∿ Change Selected Track Volume by -0.5dB: +1848:Global:Paketti: ∿ Change Selected Track Volume by -1dB: +1849:Global:Paketti: ∿ Loop Set Percussion: Shift + Command + Y +1850:Global:Paketti: ∿ Loop Set Texture: Shift + Command + U +1851:Global:Paketti: ∿ Select Sample Next: +1852:Global:Paketti: ∿ Select Sample Previous: +1853:Global:Paketti: ∿ Output Routing (Non-Continual, Skip Master, Exclude Master): +1854:Global:Paketti: ∿ Output Routing (Continual, Skip Master, Exclude Master): +1855:Global:Paketti: ∿ Output Routing (Non-Continual, Include Master, Exclude Master): +1856:Global:Paketti: ∿ Output Routing (Continual, Include Master, Exclude Master): +1857:Global:Paketti: ∿ Output Routing (Non-Continual, Skip Master, Include Master in Cycle): +1858:Global:Paketti: ∿ Output Routing (Continual, Skip Master, Include Master in Cycle): +1859:Global:Paketti: ∿ Output Routing (Non-Continual, Include Master, Include Master in Cycle): +1860:Global:Paketti: ∿ Output Routing (Continual, Include Master, Include Master in Cycle): +1861:Global:Paketti: ∿ Reset Output Routings to Master: +1862:Global:Paketti: ∿ Play Current Line&Step Forwards: +1863:Global:Paketti: ∿ Play Current Line&Step Backwards: +1864:Global:Paketti: ∿ Play Current Line&Step Random: +1865:Global:Paketti: ∿ Device Control 01 (Enable): +1866:Global:Paketti: ∿ Device Control 01 (Disable): +1867:Global:Paketti: ∿ Device Control 01 (Toggle): +1868:Global:Paketti: ∿ Device Control 02 (Enable): +1869:Global:Paketti: ∿ Device Control 02 (Disable): +1870:Global:Paketti: ∿ Device Control 02 (Toggle): +1871:Global:Paketti: ∿ Device Control 03 (Enable): +1872:Global:Paketti: ∿ Device Control 03 (Disable): +1873:Global:Paketti: ∿ Device Control 03 (Toggle): +1874:Global:Paketti: ∿ Device Control 04 (Enable): +1875:Global:Paketti: ∿ Device Control 04 (Disable): +1876:Global:Paketti: ∿ Device Control 04 (Toggle): +1877:Global:Paketti: ∿ Device Control 05 (Enable): +1878:Global:Paketti: ∿ Device Control 05 (Disable): +1879:Global:Paketti: ∿ Device Control 05 (Toggle): +1880:Global:Paketti: ∿ Device Control 06 (Enable): +1881:Global:Paketti: ∿ Device Control 06 (Disable): +1882:Global:Paketti: ∿ Device Control 06 (Toggle): +1883:Global:Paketti: ∿ Device Control 07 (Enable): +1884:Global:Paketti: ∿ Device Control 07 (Disable): +1885:Global:Paketti: ∿ Device Control 07 (Toggle): +1886:Global:Paketti: ∿ Device Control 08 (Enable): +1887:Global:Paketti: ∿ Device Control 08 (Disable): +1888:Global:Paketti: ∿ Device Control 08 (Toggle): +1889:Global:Paketti: ∿ Device Control 09 (Enable): +1890:Global:Paketti: ∿ Device Control 09 (Disable): +1891:Global:Paketti: ∿ Device Control 09 (Toggle): +1892:Global:Paketti: ∿ Device Control 10 (Enable): +1893:Global:Paketti: ∿ Device Control 10 (Disable): +1894:Global:Paketti: ∿ Device Control 10 (Toggle): +1895:Global:Paketti: ∿ Device Control 11 (Enable): +1896:Global:Paketti: ∿ Device Control 11 (Disable): +1897:Global:Paketti: ∿ Device Control 11 (Toggle): +1898:Global:Paketti: ∿ Device Control 12 (Enable): +1899:Global:Paketti: ∿ Device Control 12 (Disable): +1900:Global:Paketti: ∿ Device Control 12 (Toggle): +1901:Global:Paketti: ∿ Device Control 13 (Enable): +1902:Global:Paketti: ∿ Device Control 13 (Disable): +1903:Global:Paketti: ∿ Device Control 13 (Toggle): +1904:Global:Paketti: ∿ Device Control 14 (Enable): +1905:Global:Paketti: ∿ Device Control 14 (Disable): +1906:Global:Paketti: ∿ Device Control 14 (Toggle): +1907:Global:Paketti: ∿ Device Control 15 (Enable): +1908:Global:Paketti: ∿ Device Control 15 (Disable): +1909:Global:Paketti: ∿ Device Control 15 (Toggle): +1910:Global:Paketti: ∿ Device Control 16 (Enable): +1911:Global:Paketti: ∿ Device Control 16 (Disable): +1912:Global:Paketti: ∿ Device Control 16 (Toggle): +1913:Global:Paketti: ∿ Device Control 17 (Enable): +1914:Global:Paketti: ∿ Device Control 17 (Disable): +1915:Global:Paketti: ∿ Device Control 17 (Toggle): +1916:Global:Paketti: ∿ Device Control 18 (Enable): +1917:Global:Paketti: ∿ Device Control 18 (Disable): +1918:Global:Paketti: ∿ Device Control 18 (Toggle): +1919:Global:Paketti: ∿ Device Control 19 (Enable): +1920:Global:Paketti: ∿ Device Control 19 (Disable): +1921:Global:Paketti: ∿ Device Control 19 (Toggle): +1922:Global:Paketti: ∿ Device Control 20 (Enable): +1923:Global:Paketti: ∿ Device Control 20 (Disable): +1924:Global:Paketti: ∿ Device Control 20 (Toggle): +1925:Global:Paketti: ∿ Device Control 21 (Enable): +1926:Global:Paketti: ∿ Device Control 21 (Disable): +1927:Global:Paketti: ∿ Device Control 21 (Toggle): +1928:Global:Paketti: ∿ Device Control 22 (Enable): +1929:Global:Paketti: ∿ Device Control 22 (Disable): +1930:Global:Paketti: ∿ Device Control 22 (Toggle): +1931:Global:Paketti: ∿ Device Control 23 (Enable): +1932:Global:Paketti: ∿ Device Control 23 (Disable): +1933:Global:Paketti: ∿ Device Control 23 (Toggle): +1934:Global:Paketti: ∿ Device Control 24 (Enable): +1935:Global:Paketti: ∿ Device Control 24 (Disable): +1936:Global:Paketti: ∿ Device Control 24 (Toggle): +1937:Global:Paketti: ∿ Device Control 25 (Enable): +1938:Global:Paketti: ∿ Device Control 25 (Disable): +1939:Global:Paketti: ∿ Device Control 25 (Toggle): +1940:Global:Paketti: ∿ Device Control 26 (Enable): +1941:Global:Paketti: ∿ Device Control 26 (Disable): +1942:Global:Paketti: ∿ Device Control 26 (Toggle): +1943:Global:Paketti: ∿ Device Control 27 (Enable): +1944:Global:Paketti: ∿ Device Control 27 (Disable): +1945:Global:Paketti: ∿ Device Control 27 (Toggle): +1946:Global:Paketti: ∿ Device Control 28 (Enable): +1947:Global:Paketti: ∿ Device Control 28 (Disable): +1948:Global:Paketti: ∿ Device Control 28 (Toggle): +1949:Global:Paketti: ∿ Device Control 29 (Enable): +1950:Global:Paketti: ∿ Device Control 29 (Disable): +1951:Global:Paketti: ∿ Device Control 29 (Toggle): +1952:Global:Paketti: ∿ Device Control 30 (Enable): +1953:Global:Paketti: ∿ Device Control 30 (Disable): +1954:Global:Paketti: ∿ Device Control 30 (Toggle): +1955:Global:Paketti: ∿ Device Control 31 (Enable): +1956:Global:Paketti: ∿ Device Control 31 (Disable): +1957:Global:Paketti: ∿ Device Control 31 (Toggle): +1958:Global:Paketti: ∿ Device Control 32 (Enable): +1959:Global:Paketti: ∿ Device Control 32 (Disable): +1960:Global:Paketti: ∿ Device Control 32 (Toggle): +1961:Global:Paketti: ∿ Device Control 33 (Enable): +1962:Global:Paketti: ∿ Device Control 33 (Disable): +1963:Global:Paketti: ∿ Device Control 33 (Toggle): +1964:Global:Paketti: ∿ Device Control 34 (Enable): +1965:Global:Paketti: ∿ Device Control 34 (Disable): +1966:Global:Paketti: ∿ Device Control 34 (Toggle): +1967:Global:Paketti: ∿ Play at Random Line in Current Pattern: +1968:Global:Paketti: ∿ Play at Random Line in Current Pattern 2: +1969:Global:Paketti: ∿ Play at Random Line in Current Pattern 4: +1970:Global:Paketti: ∿ Play at Random Line in Current Pattern LPB: +1971:Global:Paketti: ∿ Play at Row 000 (000): +1972:Global:Paketti: ∿ Play at Row 001 (001): +1973:Global:Paketti: ∿ Play at Row 002 (002): +1974:Global:Paketti: ∿ Play at Row 003 (003): +1975:Global:Paketti: ∿ Play at Row 004 (004): +1976:Global:Paketti: ∿ Play at Row 005 (005): +1977:Global:Paketti: ∿ Play at Row 006 (006): +1978:Global:Paketti: ∿ Play at Row 007 (007): +1979:Global:Paketti: ∿ Play at Row 008 (008): +1980:Global:Paketti: ∿ Play at Row 009 (009): +1981:Global:Paketti: ∿ Play at Row 010 (00A): +1982:Global:Paketti: ∿ Play at Row 011 (00B): +1983:Global:Paketti: ∿ Play at Row 012 (00C): +1984:Global:Paketti: ∿ Play at Row 013 (00D): +1985:Global:Paketti: ∿ Play at Row 014 (00E): +1986:Global:Paketti: ∿ Play at Row 015 (00F): +1987:Global:Paketti: ∿ Play at Row 016 (010): +1988:Global:Paketti: ∿ Play at Row 017 (011): +1989:Global:Paketti: ∿ Play at Row 018 (012): +1990:Global:Paketti: ∿ Play at Row 019 (013): +1991:Global:Paketti: ∿ Play at Row 020 (014): +1992:Global:Paketti: ∿ Play at Row 021 (015): +1993:Global:Paketti: ∿ Play at Row 022 (016): +1994:Global:Paketti: ∿ Play at Row 023 (017): +1995:Global:Paketti: ∿ Play at Row 024 (018): +1996:Global:Paketti: ∿ Play at Row 025 (019): +1997:Global:Paketti: ∿ Play at Row 026 (01A): +1998:Global:Paketti: ∿ Play at Row 027 (01B): +1999:Global:Paketti: ∿ Play at Row 028 (01C): +2000:Global:Paketti: ∿ Play at Row 029 (01D): +2001:Global:Paketti: ∿ Play at Row 030 (01E): +2002:Global:Paketti: ∿ Play at Row 031 (01F): +2003:Global:Paketti: ∿ Play at Row 032 (020): +2004:Global:Paketti: ∿ Play at Row 033 (021): +2005:Global:Paketti: ∿ Play at Row 034 (022): +2006:Global:Paketti: ∿ Play at Row 035 (023): +2007:Global:Paketti: ∿ Play at Row 036 (024): +2008:Global:Paketti: ∿ Play at Row 037 (025): +2009:Global:Paketti: ∿ Play at Row 038 (026): +2010:Global:Paketti: ∿ Play at Row 039 (027): +2011:Global:Paketti: ∿ Play at Row 040 (028): +2012:Global:Paketti: ∿ Play at Row 041 (029): +2013:Global:Paketti: ∿ Play at Row 042 (02A): +2014:Global:Paketti: ∿ Play at Row 043 (02B): +2015:Global:Paketti: ∿ Play at Row 044 (02C): +2016:Global:Paketti: ∿ Play at Row 045 (02D): +2017:Global:Paketti: ∿ Play at Row 046 (02E): +2018:Global:Paketti: ∿ Play at Row 047 (02F): +2019:Global:Paketti: ∿ Play at Row 048 (030): +2020:Global:Paketti: ∿ Play at Row 049 (031): +2021:Global:Paketti: ∿ Play at Row 050 (032): +2022:Global:Paketti: ∿ Play at Row 051 (033): +2023:Global:Paketti: ∿ Play at Row 052 (034): +2024:Global:Paketti: ∿ Play at Row 053 (035): +2025:Global:Paketti: ∿ Play at Row 054 (036): +2026:Global:Paketti: ∿ Play at Row 055 (037): +2027:Global:Paketti: ∿ Play at Row 056 (038): +2028:Global:Paketti: ∿ Play at Row 057 (039): +2029:Global:Paketti: ∿ Play at Row 058 (03A): +2030:Global:Paketti: ∿ Play at Row 059 (03B): +2031:Global:Paketti: ∿ Play at Row 060 (03C): +2032:Global:Paketti: ∿ Play at Row 061 (03D): +2033:Global:Paketti: ∿ Play at Row 062 (03E): +2034:Global:Paketti: ∿ Play at Row 063 (03F): +2035:Global:Paketti: ∿ Play at Row 064 (040): +2036:Global:Paketti: ∿ Play at Row 065 (041): +2037:Global:Paketti: ∿ Play at Row 066 (042): +2038:Global:Paketti: ∿ Play at Row 067 (043): +2039:Global:Paketti: ∿ Play at Row 068 (044): +2040:Global:Paketti: ∿ Play at Row 069 (045): +2041:Global:Paketti: ∿ Play at Row 070 (046): +2042:Global:Paketti: ∿ Play at Row 071 (047): +2043:Global:Paketti: ∿ Play at Row 072 (048): +2044:Global:Paketti: ∿ Play at Row 073 (049): +2045:Global:Paketti: ∿ Play at Row 074 (04A): +2046:Global:Paketti: ∿ Play at Row 075 (04B): +2047:Global:Paketti: ∿ Play at Row 076 (04C): +2048:Global:Paketti: ∿ Play at Row 077 (04D): +2049:Global:Paketti: ∿ Play at Row 078 (04E): +2050:Global:Paketti: ∿ Play at Row 079 (04F): +2051:Global:Paketti: ∿ Play at Row 080 (050): +2052:Global:Paketti: ∿ Play at Row 081 (051): +2053:Global:Paketti: ∿ Play at Row 082 (052): +2054:Global:Paketti: ∿ Play at Row 083 (053): +2055:Global:Paketti: ∿ Play at Row 084 (054): +2056:Global:Paketti: ∿ Play at Row 085 (055): +2057:Global:Paketti: ∿ Play at Row 086 (056): +2058:Global:Paketti: ∿ Play at Row 087 (057): +2059:Global:Paketti: ∿ Play at Row 088 (058): +2060:Global:Paketti: ∿ Play at Row 089 (059): +2061:Global:Paketti: ∿ Play at Row 090 (05A): +2062:Global:Paketti: ∿ Play at Row 091 (05B): +2063:Global:Paketti: ∿ Play at Row 092 (05C): +2064:Global:Paketti: ∿ Play at Row 093 (05D): +2065:Global:Paketti: ∿ Play at Row 094 (05E): +2066:Global:Paketti: ∿ Play at Row 095 (05F): +2067:Global:Paketti: ∿ Play at Row 096 (060): +2068:Global:Paketti: ∿ Play at Row 097 (061): +2069:Global:Paketti: ∿ Play at Row 098 (062): +2070:Global:Paketti: ∿ Play at Row 099 (063): +2071:Global:Paketti: ∿ Play at Row 100 (064): +2072:Global:Paketti: ∿ Play at Row 101 (065): +2073:Global:Paketti: ∿ Play at Row 102 (066): +2074:Global:Paketti: ∿ Play at Row 103 (067): +2075:Global:Paketti: ∿ Play at Row 104 (068): +2076:Global:Paketti: ∿ Play at Row 105 (069): +2077:Global:Paketti: ∿ Play at Row 106 (06A): +2078:Global:Paketti: ∿ Play at Row 107 (06B): +2079:Global:Paketti: ∿ Play at Row 108 (06C): +2080:Global:Paketti: ∿ Play at Row 109 (06D): +2081:Global:Paketti: ∿ Play at Row 110 (06E): +2082:Global:Paketti: ∿ Play at Row 111 (06F): +2083:Global:Paketti: ∿ Play at Row 112 (070): +2084:Global:Paketti: ∿ Play at Row 113 (071): +2085:Global:Paketti: ∿ Play at Row 114 (072): +2086:Global:Paketti: ∿ Play at Row 115 (073): +2087:Global:Paketti: ∿ Play at Row 116 (074): +2088:Global:Paketti: ∿ Play at Row 117 (075): +2089:Global:Paketti: ∿ Play at Row 118 (076): +2090:Global:Paketti: ∿ Play at Row 119 (077): +2091:Global:Paketti: ∿ Play at Row 120 (078): +2092:Global:Paketti: ∿ Play at Row 121 (079): +2093:Global:Paketti: ∿ Play at Row 122 (07A): +2094:Global:Paketti: ∿ Play at Row 123 (07B): +2095:Global:Paketti: ∿ Play at Row 124 (07C): +2096:Global:Paketti: ∿ Play at Row 125 (07D): +2097:Global:Paketti: ∿ Play at Row 126 (07E): +2098:Global:Paketti: ∿ Play at Row 127 (07F): +2099:Global:Paketti: ∿ Play at Row 128 (080): +2100:Global:Paketti: ∿ Play at Row 129 (081): +2101:Global:Paketti: ∿ Play at Row 130 (082): +2102:Global:Paketti: ∿ Play at Row 131 (083): +2103:Global:Paketti: ∿ Play at Row 132 (084): +2104:Global:Paketti: ∿ Play at Row 133 (085): +2105:Global:Paketti: ∿ Play at Row 134 (086): +2106:Global:Paketti: ∿ Play at Row 135 (087): +2107:Global:Paketti: ∿ Play at Row 136 (088): +2108:Global:Paketti: ∿ Play at Row 137 (089): +2109:Global:Paketti: ∿ Play at Row 138 (08A): +2110:Global:Paketti: ∿ Play at Row 139 (08B): +2111:Global:Paketti: ∿ Play at Row 140 (08C): +2112:Global:Paketti: ∿ Play at Row 141 (08D): +2113:Global:Paketti: ∿ Play at Row 142 (08E): +2114:Global:Paketti: ∿ Play at Row 143 (08F): +2115:Global:Paketti: ∿ Play at Row 144 (090): +2116:Global:Paketti: ∿ Play at Row 145 (091): +2117:Global:Paketti: ∿ Play at Row 146 (092): +2118:Global:Paketti: ∿ Play at Row 147 (093): +2119:Global:Paketti: ∿ Play at Row 148 (094): +2120:Global:Paketti: ∿ Play at Row 149 (095): +2121:Global:Paketti: ∿ Play at Row 150 (096): +2122:Global:Paketti: ∿ Play at Row 151 (097): +2123:Global:Paketti: ∿ Play at Row 152 (098): +2124:Global:Paketti: ∿ Play at Row 153 (099): +2125:Global:Paketti: ∿ Play at Row 154 (09A): +2126:Global:Paketti: ∿ Play at Row 155 (09B): +2127:Global:Paketti: ∿ Play at Row 156 (09C): +2128:Global:Paketti: ∿ Play at Row 157 (09D): +2129:Global:Paketti: ∿ Play at Row 158 (09E): +2130:Global:Paketti: ∿ Play at Row 159 (09F): +2131:Global:Paketti: ∿ Play at Row 160 (0A0): +2132:Global:Paketti: ∿ Play at Row 161 (0A1): +2133:Global:Paketti: ∿ Play at Row 162 (0A2): +2134:Global:Paketti: ∿ Play at Row 163 (0A3): +2135:Global:Paketti: ∿ Play at Row 164 (0A4): +2136:Global:Paketti: ∿ Play at Row 165 (0A5): +2137:Global:Paketti: ∿ Play at Row 166 (0A6): +2138:Global:Paketti: ∿ Play at Row 167 (0A7): +2139:Global:Paketti: ∿ Play at Row 168 (0A8): +2140:Global:Paketti: ∿ Play at Row 169 (0A9): +2141:Global:Paketti: ∿ Play at Row 170 (0AA): +2142:Global:Paketti: ∿ Play at Row 171 (0AB): +2143:Global:Paketti: ∿ Play at Row 172 (0AC): +2144:Global:Paketti: ∿ Play at Row 173 (0AD): +2145:Global:Paketti: ∿ Play at Row 174 (0AE): +2146:Global:Paketti: ∿ Play at Row 175 (0AF): +2147:Global:Paketti: ∿ Play at Row 176 (0B0): +2148:Global:Paketti: ∿ Play at Row 177 (0B1): +2149:Global:Paketti: ∿ Play at Row 178 (0B2): +2150:Global:Paketti: ∿ Play at Row 179 (0B3): +2151:Global:Paketti: ∿ Play at Row 180 (0B4): +2152:Global:Paketti: ∿ Play at Row 181 (0B5): +2153:Global:Paketti: ∿ Play at Row 182 (0B6): +2154:Global:Paketti: ∿ Play at Row 183 (0B7): +2155:Global:Paketti: ∿ Play at Row 184 (0B8): +2156:Global:Paketti: ∿ Play at Row 185 (0B9): +2157:Global:Paketti: ∿ Play at Row 186 (0BA): +2158:Global:Paketti: ∿ Play at Row 187 (0BB): +2159:Global:Paketti: ∿ Play at Row 188 (0BC): +2160:Global:Paketti: ∿ Play at Row 189 (0BD): +2161:Global:Paketti: ∿ Play at Row 190 (0BE): +2162:Global:Paketti: ∿ Play at Row 191 (0BF): +2163:Global:Paketti: ∿ Play at Row 192 (0C0): +2164:Global:Paketti: ∿ Play at Row 193 (0C1): +2165:Global:Paketti: ∿ Play at Row 194 (0C2): +2166:Global:Paketti: ∿ Play at Row 195 (0C3): +2167:Global:Paketti: ∿ Play at Row 196 (0C4): +2168:Global:Paketti: ∿ Play at Row 197 (0C5): +2169:Global:Paketti: ∿ Play at Row 198 (0C6): +2170:Global:Paketti: ∿ Play at Row 199 (0C7): +2171:Global:Paketti: ∿ Play at Row 200 (0C8): +2172:Global:Paketti: ∿ Play at Row 201 (0C9): +2173:Global:Paketti: ∿ Play at Row 202 (0CA): +2174:Global:Paketti: ∿ Play at Row 203 (0CB): +2175:Global:Paketti: ∿ Play at Row 204 (0CC): +2176:Global:Paketti: ∿ Play at Row 205 (0CD): +2177:Global:Paketti: ∿ Play at Row 206 (0CE): +2178:Global:Paketti: ∿ Play at Row 207 (0CF): +2179:Global:Paketti: ∿ Play at Row 208 (0D0): +2180:Global:Paketti: ∿ Play at Row 209 (0D1): +2181:Global:Paketti: ∿ Play at Row 210 (0D2): +2182:Global:Paketti: ∿ Play at Row 211 (0D3): +2183:Global:Paketti: ∿ Play at Row 212 (0D4): +2184:Global:Paketti: ∿ Play at Row 213 (0D5): +2185:Global:Paketti: ∿ Play at Row 214 (0D6): +2186:Global:Paketti: ∿ Play at Row 215 (0D7): +2187:Global:Paketti: ∿ Play at Row 216 (0D8): +2188:Global:Paketti: ∿ Play at Row 217 (0D9): +2189:Global:Paketti: ∿ Play at Row 218 (0DA): +2190:Global:Paketti: ∿ Play at Row 219 (0DB): +2191:Global:Paketti: ∿ Play at Row 220 (0DC): +2192:Global:Paketti: ∿ Play at Row 221 (0DD): +2193:Global:Paketti: ∿ Play at Row 222 (0DE): +2194:Global:Paketti: ∿ Play at Row 223 (0DF): +2195:Global:Paketti: ∿ Play at Row 224 (0E0): +2196:Global:Paketti: ∿ Play at Row 225 (0E1): +2197:Global:Paketti: ∿ Play at Row 226 (0E2): +2198:Global:Paketti: ∿ Play at Row 227 (0E3): +2199:Global:Paketti: ∿ Play at Row 228 (0E4): +2200:Global:Paketti: ∿ Play at Row 229 (0E5): +2201:Global:Paketti: ∿ Play at Row 230 (0E6): +2202:Global:Paketti: ∿ Play at Row 231 (0E7): +2203:Global:Paketti: ∿ Play at Row 232 (0E8): +2204:Global:Paketti: ∿ Play at Row 233 (0E9): +2205:Global:Paketti: ∿ Play at Row 234 (0EA): +2206:Global:Paketti: ∿ Play at Row 235 (0EB): +2207:Global:Paketti: ∿ Play at Row 236 (0EC): +2208:Global:Paketti: ∿ Play at Row 237 (0ED): +2209:Global:Paketti: ∿ Play at Row 238 (0EE): +2210:Global:Paketti: ∿ Play at Row 239 (0EF): +2211:Global:Paketti: ∿ Play at Row 240 (0F0): +2212:Global:Paketti: ∿ Play at Row 241 (0F1): +2213:Global:Paketti: ∿ Play at Row 242 (0F2): +2214:Global:Paketti: ∿ Play at Row 243 (0F3): +2215:Global:Paketti: ∿ Play at Row 244 (0F4): +2216:Global:Paketti: ∿ Play at Row 245 (0F5): +2217:Global:Paketti: ∿ Play at Row 246 (0F6): +2218:Global:Paketti: ∿ Play at Row 247 (0F7): +2219:Global:Paketti: ∿ Play at Row 248 (0F8): +2220:Global:Paketti: ∿ Play at Row 249 (0F9): +2221:Global:Paketti: ∿ Play at Row 250 (0FA): +2222:Global:Paketti: ∿ Play at Row 251 (0FB): +2223:Global:Paketti: ∿ Play at Row 252 (0FC): +2224:Global:Paketti: ∿ Play at Row 253 (0FD): +2225:Global:Paketti: ∿ Play at Row 254 (0FE): +2226:Global:Paketti: ∿ Play at Row 255 (0FF): +2227:Global:Paketti: ∿ Play at Row 256 (100): +2228:Global:Paketti: ∿ Play at Row 257 (101): +2229:Global:Paketti: ∿ Play at Row 258 (102): +2230:Global:Paketti: ∿ Play at Row 259 (103): +2231:Global:Paketti: ∿ Play at Row 260 (104): +2232:Global:Paketti: ∿ Play at Row 261 (105): +2233:Global:Paketti: ∿ Play at Row 262 (106): +2234:Global:Paketti: ∿ Play at Row 263 (107): +2235:Global:Paketti: ∿ Play at Row 264 (108): +2236:Global:Paketti: ∿ Play at Row 265 (109): +2237:Global:Paketti: ∿ Play at Row 266 (10A): +2238:Global:Paketti: ∿ Play at Row 267 (10B): +2239:Global:Paketti: ∿ Play at Row 268 (10C): +2240:Global:Paketti: ∿ Play at Row 269 (10D): +2241:Global:Paketti: ∿ Play at Row 270 (10E): +2242:Global:Paketti: ∿ Play at Row 271 (10F): +2243:Global:Paketti: ∿ Play at Row 272 (110): +2244:Global:Paketti: ∿ Play at Row 273 (111): +2245:Global:Paketti: ∿ Play at Row 274 (112): +2246:Global:Paketti: ∿ Play at Row 275 (113): +2247:Global:Paketti: ∿ Play at Row 276 (114): +2248:Global:Paketti: ∿ Play at Row 277 (115): +2249:Global:Paketti: ∿ Play at Row 278 (116): +2250:Global:Paketti: ∿ Play at Row 279 (117): +2251:Global:Paketti: ∿ Play at Row 280 (118): +2252:Global:Paketti: ∿ Play at Row 281 (119): +2253:Global:Paketti: ∿ Play at Row 282 (11A): +2254:Global:Paketti: ∿ Play at Row 283 (11B): +2255:Global:Paketti: ∿ Play at Row 284 (11C): +2256:Global:Paketti: ∿ Play at Row 285 (11D): +2257:Global:Paketti: ∿ Play at Row 286 (11E): +2258:Global:Paketti: ∿ Play at Row 287 (11F): +2259:Global:Paketti: ∿ Play at Row 288 (120): +2260:Global:Paketti: ∿ Play at Row 289 (121): +2261:Global:Paketti: ∿ Play at Row 290 (122): +2262:Global:Paketti: ∿ Play at Row 291 (123): +2263:Global:Paketti: ∿ Play at Row 292 (124): +2264:Global:Paketti: ∿ Play at Row 293 (125): +2265:Global:Paketti: ∿ Play at Row 294 (126): +2266:Global:Paketti: ∿ Play at Row 295 (127): +2267:Global:Paketti: ∿ Play at Row 296 (128): +2268:Global:Paketti: ∿ Play at Row 297 (129): +2269:Global:Paketti: ∿ Play at Row 298 (12A): +2270:Global:Paketti: ∿ Play at Row 299 (12B): +2271:Global:Paketti: ∿ Play at Row 300 (12C): +2272:Global:Paketti: ∿ Play at Row 301 (12D): +2273:Global:Paketti: ∿ Play at Row 302 (12E): +2274:Global:Paketti: ∿ Play at Row 303 (12F): +2275:Global:Paketti: ∿ Play at Row 304 (130): +2276:Global:Paketti: ∿ Play at Row 305 (131): +2277:Global:Paketti: ∿ Play at Row 306 (132): +2278:Global:Paketti: ∿ Play at Row 307 (133): +2279:Global:Paketti: ∿ Play at Row 308 (134): +2280:Global:Paketti: ∿ Play at Row 309 (135): +2281:Global:Paketti: ∿ Play at Row 310 (136): +2282:Global:Paketti: ∿ Play at Row 311 (137): +2283:Global:Paketti: ∿ Play at Row 312 (138): +2284:Global:Paketti: ∿ Play at Row 313 (139): +2285:Global:Paketti: ∿ Play at Row 314 (13A): +2286:Global:Paketti: ∿ Play at Row 315 (13B): +2287:Global:Paketti: ∿ Play at Row 316 (13C): +2288:Global:Paketti: ∿ Play at Row 317 (13D): +2289:Global:Paketti: ∿ Play at Row 318 (13E): +2290:Global:Paketti: ∿ Play at Row 319 (13F): +2291:Global:Paketti: ∿ Play at Row 320 (140): +2292:Global:Paketti: ∿ Play at Row 321 (141): +2293:Global:Paketti: ∿ Play at Row 322 (142): +2294:Global:Paketti: ∿ Play at Row 323 (143): +2295:Global:Paketti: ∿ Play at Row 324 (144): +2296:Global:Paketti: ∿ Play at Row 325 (145): +2297:Global:Paketti: ∿ Play at Row 326 (146): +2298:Global:Paketti: ∿ Play at Row 327 (147): +2299:Global:Paketti: ∿ Play at Row 328 (148): +2300:Global:Paketti: ∿ Play at Row 329 (149): +2301:Global:Paketti: ∿ Play at Row 330 (14A): +2302:Global:Paketti: ∿ Play at Row 331 (14B): +2303:Global:Paketti: ∿ Play at Row 332 (14C): +2304:Global:Paketti: ∿ Play at Row 333 (14D): +2305:Global:Paketti: ∿ Play at Row 334 (14E): +2306:Global:Paketti: ∿ Play at Row 335 (14F): +2307:Global:Paketti: ∿ Play at Row 336 (150): +2308:Global:Paketti: ∿ Play at Row 337 (151): +2309:Global:Paketti: ∿ Play at Row 338 (152): +2310:Global:Paketti: ∿ Play at Row 339 (153): +2311:Global:Paketti: ∿ Play at Row 340 (154): +2312:Global:Paketti: ∿ Play at Row 341 (155): +2313:Global:Paketti: ∿ Play at Row 342 (156): +2314:Global:Paketti: ∿ Play at Row 343 (157): +2315:Global:Paketti: ∿ Play at Row 344 (158): +2316:Global:Paketti: ∿ Play at Row 345 (159): +2317:Global:Paketti: ∿ Play at Row 346 (15A): +2318:Global:Paketti: ∿ Play at Row 347 (15B): +2319:Global:Paketti: ∿ Play at Row 348 (15C): +2320:Global:Paketti: ∿ Play at Row 349 (15D): +2321:Global:Paketti: ∿ Play at Row 350 (15E): +2322:Global:Paketti: ∿ Play at Row 351 (15F): +2323:Global:Paketti: ∿ Play at Row 352 (160): +2324:Global:Paketti: ∿ Play at Row 353 (161): +2325:Global:Paketti: ∿ Play at Row 354 (162): +2326:Global:Paketti: ∿ Play at Row 355 (163): +2327:Global:Paketti: ∿ Play at Row 356 (164): +2328:Global:Paketti: ∿ Play at Row 357 (165): +2329:Global:Paketti: ∿ Play at Row 358 (166): +2330:Global:Paketti: ∿ Play at Row 359 (167): +2331:Global:Paketti: ∿ Play at Row 360 (168): +2332:Global:Paketti: ∿ Play at Row 361 (169): +2333:Global:Paketti: ∿ Play at Row 362 (16A): +2334:Global:Paketti: ∿ Play at Row 363 (16B): +2335:Global:Paketti: ∿ Play at Row 364 (16C): +2336:Global:Paketti: ∿ Play at Row 365 (16D): +2337:Global:Paketti: ∿ Play at Row 366 (16E): +2338:Global:Paketti: ∿ Play at Row 367 (16F): +2339:Global:Paketti: ∿ Play at Row 368 (170): +2340:Global:Paketti: ∿ Play at Row 369 (171): +2341:Global:Paketti: ∿ Play at Row 370 (172): +2342:Global:Paketti: ∿ Play at Row 371 (173): +2343:Global:Paketti: ∿ Play at Row 372 (174): +2344:Global:Paketti: ∿ Play at Row 373 (175): +2345:Global:Paketti: ∿ Play at Row 374 (176): +2346:Global:Paketti: ∿ Play at Row 375 (177): +2347:Global:Paketti: ∿ Play at Row 376 (178): +2348:Global:Paketti: ∿ Play at Row 377 (179): +2349:Global:Paketti: ∿ Play at Row 378 (17A): +2350:Global:Paketti: ∿ Play at Row 379 (17B): +2351:Global:Paketti: ∿ Play at Row 380 (17C): +2352:Global:Paketti: ∿ Play at Row 381 (17D): +2353:Global:Paketti: ∿ Play at Row 382 (17E): +2354:Global:Paketti: ∿ Play at Row 383 (17F): +2355:Global:Paketti: ∿ Play at Row 384 (180): +2356:Global:Paketti: ∿ Play at Row 385 (181): +2357:Global:Paketti: ∿ Play at Row 386 (182): +2358:Global:Paketti: ∿ Play at Row 387 (183): +2359:Global:Paketti: ∿ Play at Row 388 (184): +2360:Global:Paketti: ∿ Play at Row 389 (185): +2361:Global:Paketti: ∿ Play at Row 390 (186): +2362:Global:Paketti: ∿ Play at Row 391 (187): +2363:Global:Paketti: ∿ Play at Row 392 (188): +2364:Global:Paketti: ∿ Play at Row 393 (189): +2365:Global:Paketti: ∿ Play at Row 394 (18A): +2366:Global:Paketti: ∿ Play at Row 395 (18B): +2367:Global:Paketti: ∿ Play at Row 396 (18C): +2368:Global:Paketti: ∿ Play at Row 397 (18D): +2369:Global:Paketti: ∿ Play at Row 398 (18E): +2370:Global:Paketti: ∿ Play at Row 399 (18F): +2371:Global:Paketti: ∿ Play at Row 400 (190): +2372:Global:Paketti: ∿ Play at Row 401 (191): +2373:Global:Paketti: ∿ Play at Row 402 (192): +2374:Global:Paketti: ∿ Play at Row 403 (193): +2375:Global:Paketti: ∿ Play at Row 404 (194): +2376:Global:Paketti: ∿ Play at Row 405 (195): +2377:Global:Paketti: ∿ Play at Row 406 (196): +2378:Global:Paketti: ∿ Play at Row 407 (197): +2379:Global:Paketti: ∿ Play at Row 408 (198): +2380:Global:Paketti: ∿ Play at Row 409 (199): +2381:Global:Paketti: ∿ Play at Row 410 (19A): +2382:Global:Paketti: ∿ Play at Row 411 (19B): +2383:Global:Paketti: ∿ Play at Row 412 (19C): +2384:Global:Paketti: ∿ Play at Row 413 (19D): +2385:Global:Paketti: ∿ Play at Row 414 (19E): +2386:Global:Paketti: ∿ Play at Row 415 (19F): +2387:Global:Paketti: ∿ Play at Row 416 (1A0): +2388:Global:Paketti: ∿ Play at Row 417 (1A1): +2389:Global:Paketti: ∿ Play at Row 418 (1A2): +2390:Global:Paketti: ∿ Play at Row 419 (1A3): +2391:Global:Paketti: ∿ Play at Row 420 (1A4): +2392:Global:Paketti: ∿ Play at Row 421 (1A5): +2393:Global:Paketti: ∿ Play at Row 422 (1A6): +2394:Global:Paketti: ∿ Play at Row 423 (1A7): +2395:Global:Paketti: ∿ Play at Row 424 (1A8): +2396:Global:Paketti: ∿ Play at Row 425 (1A9): +2397:Global:Paketti: ∿ Play at Row 426 (1AA): +2398:Global:Paketti: ∿ Play at Row 427 (1AB): +2399:Global:Paketti: ∿ Play at Row 428 (1AC): +2400:Global:Paketti: ∿ Play at Row 429 (1AD): +2401:Global:Paketti: ∿ Play at Row 430 (1AE): +2402:Global:Paketti: ∿ Play at Row 431 (1AF): +2403:Global:Paketti: ∿ Play at Row 432 (1B0): +2404:Global:Paketti: ∿ Play at Row 433 (1B1): +2405:Global:Paketti: ∿ Play at Row 434 (1B2): +2406:Global:Paketti: ∿ Play at Row 435 (1B3): +2407:Global:Paketti: ∿ Play at Row 436 (1B4): +2408:Global:Paketti: ∿ Play at Row 437 (1B5): +2409:Global:Paketti: ∿ Play at Row 438 (1B6): +2410:Global:Paketti: ∿ Play at Row 439 (1B7): +2411:Global:Paketti: ∿ Play at Row 440 (1B8): +2412:Global:Paketti: ∿ Play at Row 441 (1B9): +2413:Global:Paketti: ∿ Play at Row 442 (1BA): +2414:Global:Paketti: ∿ Play at Row 443 (1BB): +2415:Global:Paketti: ∿ Play at Row 444 (1BC): +2416:Global:Paketti: ∿ Play at Row 445 (1BD): +2417:Global:Paketti: ∿ Play at Row 446 (1BE): +2418:Global:Paketti: ∿ Play at Row 447 (1BF): +2419:Global:Paketti: ∿ Play at Row 448 (1C0): +2420:Global:Paketti: ∿ Play at Row 449 (1C1): +2421:Global:Paketti: ∿ Play at Row 450 (1C2): +2422:Global:Paketti: ∿ Play at Row 451 (1C3): +2423:Global:Paketti: ∿ Play at Row 452 (1C4): +2424:Global:Paketti: ∿ Play at Row 453 (1C5): +2425:Global:Paketti: ∿ Play at Row 454 (1C6): +2426:Global:Paketti: ∿ Play at Row 455 (1C7): +2427:Global:Paketti: ∿ Play at Row 456 (1C8): +2428:Global:Paketti: ∿ Play at Row 457 (1C9): +2429:Global:Paketti: ∿ Play at Row 458 (1CA): +2430:Global:Paketti: ∿ Play at Row 459 (1CB): +2431:Global:Paketti: ∿ Play at Row 460 (1CC): +2432:Global:Paketti: ∿ Play at Row 461 (1CD): +2433:Global:Paketti: ∿ Play at Row 462 (1CE): +2434:Global:Paketti: ∿ Play at Row 463 (1CF): +2435:Global:Paketti: ∿ Play at Row 464 (1D0): +2436:Global:Paketti: ∿ Play at Row 465 (1D1): +2437:Global:Paketti: ∿ Play at Row 466 (1D2): +2438:Global:Paketti: ∿ Play at Row 467 (1D3): +2439:Global:Paketti: ∿ Play at Row 468 (1D4): +2440:Global:Paketti: ∿ Play at Row 469 (1D5): +2441:Global:Paketti: ∿ Play at Row 470 (1D6): +2442:Global:Paketti: ∿ Play at Row 471 (1D7): +2443:Global:Paketti: ∿ Play at Row 472 (1D8): +2444:Global:Paketti: ∿ Play at Row 473 (1D9): +2445:Global:Paketti: ∿ Play at Row 474 (1DA): +2446:Global:Paketti: ∿ Play at Row 475 (1DB): +2447:Global:Paketti: ∿ Play at Row 476 (1DC): +2448:Global:Paketti: ∿ Play at Row 477 (1DD): +2449:Global:Paketti: ∿ Play at Row 478 (1DE): +2450:Global:Paketti: ∿ Play at Row 479 (1DF): +2451:Global:Paketti: ∿ Play at Row 480 (1E0): +2452:Global:Paketti: ∿ Play at Row 481 (1E1): +2453:Global:Paketti: ∿ Play at Row 482 (1E2): +2454:Global:Paketti: ∿ Play at Row 483 (1E3): +2455:Global:Paketti: ∿ Play at Row 484 (1E4): +2456:Global:Paketti: ∿ Play at Row 485 (1E5): +2457:Global:Paketti: ∿ Play at Row 486 (1E6): +2458:Global:Paketti: ∿ Play at Row 487 (1E7): +2459:Global:Paketti: ∿ Play at Row 488 (1E8): +2460:Global:Paketti: ∿ Play at Row 489 (1E9): +2461:Global:Paketti: ∿ Play at Row 490 (1EA): +2462:Global:Paketti: ∿ Play at Row 491 (1EB): +2463:Global:Paketti: ∿ Play at Row 492 (1EC): +2464:Global:Paketti: ∿ Play at Row 493 (1ED): +2465:Global:Paketti: ∿ Play at Row 494 (1EE): +2466:Global:Paketti: ∿ Play at Row 495 (1EF): +2467:Global:Paketti: ∿ Play at Row 496 (1F0): +2468:Global:Paketti: ∿ Play at Row 497 (1F1): +2469:Global:Paketti: ∿ Play at Row 498 (1F2): +2470:Global:Paketti: ∿ Play at Row 499 (1F3): +2471:Global:Paketti: ∿ Play at Row 500 (1F4): +2472:Global:Paketti: ∿ Play at Row 501 (1F5): +2473:Global:Paketti: ∿ Play at Row 502 (1F6): +2474:Global:Paketti: ∿ Play at Row 503 (1F7): +2475:Global:Paketti: ∿ Play at Row 504 (1F8): +2476:Global:Paketti: ∿ Play at Row 505 (1F9): +2477:Global:Paketti: ∿ Play at Row 506 (1FA): +2478:Global:Paketti: ∿ Play at Row 507 (1FB): +2479:Global:Paketti: ∿ Play at Row 508 (1FC): +2480:Global:Paketti: ∿ Play at Row 509 (1FD): +2481:Global:Paketti: ∿ Play at Row 510 (1FE): +2482:Global:Paketti: ∿ Play at Row 511 (1FF): +2483:Global:Paketti: ∿ Open VolDelayPan Slider Dialog...: Shift + Control + W +2484:Global:Paketti: ∿ Wipe All Columns of Selected Track: +2485:Global:Paketti: ∿ Set Interpolation 1 (None) Globally: +2486:Global:Paketti: ∿ Set Interpolation 2 (Linear) Globally: +2487:Global:Paketti: ∿ Set Interpolation 3 (Cubic) Globally: Shift + Option + 3 +2488:Global:Paketti: ∿ Set Interpolation 4 (Sinc) Globally: Shift + Option + 4 +2489:Global:Paketti: ∿ Show/Hide Selected Track Device 01: +2490:Global:Paketti: ∿ Show/Hide Selected Track Device 02: +2491:Global:Paketti: ∿ Show/Hide Selected Track Device 03: +2492:Global:Paketti: ∿ Show/Hide Selected Track Device 04: +2493:Global:Paketti: ∿ Show/Hide Selected Track Device 05: +2494:Global:Paketti: ∿ Show/Hide Selected Track Device 06: +2495:Global:Paketti: ∿ Show/Hide Selected Track Device 07: +2496:Global:Paketti: ∿ Show/Hide Selected Track Device 08: +2497:Global:Paketti: ∿ Show/Hide Selected Track Device 09: +2498:Global:Paketti: ∿ Show/Hide Selected Track Device 10: +2499:Global:Paketti: ∿ Show/Hide Selected Track Device 11: +2500:Global:Paketti: ∿ Show/Hide Selected Track Device 12: +2501:Global:Paketti: ∿ Show/Hide Selected Track Device 13: +2502:Global:Paketti: ∿ Show/Hide Selected Track Device 14: +2503:Global:Paketti: ∿ Show/Hide Selected Track Device 15: +2504:Global:Paketti: ∿ Show/Hide Selected Track Device 16: +2505:Global:Paketti: ∿ Show/Hide Selected Track Device 17: +2506:Global:Paketti: ∿ Show/Hide Selected Track Device 18: +2507:Global:Paketti: ∿ Show/Hide Selected Track Device 19: +2508:Global:Paketti: ∿ Show/Hide Selected Track Device 20: +2509:Global:Paketti: ∿ Show/Hide Selected Track Device 21: +2510:Global:Paketti: ∿ Show/Hide Selected Track Device 22: +2511:Global:Paketti: ∿ Show/Hide Selected Track Device 23: +2512:Global:Paketti: ∿ Show/Hide Selected Track Device 24: +2513:Global:Paketti: ∿ Show/Hide Selected Track Device 25: +2514:Global:Paketti: ∿ Show/Hide Selected Track Device 26: +2515:Global:Paketti: ∿ Show/Hide Selected Track Device 27: +2516:Global:Paketti: ∿ Show/Hide Selected Track Device 28: +2517:Global:Paketti: ∿ Show/Hide Selected Track Device 29: +2518:Global:Paketti: ∿ Show/Hide Selected Track Device 30: +2519:Global:Paketti: ∿ Show/Hide Selected Track Device 31: +2520:Global:Paketti: ∿ Jump Forward Within Pattern by 001: +2521:Global:Paketti: ∿ Jump Backward Within Pattern by 001: +2522:Global:Paketti: ∿ Jump Forward Within Pattern by 002: +2523:Global:Paketti: ∿ Jump Backward Within Pattern by 002: +2524:Global:Paketti: ∿ Jump Forward Within Pattern by 003: +2525:Global:Paketti: ∿ Jump Backward Within Pattern by 003: +2526:Global:Paketti: ∿ Jump Forward Within Pattern by 004: +2527:Global:Paketti: ∿ Jump Backward Within Pattern by 004: +2528:Global:Paketti: ∿ Jump Forward Within Pattern by 005: +2529:Global:Paketti: ∿ Jump Backward Within Pattern by 005: +2530:Global:Paketti: ∿ Jump Forward Within Pattern by 006: +2531:Global:Paketti: ∿ Jump Backward Within Pattern by 006: +2532:Global:Paketti: ∿ Jump Forward Within Pattern by 007: +2533:Global:Paketti: ∿ Jump Backward Within Pattern by 007: +2534:Global:Paketti: ∿ Jump Forward Within Pattern by 008: +2535:Global:Paketti: ∿ Jump Backward Within Pattern by 008: +2536:Global:Paketti: ∿ Jump Forward Within Pattern by 009: +2537:Global:Paketti: ∿ Jump Backward Within Pattern by 009: +2538:Global:Paketti: ∿ Jump Forward Within Pattern by 010: +2539:Global:Paketti: ∿ Jump Backward Within Pattern by 010: +2540:Global:Paketti: ∿ Jump Forward Within Pattern by 011: +2541:Global:Paketti: ∿ Jump Backward Within Pattern by 011: +2542:Global:Paketti: ∿ Jump Forward Within Pattern by 012: +2543:Global:Paketti: ∿ Jump Backward Within Pattern by 012: +2544:Global:Paketti: ∿ Jump Forward Within Pattern by 013: +2545:Global:Paketti: ∿ Jump Backward Within Pattern by 013: +2546:Global:Paketti: ∿ Jump Forward Within Pattern by 014: +2547:Global:Paketti: ∿ Jump Backward Within Pattern by 014: +2548:Global:Paketti: ∿ Jump Forward Within Pattern by 015: +2549:Global:Paketti: ∿ Jump Backward Within Pattern by 015: +2550:Global:Paketti: ∿ Jump Forward Within Pattern by 016: +2551:Global:Paketti: ∿ Jump Backward Within Pattern by 016: +2552:Global:Paketti: ∿ Jump Forward Within Pattern by 017: +2553:Global:Paketti: ∿ Jump Backward Within Pattern by 017: +2554:Global:Paketti: ∿ Jump Forward Within Pattern by 018: +2555:Global:Paketti: ∿ Jump Backward Within Pattern by 018: +2556:Global:Paketti: ∿ Jump Forward Within Pattern by 019: +2557:Global:Paketti: ∿ Jump Backward Within Pattern by 019: +2558:Global:Paketti: ∿ Jump Forward Within Pattern by 020: +2559:Global:Paketti: ∿ Jump Backward Within Pattern by 020: +2560:Global:Paketti: ∿ Jump Forward Within Pattern by 021: +2561:Global:Paketti: ∿ Jump Backward Within Pattern by 021: +2562:Global:Paketti: ∿ Jump Forward Within Pattern by 022: +2563:Global:Paketti: ∿ Jump Backward Within Pattern by 022: +2564:Global:Paketti: ∿ Jump Forward Within Pattern by 023: +2565:Global:Paketti: ∿ Jump Backward Within Pattern by 023: +2566:Global:Paketti: ∿ Jump Forward Within Pattern by 024: +2567:Global:Paketti: ∿ Jump Backward Within Pattern by 024: +2568:Global:Paketti: ∿ Jump Forward Within Pattern by 025: +2569:Global:Paketti: ∿ Jump Backward Within Pattern by 025: +2570:Global:Paketti: ∿ Jump Forward Within Pattern by 026: +2571:Global:Paketti: ∿ Jump Backward Within Pattern by 026: +2572:Global:Paketti: ∿ Jump Forward Within Pattern by 027: +2573:Global:Paketti: ∿ Jump Backward Within Pattern by 027: +2574:Global:Paketti: ∿ Jump Forward Within Pattern by 028: +2575:Global:Paketti: ∿ Jump Backward Within Pattern by 028: +2576:Global:Paketti: ∿ Jump Forward Within Pattern by 029: +2577:Global:Paketti: ∿ Jump Backward Within Pattern by 029: +2578:Global:Paketti: ∿ Jump Forward Within Pattern by 030: +2579:Global:Paketti: ∿ Jump Backward Within Pattern by 030: +2580:Global:Paketti: ∿ Jump Forward Within Pattern by 031: +2581:Global:Paketti: ∿ Jump Backward Within Pattern by 031: +2582:Global:Paketti: ∿ Jump Forward Within Pattern by 032: +2583:Global:Paketti: ∿ Jump Backward Within Pattern by 032: +2584:Global:Paketti: ∿ Jump Forward Within Pattern by 033: +2585:Global:Paketti: ∿ Jump Backward Within Pattern by 033: +2586:Global:Paketti: ∿ Jump Forward Within Pattern by 034: +2587:Global:Paketti: ∿ Jump Backward Within Pattern by 034: +2588:Global:Paketti: ∿ Jump Forward Within Pattern by 035: +2589:Global:Paketti: ∿ Jump Backward Within Pattern by 035: +2590:Global:Paketti: ∿ Jump Forward Within Pattern by 036: +2591:Global:Paketti: ∿ Jump Backward Within Pattern by 036: +2592:Global:Paketti: ∿ Jump Forward Within Pattern by 037: +2593:Global:Paketti: ∿ Jump Backward Within Pattern by 037: +2594:Global:Paketti: ∿ Jump Forward Within Pattern by 038: +2595:Global:Paketti: ∿ Jump Backward Within Pattern by 038: +2596:Global:Paketti: ∿ Jump Forward Within Pattern by 039: +2597:Global:Paketti: ∿ Jump Backward Within Pattern by 039: +2598:Global:Paketti: ∿ Jump Forward Within Pattern by 040: +2599:Global:Paketti: ∿ Jump Backward Within Pattern by 040: +2600:Global:Paketti: ∿ Jump Forward Within Pattern by 041: +2601:Global:Paketti: ∿ Jump Backward Within Pattern by 041: +2602:Global:Paketti: ∿ Jump Forward Within Pattern by 042: +2603:Global:Paketti: ∿ Jump Backward Within Pattern by 042: +2604:Global:Paketti: ∿ Jump Forward Within Pattern by 043: +2605:Global:Paketti: ∿ Jump Backward Within Pattern by 043: +2606:Global:Paketti: ∿ Jump Forward Within Pattern by 044: +2607:Global:Paketti: ∿ Jump Backward Within Pattern by 044: +2608:Global:Paketti: ∿ Jump Forward Within Pattern by 045: +2609:Global:Paketti: ∿ Jump Backward Within Pattern by 045: +2610:Global:Paketti: ∿ Jump Forward Within Pattern by 046: +2611:Global:Paketti: ∿ Jump Backward Within Pattern by 046: +2612:Global:Paketti: ∿ Jump Forward Within Pattern by 047: +2613:Global:Paketti: ∿ Jump Backward Within Pattern by 047: +2614:Global:Paketti: ∿ Jump Forward Within Pattern by 048: +2615:Global:Paketti: ∿ Jump Backward Within Pattern by 048: +2616:Global:Paketti: ∿ Jump Forward Within Pattern by 049: +2617:Global:Paketti: ∿ Jump Backward Within Pattern by 049: +2618:Global:Paketti: ∿ Jump Forward Within Pattern by 050: +2619:Global:Paketti: ∿ Jump Backward Within Pattern by 050: +2620:Global:Paketti: ∿ Jump Forward Within Pattern by 051: +2621:Global:Paketti: ∿ Jump Backward Within Pattern by 051: +2622:Global:Paketti: ∿ Jump Forward Within Pattern by 052: +2623:Global:Paketti: ∿ Jump Backward Within Pattern by 052: +2624:Global:Paketti: ∿ Jump Forward Within Pattern by 053: +2625:Global:Paketti: ∿ Jump Backward Within Pattern by 053: +2626:Global:Paketti: ∿ Jump Forward Within Pattern by 054: +2627:Global:Paketti: ∿ Jump Backward Within Pattern by 054: +2628:Global:Paketti: ∿ Jump Forward Within Pattern by 055: +2629:Global:Paketti: ∿ Jump Backward Within Pattern by 055: +2630:Global:Paketti: ∿ Jump Forward Within Pattern by 056: +2631:Global:Paketti: ∿ Jump Backward Within Pattern by 056: +2632:Global:Paketti: ∿ Jump Forward Within Pattern by 057: +2633:Global:Paketti: ∿ Jump Backward Within Pattern by 057: +2634:Global:Paketti: ∿ Jump Forward Within Pattern by 058: +2635:Global:Paketti: ∿ Jump Backward Within Pattern by 058: +2636:Global:Paketti: ∿ Jump Forward Within Pattern by 059: +2637:Global:Paketti: ∿ Jump Backward Within Pattern by 059: +2638:Global:Paketti: ∿ Jump Forward Within Pattern by 060: +2639:Global:Paketti: ∿ Jump Backward Within Pattern by 060: +2640:Global:Paketti: ∿ Jump Forward Within Pattern by 061: +2641:Global:Paketti: ∿ Jump Backward Within Pattern by 061: +2642:Global:Paketti: ∿ Jump Forward Within Pattern by 062: +2643:Global:Paketti: ∿ Jump Backward Within Pattern by 062: +2644:Global:Paketti: ∿ Jump Forward Within Pattern by 063: +2645:Global:Paketti: ∿ Jump Backward Within Pattern by 063: +2646:Global:Paketti: ∿ Jump Forward Within Pattern by 064: +2647:Global:Paketti: ∿ Jump Backward Within Pattern by 064: +2648:Global:Paketti: ∿ Jump Forward Within Pattern by 065: +2649:Global:Paketti: ∿ Jump Backward Within Pattern by 065: +2650:Global:Paketti: ∿ Jump Forward Within Pattern by 066: +2651:Global:Paketti: ∿ Jump Backward Within Pattern by 066: +2652:Global:Paketti: ∿ Jump Forward Within Pattern by 067: +2653:Global:Paketti: ∿ Jump Backward Within Pattern by 067: +2654:Global:Paketti: ∿ Jump Forward Within Pattern by 068: +2655:Global:Paketti: ∿ Jump Backward Within Pattern by 068: +2656:Global:Paketti: ∿ Jump Forward Within Pattern by 069: +2657:Global:Paketti: ∿ Jump Backward Within Pattern by 069: +2658:Global:Paketti: ∿ Jump Forward Within Pattern by 070: +2659:Global:Paketti: ∿ Jump Backward Within Pattern by 070: +2660:Global:Paketti: ∿ Jump Forward Within Pattern by 071: +2661:Global:Paketti: ∿ Jump Backward Within Pattern by 071: +2662:Global:Paketti: ∿ Jump Forward Within Pattern by 072: +2663:Global:Paketti: ∿ Jump Backward Within Pattern by 072: +2664:Global:Paketti: ∿ Jump Forward Within Pattern by 073: +2665:Global:Paketti: ∿ Jump Backward Within Pattern by 073: +2666:Global:Paketti: ∿ Jump Forward Within Pattern by 074: +2667:Global:Paketti: ∿ Jump Backward Within Pattern by 074: +2668:Global:Paketti: ∿ Jump Forward Within Pattern by 075: +2669:Global:Paketti: ∿ Jump Backward Within Pattern by 075: +2670:Global:Paketti: ∿ Jump Forward Within Pattern by 076: +2671:Global:Paketti: ∿ Jump Backward Within Pattern by 076: +2672:Global:Paketti: ∿ Jump Forward Within Pattern by 077: +2673:Global:Paketti: ∿ Jump Backward Within Pattern by 077: +2674:Global:Paketti: ∿ Jump Forward Within Pattern by 078: +2675:Global:Paketti: ∿ Jump Backward Within Pattern by 078: +2676:Global:Paketti: ∿ Jump Forward Within Pattern by 079: +2677:Global:Paketti: ∿ Jump Backward Within Pattern by 079: +2678:Global:Paketti: ∿ Jump Forward Within Pattern by 080: +2679:Global:Paketti: ∿ Jump Backward Within Pattern by 080: +2680:Global:Paketti: ∿ Jump Forward Within Pattern by 081: +2681:Global:Paketti: ∿ Jump Backward Within Pattern by 081: +2682:Global:Paketti: ∿ Jump Forward Within Pattern by 082: +2683:Global:Paketti: ∿ Jump Backward Within Pattern by 082: +2684:Global:Paketti: ∿ Jump Forward Within Pattern by 083: +2685:Global:Paketti: ∿ Jump Backward Within Pattern by 083: +2686:Global:Paketti: ∿ Jump Forward Within Pattern by 084: +2687:Global:Paketti: ∿ Jump Backward Within Pattern by 084: +2688:Global:Paketti: ∿ Jump Forward Within Pattern by 085: +2689:Global:Paketti: ∿ Jump Backward Within Pattern by 085: +2690:Global:Paketti: ∿ Jump Forward Within Pattern by 086: +2691:Global:Paketti: ∿ Jump Backward Within Pattern by 086: +2692:Global:Paketti: ∿ Jump Forward Within Pattern by 087: +2693:Global:Paketti: ∿ Jump Backward Within Pattern by 087: +2694:Global:Paketti: ∿ Jump Forward Within Pattern by 088: +2695:Global:Paketti: ∿ Jump Backward Within Pattern by 088: +2696:Global:Paketti: ∿ Jump Forward Within Pattern by 089: +2697:Global:Paketti: ∿ Jump Backward Within Pattern by 089: +2698:Global:Paketti: ∿ Jump Forward Within Pattern by 090: +2699:Global:Paketti: ∿ Jump Backward Within Pattern by 090: +2700:Global:Paketti: ∿ Jump Forward Within Pattern by 091: +2701:Global:Paketti: ∿ Jump Backward Within Pattern by 091: +2702:Global:Paketti: ∿ Jump Forward Within Pattern by 092: +2703:Global:Paketti: ∿ Jump Backward Within Pattern by 092: +2704:Global:Paketti: ∿ Jump Forward Within Pattern by 093: +2705:Global:Paketti: ∿ Jump Backward Within Pattern by 093: +2706:Global:Paketti: ∿ Jump Forward Within Pattern by 094: +2707:Global:Paketti: ∿ Jump Backward Within Pattern by 094: +2708:Global:Paketti: ∿ Jump Forward Within Pattern by 095: +2709:Global:Paketti: ∿ Jump Backward Within Pattern by 095: +2710:Global:Paketti: ∿ Jump Forward Within Pattern by 096: +2711:Global:Paketti: ∿ Jump Backward Within Pattern by 096: +2712:Global:Paketti: ∿ Jump Forward Within Pattern by 097: +2713:Global:Paketti: ∿ Jump Backward Within Pattern by 097: +2714:Global:Paketti: ∿ Jump Forward Within Pattern by 098: +2715:Global:Paketti: ∿ Jump Backward Within Pattern by 098: +2716:Global:Paketti: ∿ Jump Forward Within Pattern by 099: +2717:Global:Paketti: ∿ Jump Backward Within Pattern by 099: +2718:Global:Paketti: ∿ Jump Forward Within Pattern by 100: +2719:Global:Paketti: ∿ Jump Backward Within Pattern by 100: +2720:Global:Paketti: ∿ Jump Forward Within Pattern by 101: +2721:Global:Paketti: ∿ Jump Backward Within Pattern by 101: +2722:Global:Paketti: ∿ Jump Forward Within Pattern by 102: +2723:Global:Paketti: ∿ Jump Backward Within Pattern by 102: +2724:Global:Paketti: ∿ Jump Forward Within Pattern by 103: +2725:Global:Paketti: ∿ Jump Backward Within Pattern by 103: +2726:Global:Paketti: ∿ Jump Forward Within Pattern by 104: +2727:Global:Paketti: ∿ Jump Backward Within Pattern by 104: +2728:Global:Paketti: ∿ Jump Forward Within Pattern by 105: +2729:Global:Paketti: ∿ Jump Backward Within Pattern by 105: +2730:Global:Paketti: ∿ Jump Forward Within Pattern by 106: +2731:Global:Paketti: ∿ Jump Backward Within Pattern by 106: +2732:Global:Paketti: ∿ Jump Forward Within Pattern by 107: +2733:Global:Paketti: ∿ Jump Backward Within Pattern by 107: +2734:Global:Paketti: ∿ Jump Forward Within Pattern by 108: +2735:Global:Paketti: ∿ Jump Backward Within Pattern by 108: +2736:Global:Paketti: ∿ Jump Forward Within Pattern by 109: +2737:Global:Paketti: ∿ Jump Backward Within Pattern by 109: +2738:Global:Paketti: ∿ Jump Forward Within Pattern by 110: +2739:Global:Paketti: ∿ Jump Backward Within Pattern by 110: +2740:Global:Paketti: ∿ Jump Forward Within Pattern by 111: +2741:Global:Paketti: ∿ Jump Backward Within Pattern by 111: +2742:Global:Paketti: ∿ Jump Forward Within Pattern by 112: +2743:Global:Paketti: ∿ Jump Backward Within Pattern by 112: +2744:Global:Paketti: ∿ Jump Forward Within Pattern by 113: +2745:Global:Paketti: ∿ Jump Backward Within Pattern by 113: +2746:Global:Paketti: ∿ Jump Forward Within Pattern by 114: +2747:Global:Paketti: ∿ Jump Backward Within Pattern by 114: +2748:Global:Paketti: ∿ Jump Forward Within Pattern by 115: +2749:Global:Paketti: ∿ Jump Backward Within Pattern by 115: +2750:Global:Paketti: ∿ Jump Forward Within Pattern by 116: +2751:Global:Paketti: ∿ Jump Backward Within Pattern by 116: +2752:Global:Paketti: ∿ Jump Forward Within Pattern by 117: +2753:Global:Paketti: ∿ Jump Backward Within Pattern by 117: +2754:Global:Paketti: ∿ Jump Forward Within Pattern by 118: +2755:Global:Paketti: ∿ Jump Backward Within Pattern by 118: +2756:Global:Paketti: ∿ Jump Forward Within Pattern by 119: +2757:Global:Paketti: ∿ Jump Backward Within Pattern by 119: +2758:Global:Paketti: ∿ Jump Forward Within Pattern by 120: +2759:Global:Paketti: ∿ Jump Backward Within Pattern by 120: +2760:Global:Paketti: ∿ Jump Forward Within Pattern by 121: +2761:Global:Paketti: ∿ Jump Backward Within Pattern by 121: +2762:Global:Paketti: ∿ Jump Forward Within Pattern by 122: +2763:Global:Paketti: ∿ Jump Backward Within Pattern by 122: +2764:Global:Paketti: ∿ Jump Forward Within Pattern by 123: +2765:Global:Paketti: ∿ Jump Backward Within Pattern by 123: +2766:Global:Paketti: ∿ Jump Forward Within Pattern by 124: +2767:Global:Paketti: ∿ Jump Backward Within Pattern by 124: +2768:Global:Paketti: ∿ Jump Forward Within Pattern by 125: +2769:Global:Paketti: ∿ Jump Backward Within Pattern by 125: +2770:Global:Paketti: ∿ Jump Forward Within Pattern by 126: +2771:Global:Paketti: ∿ Jump Backward Within Pattern by 126: +2772:Global:Paketti: ∿ Jump Forward Within Pattern by 127: +2773:Global:Paketti: ∿ Jump Backward Within Pattern by 127: +2774:Global:Paketti: ∿ Jump Forward Within Pattern by 128: +2775:Global:Paketti: ∿ Jump Backward Within Pattern by 128: +2776:Global:Paketti: ∿ Jump Forward Within Pattern by Random: +2777:Global:Paketti: ∿ Jump Backward Within Pattern by Random: +2778:Global:Paketti: ∿ Jump Forward Within Song by 001: +2779:Global:Paketti: ∿ Jump Backward Within Song by 001: +2780:Global:Paketti: ∿ Jump Forward Within Song by 002: +2781:Global:Paketti: ∿ Jump Backward Within Song by 002: +2782:Global:Paketti: ∿ Jump Forward Within Song by 003: +2783:Global:Paketti: ∿ Jump Backward Within Song by 003: +2784:Global:Paketti: ∿ Jump Forward Within Song by 004: +2785:Global:Paketti: ∿ Jump Backward Within Song by 004: +2786:Global:Paketti: ∿ Jump Forward Within Song by 005: +2787:Global:Paketti: ∿ Jump Backward Within Song by 005: +2788:Global:Paketti: ∿ Jump Forward Within Song by 006: +2789:Global:Paketti: ∿ Jump Backward Within Song by 006: +2790:Global:Paketti: ∿ Jump Forward Within Song by 007: +2791:Global:Paketti: ∿ Jump Backward Within Song by 007: +2792:Global:Paketti: ∿ Jump Forward Within Song by 008: +2793:Global:Paketti: ∿ Jump Backward Within Song by 008: +2794:Global:Paketti: ∿ Jump Forward Within Song by 009: +2795:Global:Paketti: ∿ Jump Backward Within Song by 009: +2796:Global:Paketti: ∿ Jump Forward Within Song by 010: +2797:Global:Paketti: ∿ Jump Backward Within Song by 010: +2798:Global:Paketti: ∿ Jump Forward Within Song by 011: +2799:Global:Paketti: ∿ Jump Backward Within Song by 011: +2800:Global:Paketti: ∿ Jump Forward Within Song by 012: +2801:Global:Paketti: ∿ Jump Backward Within Song by 012: +2802:Global:Paketti: ∿ Jump Forward Within Song by 013: +2803:Global:Paketti: ∿ Jump Backward Within Song by 013: +2804:Global:Paketti: ∿ Jump Forward Within Song by 014: +2805:Global:Paketti: ∿ Jump Backward Within Song by 014: +2806:Global:Paketti: ∿ Jump Forward Within Song by 015: +2807:Global:Paketti: ∿ Jump Backward Within Song by 015: +2808:Global:Paketti: ∿ Jump Forward Within Song by 016: +2809:Global:Paketti: ∿ Jump Backward Within Song by 016: +2810:Global:Paketti: ∿ Jump Forward Within Song by 017: +2811:Global:Paketti: ∿ Jump Backward Within Song by 017: +2812:Global:Paketti: ∿ Jump Forward Within Song by 018: +2813:Global:Paketti: ∿ Jump Backward Within Song by 018: +2814:Global:Paketti: ∿ Jump Forward Within Song by 019: +2815:Global:Paketti: ∿ Jump Backward Within Song by 019: +2816:Global:Paketti: ∿ Jump Forward Within Song by 020: +2817:Global:Paketti: ∿ Jump Backward Within Song by 020: +2818:Global:Paketti: ∿ Jump Forward Within Song by 021: +2819:Global:Paketti: ∿ Jump Backward Within Song by 021: +2820:Global:Paketti: ∿ Jump Forward Within Song by 022: +2821:Global:Paketti: ∿ Jump Backward Within Song by 022: +2822:Global:Paketti: ∿ Jump Forward Within Song by 023: +2823:Global:Paketti: ∿ Jump Backward Within Song by 023: +2824:Global:Paketti: ∿ Jump Forward Within Song by 024: +2825:Global:Paketti: ∿ Jump Backward Within Song by 024: +2826:Global:Paketti: ∿ Jump Forward Within Song by 025: +2827:Global:Paketti: ∿ Jump Backward Within Song by 025: +2828:Global:Paketti: ∿ Jump Forward Within Song by 026: +2829:Global:Paketti: ∿ Jump Backward Within Song by 026: +2830:Global:Paketti: ∿ Jump Forward Within Song by 027: +2831:Global:Paketti: ∿ Jump Backward Within Song by 027: +2832:Global:Paketti: ∿ Jump Forward Within Song by 028: +2833:Global:Paketti: ∿ Jump Backward Within Song by 028: +2834:Global:Paketti: ∿ Jump Forward Within Song by 029: +2835:Global:Paketti: ∿ Jump Backward Within Song by 029: +2836:Global:Paketti: ∿ Jump Forward Within Song by 030: +2837:Global:Paketti: ∿ Jump Backward Within Song by 030: +2838:Global:Paketti: ∿ Jump Forward Within Song by 031: +2839:Global:Paketti: ∿ Jump Backward Within Song by 031: +2840:Global:Paketti: ∿ Jump Forward Within Song by 032: +2841:Global:Paketti: ∿ Jump Backward Within Song by 032: +2842:Global:Paketti: ∿ Jump Forward Within Song by 033: +2843:Global:Paketti: ∿ Jump Backward Within Song by 033: +2844:Global:Paketti: ∿ Jump Forward Within Song by 034: +2845:Global:Paketti: ∿ Jump Backward Within Song by 034: +2846:Global:Paketti: ∿ Jump Forward Within Song by 035: +2847:Global:Paketti: ∿ Jump Backward Within Song by 035: +2848:Global:Paketti: ∿ Jump Forward Within Song by 036: +2849:Global:Paketti: ∿ Jump Backward Within Song by 036: +2850:Global:Paketti: ∿ Jump Forward Within Song by 037: +2851:Global:Paketti: ∿ Jump Backward Within Song by 037: +2852:Global:Paketti: ∿ Jump Forward Within Song by 038: +2853:Global:Paketti: ∿ Jump Backward Within Song by 038: +2854:Global:Paketti: ∿ Jump Forward Within Song by 039: +2855:Global:Paketti: ∿ Jump Backward Within Song by 039: +2856:Global:Paketti: ∿ Jump Forward Within Song by 040: +2857:Global:Paketti: ∿ Jump Backward Within Song by 040: +2858:Global:Paketti: ∿ Jump Forward Within Song by 041: +2859:Global:Paketti: ∿ Jump Backward Within Song by 041: +2860:Global:Paketti: ∿ Jump Forward Within Song by 042: +2861:Global:Paketti: ∿ Jump Backward Within Song by 042: +2862:Global:Paketti: ∿ Jump Forward Within Song by 043: +2863:Global:Paketti: ∿ Jump Backward Within Song by 043: +2864:Global:Paketti: ∿ Jump Forward Within Song by 044: +2865:Global:Paketti: ∿ Jump Backward Within Song by 044: +2866:Global:Paketti: ∿ Jump Forward Within Song by 045: +2867:Global:Paketti: ∿ Jump Backward Within Song by 045: +2868:Global:Paketti: ∿ Jump Forward Within Song by 046: +2869:Global:Paketti: ∿ Jump Backward Within Song by 046: +2870:Global:Paketti: ∿ Jump Forward Within Song by 047: +2871:Global:Paketti: ∿ Jump Backward Within Song by 047: +2872:Global:Paketti: ∿ Jump Forward Within Song by 048: +2873:Global:Paketti: ∿ Jump Backward Within Song by 048: +2874:Global:Paketti: ∿ Jump Forward Within Song by 049: +2875:Global:Paketti: ∿ Jump Backward Within Song by 049: +2876:Global:Paketti: ∿ Jump Forward Within Song by 050: +2877:Global:Paketti: ∿ Jump Backward Within Song by 050: +2878:Global:Paketti: ∿ Jump Forward Within Song by 051: +2879:Global:Paketti: ∿ Jump Backward Within Song by 051: +2880:Global:Paketti: ∿ Jump Forward Within Song by 052: +2881:Global:Paketti: ∿ Jump Backward Within Song by 052: +2882:Global:Paketti: ∿ Jump Forward Within Song by 053: +2883:Global:Paketti: ∿ Jump Backward Within Song by 053: +2884:Global:Paketti: ∿ Jump Forward Within Song by 054: +2885:Global:Paketti: ∿ Jump Backward Within Song by 054: +2886:Global:Paketti: ∿ Jump Forward Within Song by 055: +2887:Global:Paketti: ∿ Jump Backward Within Song by 055: +2888:Global:Paketti: ∿ Jump Forward Within Song by 056: +2889:Global:Paketti: ∿ Jump Backward Within Song by 056: +2890:Global:Paketti: ∿ Jump Forward Within Song by 057: +2891:Global:Paketti: ∿ Jump Backward Within Song by 057: +2892:Global:Paketti: ∿ Jump Forward Within Song by 058: +2893:Global:Paketti: ∿ Jump Backward Within Song by 058: +2894:Global:Paketti: ∿ Jump Forward Within Song by 059: +2895:Global:Paketti: ∿ Jump Backward Within Song by 059: +2896:Global:Paketti: ∿ Jump Forward Within Song by 060: +2897:Global:Paketti: ∿ Jump Backward Within Song by 060: +2898:Global:Paketti: ∿ Jump Forward Within Song by 061: +2899:Global:Paketti: ∿ Jump Backward Within Song by 061: +2900:Global:Paketti: ∿ Jump Forward Within Song by 062: +2901:Global:Paketti: ∿ Jump Backward Within Song by 062: +2902:Global:Paketti: ∿ Jump Forward Within Song by 063: +2903:Global:Paketti: ∿ Jump Backward Within Song by 063: +2904:Global:Paketti: ∿ Jump Forward Within Song by 064: +2905:Global:Paketti: ∿ Jump Backward Within Song by 064: +2906:Global:Paketti: ∿ Jump Forward Within Song by 065: +2907:Global:Paketti: ∿ Jump Backward Within Song by 065: +2908:Global:Paketti: ∿ Jump Forward Within Song by 066: +2909:Global:Paketti: ∿ Jump Backward Within Song by 066: +2910:Global:Paketti: ∿ Jump Forward Within Song by 067: +2911:Global:Paketti: ∿ Jump Backward Within Song by 067: +2912:Global:Paketti: ∿ Jump Forward Within Song by 068: +2913:Global:Paketti: ∿ Jump Backward Within Song by 068: +2914:Global:Paketti: ∿ Jump Forward Within Song by 069: +2915:Global:Paketti: ∿ Jump Backward Within Song by 069: +2916:Global:Paketti: ∿ Jump Forward Within Song by 070: +2917:Global:Paketti: ∿ Jump Backward Within Song by 070: +2918:Global:Paketti: ∿ Jump Forward Within Song by 071: +2919:Global:Paketti: ∿ Jump Backward Within Song by 071: +2920:Global:Paketti: ∿ Jump Forward Within Song by 072: +2921:Global:Paketti: ∿ Jump Backward Within Song by 072: +2922:Global:Paketti: ∿ Jump Forward Within Song by 073: +2923:Global:Paketti: ∿ Jump Backward Within Song by 073: +2924:Global:Paketti: ∿ Jump Forward Within Song by 074: +2925:Global:Paketti: ∿ Jump Backward Within Song by 074: +2926:Global:Paketti: ∿ Jump Forward Within Song by 075: +2927:Global:Paketti: ∿ Jump Backward Within Song by 075: +2928:Global:Paketti: ∿ Jump Forward Within Song by 076: +2929:Global:Paketti: ∿ Jump Backward Within Song by 076: +2930:Global:Paketti: ∿ Jump Forward Within Song by 077: +2931:Global:Paketti: ∿ Jump Backward Within Song by 077: +2932:Global:Paketti: ∿ Jump Forward Within Song by 078: +2933:Global:Paketti: ∿ Jump Backward Within Song by 078: +2934:Global:Paketti: ∿ Jump Forward Within Song by 079: +2935:Global:Paketti: ∿ Jump Backward Within Song by 079: +2936:Global:Paketti: ∿ Jump Forward Within Song by 080: +2937:Global:Paketti: ∿ Jump Backward Within Song by 080: +2938:Global:Paketti: ∿ Jump Forward Within Song by 081: +2939:Global:Paketti: ∿ Jump Backward Within Song by 081: +2940:Global:Paketti: ∿ Jump Forward Within Song by 082: +2941:Global:Paketti: ∿ Jump Backward Within Song by 082: +2942:Global:Paketti: ∿ Jump Forward Within Song by 083: +2943:Global:Paketti: ∿ Jump Backward Within Song by 083: +2944:Global:Paketti: ∿ Jump Forward Within Song by 084: +2945:Global:Paketti: ∿ Jump Backward Within Song by 084: +2946:Global:Paketti: ∿ Jump Forward Within Song by 085: +2947:Global:Paketti: ∿ Jump Backward Within Song by 085: +2948:Global:Paketti: ∿ Jump Forward Within Song by 086: +2949:Global:Paketti: ∿ Jump Backward Within Song by 086: +2950:Global:Paketti: ∿ Jump Forward Within Song by 087: +2951:Global:Paketti: ∿ Jump Backward Within Song by 087: +2952:Global:Paketti: ∿ Jump Forward Within Song by 088: +2953:Global:Paketti: ∿ Jump Backward Within Song by 088: +2954:Global:Paketti: ∿ Jump Forward Within Song by 089: +2955:Global:Paketti: ∿ Jump Backward Within Song by 089: +2956:Global:Paketti: ∿ Jump Forward Within Song by 090: +2957:Global:Paketti: ∿ Jump Backward Within Song by 090: +2958:Global:Paketti: ∿ Jump Forward Within Song by 091: +2959:Global:Paketti: ∿ Jump Backward Within Song by 091: +2960:Global:Paketti: ∿ Jump Forward Within Song by 092: +2961:Global:Paketti: ∿ Jump Backward Within Song by 092: +2962:Global:Paketti: ∿ Jump Forward Within Song by 093: +2963:Global:Paketti: ∿ Jump Backward Within Song by 093: +2964:Global:Paketti: ∿ Jump Forward Within Song by 094: +2965:Global:Paketti: ∿ Jump Backward Within Song by 094: +2966:Global:Paketti: ∿ Jump Forward Within Song by 095: +2967:Global:Paketti: ∿ Jump Backward Within Song by 095: +2968:Global:Paketti: ∿ Jump Forward Within Song by 096: +2969:Global:Paketti: ∿ Jump Backward Within Song by 096: +2970:Global:Paketti: ∿ Jump Forward Within Song by 097: +2971:Global:Paketti: ∿ Jump Backward Within Song by 097: +2972:Global:Paketti: ∿ Jump Forward Within Song by 098: +2973:Global:Paketti: ∿ Jump Backward Within Song by 098: +2974:Global:Paketti: ∿ Jump Forward Within Song by 099: +2975:Global:Paketti: ∿ Jump Backward Within Song by 099: +2976:Global:Paketti: ∿ Jump Forward Within Song by 100: +2977:Global:Paketti: ∿ Jump Backward Within Song by 100: +2978:Global:Paketti: ∿ Jump Forward Within Song by 101: +2979:Global:Paketti: ∿ Jump Backward Within Song by 101: +2980:Global:Paketti: ∿ Jump Forward Within Song by 102: +2981:Global:Paketti: ∿ Jump Backward Within Song by 102: +2982:Global:Paketti: ∿ Jump Forward Within Song by 103: +2983:Global:Paketti: ∿ Jump Backward Within Song by 103: +2984:Global:Paketti: ∿ Jump Forward Within Song by 104: +2985:Global:Paketti: ∿ Jump Backward Within Song by 104: +2986:Global:Paketti: ∿ Jump Forward Within Song by 105: +2987:Global:Paketti: ∿ Jump Backward Within Song by 105: +2988:Global:Paketti: ∿ Jump Forward Within Song by 106: +2989:Global:Paketti: ∿ Jump Backward Within Song by 106: +2990:Global:Paketti: ∿ Jump Forward Within Song by 107: +2991:Global:Paketti: ∿ Jump Backward Within Song by 107: +2992:Global:Paketti: ∿ Jump Forward Within Song by 108: +2993:Global:Paketti: ∿ Jump Backward Within Song by 108: +2994:Global:Paketti: ∿ Jump Forward Within Song by 109: +2995:Global:Paketti: ∿ Jump Backward Within Song by 109: +2996:Global:Paketti: ∿ Jump Forward Within Song by 110: +2997:Global:Paketti: ∿ Jump Backward Within Song by 110: +2998:Global:Paketti: ∿ Jump Forward Within Song by 111: +2999:Global:Paketti: ∿ Jump Backward Within Song by 111: +3000:Global:Paketti: ∿ Jump Forward Within Song by 112: +3001:Global:Paketti: ∿ Jump Backward Within Song by 112: +3002:Global:Paketti: ∿ Jump Forward Within Song by 113: +3003:Global:Paketti: ∿ Jump Backward Within Song by 113: +3004:Global:Paketti: ∿ Jump Forward Within Song by 114: +3005:Global:Paketti: ∿ Jump Backward Within Song by 114: +3006:Global:Paketti: ∿ Jump Forward Within Song by 115: +3007:Global:Paketti: ∿ Jump Backward Within Song by 115: +3008:Global:Paketti: ∿ Jump Forward Within Song by 116: +3009:Global:Paketti: ∿ Jump Backward Within Song by 116: +3010:Global:Paketti: ∿ Jump Forward Within Song by 117: +3011:Global:Paketti: ∿ Jump Backward Within Song by 117: +3012:Global:Paketti: ∿ Jump Forward Within Song by 118: +3013:Global:Paketti: ∿ Jump Backward Within Song by 118: +3014:Global:Paketti: ∿ Jump Forward Within Song by 119: +3015:Global:Paketti: ∿ Jump Backward Within Song by 119: +3016:Global:Paketti: ∿ Jump Forward Within Song by 120: +3017:Global:Paketti: ∿ Jump Backward Within Song by 120: +3018:Global:Paketti: ∿ Jump Forward Within Song by 121: +3019:Global:Paketti: ∿ Jump Backward Within Song by 121: +3020:Global:Paketti: ∿ Jump Forward Within Song by 122: +3021:Global:Paketti: ∿ Jump Backward Within Song by 122: +3022:Global:Paketti: ∿ Jump Forward Within Song by 123: +3023:Global:Paketti: ∿ Jump Backward Within Song by 123: +3024:Global:Paketti: ∿ Jump Forward Within Song by 124: +3025:Global:Paketti: ∿ Jump Backward Within Song by 124: +3026:Global:Paketti: ∿ Jump Forward Within Song by 125: +3027:Global:Paketti: ∿ Jump Backward Within Song by 125: +3028:Global:Paketti: ∿ Jump Forward Within Song by 126: +3029:Global:Paketti: ∿ Jump Backward Within Song by 126: +3030:Global:Paketti: ∿ Jump Forward Within Song by 127: +3031:Global:Paketti: ∿ Jump Backward Within Song by 127: +3032:Global:Paketti: ∿ Jump Forward Within Song by 128: +3033:Global:Paketti: ∿ Jump Backward Within Song by 128: +3034:Global:Paketti: ∿ Jump Forward Within Song by Random: +3035:Global:Paketti: ∿ Jump Backward Within Song by Random: +3036:Global:Paketti: ∿ Populate GlobalGainers on Each Track (start chain): +3037:Global:Paketti: ∿ Populate GlobalGainers on Each Track (end chain): +3038:Global:Paketti: ∿ Add Gainer A to Selected Track: +3039:Global:Paketti: ∿ Add Gainer B to Selected Track: +3040:Global:Paketti: ∿ Save Song with Timestamp: +3041:Global:Paketti: ∿ Offset Dialog...: +3042:Global:Paketti: ∿ Wipe Random Notes: +3043:Global:Paketti: ∿ Global Volume Reduce All Instruments by -4.5dB: +3044:Global:Paketti: ∿ Global Volume Reduce All Samples by -4.5dB: +3045:Global:Paketti: ∿ Global Volume Adjustment Dialog...: +3046:Global:Paketti: ∿ Show EditStep Dialog: +3047:Pattern Editor:Paketti: ∿ Player Pro Transpose Selection or Row +1: Shift + Command + Up +3048:Pattern Editor:Paketti: ∿ Player Pro Transpose Selection or Row -1: +3049:Pattern Editor:Paketti: ∿ Player Pro Transpose Selection or Row +12: +3050:Pattern Editor:Paketti: ∿ Player Pro Transpose Selection or Row -12: +3051:Pattern Editor:Paketti: ∿ Open Player Pro Tools Dialog: +3052:Pattern Editor:Paketti: ∿ Chordsplus (Add 01): +3053:Pattern Editor:Paketti: ∿ Chordsplus (Add 02): +3054:Pattern Editor:Paketti: ∿ Chordsplus (Add 03): Shift + Control + 3 +3055:Pattern Editor:Paketti: ∿ Chordsplus (Add 04): Shift + Control + 4 +3056:Pattern Editor:Paketti: ∿ Chordsplus (Add 05): +3057:Pattern Editor:Paketti: ∿ Chordsplus (Add 06): +3058:Pattern Editor:Paketti: ∿ Chordsplus (Add 07): Shift + Control + 7 +3059:Pattern Editor:Paketti: ∿ Chordsplus (Add 08): +3060:Pattern Editor:Paketti: ∿ Chordsplus (Add 09): +3061:Pattern Editor:Paketti: ∿ Chordsplus (Add 10): +3062:Pattern Editor:Paketti: ∿ Chordsplus (Add 11): +3063:Pattern Editor:Paketti: ∿ Chordsplus (Add 12): +3064:Pattern Editor:Paketti: ∿ Chordsplus (Sub 01): +3065:Pattern Editor:Paketti: ∿ Chordsplus (Sub 02): +3066:Pattern Editor:Paketti: ∿ Chordsplus (Sub 03): +3067:Pattern Editor:Paketti: ∿ Chordsplus (Sub 04): Shift + Control + 2 +3068:Pattern Editor:Paketti: ∿ Chordsplus (Sub 05): +3069:Pattern Editor:Paketti: ∿ Chordsplus (Sub 06): +3070:Pattern Editor:Paketti: ∿ Chordsplus (Sub 07): Shift + Control + 6 +3071:Pattern Editor:Paketti: ∿ Chordsplus (Sub 08): +3072:Pattern Editor:Paketti: ∿ Chordsplus (Sub 09): +3073:Pattern Editor:Paketti: ∿ Chordsplus (Sub 10): +3074:Pattern Editor:Paketti: ∿ Chordsplus (Sub 11): +3075:Pattern Editor:Paketti: ∿ Chordsplus (Sub 12): +3076:Pattern Editor:Paketti: ∿ Chordsplus 3-4 (Maj): +3077:Pattern Editor:Paketti: ∿ Chordsplus 4-3 (Min): +3078:Pattern Editor:Paketti: ∿ Chordsplus 4-3-4 (Maj7): +3079:Pattern Editor:Paketti: ∿ Chordsplus 3-4-3 (Min7): +3080:Pattern Editor:Paketti: ∿ Chordsplus 4-4-3 (Maj7+5): +3081:Pattern Editor:Paketti: ∿ Chordsplus 3-5-2 (Min7+5): +3082:Pattern Editor:Paketti: ∿ Chordsplus 4-3-3 (Maj Dominant 7th): +3083:Pattern Editor:Paketti: ∿ Chordsplus 3-4-4 (MinMaj7): +3084:Pattern Editor:Paketti: ∿ Chordsplus 4-3-4-3 (Maj9): +3085:Pattern Editor:Paketti: ∿ Chordsplus 3-4-3-3 (Min9): +3086:Pattern Editor:Paketti: ∿ Chordsplus 4-3-7 (Maj Added 9th): +3087:Pattern Editor:Paketti: ∿ Chordsplus 3-4-7 (Min Added 9th): +3088:Pattern Editor:Paketti: ∿ Chordsplus 4-7-3 (Maj9 Simplified): +3089:Pattern Editor:Paketti: ∿ Chordsplus 3-7-4 (Min9 Simplified): +3090:Pattern Editor:Paketti: ∿ Chordsplus 3-8-3 (mM9 Simplified): +3091:Pattern Editor:Paketti: ∿ Chordsplus 4-3-4-4 (MM9): +3092:Pattern Editor:Paketti: ∿ Chordsplus 3-4-4-3 (mM9): +3093:Pattern Editor:Paketti: ∿ Chordsplus 4-3-2-5 (Maj6 Add9): +3094:Pattern Editor:Paketti: ∿ Chordsplus 3-4-2-5 (Min6 Add9): Shift + Control + 1 +3095:Pattern Editor:Paketti: ∿ Chordsplus 2-5 (Sus2): +3096:Pattern Editor:Paketti: ∿ Chordsplus 5-2 (Sus4): +3097:Pattern Editor:Paketti: ∿ Chordsplus 5-2-3 (7Sus4): +3098:Pattern Editor:Paketti: ∿ Chordsplus 4-4 (Aug5): +3099:Pattern Editor:Paketti: ∿ Chordsplus 4-4-2 (Aug6): +3100:Pattern Editor:Paketti: ∿ Chordsplus 4-4-3 (Aug7): +3101:Pattern Editor:Paketti: ∿ Chordsplus 4-4-4 (Aug8): +3102:Pattern Editor:Paketti: ∿ Chordsplus 4-3-3-5 (Aug9): +3103:Pattern Editor:Paketti: ∿ Chordsplus 4-4-7 (Aug10): +3104:Pattern Editor:Paketti: ∿ Chordsplus 4-3-3-4-4 (Aug11): +3105:Pattern Editor:Paketti: ∿ Chordsplus 12-12-12 (Octaves): +3106:Pattern Editor:Paketti: ∿ Next Chord in List: +3107:Pattern Editor:Paketti: ∿ Clean Render Selected Track/Group: Command + R +3108:Pattern Editor:Paketti: ∿ Keep Sequence Sorted False: +3109:Pattern Editor:Paketti: ∿ Keep Sequence Sorted True: +3110:Pattern Editor:Paketti: ∿ Keep Sequence Sorted Toggle: Shift + Command + N +3111:Pattern Editor:Paketti: ∿ Capture Nearest Instrument and Octave (nojump): +3112:Pattern Editor:Paketti: ∿ Capture Nearest Instrument and Octave (jump): +3113:Pattern Editor:Paketti: ∿ Transpose Octave Up (Selection/Track): Shift + Command + Q +3114:Pattern Editor:Paketti: ∿ Transpose Octave Down (Selection/Track): Shift + Command + A +3115:Pattern Editor:Paketti: ∿ Transpose +1 (Selection/Track): Command + Q +3116:Pattern Editor:Paketti: ∿ Transpose -1 (Selection/Track): Command + A +3117:Pattern Editor:Paketti: ∿ Transpose Octave Up Note Column (Selection/Note Column): Shift + Option + Command + Q +3118:Pattern Editor:Paketti: ∿ Transpose Octave Down Note Column (Selection/Note Column): Shift + Option + Command + A +3119:Pattern Editor:Paketti: ∿ Transpose +1 Note Column (Selection/Note Column): Option + Command + Q +3120:Pattern Editor:Paketti: ∿ Transpose -1 Note Column (Selection/Note Column): Option + Command + A +3121:Pattern Editor:Paketti: ∿ Phrase Editor Visible: +3122:Pattern Editor:Paketti: ∿ OctaMED Pick Slot 01: +3123:Pattern Editor:Paketti: ∿ OctaMED Put Slot 01: +3124:Pattern Editor:Paketti: ∿ OctaMED Pick Slot 02: +3125:Pattern Editor:Paketti: ∿ OctaMED Put Slot 02: +3126:Pattern Editor:Paketti: ∿ OctaMED Pick Slot 03: +3127:Pattern Editor:Paketti: ∿ OctaMED Put Slot 03: +3128:Pattern Editor:Paketti: ∿ OctaMED Pick Slot 04: +3129:Pattern Editor:Paketti: ∿ OctaMED Put Slot 04: +3130:Pattern Editor:Paketti: ∿ OctaMED Pick Slot 05: +3131:Pattern Editor:Paketti: ∿ OctaMED Put Slot 05: +3132:Pattern Editor:Paketti: ∿ OctaMED Pick Slot 06: +3133:Pattern Editor:Paketti: ∿ OctaMED Put Slot 06: +3134:Pattern Editor:Paketti: ∿ OctaMED Pick Slot 07: +3135:Pattern Editor:Paketti: ∿ OctaMED Put Slot 07: +3136:Pattern Editor:Paketti: ∿ OctaMED Pick Slot 08: +3137:Pattern Editor:Paketti: ∿ OctaMED Put Slot 08: +3138:Pattern Editor:Paketti: ∿ OctaMED Pick Slot 09: +3139:Pattern Editor:Paketti: ∿ OctaMED Put Slot 09: +3140:Pattern Editor:Paketti: ∿ OctaMED Pick Slot 10: +3141:Pattern Editor:Paketti: ∿ OctaMED Put Slot 10: +3142:Pattern Editor:Paketti: ∿ OctaMED Pick/Put Dialog: +3143:Pattern Editor:Paketti: ∿ Impulse Tracker ALT-D Double Select: +3144:Pattern Editor:Paketti: ∿ Impulse Tracker ALT-D Double Select W/ Automation: Command + D +3145:Pattern Editor:Paketti: ∿ Set Note to Octave 0: +3146:Pattern Editor:Paketti: ∿ Set Note to Octave 1: +3147:Pattern Editor:Paketti: ∿ Set Note to Octave 2: +3148:Pattern Editor:Paketti: ∿ Set Note to Octave 3: +3149:Pattern Editor:Paketti: ∿ Set Note to Octave 4: +3150:Pattern Editor:Paketti: ∿ Set Note to Octave 5: +3151:Pattern Editor:Paketti: ∿ Set Note to Octave 6: +3152:Pattern Editor:Paketti: ∿ Set Note to Octave 7: +3153:Pattern Editor:Paketti: ∿ Set Note to Octave 8: +3154:Pattern Editor:Paketti: ∿ Set Note to Octave 9: +3155:Pattern Editor:Paketti: ∿ Impulse Tracker ALT-F Expand Selection: Command + F +3156:Pattern Editor:Paketti: ∿ Impulse Tracker ALT-F Expand Selection Twice: +3157:Pattern Editor:Paketti: ∿ Impulse Tracker ALT-G Shrink Selection: Command + G +3158:Pattern Editor:Paketti: ∿ Impulse Tracker ALT-G Shrink Selection Twice: +3159:Pattern Editor:Paketti: ∿ Impulse Tracker ALT-F Expand Selection Replicate: +3160:Pattern Editor:Paketti: ∿ Impulse Tracker ALT-G Shrink Selection Replicate: +3161:Pattern Editor:Paketti: ∿ Impulse Tracker ALT-S Set Selection to Instrument: Command + S +3162:Pattern Editor:Paketti: ∿ Impulse Tracker ALT-D Double Select Column: +3163:Pattern Editor:Paketti: ∿ Impulse Tracker ALT-D Double Select Pattern: +3164:Pattern Editor:Paketti: ∿ Impulse Tracker Home *2 behaviour: Option + Up +3165:Pattern Editor:Paketti: ∿ Impulse Tracker Home *2 behaviour (2nd): +3166:Pattern Editor:Paketti: ∿ Impulse Tracker End *2 behaviour: Option + Down +3167:Pattern Editor:Paketti: ∿ Impulse Tracker End *2 behaviour (2nd): +3168:Pattern Editor:Paketti: ∿ Impulse Tracker ALT-U Unmark Selection: +3169:Pattern Editor:Paketti: ∿ Impulse Tracker ALT-U Unmark Selection (2nd): +3170:Pattern Editor:Paketti: ∿ Impulse Tracker Alt-Right Move Forwards One Channel (Wrap): Option + Right +3171:Pattern Editor:Paketti: ∿ Impulse Tracker Alt-Left Move Backwards One Channel (Wrap): Option + Left +3172:Pattern Editor:Paketti: ∿ Impulse Tracker Alt-Right Move Forwards One Channel: +3173:Pattern Editor:Paketti: ∿ Impulse Tracker Alt-Left Move Backwards One Channel: +3174:Pattern Editor:Paketti: ∿ Impulse Tracker ALT-X *2 (Interpolate&Clear Effect Columns): +3175:Pattern Editor:Paketti: ∿ Switch to Automation: +3176:Pattern Editor:Paketti: ∿ Show Automation: +3177:Pattern Editor:Paketti: ∿ Clean Render Selected Track/Group LPB*2: +3178:Pattern Editor:Paketti: ∿ Clean Render Seamless Selected Track/Group: +3179:Pattern Editor:Paketti: ∿ Impulse Tracker Alt-M MixPaste - Save: +3180:Pattern Editor:Paketti: ∿ Impulse Tracker Alt-M MixPaste - Load: +3181:Pattern Editor:Paketti: ∿ Shrink to Triplets: Control + T +3182:Pattern Editor:Paketti: ∿ Triple (Experimental): +3183:Pattern Editor:Paketti: ∿ Impulse Tracker Shift-Right Selection In Pattern: +3184:Pattern Editor:Paketti: ∿ Impulse Tracker Shift-Left Selection In Pattern: +3185:Pattern Editor:Paketti: ∿ Impulse Tracker Shift-Down Selection In Pattern: +3186:Pattern Editor:Paketti: ∿ Impulse Tracker Shift-Up Selection In Pattern: +3187:Pattern Editor:Paketti: ∿ Slide Selected Column Content Down: Command + Control + Down +3188:Pattern Editor:Paketti: ∿ Slide Selected Column Content Up: Command + Control + Up +3189:Pattern Editor:Paketti: ∿ Slide Selected Track Content Up: +3190:Pattern Editor:Paketti: ∿ Slide Selected Track Content Down: Option + Command + Down +3191:Pattern Editor:Paketti: ∿ Impulse Tracker MixPaste: Option + M +3192:Pattern Editor:Paketti: ∿ Mute/Unmute Note Column: +3193:Pattern Editor:Paketti: ∿ Effect Column L00 Track Volume Level 0 On/Off: +3194:Pattern Editor:Paketti: ∿ Record+Follow Off: +3195:Pattern Editor:Paketti: ∿ Delay Column Increase (+1): Shift + Control + PeakedBracket +3196:Pattern Editor:Paketti: ∿ Delay Column Decrease (-1): Control + PeakedBracket +3197:Pattern Editor:Paketti: ∿ Delay Column Increase (+10): +3198:Pattern Editor:Paketti: ∿ Delay Column Decrease (-10): +3199:Pattern Editor:Paketti: ∿ KapsLock CapsLock Caps Lock Note Off: Capital +3200:Pattern Editor:Paketti: ∿ Set Pattern Length to 001 (001): +3201:Pattern Editor:Paketti: ∿ Set Pattern Length to 004 (004): Control + 1 +3202:Pattern Editor:Paketti: ∿ Set Pattern Length to 006 (006): +3203:Pattern Editor:Paketti: ∿ Set Pattern Length to 008 (008): Control + 2 +3204:Pattern Editor:Paketti: ∿ Set Pattern Length to 012 (00C): +3205:Pattern Editor:Paketti: ∿ Set Pattern Length to 016 (010): Control + 3 +3206:Pattern Editor:Paketti: ∿ Set Pattern Length to 024 (018): +3207:Pattern Editor:Paketti: ∿ Set Pattern Length to 032 (020): Control + 4 +3208:Pattern Editor:Paketti: ∿ Set Pattern Length to 048 (030): +3209:Pattern Editor:Paketti: ∿ Set Pattern Length to 064 (040): Control + 5 +3210:Pattern Editor:Paketti: ∿ Set Pattern Length to 096 (060): +3211:Pattern Editor:Paketti: ∿ Set Pattern Length to 128 (080): Control + 6 +3212:Pattern Editor:Paketti: ∿ Set Pattern Length to 192 (0C0): +3213:Pattern Editor:Paketti: ∿ Set Pattern Length to 256 (100): Control + 7 +3214:Pattern Editor:Paketti: ∿ Set Pattern Length to 384 (180): +3215:Pattern Editor:Paketti: ∿ Set Pattern Length to 512 (200): Control + 8 +3216:Pattern Editor:Paketti: ∿ Effect Column AXx Arp Amount Xx (-1): +3217:Pattern Editor:Paketti: ∿ Effect Column AXx Arp Amount Xx (+1): +3218:Pattern Editor:Paketti: ∿ Effect Column AxY Arp Amount xY (-1): +3219:Pattern Editor:Paketti: ∿ Effect Column AxY Arp Amount xY (+1): +3220:Pattern Editor:Paketti: ∿ Effect Column VxY Vibrato Amount xY (-1): +3221:Pattern Editor:Paketti: ∿ Effect Column VxY Vibrato Amount xY (+1): +3222:Pattern Editor:Paketti: ∿ Effect Column TxY Tremolo Amount xY (-1): +3223:Pattern Editor:Paketti: ∿ Effect Column TxY Tremolo Amount xY (+1): +3224:Pattern Editor:Paketti: ∿ Effect Column RxY Retrig Amount xY (-1): +3225:Pattern Editor:Paketti: ∿ Effect Column RxY Retrig Amount xY (+1): +3226:Pattern Editor:Paketti: ∿ Effect Column CxY Cut Volume Amount xY (-1): +3227:Pattern Editor:Paketti: ∿ Effect Column CxY Cut Volume Amount xY (+1): +3228:Pattern Editor:Paketti: ∿ Set Global LPB to 001: +3229:Pattern Editor:Paketti: ∿ Set Global LPB to 002: +3230:Pattern Editor:Paketti: ∿ Set Global LPB to 003: +3231:Pattern Editor:Paketti: ∿ Set Global LPB to 004: +3232:Pattern Editor:Paketti: ∿ Set Global LPB to 005: +3233:Pattern Editor:Paketti: ∿ Set Global LPB to 006: +3234:Pattern Editor:Paketti: ∿ Set Global LPB to 007: +3235:Pattern Editor:Paketti: ∿ Set Global LPB to 008: +3236:Pattern Editor:Paketti: ∿ Set Global LPB to 009: +3237:Pattern Editor:Paketti: ∿ Set Global LPB to 010: +3238:Pattern Editor:Paketti: ∿ Set Global LPB to 011: +3239:Pattern Editor:Paketti: ∿ Set Global LPB to 012: +3240:Pattern Editor:Paketti: ∿ Set Global LPB to 013: +3241:Pattern Editor:Paketti: ∿ Set Global LPB to 014: +3242:Pattern Editor:Paketti: ∿ Set Global LPB to 015: +3243:Pattern Editor:Paketti: ∿ Set Global LPB to 016: +3244:Pattern Editor:Paketti: ∿ Set Global LPB to 024: +3245:Pattern Editor:Paketti: ∿ Set Global LPB to 032: +3246:Pattern Editor:Paketti: ∿ Set Global LPB to 048: +3247:Pattern Editor:Paketti: ∿ Set Global LPB to 064: +3248:Pattern Editor:Paketti: ∿ Set Global LPB to 128: +3249:Pattern Editor:Paketti: ∿ Set Global LPB to 256: +3250:Pattern Editor:Paketti: ∿ Paketti Pattern Doubler: Command + Grave +3251:Pattern Editor:Paketti: ∿ Paketti Pattern Halver: Shift + Command + Grave +3252:Pattern Editor:Paketti: ∿ Renoise Random BPM & Write BPM/LPB to Master: +3253:Pattern Editor:Paketti: ∿ Wipe Effects From Selection: +3254:Pattern Editor:Paketti: ∿ Delete/Wipe/Clear Effect Column Content from Current Track: +3255:Pattern Editor:Paketti: ∿ Generate Delay Value on Note Columns: +3256:Pattern Editor:Paketti: ∿ Pattern Shrink (dBlue): +3257:Pattern Editor:Paketti: ∿ Pattern Expand (dBlue): +3258:Pattern Editor:Paketti: ∿ Pattern Shrink + Resize (dBlue): +3259:Pattern Editor:Paketti: ∿ Pattern Expand + Resize (dBlue): +3260:Pattern Editor:Paketti: ∿ Effect Column Infobyte (-1): +3261:Pattern Editor:Paketti: ∿ Effect Column Infobyte (-10): +3262:Pattern Editor:Paketti: ∿ Effect Column Infobyte (-1) (2nd): +3263:Pattern Editor:Paketti: ∿ Effect Column Infobyte (-10) (2nd): +3264:Pattern Editor:Paketti: ∿ Effect Column Infobyte (-1) (3rd): +3265:Pattern Editor:Paketti: ∿ Effect Column Infobyte (-10) (3rd): +3266:Pattern Editor:Paketti: ∿ Effect Column Infobyte (+1): +3267:Pattern Editor:Paketti: ∿ Effect Column Infobyte (+10): +3268:Pattern Editor:Paketti: ∿ Effect Column Infobyte (+1) (2nd): +3269:Pattern Editor:Paketti: ∿ Effect Column Infobyte (+10) (2nd): +3270:Pattern Editor:Paketti: ∿ Effect Column Infobyte (+1) (3rd): +3271:Pattern Editor:Paketti: ∿ Effect Column Infobyte (+10) (3rd): +3272:Pattern Editor:Paketti: ∿ Effect Column Gxx Glide (-1): +3273:Pattern Editor:Paketti: ∿ Effect Column Gxx Glide (-10): +3274:Pattern Editor:Paketti: ∿ Effect Column Gxx Glide (+1): +3275:Pattern Editor:Paketti: ∿ Effect Column Gxx Glide (+10): +3276:Pattern Editor:Paketti: ∿ Effect Column Uxx Slide Pitch Up (+1): +3277:Pattern Editor:Paketti: ∿ Effect Column Uxx Slide Pitch Up (-1): +3278:Pattern Editor:Paketti: ∿ Effect Column Uxx Slide Pitch Up (+10): +3279:Pattern Editor:Paketti: ∿ Effect Column Uxx Slide Pitch Up (-10): +3280:Pattern Editor:Paketti: ∿ Effect Column Dxx Slide Pitch Down (+1): +3281:Pattern Editor:Paketti: ∿ Effect Column Dxx Slide Pitch Down (-1): +3282:Pattern Editor:Paketti: ∿ Effect Column Dxx Slide Pitch Down (+10): +3283:Pattern Editor:Paketti: ∿ Effect Column Dxx Slide Pitch Down (-10): +3284:Pattern Editor:Paketti: ∿ Effect Column Uxx Slide Pitch Up (+1) (2nd): +3285:Pattern Editor:Paketti: ∿ Effect Column Uxx Slide Pitch Up (-1) (2nd): +3286:Pattern Editor:Paketti: ∿ Effect Column Uxx Slide Pitch Up (+10) (2nd): +3287:Pattern Editor:Paketti: ∿ Effect Column Uxx Slide Pitch Up (-10) (2nd): +3288:Pattern Editor:Paketti: ∿ Effect Column Dxx Slide Pitch Down (+1) (2nd): +3289:Pattern Editor:Paketti: ∿ Effect Column Dxx Slide Pitch Down (-1) (2nd): +3290:Pattern Editor:Paketti: ∿ Effect Column Dxx Slide Pitch Down (+10) (2nd): +3291:Pattern Editor:Paketti: ∿ Effect Column Dxx Slide Pitch Down (-10) (2nd): +3292:Pattern Editor:Paketti: ∿ Effect Column Uxx Slide Pitch Up (+1) (3rd): +3293:Pattern Editor:Paketti: ∿ Effect Column Uxx Slide Pitch Up (-1) (3rd): +3294:Pattern Editor:Paketti: ∿ Effect Column Uxx Slide Pitch Up (+10) (3rd): +3295:Pattern Editor:Paketti: ∿ Effect Column Uxx Slide Pitch Up (-10) (3rd): +3296:Pattern Editor:Paketti: ∿ Effect Column Dxx Slide Pitch Down (+1) (3rd): +3297:Pattern Editor:Paketti: ∿ Effect Column Dxx Slide Pitch Down (-1) (3rd): +3298:Pattern Editor:Paketti: ∿ Effect Column Dxx Slide Pitch Down (+10) (3rd): +3299:Pattern Editor:Paketti: ∿ Effect Column Dxx Slide Pitch Down (-10) (3rd): +3300:Pattern Editor:Paketti: ∿ Switch Effect Column/Note Column: +3301:Pattern Editor:Paketti: ∿ Clear Current Row: +3302:Pattern Editor:Paketti: ∿ Clear Current Row 2nd: +3303:Pattern Editor:Paketti: ∿ Effect Column ZBxx Jump To Row (Next): +3304:Pattern Editor:Paketti: ∿ Effect Column B01 Reverse Sample Effect On/Off: +3305:Pattern Editor:Paketti: ∿ Effect Column B00 Reverse Sample Effect On/Off: +3306:Pattern Editor:Paketti: ∿ Effect Column B00 Reverse Sample Effect On/Off (2nd): +3307:Pattern Editor:Paketti: ∿ Display Effect Column 1: +3308:Pattern Editor:Paketti: ∿ Display Effect Column 2: +3309:Pattern Editor:Paketti: ∿ Display Effect Column 3: +3310:Pattern Editor:Paketti: ∿ Display Effect Column 4: +3311:Pattern Editor:Paketti: ∿ Display Effect Column 5: +3312:Pattern Editor:Paketti: ∿ Display Effect Column 6: +3313:Pattern Editor:Paketti: ∿ Display Effect Column 7: +3314:Pattern Editor:Paketti: ∿ Display Effect Column 8: +3315:Pattern Editor:Paketti: ∿ Display Note Column 01: +3316:Pattern Editor:Paketti: ∿ Display Note Column 02: +3317:Pattern Editor:Paketti: ∿ Display Note Column 03: +3318:Pattern Editor:Paketti: ∿ Display Note Column 04: +3319:Pattern Editor:Paketti: ∿ Display Note Column 05: +3320:Pattern Editor:Paketti: ∿ Display Note Column 06: +3321:Pattern Editor:Paketti: ∿ Display Note Column 07: +3322:Pattern Editor:Paketti: ∿ Display Note Column 08: +3323:Pattern Editor:Paketti: ∿ Display Note Column 09: +3324:Pattern Editor:Paketti: ∿ Display Note Column 10: +3325:Pattern Editor:Paketti: ∿ Display Note Column 11: +3326:Pattern Editor:Paketti: ∿ Display Note Column 12: +3327:Pattern Editor:Paketti: ∿ Reset Panning in Current Column & Row: +3328:Pattern Editor:Paketti: ∿ Effect Column L00/LC0 Volume Effect Switch: +3329:Pattern Editor:Paketti: ∿ Effect Column 0R(LPB) Retrig On/Off: +3330:Pattern Editor:Paketti: ∿ Select Effect Column (Previous): +3331:Pattern Editor:Paketti: ∿ Select Effect Column (Next): +3332:Pattern Editor:Paketti: ∿ Columnizer Increase Delay (+1): +3333:Pattern Editor:Paketti: ∿ Columnizer Increase Delay (+10): +3334:Pattern Editor:Paketti: ∿ Columnizer Decrease Delay (-1): +3335:Pattern Editor:Paketti: ∿ Columnizer Decrease Delay (-10): +3336:Pattern Editor:Paketti: ∿ Columnizer Increase Delay (+1) (2nd): +3337:Pattern Editor:Paketti: ∿ Columnizer Increase Delay (+10) (2nd): +3338:Pattern Editor:Paketti: ∿ Columnizer Decrease Delay (-1) (2nd): +3339:Pattern Editor:Paketti: ∿ Columnizer Decrease Delay (-10) (2nd): +3340:Pattern Editor:Paketti: ∿ Columnizer Increase Panning (+1): +3341:Pattern Editor:Paketti: ∿ Columnizer Increase Panning (+10): +3342:Pattern Editor:Paketti: ∿ Columnizer Decrease Panning (-1): +3343:Pattern Editor:Paketti: ∿ Columnizer Decrease Panning (-10): +3344:Pattern Editor:Paketti: ∿ Columnizer Increase Panning (+1) (2nd): +3345:Pattern Editor:Paketti: ∿ Columnizer Increase Panning (+10) (2nd): +3346:Pattern Editor:Paketti: ∿ Columnizer Decrease Panning (-1) (2nd): +3347:Pattern Editor:Paketti: ∿ Columnizer Decrease Panning (-10) (2nd): +3348:Pattern Editor:Paketti: ∿ Columnizer Increase Volume (+1): +3349:Pattern Editor:Paketti: ∿ Columnizer Increase Volume (+10): +3350:Pattern Editor:Paketti: ∿ Columnizer Decrease Volume (-1): +3351:Pattern Editor:Paketti: ∿ Columnizer Decrease Volume (-10): +3352:Pattern Editor:Paketti: ∿ Columnizer Increase Effect Number (+1): +3353:Pattern Editor:Paketti: ∿ Columnizer Increase Effect Number (+10): +3354:Pattern Editor:Paketti: ∿ Columnizer Decrease Effect Number (-1): +3355:Pattern Editor:Paketti: ∿ Columnizer Decrease Effect Number (-10): +3356:Pattern Editor:Paketti: ∿ Columnizer Increase Effect Amount (+1): +3357:Pattern Editor:Paketti: ∿ Columnizer Increase Effect Amount (+10): +3358:Pattern Editor:Paketti: ∿ Columnizer Decrease Effect Amount (-1): +3359:Pattern Editor:Paketti: ∿ Columnizer Decrease Effect Amount (-10): +3360:Pattern Editor:Paketti: ∿ Interpolate Column Values (Effect): +3361:Pattern Editor:Paketti: ∿ Flood Fill Note and Instrument: Shift + Option + Grave +3362:Pattern Editor:Paketti: ∿ Flood Fill Note and Instrument with EditStep: Option + E +3363:Pattern Editor:Paketti: ∿ Flood Fill Note and Instrument every 1 step: +3364:Pattern Editor:Paketti: ∿ Flood Fill Note and Instrument every 2 step: +3365:Pattern Editor:Paketti: ∿ Flood Fill Note and Instrument every 3 step: +3366:Pattern Editor:Paketti: ∿ Flood Fill Note and Instrument every 4 step: +3367:Pattern Editor:Paketti: ∿ Flood Fill Note and Instrument every 5 step: Shift + Option + 5 +3368:Pattern Editor:Paketti: ∿ Flood Fill Note and Instrument every 6 step: Shift + Option + 6 +3369:Pattern Editor:Paketti: ∿ Flood Fill Note and Instrument every 7 step: Shift + Option + 7 +3370:Pattern Editor:Paketti: ∿ Flood Fill Note and Instrument every 8 step: +3371:Pattern Editor:Paketti: ∿ Flood Fill Note and Instrument every 9 step: Shift + Option + 9 +3372:Pattern Editor:Paketti: ∿ Flood Fill Note and Instrument every 10 step: +3373:Pattern Editor:Paketti: ∿ Flood Fill Note and Instrument every 11 step: +3374:Pattern Editor:Paketti: ∿ Flood Fill Note and Instrument every 12 step: +3375:Pattern Editor:Paketti: ∿ Flood Fill Note and Instrument every 13 step: +3376:Pattern Editor:Paketti: ∿ Flood Fill Note and Instrument every 14 step: +3377:Pattern Editor:Paketti: ∿ Flood Fill Note and Instrument every 15 step: +3378:Pattern Editor:Paketti: ∿ Flood Fill Note and Instrument every 16 step: +3379:Pattern Editor:Paketti: ∿ Flood Fill Note and Instrument every 17 step: +3380:Pattern Editor:Paketti: ∿ Flood Fill Note and Instrument every 18 step: +3381:Pattern Editor:Paketti: ∿ Flood Fill Note and Instrument every 19 step: +3382:Pattern Editor:Paketti: ∿ Flood Fill Note and Instrument every 20 step: +3383:Pattern Editor:Paketti: ∿ Flood Fill Note and Instrument every 21 step: +3384:Pattern Editor:Paketti: ∿ Flood Fill Note and Instrument every 22 step: +3385:Pattern Editor:Paketti: ∿ Flood Fill Note and Instrument every 23 step: +3386:Pattern Editor:Paketti: ∿ Flood Fill Note and Instrument every 24 step: +3387:Pattern Editor:Paketti: ∿ Flood Fill Note and Instrument every 25 step: +3388:Pattern Editor:Paketti: ∿ Flood Fill Note and Instrument every 26 step: +3389:Pattern Editor:Paketti: ∿ Flood Fill Note and Instrument every 27 step: +3390:Pattern Editor:Paketti: ∿ Flood Fill Note and Instrument every 28 step: +3391:Pattern Editor:Paketti: ∿ Flood Fill Note and Instrument every 29 step: +3392:Pattern Editor:Paketti: ∿ Flood Fill Note and Instrument every 30 step: +3393:Pattern Editor:Paketti: ∿ Flood Fill Note and Instrument every 31 step: +3394:Pattern Editor:Paketti: ∿ Flood Fill Note and Instrument every 32 step: +3395:Pattern Editor:Paketti: ∿ Flood Fill Note and Instrument every 33 step: +3396:Pattern Editor:Paketti: ∿ Flood Fill Note and Instrument every 34 step: +3397:Pattern Editor:Paketti: ∿ Flood Fill Note and Instrument every 35 step: +3398:Pattern Editor:Paketti: ∿ Flood Fill Note and Instrument every 36 step: +3399:Pattern Editor:Paketti: ∿ Flood Fill Note and Instrument every 37 step: +3400:Pattern Editor:Paketti: ∿ Flood Fill Note and Instrument every 38 step: +3401:Pattern Editor:Paketti: ∿ Flood Fill Note and Instrument every 39 step: +3402:Pattern Editor:Paketti: ∿ Flood Fill Note and Instrument every 40 step: +3403:Pattern Editor:Paketti: ∿ Flood Fill Note and Instrument every 41 step: +3404:Pattern Editor:Paketti: ∿ Flood Fill Note and Instrument every 42 step: +3405:Pattern Editor:Paketti: ∿ Flood Fill Note and Instrument every 43 step: +3406:Pattern Editor:Paketti: ∿ Flood Fill Note and Instrument every 44 step: +3407:Pattern Editor:Paketti: ∿ Flood Fill Note and Instrument every 45 step: +3408:Pattern Editor:Paketti: ∿ Flood Fill Note and Instrument every 46 step: +3409:Pattern Editor:Paketti: ∿ Flood Fill Note and Instrument every 47 step: +3410:Pattern Editor:Paketti: ∿ Flood Fill Note and Instrument every 48 step: +3411:Pattern Editor:Paketti: ∿ Flood Fill Note and Instrument every 49 step: +3412:Pattern Editor:Paketti: ∿ Flood Fill Note and Instrument every 50 step: +3413:Pattern Editor:Paketti: ∿ Flood Fill Note and Instrument every 51 step: +3414:Pattern Editor:Paketti: ∿ Flood Fill Note and Instrument every 52 step: +3415:Pattern Editor:Paketti: ∿ Flood Fill Note and Instrument every 53 step: +3416:Pattern Editor:Paketti: ∿ Flood Fill Note and Instrument every 54 step: +3417:Pattern Editor:Paketti: ∿ Flood Fill Note and Instrument every 55 step: +3418:Pattern Editor:Paketti: ∿ Flood Fill Note and Instrument every 56 step: +3419:Pattern Editor:Paketti: ∿ Flood Fill Note and Instrument every 57 step: +3420:Pattern Editor:Paketti: ∿ Flood Fill Note and Instrument every 58 step: +3421:Pattern Editor:Paketti: ∿ Flood Fill Note and Instrument every 59 step: +3422:Pattern Editor:Paketti: ∿ Flood Fill Note and Instrument every 60 step: +3423:Pattern Editor:Paketti: ∿ Flood Fill Note and Instrument every 61 step: +3424:Pattern Editor:Paketti: ∿ Flood Fill Note and Instrument every 62 step: +3425:Pattern Editor:Paketti: ∿ Flood Fill Note and Instrument every 63 step: +3426:Pattern Editor:Paketti: ∿ Flood Fill Note and Instrument every 64 step: +3427:Pattern Editor:Paketti: ∿ Paketti Track Renamer Dialog...: +3428:Pattern Editor:Paketti: ∿ Select Last Track: +3429:Pattern Editor:Paketti: ∿ Toggle Note Off in All Visible Note Columns: Shift + Capital +3430:Pattern Editor:Paketti: ∿ Toggle Note Off on All Tracks on Current Row: Control + Capital +3431:Pattern Editor:Paketti: ∿ Randomize Phrasing for Notes in Current Row: Option + N +3432:Pattern Editor:Paketti: ∿ Replicate Selected Track Above Current Row (-12): +3433:Pattern Editor:Paketti: ∿ Replicate Selected Track Above Current Row (-1): +3434:Pattern Editor:Paketti: ∿ Replicate Selected Track Above Current Row : Control + Down +3435:Pattern Editor:Paketti: ∿ Replicate Selected Track Above Current Row (+1): +3436:Pattern Editor:Paketti: ∿ Replicate Selected Track Above Current Row (+12): +3437:Pattern Editor:Paketti: ∿ Replicate Selected Track Above + Current (-12): +3438:Pattern Editor:Paketti: ∿ Replicate Selected Track Above + Current (-1): +3439:Pattern Editor:Paketti: ∿ Replicate Selected Track Above + Current : +3440:Pattern Editor:Paketti: ∿ Replicate Selected Track Above + Current (+1): +3441:Pattern Editor:Paketti: ∿ Replicate Selected Track Above + Current (+12): +3442:Pattern Editor:Paketti: ∿ Replicate All Above Current Row (-12): +3443:Pattern Editor:Paketti: ∿ Replicate All Above Current Row (-1): +3444:Pattern Editor:Paketti: ∿ Replicate All Above Current Row : +3445:Pattern Editor:Paketti: ∿ Replicate All Above Current Row (+1): +3446:Pattern Editor:Paketti: ∿ Replicate All Above Current Row (+12): +3447:Pattern Editor:Paketti: ∿ Replicate All Above + Current (-12): +3448:Pattern Editor:Paketti: ∿ Replicate All Above + Current (-1): +3449:Pattern Editor:Paketti: ∿ Replicate All Above + Current : Shift + Control + Down +3450:Pattern Editor:Paketti: ∿ Replicate All Above + Current (+1): +3451:Pattern Editor:Paketti: ∿ Replicate All Above + Current (+12): +3452:Pattern Editor:Paketti: ∿ Delay Column Increase Selection/Row (+1): Control + Right +3453:Pattern Editor:Paketti: ∿ Delay Column Decrease Selection/Row (-1): Control + Left +3454:Pattern Editor:Paketti: ∿ Delay Column Increase Selection/Row (+10): Shift + Control + Right +3455:Pattern Editor:Paketti: ∿ Delay Column Decrease Selection/Row (-10): Shift + Control + Left +3456:Pattern Editor:Paketti: ∿ Expose and Select Next Column: +3457:Pattern Editor:Paketti: ∿ Hide Current and Select Previous Column: +3458:Pattern Editor:Paketti: ∿ Set Pattern Length to LPB*001: +3459:Pattern Editor:Paketti: ∿ Set Pattern Length to LPB*002: +3460:Pattern Editor:Paketti: ∿ Set Pattern Length to LPB*004: +3461:Pattern Editor:Paketti: ∿ Set Pattern Length to LPB*008: +3462:Pattern Editor:Paketti: ∿ Set Pattern Length to LPB*016: +3463:Pattern Editor:Paketti: ∿ Set Pattern Length to LPB*032: +3464:Pattern Editor:Paketti: ∿ Set Pattern Length to LPB*064: +3465:Pattern Editor:Paketti: ∿ Set Pattern Length to LPB*128: +3466:Pattern Editor:Paketti: ∿ Set Pattern Length to LPB*256: +3467:Pattern Editor:Paketti: ∿ Set Pattern Length to LPB*512: +3468:Pattern Editor:Paketti: ∿ Clear Selected Track Below Current Row: +3469:Pattern Editor:Paketti: ∿ Clear All Tracks Below Current Row: +3470:Pattern Editor:Paketti: ∿ Match Current Sub Column Selection: Shift + Command + E +3471:Pattern Editor:Paketti: ∿ Match Volume Column to Current Row: +3472:Pattern Editor:Paketti: ∿ Match Panning Column to Current Row: +3473:Pattern Editor:Paketti: ∿ Match Delay Column to Current Row: +3474:Pattern Editor:Paketti: ∿ Nudge Down: +3475:Pattern Editor:Paketti: ∿ Nudge Up: +3476:Pattern Editor:Paketti: ∿ Nudge with Delay (Down): +3477:Pattern Editor:Paketti: ∿ Nudge with Delay (Up): +3478:Pattern Editor:Paketti: ∿ Toggle Note Off in Selected Tracks: Option + Capital +3479:Pattern Editor:Paketti: ∿ Duplicate Selection with Padding&Move Cursor 1: Shift + Option + D +3480:Pattern Editor:Paketti: ∿ Duplicate Selection with Padding&Move Cursor 2: Option + D +3481:Pattern Editor:Paketti: ∿ Nudge and Paste Selection: Shift + Command + Down +3482:Pattern Editor:Paketti: ∿ Nudge and Paste Selection + Deselect: +3483:Pattern Editor:Paketti: ∿ Create New Pattern with Selection: +3484:Pattern Editor:Paketti..: ∿ Random Selected Notes Octave Up 25% Probability: +3485:Pattern Editor:Paketti..: ∿ Random Selected Notes Octave Up 50% Probability: +3486:Pattern Editor:Paketti..: ∿ Random Selected Notes Octave Up 75% Probability: +3487:Pattern Editor:Paketti: ∿ Selection in Pattern to Group: +3488:Pattern Editor:Paketti: ∿ Set Time Signature 3/4 and 48 rows @ LPB 4: +3489:Pattern Editor:Paketti: ∿ Set Time Signature 7/8 and 56 rows @ LPB 8: +3490:Pattern Editor:Paketti: ∿ Set Time Signature 6/8 and 48 rows @ LPB 8: +3491:Pattern Editor:Paketti: ∿ Adjust Selection Delay Column (+1): +3492:Pattern Editor:Paketti: ∿ Adjust Selection Delay Column (-1): +3493:Pattern Editor:Paketti: ∿ Adjust Selection Delay Column (+10): +3494:Pattern Editor:Paketti: ∿ Adjust Selection Delay Column (-10): +3495:Pattern Editor:Paketti: ∿ Adjust Selection Panning Column (+1): +3496:Pattern Editor:Paketti: ∿ Adjust Selection Panning Column (-1): +3497:Pattern Editor:Paketti: ∿ Adjust Selection Panning Column (+10): +3498:Pattern Editor:Paketti: ∿ Adjust Selection Panning Column (-10): +3499:Pattern Editor:Paketti: ∿ Adjust Selection Volume Column (+1): +3500:Pattern Editor:Paketti: ∿ Adjust Selection Volume Column (-1): +3501:Pattern Editor:Paketti: ∿ Adjust Selection Volume Column (+10): +3502:Pattern Editor:Paketti: ∿ Adjust Selection Volume Column (-10): +3503:Pattern Editor:Paketti: ∿ Wipe Selection Delay Column: +3504:Pattern Editor:Paketti: ∿ Wipe Selection Panning Column: +3505:Pattern Editor:Paketti: ∿ Wipe Selection Volume Column: +3506:Pattern Editor:Paketti: ∿ Interpolate Notes: +3507:Pattern Editor:Paketti: ∿ Jump to First Track In Next Group: +3508:Pattern Editor:Paketti: ∿ Jump to First Track In Previous Group: +3509:Pattern Editor:Paketti: ∿ Global Visible Column (All): +3510:Pattern Editor:Paketti: ∿ Global Visible Column (None): +3511:Pattern Editor:Paketti: ∿ Global Toggle Visible Column (Volume): +3512:Pattern Editor:Paketti: ∿ Global Toggle Visible Column (Panning): +3513:Pattern Editor:Paketti: ∿ Global Toggle Visible Column (Delay): +3514:Pattern Editor:Paketti: ∿ Global Toggle Visible Column (Sample Effects): +3515:Pattern Editor:Paketti: ∿ Global Set Visible Column (Volume): +3516:Pattern Editor:Paketti: ∿ Global Set Visible Column (Panning): +3517:Pattern Editor:Paketti: ∿ Global Set Visible Column (Delay): +3518:Pattern Editor:Paketti: ∿ Global Set Visible Column (Sample Effects): +3519:Pattern Editor:Paketti: ∿ Reverse Notes in Selection: Control + R +3520:Pattern Editor:Paketti: ∿ Flood Fill with Selection: Control + F +3521:Pattern Editor:Paketti: ∿ Rotate Track Content to SelectionStart First: +3522:Pattern Editor:Paketti: ∿ Interpolate Column Values (Volume): +3523:Pattern Editor:Paketti: ∿ Interpolate Column Values (Delay): +3524:Pattern Editor:Paketti: ∿ Interpolate Column Values (Panning): +3525:Pattern Editor:Paketti: ∿ Interpolate Column Values (Sample FX): +3526:Pattern Editor:Paketti: ∿ Invert Note Column Subcolumns: Shift + Control + V +3527:Pattern Editor:Paketti: ∿ Invert Effect Column Subcolumns: Shift + Option + V +3528:Pattern Editor:Paketti: ∿ Invert All Subcolumns: Shift + Option + Control + V +3529:Sample Editor:Paketti: ∿ Phrase Editor Visible: +3530:Sample Editor:Paketti: ∿ Phase Inversion: +3531:Sample Editor:Paketti: ∿ Phase Inversion & Audio Diff: +3532:Sample Editor:Paketti: ∿ Pitch Shift: +3533:Sample Editor:Paketti: ∿ Pitch Shift & Audio Diff: +3534:Sample Editor:Paketti: ∿ Clip bottom of waveform: +3535:Sample Editor:Paketti: ∿ Modulate & Audio Diff: +3536:Sample Editor:Paketti: ∿ Invert Right, Sum Mono: +3537:Sample Editor:Paketti: ∿ Audio Diff: +3538:Sample Editor:Paketti: ∿ 15 Frame Fade In & Fade Out: +3539:Sample Editor:Paketti: ∿ Normalize Selected Sample to -12dB: +3540:Sample Editor:Paketti: ∿ Normalize Selected Instrument to -12dB: +3541:Sample Editor:Paketti: ∿ Normalize All Instruments to -12dB: +3542:Sample Editor:Paketti: ∿ Create New Instrument & Loop from Selection: +3543:Sample Editor:Paketti: ∿ Set Loop Mode to 1 Off: +3544:Sample Editor:Paketti: ∿ Set Loop Mode to 2 Forward: +3545:Sample Editor:Paketti: ∿ Set Loop Mode to 3 Reverse: +3546:Sample Editor:Paketti: ∿ Set Loop Mode to 4 PingPong: +3547:Sample Editor:Paketti: ∿ Select Padded Slice (Next): Option + E +3548:Sample Editor:Paketti: ∿ Select Padded Slice (Previous): Option + W +3549:Sample Editor:Paketti: ∿ Select Padded Slice from Current Slice: +3550:Sample Editor:Paketti: ∿ Select First Half of Sample Buffer: Option + Left +3551:Sample Editor:Paketti: ∿ Select Second Half of Sample Buffer: Option + Right +3552:Sample Editor:Paketti: ∿ Invert Left Channel of Selected Sample: +3553:Sample Editor:Paketti: ∿ Invert Right Channel of Selected Sample: +3554:Sample Editor:Paketti: ∿ Invert Sample: +3555:Sample Editor:Paketti: ∿ Rotate Sample Buffer Right 10: +3556:Sample Editor:Paketti: ∿ Rotate Sample Buffer Left 10: +3557:Sample Editor:Paketti: ∿ Rotate Sample Buffer Right 100: +3558:Sample Editor:Paketti: ∿ Rotate Sample Buffer Left 100: +3559:Sample Editor:Paketti: ∿ Rotate Sample Buffer Right 1000: Command + Control + Left +3560:Sample Editor:Paketti: ∿ Rotate Sample Buffer Left 1000: Command + Control + Right +3561:Sample Editor:Paketti: ∿ Rotate Sample Buffer Right 10000: +3562:Sample Editor:Paketti: ∿ Rotate Sample Buffer Left 10000: +3563:Sample Editor:Paketti: ∿ Flip Sample by 1/4: +3564:Sample Editor:Paketti: ∿ Flip Sample by 1/2: +3565:Sample Editor:Paketti: ∿ Flip Sample by 1/8: +3566:Sample Editor:Paketti: ∿ Flip Sample by 1/16: +3567:Sample Editor:Paketti: ∿ Select Loop Range: Shift + Option + L +3568:Sample Editor:Paketti: ∿ Rotate Sample Buffer Upwards: +3569:Sample Editor:Paketti: ∿ Rotate Sample Buffer Downwards: +3570:Sample Editor:Paketti: ∿ Nudge Slice 01 by (-10): +3571:Sample Editor:Paketti: ∿ Nudge Slice 01 by (-32): +3572:Sample Editor:Paketti: ∿ Nudge Slice 01 by (-1): +3573:Sample Editor:Paketti: ∿ Nudge Slice 01 by (+32): +3574:Sample Editor:Paketti: ∿ Nudge Slice 01 by (+1): +3575:Sample Editor:Paketti: ∿ Nudge Slice 01 by (+16): +3576:Sample Editor:Paketti: ∿ Nudge Slice 01 by (-16): +3577:Sample Editor:Paketti: ∿ Nudge Slice 01 by (+10): +3578:Sample Editor:Paketti: ∿ Nudge Slice 02 by (-10): +3579:Sample Editor:Paketti: ∿ Nudge Slice 02 by (-32): +3580:Sample Editor:Paketti: ∿ Nudge Slice 02 by (-1): +3581:Sample Editor:Paketti: ∿ Nudge Slice 02 by (+32): +3582:Sample Editor:Paketti: ∿ Nudge Slice 02 by (+1): +3583:Sample Editor:Paketti: ∿ Nudge Slice 02 by (+16): +3584:Sample Editor:Paketti: ∿ Nudge Slice 02 by (-16): +3585:Sample Editor:Paketti: ∿ Nudge Slice 02 by (+10): +3586:Sample Editor:Paketti: ∿ Nudge Slice 03 by (-10): +3587:Sample Editor:Paketti: ∿ Nudge Slice 03 by (-32): +3588:Sample Editor:Paketti: ∿ Nudge Slice 03 by (-1): +3589:Sample Editor:Paketti: ∿ Nudge Slice 03 by (+32): +3590:Sample Editor:Paketti: ∿ Nudge Slice 03 by (+1): +3591:Sample Editor:Paketti: ∿ Nudge Slice 03 by (+16): +3592:Sample Editor:Paketti: ∿ Nudge Slice 03 by (-16): +3593:Sample Editor:Paketti: ∿ Nudge Slice 03 by (+10): +3594:Sample Editor:Paketti: ∿ Nudge Slice 04 by (-10): +3595:Sample Editor:Paketti: ∿ Nudge Slice 04 by (-32): +3596:Sample Editor:Paketti: ∿ Nudge Slice 04 by (-1): +3597:Sample Editor:Paketti: ∿ Nudge Slice 04 by (+32): +3598:Sample Editor:Paketti: ∿ Nudge Slice 04 by (+1): +3599:Sample Editor:Paketti: ∿ Nudge Slice 04 by (+16): +3600:Sample Editor:Paketti: ∿ Nudge Slice 04 by (-16): +3601:Sample Editor:Paketti: ∿ Nudge Slice 04 by (+10): +3602:Sample Editor:Paketti: ∿ Nudge Slice 05 by (-10): +3603:Sample Editor:Paketti: ∿ Nudge Slice 05 by (-32): +3604:Sample Editor:Paketti: ∿ Nudge Slice 05 by (-1): +3605:Sample Editor:Paketti: ∿ Nudge Slice 05 by (+32): +3606:Sample Editor:Paketti: ∿ Nudge Slice 05 by (+1): +3607:Sample Editor:Paketti: ∿ Nudge Slice 05 by (+16): +3608:Sample Editor:Paketti: ∿ Nudge Slice 05 by (-16): +3609:Sample Editor:Paketti: ∿ Nudge Slice 05 by (+10): +3610:Sample Editor:Paketti: ∿ Nudge Slice 06 by (-10): +3611:Sample Editor:Paketti: ∿ Nudge Slice 06 by (-32): +3612:Sample Editor:Paketti: ∿ Nudge Slice 06 by (-1): +3613:Sample Editor:Paketti: ∿ Nudge Slice 06 by (+32): +3614:Sample Editor:Paketti: ∿ Nudge Slice 06 by (+1): +3615:Sample Editor:Paketti: ∿ Nudge Slice 06 by (+16): +3616:Sample Editor:Paketti: ∿ Nudge Slice 06 by (-16): +3617:Sample Editor:Paketti: ∿ Nudge Slice 06 by (+10): +3618:Sample Editor:Paketti: ∿ Nudge Slice 07 by (-10): +3619:Sample Editor:Paketti: ∿ Nudge Slice 07 by (-32): +3620:Sample Editor:Paketti: ∿ Nudge Slice 07 by (-1): +3621:Sample Editor:Paketti: ∿ Nudge Slice 07 by (+32): +3622:Sample Editor:Paketti: ∿ Nudge Slice 07 by (+1): +3623:Sample Editor:Paketti: ∿ Nudge Slice 07 by (+16): +3624:Sample Editor:Paketti: ∿ Nudge Slice 07 by (-16): +3625:Sample Editor:Paketti: ∿ Nudge Slice 07 by (+10): +3626:Sample Editor:Paketti: ∿ Nudge Slice 08 by (-10): +3627:Sample Editor:Paketti: ∿ Nudge Slice 08 by (-32): +3628:Sample Editor:Paketti: ∿ Nudge Slice 08 by (-1): +3629:Sample Editor:Paketti: ∿ Nudge Slice 08 by (+32): +3630:Sample Editor:Paketti: ∿ Nudge Slice 08 by (+1): +3631:Sample Editor:Paketti: ∿ Nudge Slice 08 by (+16): +3632:Sample Editor:Paketti: ∿ Nudge Slice 08 by (-16): +3633:Sample Editor:Paketti: ∿ Nudge Slice 08 by (+10): +3634:Sample Editor:Paketti: ∿ Nudge Slice 09 by (-10): +3635:Sample Editor:Paketti: ∿ Nudge Slice 09 by (-32): +3636:Sample Editor:Paketti: ∿ Nudge Slice 09 by (-1): +3637:Sample Editor:Paketti: ∿ Nudge Slice 09 by (+32): +3638:Sample Editor:Paketti: ∿ Nudge Slice 09 by (+1): +3639:Sample Editor:Paketti: ∿ Nudge Slice 09 by (+16): +3640:Sample Editor:Paketti: ∿ Nudge Slice 09 by (-16): +3641:Sample Editor:Paketti: ∿ Nudge Slice 09 by (+10): +3642:Sample Editor:Paketti: ∿ Nudge Slice 10 by (-10): +3643:Sample Editor:Paketti: ∿ Nudge Slice 10 by (-32): +3644:Sample Editor:Paketti: ∿ Nudge Slice 10 by (-1): +3645:Sample Editor:Paketti: ∿ Nudge Slice 10 by (+32): +3646:Sample Editor:Paketti: ∿ Nudge Slice 10 by (+1): +3647:Sample Editor:Paketti: ∿ Nudge Slice 10 by (+16): +3648:Sample Editor:Paketti: ∿ Nudge Slice 10 by (-16): +3649:Sample Editor:Paketti: ∿ Nudge Slice 10 by (+10): +3650:Sample Editor:Paketti: ∿ Nudge Slice 11 by (-10): +3651:Sample Editor:Paketti: ∿ Nudge Slice 11 by (-32): +3652:Sample Editor:Paketti: ∿ Nudge Slice 11 by (-1): +3653:Sample Editor:Paketti: ∿ Nudge Slice 11 by (+32): +3654:Sample Editor:Paketti: ∿ Nudge Slice 11 by (+1): +3655:Sample Editor:Paketti: ∿ Nudge Slice 11 by (+16): +3656:Sample Editor:Paketti: ∿ Nudge Slice 11 by (-16): +3657:Sample Editor:Paketti: ∿ Nudge Slice 11 by (+10): +3658:Sample Editor:Paketti: ∿ Nudge Slice 12 by (-10): +3659:Sample Editor:Paketti: ∿ Nudge Slice 12 by (-32): +3660:Sample Editor:Paketti: ∿ Nudge Slice 12 by (-1): +3661:Sample Editor:Paketti: ∿ Nudge Slice 12 by (+32): +3662:Sample Editor:Paketti: ∿ Nudge Slice 12 by (+1): +3663:Sample Editor:Paketti: ∿ Nudge Slice 12 by (+16): +3664:Sample Editor:Paketti: ∿ Nudge Slice 12 by (-16): +3665:Sample Editor:Paketti: ∿ Nudge Slice 12 by (+10): +3666:Sample Editor:Paketti: ∿ Nudge Slice 13 by (-10): +3667:Sample Editor:Paketti: ∿ Nudge Slice 13 by (-32): +3668:Sample Editor:Paketti: ∿ Nudge Slice 13 by (-1): +3669:Sample Editor:Paketti: ∿ Nudge Slice 13 by (+32): +3670:Sample Editor:Paketti: ∿ Nudge Slice 13 by (+1): +3671:Sample Editor:Paketti: ∿ Nudge Slice 13 by (+16): +3672:Sample Editor:Paketti: ∿ Nudge Slice 13 by (-16): +3673:Sample Editor:Paketti: ∿ Nudge Slice 13 by (+10): +3674:Sample Editor:Paketti: ∿ Nudge Slice 14 by (-10): +3675:Sample Editor:Paketti: ∿ Nudge Slice 14 by (-32): +3676:Sample Editor:Paketti: ∿ Nudge Slice 14 by (-1): +3677:Sample Editor:Paketti: ∿ Nudge Slice 14 by (+32): +3678:Sample Editor:Paketti: ∿ Nudge Slice 14 by (+1): +3679:Sample Editor:Paketti: ∿ Nudge Slice 14 by (+16): +3680:Sample Editor:Paketti: ∿ Nudge Slice 14 by (-16): +3681:Sample Editor:Paketti: ∿ Nudge Slice 14 by (+10): +3682:Sample Editor:Paketti: ∿ Nudge Slice 15 by (-10): +3683:Sample Editor:Paketti: ∿ Nudge Slice 15 by (-32): +3684:Sample Editor:Paketti: ∿ Nudge Slice 15 by (-1): +3685:Sample Editor:Paketti: ∿ Nudge Slice 15 by (+32): +3686:Sample Editor:Paketti: ∿ Nudge Slice 15 by (+1): +3687:Sample Editor:Paketti: ∿ Nudge Slice 15 by (+16): +3688:Sample Editor:Paketti: ∿ Nudge Slice 15 by (-16): +3689:Sample Editor:Paketti: ∿ Nudge Slice 15 by (+10): +3690:Sample Editor:Paketti: ∿ Nudge Slice 16 by (-10): +3691:Sample Editor:Paketti: ∿ Nudge Slice 16 by (-32): +3692:Sample Editor:Paketti: ∿ Nudge Slice 16 by (-1): +3693:Sample Editor:Paketti: ∿ Nudge Slice 16 by (+32): +3694:Sample Editor:Paketti: ∿ Nudge Slice 16 by (+1): +3695:Sample Editor:Paketti: ∿ Nudge Slice 16 by (+16): +3696:Sample Editor:Paketti: ∿ Nudge Slice 16 by (-16): +3697:Sample Editor:Paketti: ∿ Nudge Slice 16 by (+10): +3698:Sample Editor:Paketti: ∿ Nudge Slice 17 by (-10): +3699:Sample Editor:Paketti: ∿ Nudge Slice 17 by (-32): +3700:Sample Editor:Paketti: ∿ Nudge Slice 17 by (-1): +3701:Sample Editor:Paketti: ∿ Nudge Slice 17 by (+32): +3702:Sample Editor:Paketti: ∿ Nudge Slice 17 by (+1): +3703:Sample Editor:Paketti: ∿ Nudge Slice 17 by (+16): +3704:Sample Editor:Paketti: ∿ Nudge Slice 17 by (-16): +3705:Sample Editor:Paketti: ∿ Nudge Slice 17 by (+10): +3706:Sample Editor:Paketti: ∿ Nudge Slice 18 by (-10): +3707:Sample Editor:Paketti: ∿ Nudge Slice 18 by (-32): +3708:Sample Editor:Paketti: ∿ Nudge Slice 18 by (-1): +3709:Sample Editor:Paketti: ∿ Nudge Slice 18 by (+32): +3710:Sample Editor:Paketti: ∿ Nudge Slice 18 by (+1): +3711:Sample Editor:Paketti: ∿ Nudge Slice 18 by (+16): +3712:Sample Editor:Paketti: ∿ Nudge Slice 18 by (-16): +3713:Sample Editor:Paketti: ∿ Nudge Slice 18 by (+10): +3714:Sample Editor:Paketti: ∿ Nudge Slice 19 by (-10): +3715:Sample Editor:Paketti: ∿ Nudge Slice 19 by (-32): +3716:Sample Editor:Paketti: ∿ Nudge Slice 19 by (-1): +3717:Sample Editor:Paketti: ∿ Nudge Slice 19 by (+32): +3718:Sample Editor:Paketti: ∿ Nudge Slice 19 by (+1): +3719:Sample Editor:Paketti: ∿ Nudge Slice 19 by (+16): +3720:Sample Editor:Paketti: ∿ Nudge Slice 19 by (-16): +3721:Sample Editor:Paketti: ∿ Nudge Slice 19 by (+10): +3722:Sample Editor:Paketti: ∿ Nudge Slice 20 by (-10): +3723:Sample Editor:Paketti: ∿ Nudge Slice 20 by (-32): +3724:Sample Editor:Paketti: ∿ Nudge Slice 20 by (-1): +3725:Sample Editor:Paketti: ∿ Nudge Slice 20 by (+32): +3726:Sample Editor:Paketti: ∿ Nudge Slice 20 by (+1): +3727:Sample Editor:Paketti: ∿ Nudge Slice 20 by (+16): +3728:Sample Editor:Paketti: ∿ Nudge Slice 20 by (-16): +3729:Sample Editor:Paketti: ∿ Nudge Slice 20 by (+10): +3730:Sample Editor:Paketti: ∿ Nudge Slice 21 by (-10): +3731:Sample Editor:Paketti: ∿ Nudge Slice 21 by (-32): +3732:Sample Editor:Paketti: ∿ Nudge Slice 21 by (-1): +3733:Sample Editor:Paketti: ∿ Nudge Slice 21 by (+32): +3734:Sample Editor:Paketti: ∿ Nudge Slice 21 by (+1): +3735:Sample Editor:Paketti: ∿ Nudge Slice 21 by (+16): +3736:Sample Editor:Paketti: ∿ Nudge Slice 21 by (-16): +3737:Sample Editor:Paketti: ∿ Nudge Slice 21 by (+10): +3738:Sample Editor:Paketti: ∿ Nudge Slice 22 by (-10): +3739:Sample Editor:Paketti: ∿ Nudge Slice 22 by (-32): +3740:Sample Editor:Paketti: ∿ Nudge Slice 22 by (-1): +3741:Sample Editor:Paketti: ∿ Nudge Slice 22 by (+32): +3742:Sample Editor:Paketti: ∿ Nudge Slice 22 by (+1): +3743:Sample Editor:Paketti: ∿ Nudge Slice 22 by (+16): +3744:Sample Editor:Paketti: ∿ Nudge Slice 22 by (-16): +3745:Sample Editor:Paketti: ∿ Nudge Slice 22 by (+10): +3746:Sample Editor:Paketti: ∿ Nudge Slice 23 by (-10): +3747:Sample Editor:Paketti: ∿ Nudge Slice 23 by (-32): +3748:Sample Editor:Paketti: ∿ Nudge Slice 23 by (-1): +3749:Sample Editor:Paketti: ∿ Nudge Slice 23 by (+32): +3750:Sample Editor:Paketti: ∿ Nudge Slice 23 by (+1): +3751:Sample Editor:Paketti: ∿ Nudge Slice 23 by (+16): +3752:Sample Editor:Paketti: ∿ Nudge Slice 23 by (-16): +3753:Sample Editor:Paketti: ∿ Nudge Slice 23 by (+10): +3754:Sample Editor:Paketti: ∿ Nudge Slice 24 by (-10): +3755:Sample Editor:Paketti: ∿ Nudge Slice 24 by (-32): +3756:Sample Editor:Paketti: ∿ Nudge Slice 24 by (-1): +3757:Sample Editor:Paketti: ∿ Nudge Slice 24 by (+32): +3758:Sample Editor:Paketti: ∿ Nudge Slice 24 by (+1): +3759:Sample Editor:Paketti: ∿ Nudge Slice 24 by (+16): +3760:Sample Editor:Paketti: ∿ Nudge Slice 24 by (-16): +3761:Sample Editor:Paketti: ∿ Nudge Slice 24 by (+10): +3762:Sample Editor:Paketti: ∿ Nudge Slice 25 by (-10): +3763:Sample Editor:Paketti: ∿ Nudge Slice 25 by (-32): +3764:Sample Editor:Paketti: ∿ Nudge Slice 25 by (-1): +3765:Sample Editor:Paketti: ∿ Nudge Slice 25 by (+32): +3766:Sample Editor:Paketti: ∿ Nudge Slice 25 by (+1): +3767:Sample Editor:Paketti: ∿ Nudge Slice 25 by (+16): +3768:Sample Editor:Paketti: ∿ Nudge Slice 25 by (-16): +3769:Sample Editor:Paketti: ∿ Nudge Slice 25 by (+10): +3770:Sample Editor:Paketti: ∿ Nudge Slice 26 by (-10): +3771:Sample Editor:Paketti: ∿ Nudge Slice 26 by (-32): +3772:Sample Editor:Paketti: ∿ Nudge Slice 26 by (-1): +3773:Sample Editor:Paketti: ∿ Nudge Slice 26 by (+32): +3774:Sample Editor:Paketti: ∿ Nudge Slice 26 by (+1): +3775:Sample Editor:Paketti: ∿ Nudge Slice 26 by (+16): +3776:Sample Editor:Paketti: ∿ Nudge Slice 26 by (-16): +3777:Sample Editor:Paketti: ∿ Nudge Slice 26 by (+10): +3778:Sample Editor:Paketti: ∿ Nudge Slice 27 by (-10): +3779:Sample Editor:Paketti: ∿ Nudge Slice 27 by (-32): +3780:Sample Editor:Paketti: ∿ Nudge Slice 27 by (-1): +3781:Sample Editor:Paketti: ∿ Nudge Slice 27 by (+32): +3782:Sample Editor:Paketti: ∿ Nudge Slice 27 by (+1): +3783:Sample Editor:Paketti: ∿ Nudge Slice 27 by (+16): +3784:Sample Editor:Paketti: ∿ Nudge Slice 27 by (-16): +3785:Sample Editor:Paketti: ∿ Nudge Slice 27 by (+10): +3786:Sample Editor:Paketti: ∿ Nudge Slice 28 by (-10): +3787:Sample Editor:Paketti: ∿ Nudge Slice 28 by (-32): +3788:Sample Editor:Paketti: ∿ Nudge Slice 28 by (-1): +3789:Sample Editor:Paketti: ∿ Nudge Slice 28 by (+32): +3790:Sample Editor:Paketti: ∿ Nudge Slice 28 by (+1): +3791:Sample Editor:Paketti: ∿ Nudge Slice 28 by (+16): +3792:Sample Editor:Paketti: ∿ Nudge Slice 28 by (-16): +3793:Sample Editor:Paketti: ∿ Nudge Slice 28 by (+10): +3794:Sample Editor:Paketti: ∿ Nudge Slice 29 by (-10): +3795:Sample Editor:Paketti: ∿ Nudge Slice 29 by (-32): +3796:Sample Editor:Paketti: ∿ Nudge Slice 29 by (-1): +3797:Sample Editor:Paketti: ∿ Nudge Slice 29 by (+32): +3798:Sample Editor:Paketti: ∿ Nudge Slice 29 by (+1): +3799:Sample Editor:Paketti: ∿ Nudge Slice 29 by (+16): +3800:Sample Editor:Paketti: ∿ Nudge Slice 29 by (-16): +3801:Sample Editor:Paketti: ∿ Nudge Slice 29 by (+10): +3802:Sample Editor:Paketti: ∿ Nudge Slice 30 by (-10): +3803:Sample Editor:Paketti: ∿ Nudge Slice 30 by (-32): +3804:Sample Editor:Paketti: ∿ Nudge Slice 30 by (-1): +3805:Sample Editor:Paketti: ∿ Nudge Slice 30 by (+32): +3806:Sample Editor:Paketti: ∿ Nudge Slice 30 by (+1): +3807:Sample Editor:Paketti: ∿ Nudge Slice 30 by (+16): +3808:Sample Editor:Paketti: ∿ Nudge Slice 30 by (-16): +3809:Sample Editor:Paketti: ∿ Nudge Slice 30 by (+10): +3810:Sample Editor:Paketti: ∿ Nudge Slice 31 by (-10): +3811:Sample Editor:Paketti: ∿ Nudge Slice 31 by (-32): +3812:Sample Editor:Paketti: ∿ Nudge Slice 31 by (-1): +3813:Sample Editor:Paketti: ∿ Nudge Slice 31 by (+32): +3814:Sample Editor:Paketti: ∿ Nudge Slice 31 by (+1): +3815:Sample Editor:Paketti: ∿ Nudge Slice 31 by (+16): +3816:Sample Editor:Paketti: ∿ Nudge Slice 31 by (-16): +3817:Sample Editor:Paketti: ∿ Nudge Slice 31 by (+10): +3818:Sample Editor:Paketti: ∿ Nudge Slice 32 by (-10): +3819:Sample Editor:Paketti: ∿ Nudge Slice 32 by (-32): +3820:Sample Editor:Paketti: ∿ Nudge Slice 32 by (-1): +3821:Sample Editor:Paketti: ∿ Nudge Slice 32 by (+32): +3822:Sample Editor:Paketti: ∿ Nudge Slice 32 by (+1): +3823:Sample Editor:Paketti: ∿ Nudge Slice 32 by (+16): +3824:Sample Editor:Paketti: ∿ Nudge Slice 32 by (-16): +3825:Sample Editor:Paketti: ∿ Nudge Slice 32 by (+10): +3826:Sample Editor:Paketti: ∿ Sample Buffer Selection Halve: +3827:Sample Editor:Paketti: ∿ Sample Buffer Selection Double: +3828:Sample Editor:Paketti: ∿ Convert Mono to Stereo: +3829:Sample Editor:Paketti: ∿ Mono to Left with Blank Right: +3830:Sample Editor:Paketti: ∿ Mono to Right with Blank Left: +3831:Sample Editor:Paketti: ∿ Move Slice Start Left by 10: Control + Left +3832:Sample Editor:Paketti: ∿ Move Slice Start Right by 10: Control + Right +3833:Sample Editor:Paketti: ∿ Move Slice End Left by 10: Command + Left +3834:Sample Editor:Paketti: ∿ Move Slice End Right by 10: Command + Right +3835:Sample Editor:Paketti: ∿ Move Slice Start Left by 100: Shift + Control + Left +3836:Sample Editor:Paketti: ∿ Move Slice Start Right by 100: Shift + Control + Right +3837:Sample Editor:Paketti: ∿ Move Slice End Left by 100: +3838:Sample Editor:Paketti: ∿ Move Slice End Right by 100: +3839:Sample Editor:Paketti: ∿ Move Slice Start Left by 300: +3840:Sample Editor:Paketti: ∿ Move Slice Start Right by 300: +3841:Sample Editor:Paketti: ∿ Move Slice End Left by 300: +3842:Sample Editor:Paketti: ∿ Move Slice End Right by 300: +3843:Sample Editor:Paketti: ∿ Move Slice Start Left by 500: +3844:Sample Editor:Paketti: ∿ Move Slice Start Right by 500: +3845:Sample Editor:Paketti: ∿ Move Slice End Left by 500: +3846:Sample Editor:Paketti: ∿ Move Slice End Right by 500: +3847:Sample Editor:Paketti: ∿ Duplicate Sample Range, Mute Original: +3848:Sample Editor:Paketti: ∿ Duplicate, Maximize, 16bit, and Save as WAV: +3849:Sample Editor:Paketti: ∿ Duplicate, Maximize, 16bit, and Save as FLAC: +3850:Sample Editor:Paketti: ∿ Offset Sample Buffer by -0.5: Shift + Command + E +3851:Sample Editor:Paketti: ∿ Multiply Sample Buffer by 0.5: Command + P +3852:Mixer:Paketti: ∿ Clean Render Selected Track/Group: Command + R +3853:Mixer:Paketti: ∿ Capture Nearest Instrument and Octave (nojump): +3854:Mixer:Paketti: ∿ Capture Nearest Instrument and Octave (jump): +3855:Mixer:Paketti: ∿ To Pattern Editor: +3856:Mixer:Paketti: ∿ Impulse Tracker Home *2 behaviour: Option + Up +3857:Mixer:Paketti: ∿ Impulse Tracker End *2 behaviour: Option + Down +3858:Mixer:Paketti: ∿ Impulse Tracker Alt-Right Move Forwards One Channel (Wrap): Option + Right +3859:Mixer:Paketti: ∿ Impulse Tracker Alt-Left Move Backwards One Channel (Wrap): Option + Left +3860:Mixer:Paketti: ∿ Impulse Tracker Alt-Right Move Forwards One Channel: +3861:Mixer:Paketti: ∿ Impulse Tracker Alt-Left Move Backwards One Channel: +3862:Mixer:Paketti: ∿ Switch to Automation: +3863:Mixer:Paketti: ∿ Show Automation: +3864:Mixer:Paketti: ∿ Clean Render Selected Track/Group LPB*2: +3865:Mixer:Paketti: ∿ Clean Render Seamless Selected Track/Group: +3866:Mixer:Paketti: ∿ Paketti Pattern Doubler: Command + Grave +3867:Mixer:Paketti: ∿ Paketti Pattern Halver: Shift + Option + Grave +3868:Mixer:Paketti: ∿ Paketti Track Renamer Dialog...: +3869:Mixer:Paketti: ∿ Jump to First Track In Next Group: +3870:Mixer:Paketti: ∿ Jump to First Track In Previous Group: +3871:Pattern Sequencer:Paketti: ∿ Keep Sequence Sorted False: Shift + Command + Q +3872:Pattern Sequencer:Paketti: ∿ Keep Sequence Sorted True: Shift + Command + E +3873:Pattern Sequencer:Paketti: ∿ Keep Sequence Sorted Toggle: +3874:Pattern Matrix:Paketti: ∿ Switch to Automation: +3875:Pattern Matrix:Paketti: ∿ Paketti Track Renamer Dialog...: +3876:Pattern Matrix:Paketti: ∿ Selection in Pattern Matrix to Group: +3877:Pattern Matrix:Paketti: ∿ Jump to First Track In Next Group: +3878:Pattern Matrix:Paketti: ∿ Jump to First Track In Previous Group: +3879:Pattern Matrix:Paketti..: ∿ Pattern Matrix Selection Expand: +3880:Pattern Matrix:Paketti..: ∿ Pattern Matrix Selection Shrink: +3881:Phrase Editor:Paketti: ∿ Open Paketti Init Phrase Dialog...: +3882:Phrase Editor:Paketti: ∿ Record+Follow Off: +3883:Phrase Editor:Paketti: ∿ Phrase Editor Visible: +3884:Phrase Editor:Paketti: ∿ Init Phrase Settings: +3885:Phrase Editor:Paketti: ∿ Paketti Phrase Doubler: +3886:Phrase Editor:Paketti: ∿ Paketti Phrase Doubler (2nd): +3887:Phrase Editor:Paketti: ∿ Phrase Halver (Joule): +3888:Phrase Editor:Paketti: ∿ Phrase Halver (Joule) (2nd): +3889:Phrase Editor:Paketti: ∿ Impulse Tracker ALT-U Unmark Selection: +3890:Phrase Editor:Paketti: ∿ Impulse Tracker ALT-U Unmark Selection (2nd): +3891:Phrase Editor:Paketti: ∿ Set Phrase Length to 001 (001): +3892:Phrase Editor:Paketti: ∿ Set Phrase Length to 004 (004): Control + 1 +3893:Phrase Editor:Paketti: ∿ Set Phrase Length to 006 (006): +3894:Phrase Editor:Paketti: ∿ Set Phrase Length to 008 (008): Control + 2 +3895:Phrase Editor:Paketti: ∿ Set Phrase Length to 012 (00C): +3896:Phrase Editor:Paketti: ∿ Set Phrase Length to 016 (010): Control + 3 +3897:Phrase Editor:Paketti: ∿ Set Phrase Length to 024 (018): +3898:Phrase Editor:Paketti: ∿ Set Phrase Length to 032 (020): Control + 4 +3899:Phrase Editor:Paketti: ∿ Set Phrase Length to 048 (030): +3900:Phrase Editor:Paketti: ∿ Set Phrase Length to 064 (040): Control + 5 +3901:Phrase Editor:Paketti: ∿ Set Phrase Length to 096 (060): +3902:Phrase Editor:Paketti: ∿ Set Phrase Length to 128 (080): Control + 6 +3903:Phrase Editor:Paketti: ∿ Set Phrase Length to 192 (0C0): +3904:Phrase Editor:Paketti: ∿ Set Phrase Length to 256 (100): Control + 7 +3905:Phrase Editor:Paketti: ∿ Set Phrase Length to 384 (180): +3906:Phrase Editor:Paketti: ∿ Set Phrase Length to 512 (200): Control + 8 +3907:Phrase Editor:Paketti: ∿ Set Phrase LPB to 001: +3908:Phrase Editor:Paketti: ∿ Set Phrase LPB to 002: +3909:Phrase Editor:Paketti: ∿ Set Phrase LPB to 003: +3910:Phrase Editor:Paketti: ∿ Set Phrase LPB to 004: +3911:Phrase Editor:Paketti: ∿ Set Phrase LPB to 005: +3912:Phrase Editor:Paketti: ∿ Set Phrase LPB to 006: +3913:Phrase Editor:Paketti: ∿ Set Phrase LPB to 007: +3914:Phrase Editor:Paketti: ∿ Set Phrase LPB to 008: +3915:Phrase Editor:Paketti: ∿ Set Phrase LPB to 009: +3916:Phrase Editor:Paketti: ∿ Set Phrase LPB to 010: +3917:Phrase Editor:Paketti: ∿ Set Phrase LPB to 011: +3918:Phrase Editor:Paketti: ∿ Set Phrase LPB to 012: +3919:Phrase Editor:Paketti: ∿ Set Phrase LPB to 013: +3920:Phrase Editor:Paketti: ∿ Set Phrase LPB to 014: +3921:Phrase Editor:Paketti: ∿ Set Phrase LPB to 015: +3922:Phrase Editor:Paketti: ∿ Set Phrase LPB to 016: +3923:Phrase Editor:Paketti: ∿ Set Phrase LPB to 024: +3924:Phrase Editor:Paketti: ∿ Set Phrase LPB to 032: +3925:Phrase Editor:Paketti: ∿ Set Phrase LPB to 048: +3926:Phrase Editor:Paketti: ∿ Set Phrase LPB to 064: +3927:Phrase Editor:Paketti: ∿ Set Phrase LPB to 128: +3928:Phrase Editor:Paketti: ∿ Set Phrase LPB to 256: +3929:Instrument Box:Paketti: ∿ Show Automation: +3930:Sample Keyzones:Paketti: ∿ Convert Mono to Stereo: +3931:Sample Keyzones:Paketti: ∿ Mono to Left with Blank Right: +3932:Sample Keyzones:Paketti: ∿ Mono to Right with Blank Left: +3933:Automation:Paketti: ∿ Impulse Tracker ALT-D Double Select W/ Automation: Command + D +3934:Automation:Paketti: ∿ Impulse Tracker ALT-U Unmark Selection: diff --git a/KeyBindings/Debug_Renoise_KeyBindings.log b/KeyBindings/Debug_Renoise_KeyBindings.log new file mode 100644 index 0000000..80085af --- /dev/null +++ b/KeyBindings/Debug_Renoise_KeyBindings.log @@ -0,0 +1,5160 @@ +Debug: Total Renoise keybindings found - 5159 +0001:Global:View: Attach/Detach Instrument Editor: +0002:Global:View: Toggle Track- and Instrument Editors: +0003:Global:View: Show/Focus Instrument Editors: +0004:Global:View: Show/Focus Track Editors: Option + K +0005:Global:View: Show/Hide Upper Frame: +0006:Global:View: Show/Hide Lower Frame: Option + L +0007:Global:View: Show/Hide Disk Browser: Option + B +0008:Global:View: Show/Hide Instrument Box: +0009:Global:View: Show/Hide Instrument Properties: Shift + Option + N +0010:Global:View: Show/Hide Pattern Matrix: +0011:Global:View: Show/Hide Phrase Editor: +0012:Global:View: Recall View Preset 1: +0013:Global:View: Recall View Preset 2: +0014:Global:View: Recall View Preset 3: +0015:Global:View: Recall View Preset 4: +0016:Global:View: Recall View Preset 5: +0017:Global:View: Recall View Preset 6: +0018:Global:View: Recall View Preset 7: +0019:Global:View: Recall View Preset 8: +0020:Global:View: Focus/Show Disk Browser: +0021:Global:View: Focus/Show Instrument Box: +0022:Global:View: Focus/Show Pattern Sequencer: +0023:Global:View: Focus/Show Pattern Matrix: +0024:Global:View: Focus/Show Pattern Editor: +0025:Global:View: Focus/Show Mixer: +0026:Global:View: Focus/Show Sample Keyzones: +0027:Global:View: Focus/Show Sample Modulation: +0028:Global:View: Focus/Show Sample Effects: +0029:Global:View: Focus/Show Phrase Editor: +0030:Global:View: Focus/Show Sample Editor: +0031:Global:View: Focus/Show Plugin Instrument: +0032:Global:View: Focus/Show MIDI Instrument: +0033:Global:View: Focus/Show Track DSPs: +0034:Global:View: Focus/Show Automation: +0035:Global:View: Show Scopes: +0036:Global:View: Show Spectrum: +0037:Global:View: Open MIDI Mapping Dialog...: Command + M +0038:Global:View: Show Used MIDI Mappings...: +0039:Global:View: Open Render Plugin To Instrument Dialog...: +0040:Global:Song Control: Toggle Automatic Plugin Delay Compensation: +0041:Global:Song Control: Toggle Metronome Precount: +0042:Global:Instruments: Open Instrument Editor: +0043:Global:Song Control: Toggle Follow Pattern: +0044:Global:Song Control: Toggle Metronome: +0045:Global:View: Open Render Dialog...: Shift + Option + Command + R +0046:Global:View: Show Song Comments...: +0047:Global:View: Focus Next View: +0048:Global:View: Focus Previous View: Shift + Option + Tab +0049:Global:Transport: Toggle Loop Pattern: Command + F13 +0050:Global:Transport: Play/Stop/Edit: +0051:Global:Transport: Toggle Block Playing: NumpadEnter +0052:Global:Transport: Panic: Control + Escape +0053:Global:Transport: Play Pattern: F6 +0054:Global:Transport: Play Pattern from Current Line: +0055:Global:Transport: Play Song: +0056:Global:Transport: Play Song from Current Line: Shift + RControl +0057:Global:Transport: Pause/Continue: RMeta +0058:Global:Transport: Pause/Continue (from cursor): +0059:Global:Transport: Schedule Edited Sequence for Playback: Command + Space +0060:Global:Transport: Play from Edited Sequence: Shift + Command + Space +0061:Global:Transport: Record Song: +0062:Global:Transport: Record Pattern: Shift + RShift +0063:Global:Transport: Stop Song: RAlt +0064:Global:Transport: Play from Cursor: +0065:Global:Transport: Select Previous LoopBlock: Command + NumpadMinus +0066:Global:Transport: Select Next LoopBlock: Command + NumpadPlus +0067:Global:Transport: Halve LoopBlock Size: Command + NumpadDivide +0068:Global:Transport: Double LoopBlock Size: Command + NumpadMultiply +0069:Global:Transport: Go to Previous Pattern in Sequence: +0070:Global:Transport: Go to Next Pattern in Sequence: +0071:Global:Transport: Note Off: +0072:Global:Transport: Note Off (2nd): +0073:Global:Transport: Smart Note Off: +0074:Global:Transport: Smart Note Off (2nd): +0075:Global:Transport: Note Off Row: Shift + Command + Capital +0076:Global:Transport: Note Off Row (2nd): +0077:Global:Transport: Smart Note Off Row: +0078:Global:Transport: Smart Note Off Row (2nd): +0079:Global:Instruments: Select Previous Instrument: NumpadMinus +0080:Global:Instruments: Select Previous Instrument (2nd): Command + Up +0081:Global:Instruments: Select Next Instrument: NumpadPlus +0082:Global:Instruments: Select Next Instrument (2nd): Command + Down +0083:Global:Instruments: Select Previous Instrument Page: +0084:Global:Instruments: Select Next Instrument Page: +0085:Global:Instruments: Select First Instrument: Option + Home +0086:Global:Instruments: Select Last Instrument: Option + End +0087:Global:Instruments: Select 1st Instrument: +0088:Global:Instruments: Select 2nd Instrument: +0089:Global:Instruments: Select 3rd Instrument: +0090:Global:Instruments: Select 4th Instrument: +0091:Global:Instruments: Select 5th Instrument: +0092:Global:Instruments: Select 6th Instrument: +0093:Global:Instruments: Select 7th Instrument: +0094:Global:Instruments: Select 8th Instrument: +0095:Global:Instruments: Select 9th Instrument: +0096:Global:Instruments: Select Previous Sample in Instrument: Shift + NumpadMinus +0097:Global:Instruments: Select Previous Sample in Instrument (2nd): +0098:Global:Instruments: Select Next Sample in Instrument: Shift + NumpadPlus +0099:Global:Instruments: Select Next Sample in Instrument (2nd): +0100:Global:Instruments: Load Instrument...: +0101:Global:Instruments: Save Instrument As...: +0102:Global:Instruments: Load Sample...: +0103:Global:Instruments: Save Sample As...: +0104:Global:Track Muting: Mute Track: +0105:Global:Track Muting: Mute Track Secondary: +0106:Global:Track Muting: Mute Group: +0107:Global:Track Muting: Mute Group Secondary: +0108:Global:Song Control: Toggle Auto Solo: +0109:Global:Track Muting: Solo Track: +0110:Global:Track Muting: Solo Group: +0111:Global:Track Muting: Unmute All Tracks: +0112:Global:Track Muting: Mute Track 1: Command + F1 +0113:Global:Track Muting: Mute Track 2: Command + F2 +0114:Global:Track Muting: Mute Track 3: Command + F3 +0115:Global:Track Muting: Mute Track 4: Command + F4 +0116:Global:Track Muting: Mute Track 5: Command + F5 +0117:Global:Track Muting: Mute Track 6: Command + F6 +0118:Global:Track Muting: Mute Track 7: Command + F7 +0119:Global:Track Muting: Mute Track 8: Command + F8 +0120:Global:Track Muting: Mute Track 9: Command + Numpad9 +0121:Global:Track Muting: Mute Track 10: +0122:Global:Track Muting: Mute Track 11: +0123:Global:Track Muting: Mute Track 12: +0124:Global:Track Muting: Mute Track 13: +0125:Global:Track Muting: Mute Track 14: +0126:Global:Track Muting: Mute Track 15: +0127:Global:Track Muting: Mute Track 16: +0128:Global:Track Muting: Mute Track 17: +0129:Global:Track Muting: Mute Track 18: +0130:Global:Track Muting: Mute Track 19: +0131:Global:Track Muting: Mute Track 20: +0132:Global:Track Muting: Mute Track 21: +0133:Global:Track Muting: Mute Track 22: +0134:Global:Track Muting: Mute Track 23: +0135:Global:Track Muting: Mute Track 24: +0136:Global:Track Muting: Mute Track 25: +0137:Global:Track Muting: Mute Track 26: +0138:Global:Track Muting: Mute Track 27: +0139:Global:Track Muting: Mute Track 28: +0140:Global:Track Muting: Mute Track 29: +0141:Global:Track Muting: Mute Track 30: +0142:Global:Track Muting: Mute Track 31: +0143:Global:Track Muting: Mute Track 32: +0144:Global:Octave: Increase Octave: NumpadMultiply +0145:Global:Octave: Decrease Octave: NumpadDivide +0146:Global:Octave: Increase Octave (2nd): Shift + PeakedBracket +0147:Global:Octave: Decrease Octave (2nd): PeakedBracket +0148:Global:Octave: Set Octave to 0: +0149:Global:Octave: Set Octave to 1: +0150:Global:Octave: Set Octave to 2: +0151:Global:Octave: Set Octave to 3: +0152:Global:Octave: Set Octave to 4: +0153:Global:Octave: Set Octave to 5: +0154:Global:Octave: Set Octave to 6: +0155:Global:Octave: Set Octave to 7: +0156:Global:Octave: Set Octave to 8: +0157:Global:View: Open Sample Record Dialog...: Shift + F3 +0158:Global:Playback: Play Selected Sample: +0159:Global:Application: Quit: Control + Q +0160:Global:Application: Preferences...: Command + Comma +0161:Global:Application: Hide Renoise: +0162:Global:Application: Hide All Others: Option + Command + H +0163:Global:Application: Focus Previous Window: Shift + Command + PeakedBracket +0164:Global:Application: Focus Next Window: +0165:Global:File: New Song: Shift + Control + N +0166:Global:File: New Song (no template): +0167:Global:File: Open Song...: Control + L +0168:Global:File: Save Song...: +0169:Global:File: Save Song As...: +0170:Global:File: Save Song As Template...: +0171:Global:Document: Undo: Command + Z +0172:Global:Document: Redo: Shift + Command + Z +0173:Global:Clipboard: Select Clipboard 1: +0174:Global:Clipboard: Select Clipboard 2: +0175:Global:Clipboard: Select Clipboard 3: +0176:Global:Clipboard: Select Clipboard 4: +0177:Global:View: Attach/Detach Mixer View: +0178:Global:Application: Toggle Fullscreen/Windowed Mode: Option + Return +0179:Global:Tools: ∿ Easy Tune: +0180:Global:Tools: ∿ Select random instrument: +0181:Global:Paketti: ∿ EZ Maximize Spectrum: +0182:Global:Paketti: ∿ Show Paketti Preferences...: Shift + Command + Comma +0183:Global:Paketti: ∿ Paketti eSpeak Text-to-Speech: Control + E +0184:Global:Paketti: ∿ Paketti eSpeak Generate Sample: +0185:Global:Paketti: ∿ Paketti eSpeak Generate Selection: +0186:Global:Paketti: ∿ Paketti eSpeak Generate Row 00: +0187:Global:Paketti: ∿ Paketti eSpeak Generate Row 01: +0188:Global:Paketti: ∿ Paketti eSpeak Generate Row 02: +0189:Global:Paketti: ∿ Paketti eSpeak Generate Row 03: +0190:Global:Paketti: ∿ Paketti eSpeak Generate Row 04: +0191:Global:Paketti: ∿ Paketti eSpeak Generate Row 05: +0192:Global:Paketti: ∿ Paketti eSpeak Generate Row 06: +0193:Global:Paketti: ∿ Paketti eSpeak Generate Row 07: +0194:Global:Paketti: ∿ Paketti eSpeak Generate Row 08: +0195:Global:Paketti: ∿ Paketti eSpeak Generate Row 09: +0196:Global:Paketti: ∿ Paketti eSpeak Generate Row 10: +0197:Global:Paketti: ∿ Paketti eSpeak Generate Row 11: +0198:Global:Paketti: ∿ Paketti eSpeak Generate Row 12: +0199:Global:Paketti: ∿ Paketti eSpeak Generate Row 13: +0200:Global:Paketti: ∿ Paketti eSpeak Generate Row 14: +0201:Global:Paketti: ∿ Paketti eSpeak Generate Row 15: +0202:Global:Paketti: ∿ Paketti eSpeak Generate Row 16: +0203:Global:Paketti: ∿ Paketti eSpeak Generate Row 17: +0204:Global:Paketti: ∿ Paketti eSpeak Generate Row 18: +0205:Global:Paketti: ∿ Paketti eSpeak Generate Row 19: +0206:Global:Paketti: ∿ Paketti eSpeak Generate Row 20: +0207:Global:Paketti: ∿ Paketti eSpeak Generate Row 21: +0208:Global:Paketti: ∿ Paketti eSpeak Generate Row 22: +0209:Global:Paketti: ∿ Paketti eSpeak Generate Row 23: +0210:Global:Paketti: ∿ Paketti eSpeak Generate Row 24: +0211:Global:Paketti: ∿ Paketti eSpeak Generate Row 25: +0212:Global:Paketti: ∿ Paketti eSpeak Generate Row 26: +0213:Global:Paketti: ∿ Paketti eSpeak Generate Row 27: +0214:Global:Paketti: ∿ Paketti eSpeak Generate Row 28: +0215:Global:Paketti: ∿ Paketti eSpeak Generate Row 29: +0216:Global:Paketti: ∿ Paketti eSpeak Generate Row 30: +0217:Global:Paketti: ∿ Paketti eSpeak Generate Row 31: +0218:Global:Paketti: ∿ Paketti eSpeak Refresh: +0219:Global:Paketti: ∿ Open Player Pro Note Column Dialog: +0220:Global:Paketti: ∿ Create New Track&Load Random Device Chain/Preset: +0221:Global:Paketti: ∿ Load Device Chain EQ10 Macro Experimental: Shift + Q +0222:Global:Paketti: ∿ Load Device Chain SimpleSend: +0223:Global:Paketti: ∿ Load Device Chain Paketti Doofer Rudiments: +0224:Global:Paketti: ∿ Load Device Chain ClippyClip: +0225:Global:Paketti: ∿ Load Device Chain Track Compressor (NPC1): +0226:Global:Paketti: ∿ Load Device Chain Low - High Cut (steep) (NPC1): +0227:Global:Paketti: ∿ Load Device Chain Low - High Cut (halfsteep) (NPC1): +0228:Global:Paketti: ∿ Load Device Chain Low - High Cut (flat) (NPC1): +0229:Global:Tools: ∿ Paketti Tuplet Writer: +0230:Global:Paketti: ∿ Load Plugin Vintage (AU): +0231:Global:Paketti: ∿ Load Plugin XO (AU): +0232:Global:Paketti: ∿ Load Plugin XO (VST): +0233:Global:Paketti: ∿ Load Plugin XO (VST3): +0234:Global:Paketti: ∿ Clone Current Sequence: +0235:Global:Paketti: ∿ Show/Hide Pattern Matrix: +0236:Global:Paketti: ∿ Duplicate Pattern Above & Clear Muted Tracks: Shift + Control + X +0237:Global:Paketti: ∿ Duplicate Pattern Below & Clear Muted Tracks: +0238:Global:Paketti: ∿ Duplicate Instrument and Select New Instrument: Shift + Command + D +0239:Global:Paketti: ∿ Duplicate Instrument and Select New Instrument (2nd): +0240:Global:Paketti: ∿ Duplicate Instrument and Select New Instrument (3rd): +0241:Global:Paketti: ∿ Duplicate Instrument and Select Last Instrument: +0242:Global:Paketti: ∿ Numpad SelectPlay 0: +0243:Global:Paketti: ∿ Numpad SelectPlay 1: +0244:Global:Paketti: ∿ Numpad SelectPlay 2: +0245:Global:Paketti: ∿ Numpad SelectPlay 3: +0246:Global:Paketti: ∿ Numpad SelectPlay 4: +0247:Global:Paketti: ∿ Numpad SelectPlay 5: +0248:Global:Paketti: ∿ Numpad SelectPlay 6: +0249:Global:Paketti: ∿ Numpad SelectPlay 7: +0250:Global:Paketti: ∿ Numpad SelectPlay 8: +0251:Global:Paketti: ∿ Numpad SelectPlay 9: +0252:Global:Paketti: ∿ Capture Nearest Instrument and Octave (nojump): +0253:Global:Paketti: ∿ Capture Nearest Instrument and Octave (jump): +0254:Global:Paketti: ∿ Select Next Chunk (00..F0): Shift + Option + Command + Right +0255:Global:Paketti: ∿ Select Previous Chunk (00..F0): Shift + Option + Command + Left +0256:Global:Paketti: ∿ Select Chunk 00: +0257:Global:Paketti: ∿ Select Chunk 10: +0258:Global:Paketti: ∿ Select Chunk 20: +0259:Global:Paketti: ∿ Select Chunk 30: +0260:Global:Paketti: ∿ Select Chunk 40: +0261:Global:Paketti: ∿ Select Chunk 50: +0262:Global:Paketti: ∿ Select Chunk 60: +0263:Global:Paketti: ∿ Select Chunk 70: +0264:Global:Paketti: ∿ Select Chunk 80: +0265:Global:Paketti: ∿ Select Chunk 90: +0266:Global:Paketti: ∿ Select Chunk A0: +0267:Global:Paketti: ∿ Select Chunk B0: +0268:Global:Paketti: ∿ Select Chunk C0: +0269:Global:Paketti: ∿ Select Chunk D0: +0270:Global:Paketti: ∿ Select Chunk E0: +0271:Global:Paketti: ∿ Select Chunk F0: Shift + Option + F +0272:Global:Tools: ∿ Paketti YT-DLP Downloader: +0273:Global:Paketti: ∿ BeatDetector Modified...: +0274:Global:Paketti: ∿ Stack All Samples in Instrument with Velocity Mapping Split: +0275:Global:Paketti: ∿ Write Velocity Ramp Up for Stacked Instrument: +0276:Global:Paketti: ∿ Write Velocity Ramp Down for Stacked Instrument: +0277:Global:Paketti: ∿ Write Velocity Random for Stacked Instrument: +0278:Global:Paketti: ∿ Load&Slice&Isolate&Stack Sample: +0279:Global:Paketti: ∿ Paketti Stacker Dialog...: +0280:Global:Paketti: ∿ Set ReWire Channel (Next): +0281:Global:Paketti: ∿ Contour Shuttle Record Prototype: +0282:Global:Paketti: ∿ Sample NOW then F3 (Record): +0283:Global:Paketti: ∿ Record to Current Track: +0284:Global:Paketti: ∿ Record to Current Track w/Metronome: +0285:Global:Paketti: ∿ Record Follow: +0286:Global:Paketti: ∿ Simple Play Record Follow: +0287:Global:Paketti: ∿ Simple Play Record Follow (2nd): +0288:Global:Paketti: ∿ TouchOSC Sample Recorder and Record: +0289:Global:Paketti: ∿ TouchOSC Pattern Editor: Option + F2 +0290:Global:Paketti: ∿ TouchOSC Sample Editor: Option + Control + F3 +0291:Global:Paketti: ∿ Start/Stop Sample Recording and Pakettify: Option + F3 +0292:Global:Paketti: ∿ Save Song (2nd): +0293:Global:Paketti: ∿ Record+Follow Toggle (2nd): RShift +0294:Global:Paketti: ∿ Record+Follow Toggle (3rd): +0295:Global:Paketti: ∿ Record+Follow Toggle (4th): +0296:Global:Paketti: ∿ Toggle EditMode (2nd): +0297:Global:Paketti: ∿ Toggle EditMode (3rd): Escape +0298:Global:Paketti: ∿ Record+Follow+Metronome Toggle: Shift + Escape +0299:Global:Paketti: ∿ Toggle Follow Pattern (2nd): +0300:Global:Paketti: ∿ Fullscreen (2nd): +0301:Global:Paketti: ∿ KeybOctave Up: +0302:Global:Paketti: ∿ KeybOctave Down: +0303:Global:Paketti: ∿ Simple Play: +0304:Global:Paketti: ∿ Toggle Metronome On/Off: +0305:Global:Paketti: ∿ Song Details (Filename, BPM, LPB): +0306:Global:Paketti: ∿ Contour Shuttle Record Off: +0307:Global:Paketti: ∿ Contour Shuttle Record On: +0308:Global:Paketti: ∿ Global Edit Mode Toggle: +0309:Global:Paketti: ∿ Rewind Playback by 4 steps: +0310:Global:Paketti: ∿ Pattern Editor <-> Midi Editor Switcher: +0311:Global:Paketti: ∿ Select Track (Next): +0312:Global:Paketti: ∿ Select Track (Previous): +0313:Global:Paketti: ∿ Insert Track (2nd): +0314:Global:Paketti: ∿ Sample Editor Tab Switcher (01 Phrases): +0315:Global:Paketti: ∿ Sample Editor Tab Switcher (02 Keyzones): +0316:Global:Paketti: ∿ Sample Editor Tab Switcher (03 Waveform): +0317:Global:Paketti: ∿ Sample Editor Tab Switcher (04 Modulation): +0318:Global:Paketti: ∿ Sample Editor Tab Switcher (05 Effects): +0319:Global:Paketti: ∿ Sample Editor Tab Switcher (06 Plugin Editor): +0320:Global:Paketti: ∿ Sample Editor Tab Switcher (07 Midi Editor): +0321:Global:Paketti: ∿ Select LoopBlock Backwards (Previous): +0322:Global:Paketti: ∿ Select LoopBlock Forwards (Next): +0323:Global:Paketti: ∿ Set EditStep to 00: +0324:Global:Paketti: ∿ Set EditStep to 01: +0325:Global:Paketti: ∿ Set EditStep to 02: +0326:Global:Paketti: ∿ Set EditStep to 03: +0327:Global:Paketti: ∿ Set EditStep to 04: +0328:Global:Paketti: ∿ Set EditStep to 05: +0329:Global:Paketti: ∿ Set EditStep to 06: +0330:Global:Paketti: ∿ Set EditStep to 07: +0331:Global:Paketti: ∿ Set EditStep to 08: +0332:Global:Paketti: ∿ Set EditStep to 09: +0333:Global:Paketti: ∿ Set EditStep to 10: +0334:Global:Paketti: ∿ Set EditStep to 11: +0335:Global:Paketti: ∿ Set EditStep to 12: +0336:Global:Paketti: ∿ Set EditStep to 13: +0337:Global:Paketti: ∿ Set EditStep to 14: +0338:Global:Paketti: ∿ Set EditStep to 15: +0339:Global:Paketti: ∿ Set EditStep to 16: +0340:Global:Paketti: ∿ Set EditStep to 17: +0341:Global:Paketti: ∿ Set EditStep to 18: +0342:Global:Paketti: ∿ Set EditStep to 19: +0343:Global:Paketti: ∿ Set EditStep to 20: +0344:Global:Paketti: ∿ Set EditStep to 21: +0345:Global:Paketti: ∿ Set EditStep to 22: +0346:Global:Paketti: ∿ Set EditStep to 23: +0347:Global:Paketti: ∿ Set EditStep to 24: +0348:Global:Paketti: ∿ Set EditStep to 25: +0349:Global:Paketti: ∿ Set EditStep to 26: +0350:Global:Paketti: ∿ Set EditStep to 27: +0351:Global:Paketti: ∿ Set EditStep to 28: +0352:Global:Paketti: ∿ Set EditStep to 29: +0353:Global:Paketti: ∿ Set EditStep to 30: +0354:Global:Paketti: ∿ Set EditStep to 31: +0355:Global:Paketti: ∿ Set EditStep to 32: +0356:Global:Paketti: ∿ Set EditStep to 33: +0357:Global:Paketti: ∿ Set EditStep to 34: +0358:Global:Paketti: ∿ Set EditStep to 35: +0359:Global:Paketti: ∿ Set EditStep to 36: +0360:Global:Paketti: ∿ Set EditStep to 37: +0361:Global:Paketti: ∿ Set EditStep to 38: +0362:Global:Paketti: ∿ Set EditStep to 39: +0363:Global:Paketti: ∿ Set EditStep to 40: +0364:Global:Paketti: ∿ Set EditStep to 41: +0365:Global:Paketti: ∿ Set EditStep to 42: +0366:Global:Paketti: ∿ Set EditStep to 43: +0367:Global:Paketti: ∿ Set EditStep to 44: +0368:Global:Paketti: ∿ Set EditStep to 45: +0369:Global:Paketti: ∿ Set EditStep to 46: +0370:Global:Paketti: ∿ Set EditStep to 47: +0371:Global:Paketti: ∿ Set EditStep to 48: +0372:Global:Paketti: ∿ Set EditStep to 49: +0373:Global:Paketti: ∿ Set EditStep to 50: +0374:Global:Paketti: ∿ Set EditStep to 51: +0375:Global:Paketti: ∿ Set EditStep to 52: +0376:Global:Paketti: ∿ Set EditStep to 53: +0377:Global:Paketti: ∿ Set EditStep to 54: +0378:Global:Paketti: ∿ Set EditStep to 55: +0379:Global:Paketti: ∿ Set EditStep to 56: +0380:Global:Paketti: ∿ Set EditStep to 57: +0381:Global:Paketti: ∿ Set EditStep to 58: +0382:Global:Paketti: ∿ Set EditStep to 59: +0383:Global:Paketti: ∿ Set EditStep to 60: +0384:Global:Paketti: ∿ Set EditStep to 61: +0385:Global:Paketti: ∿ Set EditStep to 62: +0386:Global:Paketti: ∿ Set EditStep to 63: +0387:Global:Paketti: ∿ Set EditStep to 64: +0388:Global:Paketti: ∿ Record Toggle with EditStep Reading (2nd): +0389:Global:Paketti: ∿ Load Recently Saved Song: +0390:Global:Paketti: ∿ Switch Upper Frame (Track Scopes/Master Spectrum): +0391:Global:Paketti: ∿ Duplicate Selected Track & Name: +0392:Global:Paketti: ∿ Paketti MIDI Mappings...: +0393:Global:Paketti: ∿ Generate Paketti Midi Mappings to Console: +0394:Global:Paketti: ∿ Show Paketti KeyBindings Dialog: Command + K +0395:Global:Paketti: ∿ Show Renoise KeyBindings Dialog: Shift + Command + K +0396:Global:Paketti: ∿ Open Paketti Init Phrase Dialog...: Command + I +0397:Global:Paketti: ∿ Create New Phrase using Paketti Settings: +0398:Global:Paketti: ∿ Modify Current Phrase using Paketti Settings: +0399:Global:Paketti: ∿ Phrase Editor Visible: +0400:Global:Paketti: ∿ Add New Phrase: +0401:Global:Paketti: ∿ Create Random AKWF Wavetable (032): +0402:Global:Paketti: ∿ Create Random AKWF Wavetable (064): +0403:Global:Paketti: ∿ Create Random AKWF Wavetable (128): +0404:Global:Paketti: ∿ Create Random AKWF Wavetable (256): +0405:Global:Paketti: ∿ Create Random AKWF Wavetable (032,loop): +0406:Global:Paketti: ∿ Create Random AKWF Wavetable (064,loop): +0407:Global:Paketti: ∿ Create Random AKWF Wavetable (128,loop): +0408:Global:Paketti: ∿ Create Random AKWF Wavetable (256,loop): +0409:Global:Paketti: ∿ Next Wavetable Cycle: +0410:Global:Paketti: ∿ Previous Wavetable Cycle: +0411:Global:Paketti: ∿ Paketti Audio Processing Tools Dialog...: Control + A +0412:Global:Paketti: ∿ Strip Silence: Shift + Option + S +0413:Global:Paketti: ∿ Move Beginning Silence to End: +0414:Global:Paketti: ∿ Max Amp DC Offset Kick Generator: +0415:Global:Paketti: ∿ Diagonal Line to 16800 length Sample: +0416:Global:Paketti: ∿ Paketti Normalize Sample: +0417:Global:Paketti: ∿ Pattern Effect Command CheatSheet: F1 +0418:Global:Paketti Theme Selector: ∿ Open Paketti Theme Selector Dialog: Shift + Option + Comma +0419:Global:Paketti Theme Selector: ∿ Pick a Random Theme (All): Shift + Option + Control + Comma +0420:Global:Paketti Theme Selector: ∿ Pick a Random Theme (Favorites): Shift + Control + Comma +0421:Global:Paketti: ∿ Paketti MIDI Populator Dialog...: +0422:Global:Paketti: ∿ Impulse Tracker F2 Pattern Editor: +0423:Global:Paketti: ∿ Impulse Tracker F2 Pattern Editor ONLY: +0424:Global:Paketti: ∿ Impulse Tracker F2 Pattern Editor Mini: +0425:Global:Paketti: ∿ Impulse Tracker F3 Sample Editor: +0426:Global:Paketti: ∿ Impulse Tracker F3 Sample Editor Only: +0427:Global:Paketti: ∿ Impulse Tracker F4 Instrument Editor: +0428:Global:Paketti: ∿ Impulse Tracker F5 Start Playback: F5 +0429:Global:Paketti: ∿ Impulse Tracker F5 Start Playback (2nd): +0430:Global:Paketti: ∿ Impulse Tracker F7 Start Playback from Cursor Row: F7 +0431:Global:Paketti: ∿ Impulse Tracker F7 Start Playback from Cursor Row (2nd): RControl +0432:Global:Paketti: ∿ Impulse Tracker F8 Stop Playback (Panic): F8 +0433:Global:Paketti: ∿ Impulse Tracker F8 Stop Playback (Panic) (2nd): +0434:Global:Paketti: ∿ Impulse Tracker F8 Stop/Start Playback (Panic): +0435:Global:Paketti: ∿ Impulse Tracker F11 Order List: +0436:Global:Paketti: ∿ Impulse Tracker F12 Master: F12 +0437:Global:Paketti: ∿ Impulse Tracker Pattern (Next): +0438:Global:Paketti: ∿ Impulse Tracker Pattern (Previous): +0439:Global:Paketti: ∿ Impulse Tracker Pattern (Next) 2nd: +0440:Global:Paketti: ∿ Impulse Tracker Pattern (Previous) 2nd: +0441:Global:Paketti: ∿ Impulse Tracker PageUp Jump Lines: +0442:Global:Paketti: ∿ Impulse Tracker PageDown Jump Lines: +0443:Global:Paketti: ∿ Impulse Tracker 8 Play Current Line & Advance by EditStep: +0444:Global:Paketti: ∿ Impulse Tracker ALT-F10 (Solo Toggle): +0445:Global:Paketti: ∿ Impulse Tracker CTRL-N New Song Dialog: Control + N +0446:Global:Paketti: ∿ Impulse Tracker ALT-U Unmark Selection: Command + U +0447:Global:Paketti: ∿ Impulse Tracker ALT-U Unmark Selection (2nd): +0448:Global:Paketti: ∿ Impulse Tracker ALT-Y Swap Block: Command + Y +0449:Global:Paketti: ∿ Paketti Gater Dialog...: Control + G +0450:Global:Paketti: ∿ Paketti Gater Insert Commands: Shift + Control + G +0451:Global:Paketti: ∿ Paketti Automation: Option + T +0452:Global:Paketti: ∿ Switch to Automation: +0453:Global:Paketti..: ∿ Automation Ramp Up (Exp): +0454:Global:Paketti..: ∿ Automation Ramp Down (Exp): +0455:Global:Paketti..: ∿ Automation Ramp Up (Lin): +0456:Global:Paketti..: ∿ Automation Ramp Down (Lin): +0457:Global:Paketti..: ∿ Automation Center to Top (Exp): +0458:Global:Paketti..: ∿ Automation Top to Center (Exp): +0459:Global:Paketti..: ∿ Automation Center to Bottom (Exp): +0460:Global:Paketti..: ∿ Automation Bottom to Center (Exp): +0461:Global:Paketti..: ∿ Automation Center to Top (Lin): +0462:Global:Paketti..: ∿ Automation Top to Center (Lin): +0463:Global:Paketti..: ∿ Automation Center to Bottom (Lin): +0464:Global:Paketti..: ∿ Automation Bottom to Center (Lin): +0465:Global:Paketti: ∿ Randomize Automation Envelope: Shift + Option + R +0466:Global:Paketti: ∿ Randomize Automation Envelopes for Device: Option + Command + R +0467:Global:Paketti: ∿ Switch to Automation Dynamic: A +0468:Global:Paketti: ∿ Show Automation Value Dialog...: +0469:Global:Paketti: ∿ Write Automation Value 0.0: +0470:Global:Paketti: ∿ Write Automation Value 0.1: +0471:Global:Paketti: ∿ Write Automation Value 0.2: +0472:Global:Paketti: ∿ Write Automation Value 0.3: +0473:Global:Paketti: ∿ Write Automation Value 0.4: +0474:Global:Paketti: ∿ Write Automation Value 0.5: +0475:Global:Paketti: ∿ Write Automation Value 0.6: +0476:Global:Paketti: ∿ Write Automation Value 0.7: +0477:Global:Paketti: ∿ Write Automation Value 0.8: +0478:Global:Paketti: ∿ Write Automation Value 0.9: +0479:Global:Paketti: ∿ Write Automation Value 1.0: +0480:Global:Paketti: ∿ Flood Fill Automation Selection: +0481:Global:Paketti: ∿ Set Automation Range to Max (1.0): +0482:Global:Paketti: ∿ Set Automation Range to Middle (0.5): +0483:Global:Paketti: ∿ Set Automation Range to Min (0.0): +0484:Global:Paketti: ∿ Scale Automation to 90%: +0485:Global:Paketti: ∿ Scale Automation to 110%: +0486:Global:Paketti: ∿ Scale Automation to 50%: +0487:Global:Paketti: ∿ Flip Automation Selection Horizontally: +0488:Global:Paketti: ∿ Flip Automation Selection Vertically: +0489:Global:Paketti: ∿ Generate Automation Points from Notes in Selected Track: +0490:Global:Paketti: ∿ Select Automation Playmode (Next): +0491:Global:Paketti: ∿ Select Automation Playmode (Previous): +0492:Global:Paketti: ∿ Select Automation Playmode 01 Points: +0493:Global:Paketti: ∿ Select Automation Playmode 02 Lines: +0494:Global:Paketti: ∿ Select Automation Playmode 03 Curves: +0495:Global:Paketti: ∿ Clone Sequence (Automation Only): +0496:Global:Paketti: ∿ Clone Pattern (Without Automation): +0497:Global:Paketti: ∿ ∿ Squiggly Sinewave to Clipboard (macOS): +0498:Global:Paketti: ∿ Toggle Paketti Dialog of Dialogs: +0499:Global:Paketti: ∿ Selected Instrument Midi Program +1 (Next): +0500:Global:Paketti: ∿ Selected Instrument Midi Program -1 (Previous): +0501:Global:Paketti: ∿ Cycle Paketti Dynamic View 01: F2 +0502:Global:Paketti: ∿ Cycle Paketti Dynamic View 02: F3 +0503:Global:Paketti: ∿ Cycle Paketti Dynamic View 03: F4 +0504:Global:Paketti: ∿ Cycle Paketti Dynamic View 04: F11 +0505:Global:Paketti: ∿ Cycle Paketti Dynamic View 05: +0506:Global:Paketti: ∿ Cycle Paketti Dynamic View 06: +0507:Global:Paketti: ∿ Cycle Paketti Dynamic View 07: +0508:Global:Paketti: ∿ Cycle Paketti Dynamic View 08: +0509:Global:Paketti: ∿ Paketti Dynamic View Preferences Dialog 1-4...: +0510:Global:Paketti: ∿ Paketti Dynamic View Preferences Dialog 5-8...: +0511:Global:Paketti: ∿ Paketti Groovebox 8120: Option + 8 +0512:Global:Paketti: ∿ Initialize for Groovebox 8120: +0513:Global:Paketti: ∿ Send Selected Sample to AppSelection1: +0514:Global:Paketti: ∿ Send Selected Sample to AppSelection2: +0515:Global:Paketti: ∿ Send Selected Sample to AppSelection3: +0516:Global:Paketti: ∿ Send Selected Sample to AppSelection4: +0517:Global:Paketti: ∿ Send Selected Sample to AppSelection5: +0518:Global:Paketti: ∿ Send Selected Sample to AppSelection6: +0519:Global:Paketti: ∿ Save Sample to Smart/Backup Folder 1: +0520:Global:Paketti: ∿ Save Sample to Smart/Backup Folder 2: +0521:Global:Paketti: ∿ Save Sample to Smart/Backup Folder 3: +0522:Global:Paketti: ∿ Save All Samples to Smart/Backup Folder 1: +0523:Global:Paketti: ∿ Save All Samples to Smart/Backup Folder 2: +0524:Global:Paketti: ∿ Save All Samples to Smart/Backup Folder 3: +0525:Global:Paketti: ∿ Paketti PitchBend Drumkit Sample Loader: Shift + Command + O +0526:Global:Paketti: ∿ Paketti PitchBend Drumkit Sample Loader (Random): Option + Command + O +0527:Global:Paketti: ∿ Create New Instrument & Loop from Selection: Option + Command + Right +0528:Global:Paketti: ∿ Paketti PitchBend Multiple Sample Loader: Command + O +0529:Global:Paketti: ∿ Paketti PitchBend Multiple Sample Loader (Normalize): Shift + Option + O +0530:Global:Paketti: ∿ Add Sample Slot to Instrument: +0531:Global:Paketti: ∿ Add 84 Sample Slots to Instrument: +0532:Global:Paketti: ∿ Set Sample to One-Shot + NNA Continue: +0533:Global:Paketti: ∿ Wipe&Slice (2): Option + 1 +0534:Global:Paketti: ∿ Wipe&Slice (4): Option + 2 +0535:Global:Paketti: ∿ Wipe&Slice (8): Option + 3 +0536:Global:Paketti: ∿ Wipe&Slice (16): Option + 4 +0537:Global:Paketti: ∿ Wipe&Slice (32): Option + 5 +0538:Global:Paketti: ∿ Wipe&Slice (64): Option + 6 +0539:Global:Paketti: ∿ Wipe&Slice (128): Option + 7 +0540:Global:Paketti: ∿ Wipe Slices: Option + 0 +0541:Global:Paketti: ∿ Show DSP FX Chain: +0542:Global:Paketti: ∿ Paketti Save Selected Sample .WAV: Command + W +0543:Global:Paketti: ∿ Paketti Save Selected Sample .FLAC: +0544:Global:Paketti: ∿ Wipe Song Retain Sample: +0545:Global:Paketti: ∿ Reset Slice Counter: +0546:Global:Paketti: ∿ Sample Loop Cycler (Forwards): +0547:Global:Paketti: ∿ Sample Loop Cycler (Backwards): +0548:Global:Paketti: ∿ All Samples Loop Cycler (Forwards): +0549:Global:Paketti: ∿ All Samples Loop Cycler (Backwards): +0550:Global:Paketti: ∿ Duplicate and Reverse Instrument: Shift + Command + R +0551:Global:Paketti: ∿ Paketti Save Selected Sample Range .WAV: Shift + Command + W +0552:Global:Paketti: ∿ Paketti Save Selected Sample Range .FLAC: +0553:Global:Paketti..: ∿ FT2 Minimize Selected Sample: +0554:Global:Paketti: ∿ Randomize Selected Instrument Modulation Filter Type: Shift + Option + M +0555:Global:Paketti: ∿ Clean Render&Save Selected Track/Group (.WAV): Shift + Control + R +0556:Global:Paketti: ∿ Clean Render&Save Selected Track/Group (.FLAC): +0557:Global:Paketti: ∿ Pakettify Current Instrument: Shift + Control + 8 +0558:Global:Paketti: ∿ Show/Hide PitchStep on Selected Instrument: Option + P +0559:Global:Paketti: ∿ Smart BeatSync from Selection: Shift + Command + S +0560:Global:Paketti: ∿ Eight 120-fy: Shift + Option + 8 +0561:Global:Paketti: ∿ Modify PitchStep Steps (Octave Up+2, Octave Down-2): Option + Command + P +0562:Global:Paketti: ∿ Modify PitchStep Steps (Random): Shift + Option + Command + P +0563:Global:Paketti: ∿ Modify PitchStep Steps (Octave Up, Octave Down): Shift + Command + P +0564:Global:Paketti: ∿ Clear PitchStep Steps: Shift + Option + P +0565:Global:Paketti: ∿ Load Random AKWF Sample: Shift + Command + 1 +0566:Global:Paketti: ∿ Load Random amount (1...12) of AKWF Samples: Shift + Command + 2 +0567:Global:Paketti: ∿ Load 05 AKWF Samples: +0568:Global:Paketti: ∿ Load 05 AKWF Samples with Overlap Random: +0569:Global:Paketti: ∿ Load 05 AKWF Samples with Overlap Cycle: +0570:Global:Paketti: ∿ Load 12 AKWF Samples with Overlap Random: +0571:Global:Paketti: ∿ Load 12 AKWF Samples with Overlap Cycle: +0572:Global:Paketti: ∿ Load 04 AKWF Samples (XY): +0573:Global:Paketti: ∿ Load 12 AKWF Samples: +0574:Global:Paketti: ∿ Load 02 AKWF Samples: +0575:Global:Paketti: ∿ Load Random Samples (32) from Path: +0576:Global:Paketti: ∿ Load Random Samples (01) from Path: +0577:Global:Paketti: ∿ Load Random Samples (12) into Single Instrument: Shift + Option + 1 +0578:Global:Paketti: ∿ Load Random Samples (04) into Single Instrument (XY): +0579:Global:Paketti: ∿ User-Defined Sample Folders Dialog...: +0580:Global:Paketti: ∿ Duplicate Selected Sample at -12 transpose: +0581:Global:Paketti: ∿ Duplicate Selected Sample at -24 transpose: +0582:Global:Paketti: ∿ Duplicate Selected Sample at +12 transpose: +0583:Global:Paketti: ∿ Duplicate Selected Sample at +24 transpose: +0584:Global:Paketti: ∿ Cycle Overlap Mode: +0585:Global:Paketti: ∿ Set Overlap Mode 0 (Play All): +0586:Global:Paketti: ∿ Set Overlap Mode 1 (Cycle): +0587:Global:Paketti: ∿ Set Overlap Mode 2 (Random): +0588:Global:Paketti: ∿ Set DrumKit to Overlap Random: +0589:Global:Paketti: ∿ Load DrumKit with Overlap Random: +0590:Global:Paketti: ∿ Load DrumKit with Overlap Cycle: +0591:Global:Paketti: ∿ Duplicate All Samples at -36 Transpose: +0592:Global:Paketti: ∿ Duplicate All Samples at -24 Transpose: +0593:Global:Paketti: ∿ Duplicate All Samples at -12 Transpose: +0594:Global:Paketti: ∿ Duplicate All Samples at +12 Transpose: +0595:Global:Paketti: ∿ Duplicate All Samples at +24 Transpose: +0596:Global:Paketti: ∿ Duplicate All Samples at +36 Transpose: +0597:Global:Tools: ∿ Toggle Match EditStep with Delay Pattern: +0598:Global:Paketti: ∿ OctaMED Note Spread 02: +0599:Global:Paketti: ∿ OctaMED Note Spread 03: +0600:Global:Paketti: ∿ OctaMED Note Spread 04: +0601:Global:Paketti: ∿ OctaMED Note Spread 05: +0602:Global:Paketti: ∿ OctaMED Note Spread 06: +0603:Global:Paketti: ∿ OctaMED Note Spread 07: +0604:Global:Paketti: ∿ OctaMED Note Spread 08: +0605:Global:Paketti: ∿ OctaMED Note Spread 09: +0606:Global:Paketti: ∿ OctaMED Note Spread 10: +0607:Global:Paketti: ∿ OctaMED Note Spread 11: +0608:Global:Paketti: ∿ OctaMED Note Spread 12: +0609:Global:Paketti: ∿ Load Device Chain (.XRNT) Slot 01: +0610:Global:Paketti: ∿ Load Device Chain (.XRNT) Slot 02: +0611:Global:Paketti: ∿ Load Device Chain (.XRNT) Slot 03: +0612:Global:Paketti: ∿ Load Device Chain (.XRNT) Slot 04: +0613:Global:Paketti: ∿ Load Device Chain (.XRNT) Slot 05: +0614:Global:Paketti: ∿ Load Device Chain (.XRNT) Slot 06: +0615:Global:Paketti: ∿ Load Device Chain (.XRNT) Slot 07: +0616:Global:Paketti: ∿ Load Device Chain (.XRNT) Slot 08: +0617:Global:Paketti: ∿ Load Device Chain (.XRNT) Slot 09: +0618:Global:Paketti: ∿ Load Device Chain (.XRNT) Slot 10: +0619:Global:Paketti: ∿ Load Instrument (.XRNI) Slot 01: +0620:Global:Paketti: ∿ Load Instrument (.XRNI) Slot 02: +0621:Global:Paketti: ∿ Load Instrument (.XRNI) Slot 03: +0622:Global:Paketti: ∿ Load Instrument (.XRNI) Slot 04: +0623:Global:Paketti: ∿ Load Instrument (.XRNI) Slot 05: +0624:Global:Paketti: ∿ Load Instrument (.XRNI) Slot 06: +0625:Global:Paketti: ∿ Load Instrument (.XRNI) Slot 07: +0626:Global:Paketti: ∿ Load Instrument (.XRNI) Slot 08: +0627:Global:Paketti: ∿ Load Instrument (.XRNI) Slot 09: +0628:Global:Paketti: ∿ Load Instrument (.XRNI) Slot 10: +0629:Global:Paketti: ∿ Load Both Instrument&Device Chain (.XRNI&.XRNT) Slot 01: +0630:Global:Paketti: ∿ Load Both Instrument&Device Chain (.XRNI&.XRNT) Slot 02: +0631:Global:Paketti: ∿ Load Both Instrument&Device Chain (.XRNI&.XRNT) Slot 03: +0632:Global:Paketti: ∿ Load Both Instrument&Device Chain (.XRNI&.XRNT) Slot 04: +0633:Global:Paketti: ∿ Load Both Instrument&Device Chain (.XRNI&.XRNT) Slot 05: +0634:Global:Paketti: ∿ Load Both Instrument&Device Chain (.XRNI&.XRNT) Slot 06: +0635:Global:Paketti: ∿ Load Both Instrument&Device Chain (.XRNI&.XRNT) Slot 07: +0636:Global:Paketti: ∿ Load Both Instrument&Device Chain (.XRNI&.XRNT) Slot 08: +0637:Global:Paketti: ∿ Load Both Instrument&Device Chain (.XRNI&.XRNT) Slot 09: +0638:Global:Paketti: ∿ Load Both Instrument&Device Chain (.XRNI&.XRNT) Slot 10: +0639:Global:Transport: ∿ Reset SBx and Start Playback: +0640:Global:Paketti: ∿ Crossfade Loop: Shift + Command + C +0641:Global:Paketti: ∿ Flood Fill Column with Row: +0642:Global:Paketti: ∿ Repeater 1 / 1 Even: +0643:Global:Paketti: ∿ Repeater 1 / 1 Triplet: +0644:Global:Paketti: ∿ Repeater 1 / 1 Dotted: +0645:Global:Paketti: ∿ Repeater 1 / 2 Even: +0646:Global:Paketti: ∿ Repeater 1 / 2 Triplet: +0647:Global:Paketti: ∿ Repeater 1 / 2 Dotted: +0648:Global:Paketti: ∿ Repeater 1 / 4 Even: +0649:Global:Paketti: ∿ Repeater 1 / 4 Triplet: +0650:Global:Paketti: ∿ Repeater 1 / 4 Dotted: +0651:Global:Paketti: ∿ Repeater 1 / 8 Even: +0652:Global:Paketti: ∿ Repeater 1 / 8 Triplet: +0653:Global:Paketti: ∿ Repeater 1 / 8 Dotted: +0654:Global:Paketti: ∿ Repeater 1 / 16 Even: +0655:Global:Paketti: ∿ Repeater 1 / 16 Triplet: +0656:Global:Paketti: ∿ Repeater 1 / 16 Dotted: +0657:Global:Paketti: ∿ Repeater 1 / 32 Even: +0658:Global:Paketti: ∿ Repeater 1 / 32 Triplet: +0659:Global:Paketti: ∿ Repeater 1 / 32 Dotted: +0660:Global:Paketti: ∿ Repeater 1 / 64 Even: +0661:Global:Paketti: ∿ Repeater 1 / 64 Triplet: +0662:Global:Paketti: ∿ Repeater 1 / 64 Dotted: +0663:Global:Paketti: ∿ Repeater 1 / 128 Even: +0664:Global:Paketti: ∿ Repeater 1 / 128 Triplet: +0665:Global:Paketti: ∿ Repeater 1 / 128 Dotted: +0666:Global:Tools: ∿ Randomize Effect Column Smatter (C00/C0F): +0667:Global:Tools: ∿ Randomize Effect Column Smatter (0G Glide): +0668:Global:Tools: ∿ Randomize Effect Column Smatter (0U Slide Up): +0669:Global:Tools: ∿ Randomize Effect Column Smatter (0D Slide Down): +0670:Global:Tools: ∿ Randomize Effect Column Smatter (0R Retrig): +0671:Global:Tools: ∿ Randomize Effect Column Smatter (0P Panning): +0672:Global:Tools: ∿ Randomize Effect Column Smatter (0B00/0B01): +0673:Global:Tools: ∿ Randomize Effect Column Fill (C00/C0F): +0674:Global:Tools: ∿ Randomize Effect Column Fill (0G Glide): +0675:Global:Tools: ∿ Randomize Effect Column Fill (0U Slide Up): +0676:Global:Tools: ∿ Randomize Effect Column Fill (0D Slide Down): +0677:Global:Tools: ∿ Randomize Effect Column Fill (0R Retrig): +0678:Global:Tools: ∿ Randomize Effect Column Fill (0P Panning): +0679:Global:Tools: ∿ Randomize Effect Column Fill (0B00/0B01): +0680:Global:Paketti: ∿ Toggle Solo Tracks: Command + F10 +0681:Global:Paketti: ∿ Toggle Mute Tracks: Command + F9 +0682:Global:Paketti: ∿ Open Visible Pages to Fit Parameters: +0683:Global:Paketti: ∿ Recordammajic9000: +0684:Global:Paketti: ∿ Display Sample Recorder with #Line Input: +0685:Global:Paketti: ∿ Note Off / Caps Lock replacement: +0686:Global:Paketti: ∿ Record to Current Track+Plus: +0687:Global:Paketti: ∿ Open FormulaDevice Dialog...: Command + Control + F +0688:Global:Paketti: ∿ Column Cycle Keyjazz 01: +0689:Global:Paketti: ∿ Column Cycle Keyjazz 02: +0690:Global:Paketti: ∿ Column Cycle Keyjazz 03: +0691:Global:Paketti: ∿ Column Cycle Keyjazz 04: +0692:Global:Paketti: ∿ Column Cycle Keyjazz 05: +0693:Global:Paketti: ∿ Column Cycle Keyjazz 06: +0694:Global:Paketti: ∿ Column Cycle Keyjazz 07: +0695:Global:Paketti: ∿ Column Cycle Keyjazz 08: +0696:Global:Paketti: ∿ Column Cycle Keyjazz 09: +0697:Global:Paketti: ∿ Column Cycle Keyjazz 10: +0698:Global:Paketti: ∿ Column Cycle Keyjazz 11: +0699:Global:Paketti: ∿ Column Cycle Keyjazz 12: Shift + Option + Control + 5 +0700:Global:Paketti: ∿ Start/Stop Column Cycling: +0701:Global:Paketti: ∿ Column Cycle Keyjazz 01_Special: Shift + Option + Control + 1 +0702:Global:Paketti: ∿ Paketti Unison Generator: Option + U +0703:Global:Paketti: ∿ AU/VST/VST3/Native Plugins/Effects Lister Dump: +0704:Global:Paketti: ∿ Dump Current Instrument parameters: +0705:Global:Paketti: ∿ Open External Editor for Plugin: Apostrophe +0706:Global:Paketti: ∿ Open External Editor for Plugin (2nd): +0707:Global:Paketti: ∿ Add Filter & LFO (AutoFilter): Shift + Command + F +0708:Global:Paketti: ∿ Load Rhino 2.1 AU: +0709:Global:Paketti: ∿ Load FabFilter One: Option + Command + F +0710:Global:Paketti: ∿ Load Surge (VST): +0711:Global:Paketti: ∿ Load U-He Zebra (VST): Option + Z +0712:Global:Paketti: ∿ Load Waldorf PPG v2 (VST): +0713:Global:Paketti: ∿ Load Waldorf Attack (VST): +0714:Global:Track Devices: ∿ Load Renoise Analog Filter: +0715:Global:Track Devices: ∿ Load Renoise Bus Compressor: +0716:Global:Track Devices: ∿ Load Renoise Cabinet Simulator: +0717:Global:Track Devices: ∿ Load Renoise Chorus: +0718:Global:Track Devices: ∿ Load Renoise Chorus 2: +0719:Global:Track Devices: ∿ Load Renoise Comb Filter 2: +0720:Global:Track Devices: ∿ Load Renoise Compressor: Shift + H +0721:Global:Track Devices: ∿ Load Renoise Convolver: Shift + C +0722:Global:Track Devices: ∿ Load Renoise DC Offset: +0723:Global:Track Devices: ∿ Load Renoise Delay: +0724:Global:Track Devices: ∿ Load Renoise Digital Filter: +0725:Global:Track Devices: ∿ Load Renoise Distortion 2: +0726:Global:Track Devices: ∿ Load Renoise Doofer: Control + D +0727:Global:Track Devices: ∿ Load Renoise EQ 5: +0728:Global:Track Devices: ∿ Load Renoise EQ 10: +0729:Global:Track Devices: ∿ Load Renoise Exciter: +0730:Global:Track Devices: ∿ Load Renoise Flanger 2: +0731:Global:Track Devices: ∿ Load Renoise Gainer: Shift + G +0732:Global:Track Devices: ∿ Load Renoise Gate 2: +0733:Global:Track Devices: ∿ Load Renoise LofiMat 2: +0734:Global:Track Devices: ∿ Load Renoise Maximizer: Shift + X +0735:Global:Track Devices: ∿ Load Renoise Mixer EQ: +0736:Global:Track Devices: ∿ Load Renoise mpReverb 2: Shift + N +0737:Global:Track Devices: ∿ Load Renoise Multitap: +0738:Global:Track Devices: ∿ Load Renoise Phaser 2: +0739:Global:Track Devices: ∿ Load Renoise Repeater: +0740:Global:Track Devices: ∿ Load Renoise Reverb: +0741:Global:Track Devices: ∿ Load Renoise RingMod 2: +0742:Global:Track Devices: ∿ Load Renoise Stereo Expander: +0743:Global:Track Devices: ∿ Load Renoise #Line Input: Shift + I +0744:Global:Track Devices: ∿ Load Renoise #Multiband Send: Shift + Control + S +0745:Global:Track Devices: ∿ Load Renoise #ReWire Input: +0746:Global:Track Devices: ∿ Load Renoise #Send: Shift + S +0747:Global:Track Devices: ∿ Load Renoise #Sidechain: +0748:Global:Track Devices: ∿ Load Renoise *Formula: Shift + F +0749:Global:Track Devices: ∿ Load Renoise *Hydra: +0750:Global:Track Devices: ∿ Load Renoise *Instr. Automation: Shift + Control + A +0751:Global:Track Devices: ∿ Load Renoise *Instr. Macros: Shift + M +0752:Global:Track Devices: ∿ Load Renoise *Instr. MIDI Control: +0753:Global:Track Devices: ∿ Load Renoise *Key Tracker: +0754:Global:Track Devices: ∿ Load Renoise *LFO: Shift + L +0755:Global:Track Devices: ∿ Load Renoise *Meta Mixer: +0756:Global:Track Devices: ∿ Load Renoise *Signal Follower: +0757:Global:Track Devices: ∿ Load Renoise *Velocity Tracker: +0758:Global:Track Devices: ∿ Load Renoise *XY Pad: +0759:Global:Track Devices: ∿ Load Renoise (Hidden) Chorus: +0760:Global:Track Devices: ∿ Load Renoise (Hidden) Comb Filter: +0761:Global:Track Devices: ∿ Load Renoise (Hidden) Distortion: +0762:Global:Track Devices: ∿ Load Renoise (Hidden) Filter: +0763:Global:Track Devices: ∿ Load Renoise (Hidden) Filter 2: +0764:Global:Track Devices: ∿ Load Renoise (Hidden) Filter 3: +0765:Global:Track Devices: ∿ Load Renoise (Hidden) Flanger: +0766:Global:Track Devices: ∿ Load Renoise (Hidden) Gate: +0767:Global:Track Devices: ∿ Load Renoise (Hidden) LofiMat: +0768:Global:Track Devices: ∿ Load Renoise (Hidden) mpReverb: +0769:Global:Track Devices: ∿ Load Renoise (Hidden) Phaser: +0770:Global:Track Devices: ∿ Load Renoise (Hidden) RingMod: +0771:Global:Track Devices: ∿ Load Renoise (Hidden) Scream Filter: +0772:Global:Track Devices: ∿ Load Renoise (Hidden) Shaper: +0773:Global:Track Devices: ∿ Load Renoise (Hidden) Stutter: +0774:Global:Track Devices: ∿ Load U-He Colour Copy: Option + C +0775:Global:Track Devices: ∿ Load Koen KTGranulator (AU): +0776:Global:Track Devices: ∿ Load Uhbik U-He Runciter: +0777:Global:Track Devices: ∿ Load SphereDelay Maybe?: +0778:Global:Track Devices: ∿ Load D16 Syntorus 2: Shift + A +0779:Global:Track Devices: ∿ Load D16 Toraverb: +0780:Global:Track Devices: ∿ Load D16 Frontier: +0781:Global:Track Devices: ∿ Load D16 Toraverb 2: Shift + T +0782:Global:Track Devices: ∿ Load D16 Repeater: Shift + Control + D +0783:Global:Track Devices: ∿ Load D16 Repeater (2nd): +0784:Global:Track Devices: ∿ Load George Yohng's W1 1: +0785:Global:Track Devices: ∿ Load George Yohng's W1 2: Shift + W +0786:Global:Track Devices: ∿ Load OhmForce Predatohm: +0787:Global:Track Devices: ∿ Load OhmForce Hematohm: +0788:Global:Track Devices: ∿ Load OhmForce OhmBoyz: +0789:Global:Track Devices: ∿ Load QuikQuak FusionField: +0790:Global:Track Devices: ∿ Load Schaack Transient Shaper (VST): Shift + E +0791:Global:Track Devices: ∿ Load FabFilter Pro-Q 3: Shift + Z +0792:Global:Track Devices: ∿ Load FabFilter Pro-Q 3 (VST): +0793:Global:Track Devices: ∿ Load TAL-Reverb 4: Shift + R +0794:Global:Track Devices: ∿ Load TAL-Dub 3 AU: +0795:Global:Track Devices: ∿ Load TAL-Chorus LX: +0796:Global:Track Devices: ∿ Load TAL-Chorus: +0797:Global:Track Devices: ∿ Load ValhallaRoom: +0798:Global:Track Devices: ∿ Load ValhallaShimmer: Shift + Command + V +0799:Global:Track Devices: ∿ Load ValhallaFreqEchoMkI: +0800:Global:Track Devices: ∿ Load ValhallaDelay: Shift + D +0801:Global:Track Devices: ∿ Load ValhallaVintageVerb: Shift + V +0802:Global:Track Devices: ∿ Load ValhallaSpaceModulator (AU): +0803:Global:Track Devices: ∿ Load ValhallaRoom (VST): +0804:Global:Track Devices: ∿ Load ValhallaShimmer (VST): +0805:Global:Track Devices: ∿ Load ValhallaFreqEchoMkI (VST): +0806:Global:Track Devices: ∿ Load ValhallaDelay (VST): +0807:Global:Track Devices: ∿ Load ValhallaVintageVerb (VST): +0808:Global:Track Devices: ∿ Load ValhallaSpaceModulator (VST): +0809:Global:Track Devices: ∿ Load FabFilter Pro-Q (VST): +0810:Global:Track Devices: ∿ Load GRM PitchAccum Stereo (VST): +0811:Global:Track Devices: ∿ Load GRM Delays Stereo (VST): +0812:Global:Track Devices: ∿ Load GRM Reson Stereo (VST): +0813:Global:Track Devices: ∿ Load TAL-Dub 3 (VST): +0814:Global:Track Devices: ∿ Load WatKat (VST): +0815:Global:Track Devices: ∿ Load EQ10+Schaack Transient Shaper (VST): +0816:Global:Paketti: ∿ Open External Editor of Selected Effect: +0817:Global:Paketti: ∿ Hide Track DSP Device External Editors: +0818:Global:Paketti: ∿ Inspect Plugin: +0819:Global:Paketti: ∿ Inspect Device in Slot 2: +0820:Global:Paketti: ∿ Load Modulation Device (01 Volume) AHDSR: +0821:Global:Paketti: ∿ Load Modulation Device (02 Panning) AHDSR: +0822:Global:Paketti: ∿ Load Modulation Device (03 Pitch) AHDSR: +0823:Global:Paketti: ∿ Load Modulation Device (04 Cutoff) AHDSR: +0824:Global:Paketti: ∿ Load Modulation Device (05 Resonance) AHDSR: +0825:Global:Paketti: ∿ Load Modulation Device (06 Drive) AHDSR: +0826:Global:Paketti: ∿ Load Modulation Device (01 Volume) Envelope: +0827:Global:Paketti: ∿ Load Modulation Device (02 Panning) Envelope: +0828:Global:Paketti: ∿ Load Modulation Device (03 Pitch) Envelope: +0829:Global:Paketti: ∿ Load Modulation Device (04 Cutoff) Envelope: +0830:Global:Paketti: ∿ Load Modulation Device (05 Resonance) Envelope: +0831:Global:Paketti: ∿ Load Modulation Device (06 Drive) Envelope: +0832:Global:Paketti: ∿ Load Modulation Device (01 Volume) Fader: +0833:Global:Paketti: ∿ Load Modulation Device (02 Panning) Fader: +0834:Global:Paketti: ∿ Load Modulation Device (03 Pitch) Fader: +0835:Global:Paketti: ∿ Load Modulation Device (04 Cutoff) Fader: +0836:Global:Paketti: ∿ Load Modulation Device (05 Resonance) Fader: +0837:Global:Paketti: ∿ Load Modulation Device (06 Drive) Fader: +0838:Global:Paketti: ∿ Load Modulation Device (01 Volume) Key Tracking: +0839:Global:Paketti: ∿ Load Modulation Device (02 Panning) Key Tracking: +0840:Global:Paketti: ∿ Load Modulation Device (03 Pitch) Key Tracking: +0841:Global:Paketti: ∿ Load Modulation Device (04 Cutoff) Key Tracking: +0842:Global:Paketti: ∿ Load Modulation Device (05 Resonance) Key Tracking: +0843:Global:Paketti: ∿ Load Modulation Device (06 Drive) Key Tracking: +0844:Global:Paketti: ∿ Load Modulation Device (01 Volume) LFO: +0845:Global:Paketti: ∿ Load Modulation Device (02 Panning) LFO: +0846:Global:Paketti: ∿ Load Modulation Device (03 Pitch) LFO: +0847:Global:Paketti: ∿ Load Modulation Device (04 Cutoff) LFO: +0848:Global:Paketti: ∿ Load Modulation Device (05 Resonance) LFO: +0849:Global:Paketti: ∿ Load Modulation Device (06 Drive) LFO: +0850:Global:Paketti: ∿ Load Modulation Device (01 Volume) Operand: +0851:Global:Paketti: ∿ Load Modulation Device (02 Panning) Operand: +0852:Global:Paketti: ∿ Load Modulation Device (03 Pitch) Operand: +0853:Global:Paketti: ∿ Load Modulation Device (04 Cutoff) Operand: +0854:Global:Paketti: ∿ Load Modulation Device (05 Resonance) Operand: +0855:Global:Paketti: ∿ Load Modulation Device (06 Drive) Operand: +0856:Global:Paketti: ∿ Load Modulation Device (01 Volume) Stepper: +0857:Global:Paketti: ∿ Load Modulation Device (02 Panning) Stepper: +0858:Global:Paketti: ∿ Load Modulation Device (03 Pitch) Stepper: +0859:Global:Paketti: ∿ Load Modulation Device (04 Cutoff) Stepper: +0860:Global:Paketti: ∿ Load Modulation Device (05 Resonance) Stepper: +0861:Global:Paketti: ∿ Load Modulation Device (06 Drive) Stepper: +0862:Global:Paketti: ∿ Load Modulation Device (01 Volume) Velocity Tracking: +0863:Global:Paketti: ∿ Load Modulation Device (02 Panning) Velocity Tracking: +0864:Global:Paketti: ∿ Load Modulation Device (03 Pitch) Velocity Tracking: +0865:Global:Paketti: ∿ Load Modulation Device (04 Cutoff) Velocity Tracking: +0866:Global:Paketti: ∿ Load Modulation Device (05 Resonance) Velocity Tracking: +0867:Global:Paketti: ∿ Load Modulation Device (06 Drive) Velocity Tracking: +0868:Global:Paketti: ∿ Expose/Hide Selected Device Parameters in Mixer: +0869:Global:Paketti: ∿ Expose/Hide Selected Track ALL Device Parameters: +0870:Global:Paketti: ∿ Bypass All Devices on Track: +0871:Global:Paketti: ∿ Enable All Devices on Track: +0872:Global:Paketti: ∿ Bypass All Devices on All Tracks: +0873:Global:Paketti: ∿ Enable All Devices on All Tracks: +0874:Global:Paketti: ∿ Insert Stereo -> Mono device to Beginning of DSP Chain: +0875:Global:Paketti: ∿ Insert Stereo -> Mono device to End of DSP Chain: Option + S +0876:Global:Paketti: ∿ Insert Stereo -> Mono device to Beginning of Master: +0877:Global:Paketti: ∿ Insert Stereo -> Mono device to End of Master: +0878:Global:Paketti: ∿ Hide Track DSP Device External Editors for All Tracks: Command + H +0879:Global:Paketti: ∿ Show/Hide Track DSP and FX Chain Device External Editors: Shift + Command + H +0880:Global:Paketti: ∿ Randomize Devices and Plugins Dialog: +0881:Global:Paketti: ∿ Randomize Selected Device with User1 (%): +0882:Global:Paketti: ∿ Randomize Selected Device with User2 (%): +0883:Global:Paketti: ∿ Randomize Selected Device with User3 (%): +0884:Global:Paketti: ∿ Randomize Selected Device with User4 (%): +0885:Global:Paketti: ∿ Randomize Selected Device with User5 (%): +0886:Global:Paketti: ∿ Randomize All Devices of Track with User1 (%): +0887:Global:Paketti: ∿ Randomize All Devices of Track with User2 (%): +0888:Global:Paketti: ∿ Randomize All Devices of Track with User3 (%): +0889:Global:Paketti: ∿ Randomize All Devices of Track with User4 (%): +0890:Global:Paketti: ∿ Randomize All Devices of Track with User5 (%): +0891:Global:Paketti: ∿ Randomize Selected Plugin with User1 (%): +0892:Global:Paketti: ∿ Randomize Selected Plugin with User2 (%): +0893:Global:Paketti: ∿ Randomize Selected Plugin with User3 (%): +0894:Global:Paketti: ∿ Randomize Selected Plugin with User4 (%): +0895:Global:Paketti: ∿ Randomize Selected Plugin with User5 (%): +0896:Global:Paketti: ∿ Randomize All Plugins in Song with User1 (%): +0897:Global:Paketti: ∿ Randomize All Plugins in Song with User2 (%): +0898:Global:Paketti: ∿ Randomize All Plugins in Song with User3 (%): +0899:Global:Paketti: ∿ Randomize All Plugins in Song with User4 (%): +0900:Global:Paketti: ∿ Randomize All Plugins in Song with User5 (%): +0901:Global:Paketti: ∿ Randomize Selected Plugin: +0902:Global:Paketti: ∿ Randomize Selected Device: Option + R +0903:Global:Paketti: ∿ Clear All TrackDSPs from Current Track: Shift + Option + T +0904:Global:Paketti: ∿ Insert Inverter Device to TrackDSP/SampleFX: Option + I +0905:Global:Paketti: ∿ Wipe Phrases on Selected Instrument: +0906:Global:Paketti: ∿ Load XRNI & Wipe Phrases: +0907:Global:Paketti: ∿ Load XRNI & Disable Phrases: +0908:Global:Paketti: ∿ Load XRNI & Keep Phrases: +0909:Global:Paketti: ∿ Load New Instrument with Current Slice Markers: +0910:Global:Paketti: ∿ Toggle Auto-Open Track Devices: +0911:Global:Paketti: ∿ Show XO Plugin External Editor: +0912:Global:Paketti: ∿ Quantization Decrease (-1): +0913:Global:Paketti: ∿ Quantization Increase (+1): +0914:Global:Paketti: ∿ Metronome LPB Decrease (-1): +0915:Global:Paketti: ∿ Metronome LPB Increase (+1): +0916:Global:Paketti: ∿ Metronome BPB Decrease (-1): +0917:Global:Paketti: ∿ Metronome BPB Increase (+1): +0918:Global:Paketti: ∿ LPB Decrease (-1): +0919:Global:Paketti: ∿ LPB Increase (+1): +0920:Global:Paketti: ∿ TPL Decrease (-1): +0921:Global:Paketti: ∿ TPL Increase (+1): +0922:Global:Paketti: ∿ Solo Channel + Play + Follow: +0923:Global:Paketti: ∿ Uncollapse All Tracks: +0924:Global:Paketti: ∿ Collapse All Tracks: +0925:Global:Paketti: ∿ Computer Keyboard Velocity (-1): +0926:Global:Paketti: ∿ Computer Keyboard Velocity (+1): +0927:Global:Paketti: ∿ Computer Keyboard Velocity (-10): +0928:Global:Paketti: ∿ Computer Keyboard Velocity (+10): +0929:Global:Paketti: ∿ Set Keyboard Velocity to 10: +0930:Global:Paketti: ∿ Set Keyboard Velocity to 20: +0931:Global:Paketti: ∿ Set Keyboard Velocity to 30: +0932:Global:Paketti: ∿ Set Keyboard Velocity to 40: +0933:Global:Paketti: ∿ Set Keyboard Velocity to 50: +0934:Global:Paketti: ∿ Set Keyboard Velocity to 60: +0935:Global:Paketti: ∿ Set Keyboard Velocity to 70: +0936:Global:Paketti: ∿ Toggle Keyboard Velocity: +0937:Global:Paketti: ∿ Set Keyboard Velocity to 7F (Max): +0938:Global:Paketti: ∿ Set Keyboard Velocity to 00 (Min): +0939:Global:Paketti: ∿ BPM Decrease (-1): Backslash +0940:Global:Paketti: ∿ BPM Increase (+1): Shift + Backslash +0941:Global:Paketti: ∿ BPM Decrease (-0.1): Shift + RBracket +0942:Global:Paketti: ∿ BPM Increase (+0.1): Command + RBracket +0943:Global:Paketti: ∿ BPM Decrease (-0.5): Shift + Control + Backslash +0944:Global:Paketti: ∿ BPM Increase (+0.5): Control + Backslash +0945:Global:Paketti: ∿ Play at 75% Speed (Song BPM): +0946:Global:Paketti: ∿ Play at 100% Speed (Song BPM): +0947:Global:Paketti: ∿ Random BPM from List: +0948:Global:Paketti: ∿ Select Specific Track 01: Shift + 1 +0949:Global:Paketti: ∿ Select Specific Track 02: Shift + 2 +0950:Global:Paketti: ∿ Select Specific Track 03: Shift + 3 +0951:Global:Paketti: ∿ Select Specific Track 04: Shift + 4 +0952:Global:Paketti: ∿ Select Specific Track 05: Shift + 5 +0953:Global:Paketti: ∿ Select Specific Track 06: Shift + 6 +0954:Global:Paketti: ∿ Select Specific Track 07: Shift + 7 +0955:Global:Paketti: ∿ Select Specific Track 08: Shift + 8 +0956:Global:Paketti: ∿ Select Specific Track 09: Shift + 9 +0957:Global:Paketti: ∿ Select Specific Track 10: Shift + 0 +0958:Global:Paketti: ∿ Select Specific Track 11: +0959:Global:Paketti: ∿ Select Specific Track 12: +0960:Global:Paketti: ∿ Select Specific Track 13: +0961:Global:Paketti: ∿ Select Specific Track 14: +0962:Global:Paketti: ∿ Select Specific Track 15: +0963:Global:Paketti: ∿ Select Specific Track 16: +0964:Global:Paketti: ∿ Clone Current Pattern to Current Sequence: +0965:Global:Paketti: ∿ Clone Current Pattern to Current Sequence (2nd): +0966:Global:Paketti: ∿ Clone Current Pattern to Current Sequence (3rd): +0967:Global:Paketti: ∿ Toggle Edit Mode and Tint Track: +0968:Global:Paketti: ∿ Duplicate Effect Column Content to Pattern or Selection: Option + X +0969:Global:Paketti: ∿ Randomize Effect Column Parameters: Shift + Option + X +0970:Global:Paketti: ∿ Wipe Selected Track TrackDSPs: Control + X +0971:Global:Paketti: ∿ Insert Random Delay to Selected Row: +0972:Global:Paketti: ∿ Insert Random Panning to Selected Row: +0973:Global:Paketti: ∿ Insert Random Volume to Selected Row: +0974:Global:Paketti: ∿ Clone and Expand Pattern to LPB*2: +0975:Global:Paketti: ∿ Clone and Shrink Pattern to LPB/2: +0976:Global:Tools: ∿ Toggle Match EditStep with Note Placement: +0977:Global:Paketti: ∿ Set Random EditStep 0-64: +0978:Global:Paketti: ∿ Set Random EditStep 1-64: +0979:Global:Paketti: ∿ Divide LPB by 4, return to Original: +0980:Global:Paketti: ∿ Set All Tracks to Center: +0981:Global:Paketti: ∿ Hide All Effect Columns: +0982:Global:Paketti: ∿ Move Track Left: +0983:Global:Paketti: ∿ Move Track Right: +0984:Global:Paketti: ∿ Set Selected Sample Loop Release On/Off: +0985:Global:Paketti: ∿ Set Selected Sample One-Shot On/Off: +0986:Global:Paketti: ∿ Set Selected Sample Loop 1 (Off): +0987:Global:Paketti: ∿ Set Selected Sample Loop 2 (Forward): +0988:Global:Paketti: ∿ Set Selected Sample Loop 3 (Backward): +0989:Global:Paketti: ∿ Set Selected Sample Loop 4 (PingPong): +0990:Global:Paketti: ∿ Set Selected Sample Transpose (-1): +0991:Global:Paketti: ∿ Set Selected Sample Transpose (+1): +0992:Global:Paketti: ∿ Set Selected Sample Transpose (-12): +0993:Global:Paketti: ∿ Set Selected Sample Transpose (+12): +0994:Global:Paketti: ∿ Selected Sample Transpose (0): +0995:Global:Paketti: ∿ Set Selected Sample Finetune (-1): +0996:Global:Paketti: ∿ Set Selected Sample Finetune (+1): +0997:Global:Paketti: ∿ Set Selected Sample Finetune (-10): +0998:Global:Paketti: ∿ Set Selected Sample Finetune (+10): +0999:Global:Paketti: ∿ Set Selected Sample Finetune (0): +1000:Global:Paketti: ∿ Set Selected Sample Panning 0.5 (Center): +1001:Global:Paketti: ∿ Set Selected Sample Panning 0.0 (Left): +1002:Global:Paketti: ∿ Set Selected Sample Panning 1.0 (Right): +1003:Global:Paketti: ∿ Set Selected Sample Panning (+0.01): +1004:Global:Paketti: ∿ Set Selected Sample Panning (-0.01): +1005:Global:Paketti: ∿ Set Selected Sample Volume (+0.01): +1006:Global:Paketti: ∿ Set Selected Sample Volume (-0.01): +1007:Global:Paketti: ∿ Set Selected Sample Volume Reset (0.0dB): +1008:Global:Paketti: ∿ Set Selected Sample Interpolation to 1 (None): +1009:Global:Paketti: ∿ Set Selected Sample Interpolation to 2 (Linear): +1010:Global:Paketti: ∿ Set Selected Sample Interpolation to 3 (Cubic): +1011:Global:Paketti: ∿ Set Selected Sample Interpolation to 4 (Sinc): +1012:Global:Paketti: ∿ Set Selected Sample Oversample On: +1013:Global:Paketti: ∿ Set Selected Sample Oversample Off: +1014:Global:Paketti: ∿ Set Selected Sample Oversample On/Off: +1015:Global:Paketti: ∿ Set Selected Sample Beatsync 1 (Repitch): +1016:Global:Paketti: ∿ Set Selected Sample Beatsync 2 (Time-Stretch Percussion): +1017:Global:Paketti: ∿ Set Selected Sample Beatsync 3 (Time-Stretch Texture): +1018:Global:Paketti: ∿ Set Selected Sample Beatsync On/Off 1 (Repitch): +1019:Global:Paketti: ∿ Set Selected Sample Beatsync On/Off 2 (Time-Stretch Percussion): +1020:Global:Paketti: ∿ Set Selected Sample Beatsync On/Off 3 (Time-Stretch Texture): +1021:Global:Paketti: ∿ Set Selected Sample Beatsync On/Off: +1022:Global:Paketti: ∿ Set Selected Sample Beatsync Line (+1): +1023:Global:Paketti: ∿ Set Selected Sample Beatsync Line (-1): +1024:Global:Paketti: ∿ Set Selected Sample Autofade On/Off: +1025:Global:Paketti: ∿ Set Selected Sample Autoseek On/Off: +1026:Global:Paketti: ∿ Set Selected Sample NNA to 1 (Cut): +1027:Global:Paketti: ∿ Set Selected Sample NNA to 2 (Note-Off): +1028:Global:Paketti: ∿ Set Selected Sample NNA to 3 (Continue): +1029:Global:Paketti: ∿ Set Selected Sample Mute Group to 0 (Off): +1030:Global:Paketti: ∿ Set Selected Sample Mute Group to 1: +1031:Global:Paketti: ∿ Set Selected Sample Mute Group to 2: +1032:Global:Paketti: ∿ Set Selected Sample Mute Group to 3: +1033:Global:Paketti: ∿ Set Selected Sample Mute Group to 4: +1034:Global:Paketti: ∿ Set Selected Sample Mute Group to 5: +1035:Global:Paketti: ∿ Set Selected Sample Mute Group to 6: +1036:Global:Paketti: ∿ Set Selected Sample Mute Group to 7: +1037:Global:Paketti: ∿ Set Selected Sample Mute Group to 8: +1038:Global:Paketti: ∿ Set Selected Sample Mute Group to 9: +1039:Global:Paketti: ∿ Set Selected Sample Mute Group to A: +1040:Global:Paketti: ∿ Set Selected Sample Mute Group to B: +1041:Global:Paketti: ∿ Set Selected Sample Mute Group to C: +1042:Global:Paketti: ∿ Set Selected Sample Mute Group to D: +1043:Global:Paketti: ∿ Set Selected Sample Mute Group to E: +1044:Global:Paketti: ∿ Set Selected Sample Mute Group to F: +1045:Global:Paketti: ∿ Set Selected Track Output Routing 00: +1046:Global:Paketti: ∿ Set Selected Track Output Routing 01: +1047:Global:Paketti: ∿ Set Selected Track Output Routing 02: +1048:Global:Paketti: ∿ Set Selected Track Output Routing 03: +1049:Global:Paketti: ∿ Set Selected Track Output Routing 04: +1050:Global:Paketti: ∿ Set Selected Track Output Routing 05: +1051:Global:Paketti: ∿ Set Selected Track Output Routing 06: +1052:Global:Paketti: ∿ Set Selected Track Output Routing 07: +1053:Global:Paketti: ∿ Set Selected Track Output Routing 08: +1054:Global:Paketti: ∿ Set Selected Track Output Routing 09: +1055:Global:Paketti: ∿ Set Selected Track Output Routing 10: +1056:Global:Paketti: ∿ Set Selected Track Output Routing 11: +1057:Global:Paketti: ∿ Set Selected Track Output Routing 12: +1058:Global:Paketti: ∿ Set Selected Track Output Routing 13: +1059:Global:Paketti: ∿ Set Selected Track Output Routing 14: +1060:Global:Paketti: ∿ Set Selected Track Output Routing 15: +1061:Global:Paketti: ∿ Set Selected Track Output Routing 16: +1062:Global:Paketti: ∿ Set Selected Track Output Routing 17: +1063:Global:Paketti: ∿ Set Selected Track Output Routing 18: +1064:Global:Paketti: ∿ Set Selected Track Output Routing 19: +1065:Global:Paketti: ∿ Set Selected Track Output Routing 20: +1066:Global:Paketti: ∿ Set Selected Track Output Routing 21: +1067:Global:Paketti: ∿ Set Selected Track Output Routing 22: +1068:Global:Paketti: ∿ Set Selected Track Output Routing 23: +1069:Global:Paketti: ∿ Set Selected Track Output Routing 24: +1070:Global:Paketti: ∿ Set Selected Track Output Routing 25: +1071:Global:Paketti: ∿ Set Selected Track Output Routing 26: +1072:Global:Paketti: ∿ Set Selected Track Output Routing 27: +1073:Global:Paketti: ∿ Set Selected Track Output Routing 28: +1074:Global:Paketti: ∿ Set Selected Track Output Routing 29: +1075:Global:Paketti: ∿ Set Selected Track Output Routing 30: +1076:Global:Paketti: ∿ Set Selected Track Output Routing 31: +1077:Global:Paketti: ∿ Set Selected Track Output Routing 32: +1078:Global:Paketti: ∿ Set Selected Track Output Routing 33: +1079:Global:Paketti: ∿ Set Selected Track Output Routing 34: +1080:Global:Paketti: ∿ Set Selected Track Output Routing 35: +1081:Global:Paketti: ∿ Set Selected Track Output Routing 36: +1082:Global:Paketti: ∿ Set Selected Track Output Routing 37: +1083:Global:Paketti: ∿ Set Selected Track Output Routing 38: +1084:Global:Paketti: ∿ Set Selected Track Output Routing 39: +1085:Global:Paketti: ∿ Set Selected Track Output Routing 40: +1086:Global:Paketti: ∿ Set Selected Track Output Routing 41: +1087:Global:Paketti: ∿ Set Selected Track Output Routing 42: +1088:Global:Paketti: ∿ Set Selected Track Output Routing 43: +1089:Global:Paketti: ∿ Set Selected Track Output Routing 44: +1090:Global:Paketti: ∿ Set Selected Track Output Routing 45: +1091:Global:Paketti: ∿ Set Selected Track Output Routing 46: +1092:Global:Paketti: ∿ Set Selected Track Output Routing 47: +1093:Global:Paketti: ∿ Set Selected Track Output Routing 48: +1094:Global:Paketti: ∿ Set Selected Track Output Routing 49: +1095:Global:Paketti: ∿ Set Selected Track Output Routing 50: +1096:Global:Paketti: ∿ Set Selected Track Output Routing 51: +1097:Global:Paketti: ∿ Set Selected Track Output Routing 52: +1098:Global:Paketti: ∿ Set Selected Track Output Routing 53: +1099:Global:Paketti: ∿ Set Selected Track Output Routing 54: +1100:Global:Paketti: ∿ Set Selected Track Output Routing 55: +1101:Global:Paketti: ∿ Set Selected Track Output Routing 56: +1102:Global:Paketti: ∿ Set Selected Track Output Routing 57: +1103:Global:Paketti: ∿ Set Selected Track Output Routing 58: +1104:Global:Paketti: ∿ Set Selected Track Output Routing 59: +1105:Global:Paketti: ∿ Set Selected Track Output Routing 60: +1106:Global:Paketti: ∿ Set Selected Track Output Routing 61: +1107:Global:Paketti: ∿ Set Selected Track Output Routing 62: +1108:Global:Paketti: ∿ Set Selected Track Output Routing 63: +1109:Global:Paketti: ∿ Set Master Track Output Routing 00: +1110:Global:Paketti: ∿ Set Master Track Output Routing 01: +1111:Global:Paketti: ∿ Set Master Track Output Routing 02: +1112:Global:Paketti: ∿ Set Master Track Output Routing 03: +1113:Global:Paketti: ∿ Set Master Track Output Routing 04: +1114:Global:Paketti: ∿ Set Master Track Output Routing 05: +1115:Global:Paketti: ∿ Set Master Track Output Routing 06: +1116:Global:Paketti: ∿ Set Master Track Output Routing 07: +1117:Global:Paketti: ∿ Set Master Track Output Routing 08: +1118:Global:Paketti: ∿ Set Master Track Output Routing 09: +1119:Global:Paketti: ∿ Set Master Track Output Routing 10: +1120:Global:Paketti: ∿ Set Master Track Output Routing 11: +1121:Global:Paketti: ∿ Set Master Track Output Routing 12: +1122:Global:Paketti: ∿ Set Master Track Output Routing 13: +1123:Global:Paketti: ∿ Set Master Track Output Routing 14: +1124:Global:Paketti: ∿ Set Master Track Output Routing 15: +1125:Global:Paketti: ∿ Set Master Track Output Routing 16: +1126:Global:Paketti: ∿ Set Master Track Output Routing 17: +1127:Global:Paketti: ∿ Set Master Track Output Routing 18: +1128:Global:Paketti: ∿ Set Master Track Output Routing 19: +1129:Global:Paketti: ∿ Set Master Track Output Routing 20: +1130:Global:Paketti: ∿ Set Master Track Output Routing 21: +1131:Global:Paketti: ∿ Set Master Track Output Routing 22: +1132:Global:Paketti: ∿ Set Master Track Output Routing 23: +1133:Global:Paketti: ∿ Set Master Track Output Routing 24: +1134:Global:Paketti: ∿ Set Master Track Output Routing 25: +1135:Global:Paketti: ∿ Set Master Track Output Routing 26: +1136:Global:Paketti: ∿ Set Master Track Output Routing 27: +1137:Global:Paketti: ∿ Set Master Track Output Routing 28: +1138:Global:Paketti: ∿ Set Master Track Output Routing 29: +1139:Global:Paketti: ∿ Set Master Track Output Routing 30: +1140:Global:Paketti: ∿ Set Master Track Output Routing 31: +1141:Global:Paketti: ∿ Set Master Track Output Routing 32: +1142:Global:Paketti: ∿ Set Master Track Output Routing 33: +1143:Global:Paketti: ∿ Set Master Track Output Routing 34: +1144:Global:Paketti: ∿ Set Master Track Output Routing 35: +1145:Global:Paketti: ∿ Set Master Track Output Routing 36: +1146:Global:Paketti: ∿ Set Master Track Output Routing 37: +1147:Global:Paketti: ∿ Set Master Track Output Routing 38: +1148:Global:Paketti: ∿ Set Master Track Output Routing 39: +1149:Global:Paketti: ∿ Set Master Track Output Routing 40: +1150:Global:Paketti: ∿ Set Master Track Output Routing 41: +1151:Global:Paketti: ∿ Set Master Track Output Routing 42: +1152:Global:Paketti: ∿ Set Master Track Output Routing 43: +1153:Global:Paketti: ∿ Set Master Track Output Routing 44: +1154:Global:Paketti: ∿ Set Master Track Output Routing 45: +1155:Global:Paketti: ∿ Set Master Track Output Routing 46: +1156:Global:Paketti: ∿ Set Master Track Output Routing 47: +1157:Global:Paketti: ∿ Set Master Track Output Routing 48: +1158:Global:Paketti: ∿ Set Master Track Output Routing 49: +1159:Global:Paketti: ∿ Set Master Track Output Routing 50: +1160:Global:Paketti: ∿ Set Master Track Output Routing 51: +1161:Global:Paketti: ∿ Set Master Track Output Routing 52: +1162:Global:Paketti: ∿ Set Master Track Output Routing 53: +1163:Global:Paketti: ∿ Set Master Track Output Routing 54: +1164:Global:Paketti: ∿ Set Master Track Output Routing 55: +1165:Global:Paketti: ∿ Set Master Track Output Routing 56: +1166:Global:Paketti: ∿ Set Master Track Output Routing 57: +1167:Global:Paketti: ∿ Set Master Track Output Routing 58: +1168:Global:Paketti: ∿ Set Master Track Output Routing 59: +1169:Global:Paketti: ∿ Set Master Track Output Routing 60: +1170:Global:Paketti: ∿ Set Master Track Output Routing 61: +1171:Global:Paketti: ∿ Set Master Track Output Routing 62: +1172:Global:Paketti: ∿ Set Master Track Output Routing 63: +1173:Global:Paketti: ∿ Set Selected Sample Beatsync Line (Power of Two Above): +1174:Global:Paketti: ∿ Set Selected Sample Beatsync Line (Power of Two Below): +1175:Global:Paketti: ∿ Toggle Sequence Selection 00: +1176:Global:Paketti: ∿ Toggle Sequence Selection 01: +1177:Global:Paketti: ∿ Toggle Sequence Selection 02: +1178:Global:Paketti: ∿ Toggle Sequence Selection 03: +1179:Global:Paketti: ∿ Toggle Sequence Selection 04: +1180:Global:Paketti: ∿ Toggle Sequence Selection 05: +1181:Global:Paketti: ∿ Toggle Sequence Selection 06: +1182:Global:Paketti: ∿ Toggle Sequence Selection 07: +1183:Global:Paketti: ∿ Toggle Sequence Selection 08: +1184:Global:Paketti: ∿ Toggle Sequence Selection 09: +1185:Global:Paketti: ∿ Toggle Sequence Selection 10: +1186:Global:Paketti: ∿ Toggle Sequence Selection 11: +1187:Global:Paketti: ∿ Toggle Sequence Selection 12: +1188:Global:Paketti: ∿ Toggle Sequence Selection 13: +1189:Global:Paketti: ∿ Toggle Sequence Selection 14: +1190:Global:Paketti: ∿ Toggle Sequence Selection 15: +1191:Global:Paketti: ∿ Toggle Sequence Selection 16: +1192:Global:Paketti: ∿ Toggle Sequence Selection 17: +1193:Global:Paketti: ∿ Toggle Sequence Selection 18: +1194:Global:Paketti: ∿ Toggle Sequence Selection 19: +1195:Global:Paketti: ∿ Toggle Sequence Selection 20: +1196:Global:Paketti: ∿ Toggle Sequence Selection 21: +1197:Global:Paketti: ∿ Toggle Sequence Selection 22: +1198:Global:Paketti: ∿ Toggle Sequence Selection 23: +1199:Global:Paketti: ∿ Toggle Sequence Selection 24: +1200:Global:Paketti: ∿ Toggle Sequence Selection 25: +1201:Global:Paketti: ∿ Toggle Sequence Selection 26: +1202:Global:Paketti: ∿ Toggle Sequence Selection 27: +1203:Global:Paketti: ∿ Toggle Sequence Selection 28: +1204:Global:Paketti: ∿ Toggle Sequence Selection 29: +1205:Global:Paketti: ∿ Toggle Sequence Selection 30: +1206:Global:Paketti: ∿ Toggle Sequence Selection 31: +1207:Global:Paketti: ∿ Toggle Sequence Selection 32: +1208:Global:Paketti: ∿ Toggle Sequence Selection to Loop: +1209:Global:Paketti: ∿ Toggle Sequence Selection (All) On/Off: +1210:Global:Paketti: ∿ Set Sequence Selection Off: +1211:Global:Paketti: ∿ Toggle Current Sequence Selection On/Off: +1212:Global:Paketti: ∿ Select and Loop Sequence Section 01: +1213:Global:Paketti: ∿ Select and Loop Sequence Section 02: +1214:Global:Paketti: ∿ Select and Loop Sequence Section 03: +1215:Global:Paketti: ∿ Select and Loop Sequence Section 04: +1216:Global:Paketti: ∿ Select and Loop Sequence Section 05: +1217:Global:Paketti: ∿ Select and Loop Sequence Section 06: +1218:Global:Paketti: ∿ Select and Loop Sequence Section 07: +1219:Global:Paketti: ∿ Select and Loop Sequence Section 08: +1220:Global:Paketti: ∿ Select and Loop Sequence Section 09: +1221:Global:Paketti: ∿ Select and Loop Sequence Section 10: +1222:Global:Paketti: ∿ Select and Loop Sequence Section 11: +1223:Global:Paketti: ∿ Select and Loop Sequence Section 12: +1224:Global:Paketti: ∿ Select and Loop Sequence Section 13: +1225:Global:Paketti: ∿ Select and Loop Sequence Section 14: +1226:Global:Paketti: ∿ Select and Loop Sequence Section 15: +1227:Global:Paketti: ∿ Select and Loop Sequence Section 16: +1228:Global:Paketti: ∿ Select and Loop Sequence Section 17: +1229:Global:Paketti: ∿ Select and Loop Sequence Section 18: +1230:Global:Paketti: ∿ Select and Loop Sequence Section 19: +1231:Global:Paketti: ∿ Select and Loop Sequence Section 20: +1232:Global:Paketti: ∿ Select and Loop Sequence Section 21: +1233:Global:Paketti: ∿ Select and Loop Sequence Section 22: +1234:Global:Paketti: ∿ Select and Loop Sequence Section 23: +1235:Global:Paketti: ∿ Select and Loop Sequence Section 24: +1236:Global:Paketti: ∿ Select and Loop Sequence Section 25: +1237:Global:Paketti: ∿ Select and Loop Sequence Section 26: +1238:Global:Paketti: ∿ Select and Loop Sequence Section 27: +1239:Global:Paketti: ∿ Select and Loop Sequence Section 28: +1240:Global:Paketti: ∿ Select and Loop Sequence Section 29: +1241:Global:Paketti: ∿ Select and Loop Sequence Section 30: +1242:Global:Paketti: ∿ Select and Loop Sequence Section 31: +1243:Global:Paketti: ∿ Select and Loop Sequence Section 32: +1244:Global:Paketti: ∿ Select and Loop Section (Next): +1245:Global:Paketti: ∿ Select and Loop Section (Previous): +1246:Global:Paketti: ∿ Set Sequence Loop Selection Off: +1247:Global:Paketti: ∿ Jump to Sequence (Next): +1248:Global:Paketti: ∿ Jump to Sequence (Previous): +1249:Global:Paketti: ∿ Continue Sequence 00 From Same Line: +1250:Global:Paketti: ∿ Continue Sequence 01 From Same Line: +1251:Global:Paketti: ∿ Continue Sequence 02 From Same Line: +1252:Global:Paketti: ∿ Continue Sequence 03 From Same Line: +1253:Global:Paketti: ∿ Continue Sequence 04 From Same Line: +1254:Global:Paketti: ∿ Continue Sequence 05 From Same Line: +1255:Global:Paketti: ∿ Continue Sequence 06 From Same Line: +1256:Global:Paketti: ∿ Continue Sequence 07 From Same Line: +1257:Global:Paketti: ∿ Continue Sequence 08 From Same Line: +1258:Global:Paketti: ∿ Continue Sequence 09 From Same Line: +1259:Global:Paketti: ∿ Continue Sequence 10 From Same Line: +1260:Global:Paketti: ∿ Continue Sequence 11 From Same Line: +1261:Global:Paketti: ∿ Continue Sequence 12 From Same Line: +1262:Global:Paketti: ∿ Continue Sequence 13 From Same Line: +1263:Global:Paketti: ∿ Continue Sequence 14 From Same Line: +1264:Global:Paketti: ∿ Continue Sequence 15 From Same Line: +1265:Global:Paketti: ∿ Continue Sequence 16 From Same Line: +1266:Global:Paketti: ∿ Continue Sequence 17 From Same Line: +1267:Global:Paketti: ∿ Continue Sequence 18 From Same Line: +1268:Global:Paketti: ∿ Continue Sequence 19 From Same Line: +1269:Global:Paketti: ∿ Continue Sequence 20 From Same Line: +1270:Global:Paketti: ∿ Continue Sequence 21 From Same Line: +1271:Global:Paketti: ∿ Continue Sequence 22 From Same Line: +1272:Global:Paketti: ∿ Continue Sequence 23 From Same Line: +1273:Global:Paketti: ∿ Continue Sequence 24 From Same Line: +1274:Global:Paketti: ∿ Continue Sequence 25 From Same Line: +1275:Global:Paketti: ∿ Continue Sequence 26 From Same Line: +1276:Global:Paketti: ∿ Continue Sequence 27 From Same Line: +1277:Global:Paketti: ∿ Continue Sequence 28 From Same Line: +1278:Global:Paketti: ∿ Continue Sequence 29 From Same Line: +1279:Global:Paketti: ∿ Continue Sequence 30 From Same Line: +1280:Global:Paketti: ∿ Continue Sequence 31 From Same Line: +1281:Global:Paketti: ∿ Continue Current Sequence From Same Line: +1282:Global:Paketti: ∿ Selected Specific Sequence 00: +1283:Global:Paketti: ∿ Selected Specific Sequence 01: +1284:Global:Paketti: ∿ Selected Specific Sequence 02: +1285:Global:Paketti: ∿ Selected Specific Sequence 03: +1286:Global:Paketti: ∿ Selected Specific Sequence 04: +1287:Global:Paketti: ∿ Selected Specific Sequence 05: +1288:Global:Paketti: ∿ Selected Specific Sequence 06: +1289:Global:Paketti: ∿ Selected Specific Sequence 07: +1290:Global:Paketti: ∿ Selected Specific Sequence 08: +1291:Global:Paketti: ∿ Selected Specific Sequence 09: +1292:Global:Paketti: ∿ Selected Specific Sequence 10: +1293:Global:Paketti: ∿ Selected Specific Sequence 11: +1294:Global:Paketti: ∿ Selected Specific Sequence 12: +1295:Global:Paketti: ∿ Selected Specific Sequence 13: +1296:Global:Paketti: ∿ Selected Specific Sequence 14: +1297:Global:Paketti: ∿ Selected Specific Sequence 15: +1298:Global:Paketti: ∿ Selected Specific Sequence 16: +1299:Global:Paketti: ∿ Selected Specific Sequence 17: +1300:Global:Paketti: ∿ Selected Specific Sequence 18: +1301:Global:Paketti: ∿ Selected Specific Sequence 19: +1302:Global:Paketti: ∿ Selected Specific Sequence 20: +1303:Global:Paketti: ∿ Selected Specific Sequence 21: +1304:Global:Paketti: ∿ Selected Specific Sequence 22: +1305:Global:Paketti: ∿ Selected Specific Sequence 23: +1306:Global:Paketti: ∿ Selected Specific Sequence 24: +1307:Global:Paketti: ∿ Selected Specific Sequence 25: +1308:Global:Paketti: ∿ Selected Specific Sequence 26: +1309:Global:Paketti: ∿ Selected Specific Sequence 27: +1310:Global:Paketti: ∿ Selected Specific Sequence 28: +1311:Global:Paketti: ∿ Selected Specific Sequence 29: +1312:Global:Paketti: ∿ Selected Specific Sequence 30: +1313:Global:Paketti: ∿ Selected Specific Sequence 31: +1314:Global:Paketti: ∿ Trigger Sequence 00: +1315:Global:Paketti: ∿ Trigger Sequence 01: +1316:Global:Paketti: ∿ Trigger Sequence 02: +1317:Global:Paketti: ∿ Trigger Sequence 03: +1318:Global:Paketti: ∿ Trigger Sequence 04: +1319:Global:Paketti: ∿ Trigger Sequence 05: +1320:Global:Paketti: ∿ Trigger Sequence 06: +1321:Global:Paketti: ∿ Trigger Sequence 07: +1322:Global:Paketti: ∿ Trigger Sequence 08: +1323:Global:Paketti: ∿ Trigger Sequence 09: +1324:Global:Paketti: ∿ Trigger Sequence 10: +1325:Global:Paketti: ∿ Trigger Sequence 11: +1326:Global:Paketti: ∿ Trigger Sequence 12: +1327:Global:Paketti: ∿ Trigger Sequence 13: +1328:Global:Paketti: ∿ Trigger Sequence 14: +1329:Global:Paketti: ∿ Trigger Sequence 15: +1330:Global:Paketti: ∿ Trigger Sequence 16: +1331:Global:Paketti: ∿ Trigger Sequence 17: +1332:Global:Paketti: ∿ Trigger Sequence 18: +1333:Global:Paketti: ∿ Trigger Sequence 19: +1334:Global:Paketti: ∿ Trigger Sequence 20: +1335:Global:Paketti: ∿ Trigger Sequence 21: +1336:Global:Paketti: ∿ Trigger Sequence 22: +1337:Global:Paketti: ∿ Trigger Sequence 23: +1338:Global:Paketti: ∿ Trigger Sequence 24: +1339:Global:Paketti: ∿ Trigger Sequence 25: +1340:Global:Paketti: ∿ Trigger Sequence 26: +1341:Global:Paketti: ∿ Trigger Sequence 27: +1342:Global:Paketti: ∿ Trigger Sequence 28: +1343:Global:Paketti: ∿ Trigger Sequence 29: +1344:Global:Paketti: ∿ Trigger Sequence 30: +1345:Global:Paketti: ∿ Trigger Sequence 31: +1346:Global:Paketti: ∿ Set Sequence 00 as Scheduled List: +1347:Global:Paketti: ∿ Set Sequence 01 as Scheduled List: +1348:Global:Paketti: ∿ Set Sequence 02 as Scheduled List: +1349:Global:Paketti: ∿ Set Sequence 03 as Scheduled List: +1350:Global:Paketti: ∿ Set Sequence 04 as Scheduled List: +1351:Global:Paketti: ∿ Set Sequence 05 as Scheduled List: +1352:Global:Paketti: ∿ Set Sequence 06 as Scheduled List: +1353:Global:Paketti: ∿ Set Sequence 07 as Scheduled List: +1354:Global:Paketti: ∿ Set Sequence 08 as Scheduled List: +1355:Global:Paketti: ∿ Set Sequence 09 as Scheduled List: +1356:Global:Paketti: ∿ Set Sequence 10 as Scheduled List: +1357:Global:Paketti: ∿ Set Sequence 11 as Scheduled List: +1358:Global:Paketti: ∿ Set Sequence 12 as Scheduled List: +1359:Global:Paketti: ∿ Set Sequence 13 as Scheduled List: +1360:Global:Paketti: ∿ Set Sequence 14 as Scheduled List: +1361:Global:Paketti: ∿ Set Sequence 15 as Scheduled List: +1362:Global:Paketti: ∿ Set Sequence 16 as Scheduled List: +1363:Global:Paketti: ∿ Set Sequence 17 as Scheduled List: +1364:Global:Paketti: ∿ Set Sequence 18 as Scheduled List: +1365:Global:Paketti: ∿ Set Sequence 19 as Scheduled List: +1366:Global:Paketti: ∿ Set Sequence 20 as Scheduled List: +1367:Global:Paketti: ∿ Set Sequence 21 as Scheduled List: +1368:Global:Paketti: ∿ Set Sequence 22 as Scheduled List: +1369:Global:Paketti: ∿ Set Sequence 23 as Scheduled List: +1370:Global:Paketti: ∿ Set Sequence 24 as Scheduled List: +1371:Global:Paketti: ∿ Set Sequence 25 as Scheduled List: +1372:Global:Paketti: ∿ Set Sequence 26 as Scheduled List: +1373:Global:Paketti: ∿ Set Sequence 27 as Scheduled List: +1374:Global:Paketti: ∿ Set Sequence 28 as Scheduled List: +1375:Global:Paketti: ∿ Set Sequence 29 as Scheduled List: +1376:Global:Paketti: ∿ Set Sequence 30 as Scheduled List: +1377:Global:Paketti: ∿ Set Sequence 31 as Scheduled List: +1378:Global:Paketti: ∿ Set Current Sequence as Scheduled List: +1379:Global:Paketti: ∿ Add Current Sequence to Scheduled List: +1380:Global:Paketti: ∿ Add Sequence 00 to Scheduled List: +1381:Global:Paketti: ∿ Add Sequence 01 to Scheduled List: +1382:Global:Paketti: ∿ Add Sequence 02 to Scheduled List: +1383:Global:Paketti: ∿ Add Sequence 03 to Scheduled List: +1384:Global:Paketti: ∿ Add Sequence 04 to Scheduled List: +1385:Global:Paketti: ∿ Add Sequence 05 to Scheduled List: +1386:Global:Paketti: ∿ Add Sequence 06 to Scheduled List: +1387:Global:Paketti: ∿ Add Sequence 07 to Scheduled List: +1388:Global:Paketti: ∿ Add Sequence 08 to Scheduled List: +1389:Global:Paketti: ∿ Add Sequence 09 to Scheduled List: +1390:Global:Paketti: ∿ Add Sequence 10 to Scheduled List: +1391:Global:Paketti: ∿ Add Sequence 11 to Scheduled List: +1392:Global:Paketti: ∿ Add Sequence 12 to Scheduled List: +1393:Global:Paketti: ∿ Add Sequence 13 to Scheduled List: +1394:Global:Paketti: ∿ Add Sequence 14 to Scheduled List: +1395:Global:Paketti: ∿ Add Sequence 15 to Scheduled List: +1396:Global:Paketti: ∿ Add Sequence 16 to Scheduled List: +1397:Global:Paketti: ∿ Add Sequence 17 to Scheduled List: +1398:Global:Paketti: ∿ Add Sequence 18 to Scheduled List: +1399:Global:Paketti: ∿ Add Sequence 19 to Scheduled List: +1400:Global:Paketti: ∿ Add Sequence 20 to Scheduled List: +1401:Global:Paketti: ∿ Add Sequence 21 to Scheduled List: +1402:Global:Paketti: ∿ Add Sequence 22 to Scheduled List: +1403:Global:Paketti: ∿ Add Sequence 23 to Scheduled List: +1404:Global:Paketti: ∿ Add Sequence 24 to Scheduled List: +1405:Global:Paketti: ∿ Add Sequence 25 to Scheduled List: +1406:Global:Paketti: ∿ Add Sequence 26 to Scheduled List: +1407:Global:Paketti: ∿ Add Sequence 27 to Scheduled List: +1408:Global:Paketti: ∿ Add Sequence 28 to Scheduled List: +1409:Global:Paketti: ∿ Add Sequence 29 to Scheduled List: +1410:Global:Paketti: ∿ Add Sequence 30 to Scheduled List: +1411:Global:Paketti: ∿ Add Sequence 31 to Scheduled List: +1412:Global:Paketti: ∿ Toggle Sequence Loop to 00: +1413:Global:Paketti: ∿ Toggle Sequence Loop to 01: +1414:Global:Paketti: ∿ Toggle Sequence Loop to 02: +1415:Global:Paketti: ∿ Toggle Sequence Loop to 03: +1416:Global:Paketti: ∿ Toggle Sequence Loop to 04: +1417:Global:Paketti: ∿ Toggle Sequence Loop to 05: +1418:Global:Paketti: ∿ Toggle Sequence Loop to 06: +1419:Global:Paketti: ∿ Toggle Sequence Loop to 07: +1420:Global:Paketti: ∿ Toggle Sequence Loop to 08: +1421:Global:Paketti: ∿ Toggle Sequence Loop to 09: +1422:Global:Paketti: ∿ Toggle Sequence Loop to 10: +1423:Global:Paketti: ∿ Toggle Sequence Loop to 11: +1424:Global:Paketti: ∿ Toggle Sequence Loop to 12: +1425:Global:Paketti: ∿ Toggle Sequence Loop to 13: +1426:Global:Paketti: ∿ Toggle Sequence Loop to 14: +1427:Global:Paketti: ∿ Toggle Sequence Loop to 15: +1428:Global:Paketti: ∿ Toggle Sequence Loop to 16: +1429:Global:Paketti: ∿ Toggle Sequence Loop to 17: +1430:Global:Paketti: ∿ Toggle Sequence Loop to 18: +1431:Global:Paketti: ∿ Toggle Sequence Loop to 19: +1432:Global:Paketti: ∿ Toggle Sequence Loop to 20: +1433:Global:Paketti: ∿ Toggle Sequence Loop to 21: +1434:Global:Paketti: ∿ Toggle Sequence Loop to 22: +1435:Global:Paketti: ∿ Toggle Sequence Loop to 23: +1436:Global:Paketti: ∿ Toggle Sequence Loop to 24: +1437:Global:Paketti: ∿ Toggle Sequence Loop to 25: +1438:Global:Paketti: ∿ Toggle Sequence Loop to 26: +1439:Global:Paketti: ∿ Toggle Sequence Loop to 27: +1440:Global:Paketti: ∿ Toggle Sequence Loop to 28: +1441:Global:Paketti: ∿ Toggle Sequence Loop to 29: +1442:Global:Paketti: ∿ Toggle Sequence Loop to 30: +1443:Global:Paketti: ∿ Toggle Sequence Loop to 31: +1444:Global:Paketti: ∿ Clear Pattern Sequence Loop: +1445:Global:Paketti: ∿ Set Sequence Loop from Current to 00: +1446:Global:Paketti: ∿ Set Sequence Loop from Current to 01: +1447:Global:Paketti: ∿ Set Sequence Loop from Current to 02: +1448:Global:Paketti: ∿ Set Sequence Loop from Current to 03: +1449:Global:Paketti: ∿ Set Sequence Loop from Current to 04: +1450:Global:Paketti: ∿ Set Sequence Loop from Current to 05: +1451:Global:Paketti: ∿ Set Sequence Loop from Current to 06: +1452:Global:Paketti: ∿ Set Sequence Loop from Current to 07: +1453:Global:Paketti: ∿ Set Sequence Loop from Current to 08: +1454:Global:Paketti: ∿ Set Sequence Loop from Current to 09: +1455:Global:Paketti: ∿ Set Sequence Loop from Current to 10: +1456:Global:Paketti: ∿ Set Sequence Loop from Current to 11: +1457:Global:Paketti: ∿ Set Sequence Loop from Current to 12: +1458:Global:Paketti: ∿ Set Sequence Loop from Current to 13: +1459:Global:Paketti: ∿ Set Sequence Loop from Current to 14: +1460:Global:Paketti: ∿ Set Sequence Loop from Current to 15: +1461:Global:Paketti: ∿ Set Sequence Loop from Current to 16: +1462:Global:Paketti: ∿ Set Sequence Loop from Current to 17: +1463:Global:Paketti: ∿ Set Sequence Loop from Current to 18: +1464:Global:Paketti: ∿ Set Sequence Loop from Current to 19: +1465:Global:Paketti: ∿ Set Sequence Loop from Current to 20: +1466:Global:Paketti: ∿ Set Sequence Loop from Current to 21: +1467:Global:Paketti: ∿ Set Sequence Loop from Current to 22: +1468:Global:Paketti: ∿ Set Sequence Loop from Current to 23: +1469:Global:Paketti: ∿ Set Sequence Loop from Current to 24: +1470:Global:Paketti: ∿ Set Sequence Loop from Current to 25: +1471:Global:Paketti: ∿ Set Sequence Loop from Current to 26: +1472:Global:Paketti: ∿ Set Sequence Loop from Current to 27: +1473:Global:Paketti: ∿ Set Sequence Loop from Current to 28: +1474:Global:Paketti: ∿ Set Sequence Loop from Current to 29: +1475:Global:Paketti: ∿ Set Sequence Loop from Current to 30: +1476:Global:Paketti: ∿ Set Sequence Loop from Current to 31: +1477:Global:Paketti: ∿ Set Current Section as Scheduled Sequence: +1478:Global:Paketti: ∿ Add Current Section to Scheduled Sequences: +1479:Global:Paketti: ∿ Section Loop (Next): +1480:Global:Paketti: ∿ Section Loop (Previous): +1481:Global:Paketti: ∿ Sequence Selection (Next): Command + Control + 2 +1482:Global:Paketti: ∿ Sequence Selection (Previous): Command + Control + 1 +1483:Global:Paketti: ∿ Sequence Loop Selection (Next): +1484:Global:Paketti: ∿ Sequence Loop Selection (Previous): +1485:Global:Paketti: ∿ Set Section Loop and Schedule Section: +1486:Global:Paketti: ∿ Set Current Sequence as Scheduled and Loop: +1487:Global:Paketti: ∿ Select, Trigger and Loop Section 00: +1488:Global:Paketti: ∿ Select, Schedule and Loop Section 00: +1489:Global:Paketti: ∿ Select, Add to Schedule and Loop Section 00: +1490:Global:Paketti: ∿ Select, Trigger and Loop Section 01: +1491:Global:Paketti: ∿ Select, Schedule and Loop Section 01: +1492:Global:Paketti: ∿ Select, Add to Schedule and Loop Section 01: +1493:Global:Paketti: ∿ Select, Trigger and Loop Section 02: +1494:Global:Paketti: ∿ Select, Schedule and Loop Section 02: +1495:Global:Paketti: ∿ Select, Add to Schedule and Loop Section 02: +1496:Global:Paketti: ∿ Select, Trigger and Loop Section 03: +1497:Global:Paketti: ∿ Select, Schedule and Loop Section 03: +1498:Global:Paketti: ∿ Select, Add to Schedule and Loop Section 03: +1499:Global:Paketti: ∿ Select, Trigger and Loop Section 04: +1500:Global:Paketti: ∿ Select, Schedule and Loop Section 04: +1501:Global:Paketti: ∿ Select, Add to Schedule and Loop Section 04: +1502:Global:Paketti: ∿ Select, Trigger and Loop Section 05: +1503:Global:Paketti: ∿ Select, Schedule and Loop Section 05: +1504:Global:Paketti: ∿ Select, Add to Schedule and Loop Section 05: +1505:Global:Paketti: ∿ Select, Trigger and Loop Section 06: +1506:Global:Paketti: ∿ Select, Schedule and Loop Section 06: +1507:Global:Paketti: ∿ Select, Add to Schedule and Loop Section 06: +1508:Global:Paketti: ∿ Select, Trigger and Loop Section 07: +1509:Global:Paketti: ∿ Select, Schedule and Loop Section 07: +1510:Global:Paketti: ∿ Select, Add to Schedule and Loop Section 07: +1511:Global:Paketti: ∿ Select, Trigger and Loop Section 08: +1512:Global:Paketti: ∿ Select, Schedule and Loop Section 08: +1513:Global:Paketti: ∿ Select, Add to Schedule and Loop Section 08: +1514:Global:Paketti: ∿ Select, Trigger and Loop Section 09: +1515:Global:Paketti: ∿ Select, Schedule and Loop Section 09: +1516:Global:Paketti: ∿ Select, Add to Schedule and Loop Section 09: +1517:Global:Paketti: ∿ Select, Trigger and Loop Section 10: +1518:Global:Paketti: ∿ Select, Schedule and Loop Section 10: +1519:Global:Paketti: ∿ Select, Add to Schedule and Loop Section 10: +1520:Global:Paketti: ∿ Select, Trigger and Loop Section 11: +1521:Global:Paketti: ∿ Select, Schedule and Loop Section 11: +1522:Global:Paketti: ∿ Select, Add to Schedule and Loop Section 11: +1523:Global:Paketti: ∿ Select, Trigger and Loop Section 12: +1524:Global:Paketti: ∿ Select, Schedule and Loop Section 12: +1525:Global:Paketti: ∿ Select, Add to Schedule and Loop Section 12: +1526:Global:Paketti: ∿ Select, Trigger and Loop Section 13: +1527:Global:Paketti: ∿ Select, Schedule and Loop Section 13: +1528:Global:Paketti: ∿ Select, Add to Schedule and Loop Section 13: +1529:Global:Paketti: ∿ Select, Trigger and Loop Section 14: +1530:Global:Paketti: ∿ Select, Schedule and Loop Section 14: +1531:Global:Paketti: ∿ Select, Add to Schedule and Loop Section 14: +1532:Global:Paketti: ∿ Select, Trigger and Loop Section 15: +1533:Global:Paketti: ∿ Select, Schedule and Loop Section 15: +1534:Global:Paketti: ∿ Select, Add to Schedule and Loop Section 15: +1535:Global:Paketti: ∿ Select, Trigger and Loop Section 16: +1536:Global:Paketti: ∿ Select, Schedule and Loop Section 16: +1537:Global:Paketti: ∿ Select, Add to Schedule and Loop Section 16: +1538:Global:Paketti: ∿ Select, Trigger and Loop Section 17: +1539:Global:Paketti: ∿ Select, Schedule and Loop Section 17: +1540:Global:Paketti: ∿ Select, Add to Schedule and Loop Section 17: +1541:Global:Paketti: ∿ Select, Trigger and Loop Section 18: +1542:Global:Paketti: ∿ Select, Schedule and Loop Section 18: +1543:Global:Paketti: ∿ Select, Add to Schedule and Loop Section 18: +1544:Global:Paketti: ∿ Select, Trigger and Loop Section 19: +1545:Global:Paketti: ∿ Select, Schedule and Loop Section 19: +1546:Global:Paketti: ∿ Select, Add to Schedule and Loop Section 19: +1547:Global:Paketti: ∿ Select, Trigger and Loop Section 20: +1548:Global:Paketti: ∿ Select, Schedule and Loop Section 20: +1549:Global:Paketti: ∿ Select, Add to Schedule and Loop Section 20: +1550:Global:Paketti: ∿ Select, Trigger and Loop Section 21: +1551:Global:Paketti: ∿ Select, Schedule and Loop Section 21: +1552:Global:Paketti: ∿ Select, Add to Schedule and Loop Section 21: +1553:Global:Paketti: ∿ Select, Trigger and Loop Section 22: +1554:Global:Paketti: ∿ Select, Schedule and Loop Section 22: +1555:Global:Paketti: ∿ Select, Add to Schedule and Loop Section 22: +1556:Global:Paketti: ∿ Select, Trigger and Loop Section 23: +1557:Global:Paketti: ∿ Select, Schedule and Loop Section 23: +1558:Global:Paketti: ∿ Select, Add to Schedule and Loop Section 23: +1559:Global:Paketti: ∿ Select, Trigger and Loop Section 24: +1560:Global:Paketti: ∿ Select, Schedule and Loop Section 24: +1561:Global:Paketti: ∿ Select, Add to Schedule and Loop Section 24: +1562:Global:Paketti: ∿ Select, Trigger and Loop Section 25: +1563:Global:Paketti: ∿ Select, Schedule and Loop Section 25: +1564:Global:Paketti: ∿ Select, Add to Schedule and Loop Section 25: +1565:Global:Paketti: ∿ Select, Trigger and Loop Section 26: +1566:Global:Paketti: ∿ Select, Schedule and Loop Section 26: +1567:Global:Paketti: ∿ Select, Add to Schedule and Loop Section 26: +1568:Global:Paketti: ∿ Select, Trigger and Loop Section 27: +1569:Global:Paketti: ∿ Select, Schedule and Loop Section 27: +1570:Global:Paketti: ∿ Select, Add to Schedule and Loop Section 27: +1571:Global:Paketti: ∿ Select, Trigger and Loop Section 28: +1572:Global:Paketti: ∿ Select, Schedule and Loop Section 28: +1573:Global:Paketti: ∿ Select, Add to Schedule and Loop Section 28: +1574:Global:Paketti: ∿ Select, Trigger and Loop Section 29: +1575:Global:Paketti: ∿ Select, Schedule and Loop Section 29: +1576:Global:Paketti: ∿ Select, Add to Schedule and Loop Section 29: +1577:Global:Paketti: ∿ Select, Trigger and Loop Section 30: +1578:Global:Paketti: ∿ Select, Schedule and Loop Section 30: +1579:Global:Paketti: ∿ Select, Add to Schedule and Loop Section 30: +1580:Global:Paketti: ∿ Select, Trigger and Loop Section 31: +1581:Global:Paketti: ∿ Select, Schedule and Loop Section 31: +1582:Global:Paketti: ∿ Select, Add to Schedule and Loop Section 31: +1583:Global:Paketti: ∿ Select, Trigger and Loop Section 32: +1584:Global:Paketti: ∿ Select, Schedule and Loop Section 32: +1585:Global:Paketti: ∿ Select, Add to Schedule and Loop Section 32: +1586:Global:Paketti: ∿ Select, Trigger and Loop Section 33: +1587:Global:Paketti: ∿ Select, Schedule and Loop Section 33: +1588:Global:Paketti: ∿ Select, Add to Schedule and Loop Section 33: +1589:Global:Paketti: ∿ Select, Trigger and Loop Section 34: +1590:Global:Paketti: ∿ Select, Schedule and Loop Section 34: +1591:Global:Paketti: ∿ Select, Add to Schedule and Loop Section 34: +1592:Global:Paketti: ∿ Select, Trigger and Loop Section 35: +1593:Global:Paketti: ∿ Select, Schedule and Loop Section 35: +1594:Global:Paketti: ∿ Select, Add to Schedule and Loop Section 35: +1595:Global:Paketti: ∿ Select, Trigger and Loop Section 36: +1596:Global:Paketti: ∿ Select, Schedule and Loop Section 36: +1597:Global:Paketti: ∿ Select, Add to Schedule and Loop Section 36: +1598:Global:Paketti: ∿ Select, Trigger and Loop Section 37: +1599:Global:Paketti: ∿ Select, Schedule and Loop Section 37: +1600:Global:Paketti: ∿ Select, Add to Schedule and Loop Section 37: +1601:Global:Paketti: ∿ Select, Trigger and Loop Section 38: +1602:Global:Paketti: ∿ Select, Schedule and Loop Section 38: +1603:Global:Paketti: ∿ Select, Add to Schedule and Loop Section 38: +1604:Global:Paketti: ∿ Select, Trigger and Loop Section 39: +1605:Global:Paketti: ∿ Select, Schedule and Loop Section 39: +1606:Global:Paketti: ∿ Select, Add to Schedule and Loop Section 39: +1607:Global:Paketti: ∿ Select, Trigger and Loop Section 40: +1608:Global:Paketti: ∿ Select, Schedule and Loop Section 40: +1609:Global:Paketti: ∿ Select, Add to Schedule and Loop Section 40: +1610:Global:Paketti: ∿ Select, Trigger and Loop Section 41: +1611:Global:Paketti: ∿ Select, Schedule and Loop Section 41: +1612:Global:Paketti: ∿ Select, Add to Schedule and Loop Section 41: +1613:Global:Paketti: ∿ Select, Trigger and Loop Section 42: +1614:Global:Paketti: ∿ Select, Schedule and Loop Section 42: +1615:Global:Paketti: ∿ Select, Add to Schedule and Loop Section 42: +1616:Global:Paketti: ∿ Select, Trigger and Loop Section 43: +1617:Global:Paketti: ∿ Select, Schedule and Loop Section 43: +1618:Global:Paketti: ∿ Select, Add to Schedule and Loop Section 43: +1619:Global:Paketti: ∿ Select, Trigger and Loop Section 44: +1620:Global:Paketti: ∿ Select, Schedule and Loop Section 44: +1621:Global:Paketti: ∿ Select, Add to Schedule and Loop Section 44: +1622:Global:Paketti: ∿ Select, Trigger and Loop Section 45: +1623:Global:Paketti: ∿ Select, Schedule and Loop Section 45: +1624:Global:Paketti: ∿ Select, Add to Schedule and Loop Section 45: +1625:Global:Paketti: ∿ Select, Trigger and Loop Section 46: +1626:Global:Paketti: ∿ Select, Schedule and Loop Section 46: +1627:Global:Paketti: ∿ Select, Add to Schedule and Loop Section 46: +1628:Global:Paketti: ∿ Select, Trigger and Loop Section 47: +1629:Global:Paketti: ∿ Select, Schedule and Loop Section 47: +1630:Global:Paketti: ∿ Select, Add to Schedule and Loop Section 47: +1631:Global:Paketti: ∿ Select, Trigger and Loop Section 48: +1632:Global:Paketti: ∿ Select, Schedule and Loop Section 48: +1633:Global:Paketti: ∿ Select, Add to Schedule and Loop Section 48: +1634:Global:Paketti: ∿ Select, Trigger and Loop Section 49: +1635:Global:Paketti: ∿ Select, Schedule and Loop Section 49: +1636:Global:Paketti: ∿ Select, Add to Schedule and Loop Section 49: +1637:Global:Paketti: ∿ Select, Trigger and Loop Section 50: +1638:Global:Paketti: ∿ Select, Schedule and Loop Section 50: +1639:Global:Paketti: ∿ Select, Add to Schedule and Loop Section 50: +1640:Global:Paketti: ∿ Select, Trigger and Loop Section 51: +1641:Global:Paketti: ∿ Select, Schedule and Loop Section 51: +1642:Global:Paketti: ∿ Select, Add to Schedule and Loop Section 51: +1643:Global:Paketti: ∿ Select, Trigger and Loop Section 52: +1644:Global:Paketti: ∿ Select, Schedule and Loop Section 52: +1645:Global:Paketti: ∿ Select, Add to Schedule and Loop Section 52: +1646:Global:Paketti: ∿ Select, Trigger and Loop Section 53: +1647:Global:Paketti: ∿ Select, Schedule and Loop Section 53: +1648:Global:Paketti: ∿ Select, Add to Schedule and Loop Section 53: +1649:Global:Paketti: ∿ Select, Trigger and Loop Section 54: +1650:Global:Paketti: ∿ Select, Schedule and Loop Section 54: +1651:Global:Paketti: ∿ Select, Add to Schedule and Loop Section 54: +1652:Global:Paketti: ∿ Select, Trigger and Loop Section 55: +1653:Global:Paketti: ∿ Select, Schedule and Loop Section 55: +1654:Global:Paketti: ∿ Select, Add to Schedule and Loop Section 55: +1655:Global:Paketti: ∿ Select, Trigger and Loop Section 56: +1656:Global:Paketti: ∿ Select, Schedule and Loop Section 56: +1657:Global:Paketti: ∿ Select, Add to Schedule and Loop Section 56: +1658:Global:Paketti: ∿ Select, Trigger and Loop Section 57: +1659:Global:Paketti: ∿ Select, Schedule and Loop Section 57: +1660:Global:Paketti: ∿ Select, Add to Schedule and Loop Section 57: +1661:Global:Paketti: ∿ Select, Trigger and Loop Section 58: +1662:Global:Paketti: ∿ Select, Schedule and Loop Section 58: +1663:Global:Paketti: ∿ Select, Add to Schedule and Loop Section 58: +1664:Global:Paketti: ∿ Select, Trigger and Loop Section 59: +1665:Global:Paketti: ∿ Select, Schedule and Loop Section 59: +1666:Global:Paketti: ∿ Select, Add to Schedule and Loop Section 59: +1667:Global:Paketti: ∿ Select, Trigger and Loop Section 60: +1668:Global:Paketti: ∿ Select, Schedule and Loop Section 60: +1669:Global:Paketti: ∿ Select, Add to Schedule and Loop Section 60: +1670:Global:Paketti: ∿ Select, Trigger and Loop Section 61: +1671:Global:Paketti: ∿ Select, Schedule and Loop Section 61: +1672:Global:Paketti: ∿ Select, Add to Schedule and Loop Section 61: +1673:Global:Paketti: ∿ Select, Trigger and Loop Section 62: +1674:Global:Paketti: ∿ Select, Schedule and Loop Section 62: +1675:Global:Paketti: ∿ Select, Add to Schedule and Loop Section 62: +1676:Global:Paketti: ∿ Select, Trigger and Loop Section 63: +1677:Global:Paketti: ∿ Select, Schedule and Loop Section 63: +1678:Global:Paketti: ∿ Select, Add to Schedule and Loop Section 63: +1679:Global:Paketti: ∿ Select, Trigger and Loop Section 64: +1680:Global:Paketti: ∿ Select, Schedule and Loop Section 64: +1681:Global:Paketti: ∿ Select, Add to Schedule and Loop Section 64: +1682:Global:Paketti: ∿ Computer Keyboard Velocity (-16): +1683:Global:Paketti: ∿ Computer Keyboard Velocity (+16): +1684:Global:Paketti: ∿ BPM Decrease (-5): +1685:Global:Paketti: ∿ BPM Increase (+5): +1686:Global:Paketti: ∿ Selected Sample Exit Loop Note-Off Toggle: +1687:Global:Paketti: ∿ Selected Sample Exit Loop Note-Off Off: +1688:Global:Paketti: ∿ Selected Sample Exit Loop Note-Off On: +1689:Global:Paketti: ∿ Set Selected Sample Autofade On: +1690:Global:Paketti: ∿ Set Selected Sample Autofade Off: +1691:Global:Paketti: ∿ Set Selected Sample Finetune (-5): +1692:Global:Paketti: ∿ Set Selected Sample Finetune (+5): +1693:Global:Paketti: ∿ Set Selected Sample Volume (+0.05): +1694:Global:Paketti: ∿ Set Selected Sample Volume (-0.05): +1695:Global:Paketti: ∿ Set Selected Sample Panning (+0.05): +1696:Global:Paketti: ∿ Set Selected Sample Panning (-0.05): +1697:Global:Paketti: ∿ Set Selected Sample Transpose (-5): +1698:Global:Paketti: ∿ Set Selected Sample Transpose (+5): +1699:Global:Paketti: ∿ Set Selected Sample Mod to 00: +1700:Global:Paketti: ∿ Set Selected Sample Mod to 01: +1701:Global:Paketti: ∿ Set Selected Sample Mod to 02: +1702:Global:Paketti: ∿ Set Selected Sample Mod to 03: +1703:Global:Paketti: ∿ Set Selected Sample Mod to 04: +1704:Global:Paketti: ∿ Set Selected Sample Mod to 05: +1705:Global:Paketti: ∿ Set Selected Sample Mod to 06: +1706:Global:Paketti: ∿ Set Selected Sample Mod to 07: +1707:Global:Paketti: ∿ Set Selected Sample Mod to 08: +1708:Global:Paketti: ∿ Set Selected Sample Mod to 09: +1709:Global:Paketti: ∿ Set Selected Sample Mod to 10: +1710:Global:Paketti: ∿ Set Selected Sample Mod to 11: +1711:Global:Paketti: ∿ Set Selected Sample Mod to 12: +1712:Global:Paketti: ∿ Set Selected Sample Mod to 13: +1713:Global:Paketti: ∿ Set Selected Sample Mod to 14: +1714:Global:Paketti: ∿ Set Selected Sample Mod to 15: +1715:Global:Paketti: ∿ Set Selected Sample Mod to 16: +1716:Global:Paketti: ∿ Set Selected Sample Mod to 17: +1717:Global:Paketti: ∿ Set Selected Sample Mod to 18: +1718:Global:Paketti: ∿ Set Selected Sample Mod to 19: +1719:Global:Paketti: ∿ Set Selected Sample Mod to 20: +1720:Global:Paketti: ∿ Set Selected Sample Mod to 21: +1721:Global:Paketti: ∿ Set Selected Sample Mod to 22: +1722:Global:Paketti: ∿ Set Selected Sample Mod to 23: +1723:Global:Paketti: ∿ Set Selected Sample Mod to 24: +1724:Global:Paketti: ∿ Set Selected Sample Mod to 25: +1725:Global:Paketti: ∿ Set Selected Sample Mod to 26: +1726:Global:Paketti: ∿ Set Selected Sample Mod to 27: +1727:Global:Paketti: ∿ Set Selected Sample Mod to 28: +1728:Global:Paketti: ∿ Set Selected Sample Mod to 29: +1729:Global:Paketti: ∿ Set Selected Sample Mod to 30: +1730:Global:Paketti: ∿ Set Selected Sample Mod to 31: +1731:Global:Paketti: ∿ Set Selected Sample Mod to 32: +1732:Global:Paketti: ∿ Set Selected Sample FX to 00: +1733:Global:Paketti: ∿ Set Selected Sample FX to 01: +1734:Global:Paketti: ∿ Set Selected Sample FX to 02: +1735:Global:Paketti: ∿ Set Selected Sample FX to 03: +1736:Global:Paketti: ∿ Set Selected Sample FX to 04: +1737:Global:Paketti: ∿ Set Selected Sample FX to 05: +1738:Global:Paketti: ∿ Set Selected Sample FX to 06: +1739:Global:Paketti: ∿ Set Selected Sample FX to 07: +1740:Global:Paketti: ∿ Set Selected Sample FX to 08: +1741:Global:Paketti: ∿ Set Selected Sample FX to 09: +1742:Global:Paketti: ∿ Set Selected Sample FX to 10: +1743:Global:Paketti: ∿ Set Selected Sample FX to 11: +1744:Global:Paketti: ∿ Set Selected Sample FX to 12: +1745:Global:Paketti: ∿ Set Selected Sample FX to 13: +1746:Global:Paketti: ∿ Set Selected Sample FX to 14: +1747:Global:Paketti: ∿ Set Selected Sample FX to 15: +1748:Global:Paketti: ∿ Set Selected Sample FX to 16: +1749:Global:Paketti: ∿ Set Selected Sample FX to 17: +1750:Global:Paketti: ∿ Set Selected Sample FX to 18: +1751:Global:Paketti: ∿ Set Selected Sample FX to 19: +1752:Global:Paketti: ∿ Set Selected Sample FX to 20: +1753:Global:Paketti: ∿ Set Selected Sample FX to 21: +1754:Global:Paketti: ∿ Set Selected Sample FX to 22: +1755:Global:Paketti: ∿ Set Selected Sample FX to 23: +1756:Global:Paketti: ∿ Set Selected Sample FX to 24: +1757:Global:Paketti: ∿ Set Selected Sample FX to 25: +1758:Global:Paketti: ∿ Set Selected Sample FX to 26: +1759:Global:Paketti: ∿ Set Selected Sample FX to 27: +1760:Global:Paketti: ∿ Set Selected Sample FX to 28: +1761:Global:Paketti: ∿ Set Selected Sample FX to 29: +1762:Global:Paketti: ∿ Set Selected Sample FX to 30: +1763:Global:Paketti: ∿ Set Selected Sample FX to 31: +1764:Global:Paketti: ∿ Set Selected Sample FX to 32: +1765:Global:Paketti: ∿ Set Selected Instrument All Mod to 00: +1766:Global:Paketti: ∿ Set Selected Instrument All Mod to 01: +1767:Global:Paketti: ∿ Set Selected Instrument All Mod to 02: +1768:Global:Paketti: ∿ Set Selected Instrument All Mod to 03: +1769:Global:Paketti: ∿ Set Selected Instrument All Mod to 04: +1770:Global:Paketti: ∿ Set Selected Instrument All Mod to 05: +1771:Global:Paketti: ∿ Set Selected Instrument All Mod to 06: +1772:Global:Paketti: ∿ Set Selected Instrument All Mod to 07: +1773:Global:Paketti: ∿ Set Selected Instrument All Mod to 08: +1774:Global:Paketti: ∿ Set Selected Instrument All Mod to 09: +1775:Global:Paketti: ∿ Set Selected Instrument All Mod to 10: +1776:Global:Paketti: ∿ Set Selected Instrument All Mod to 11: +1777:Global:Paketti: ∿ Set Selected Instrument All Mod to 12: +1778:Global:Paketti: ∿ Set Selected Instrument All Mod to 13: +1779:Global:Paketti: ∿ Set Selected Instrument All Mod to 14: +1780:Global:Paketti: ∿ Set Selected Instrument All Mod to 15: +1781:Global:Paketti: ∿ Set Selected Instrument All Mod to 16: +1782:Global:Paketti: ∿ Set Selected Instrument All Mod to 17: +1783:Global:Paketti: ∿ Set Selected Instrument All Mod to 18: +1784:Global:Paketti: ∿ Set Selected Instrument All Mod to 19: +1785:Global:Paketti: ∿ Set Selected Instrument All Mod to 20: +1786:Global:Paketti: ∿ Set Selected Instrument All Mod to 21: +1787:Global:Paketti: ∿ Set Selected Instrument All Mod to 22: +1788:Global:Paketti: ∿ Set Selected Instrument All Mod to 23: +1789:Global:Paketti: ∿ Set Selected Instrument All Mod to 24: +1790:Global:Paketti: ∿ Set Selected Instrument All Mod to 25: +1791:Global:Paketti: ∿ Set Selected Instrument All Mod to 26: +1792:Global:Paketti: ∿ Set Selected Instrument All Mod to 27: +1793:Global:Paketti: ∿ Set Selected Instrument All Mod to 28: +1794:Global:Paketti: ∿ Set Selected Instrument All Mod to 29: +1795:Global:Paketti: ∿ Set Selected Instrument All Mod to 30: +1796:Global:Paketti: ∿ Set Selected Instrument All Mod to 31: +1797:Global:Paketti: ∿ Set Selected Instrument All Mod to 32: +1798:Global:Paketti: ∿ Set Selected Instrument All Fx to 01: +1799:Global:Paketti: ∿ Set Selected Instrument All Fx to 02: +1800:Global:Paketti: ∿ Set Selected Instrument All Fx to 03: +1801:Global:Paketti: ∿ Set Selected Instrument All Fx to 04: +1802:Global:Paketti: ∿ Set Selected Instrument All Fx to 05: +1803:Global:Paketti: ∿ Set Selected Instrument All Fx to 06: +1804:Global:Paketti: ∿ Set Selected Instrument All Fx to 07: +1805:Global:Paketti: ∿ Set Selected Instrument All Fx to 08: +1806:Global:Paketti: ∿ Set Selected Instrument All Fx to 09: +1807:Global:Paketti: ∿ Set Selected Instrument All Fx to 10: +1808:Global:Paketti: ∿ Set Selected Instrument All Fx to 11: +1809:Global:Paketti: ∿ Set Selected Instrument All Fx to 12: +1810:Global:Paketti: ∿ Set Selected Instrument All Fx to 13: +1811:Global:Paketti: ∿ Set Selected Instrument All Fx to 14: +1812:Global:Paketti: ∿ Set Selected Instrument All Fx to 15: +1813:Global:Paketti: ∿ Set Selected Instrument All Fx to 16: +1814:Global:Paketti: ∿ Set Selected Instrument All Fx to 17: +1815:Global:Paketti: ∿ Set Selected Instrument All Fx to 18: +1816:Global:Paketti: ∿ Set Selected Instrument All Fx to 19: +1817:Global:Paketti: ∿ Set Selected Instrument All Fx to 20: +1818:Global:Paketti: ∿ Set Selected Instrument All Fx to 21: +1819:Global:Paketti: ∿ Set Selected Instrument All Fx to 22: +1820:Global:Paketti: ∿ Set Selected Instrument All Fx to 23: +1821:Global:Paketti: ∿ Set Selected Instrument All Fx to 24: +1822:Global:Paketti: ∿ Set Selected Instrument All Fx to 25: +1823:Global:Paketti: ∿ Set Selected Instrument All Fx to 26: +1824:Global:Paketti: ∿ Set Selected Instrument All Fx to 27: +1825:Global:Paketti: ∿ Set Selected Instrument All Fx to 28: +1826:Global:Paketti: ∿ Set Selected Instrument All Fx to 29: +1827:Global:Paketti: ∿ Set Selected Instrument All Fx to 30: +1828:Global:Paketti: ∿ Set Selected Instrument All Fx to 31: +1829:Global:Paketti: ∿ Set Selected Instrument All Fx to 32: +1830:Global:Paketti: ∿ Set Selected Instrument All Autofade On/Off: +1831:Global:Paketti: ∿ Set Selected Instrument All Autofade On: +1832:Global:Paketti: ∿ Set Selected Instrument All Autofade Off: +1833:Global:Paketti: ∿ Set Selected Instrument All Autoseek On/Off: +1834:Global:Paketti: ∿ Set Selected Instrument All Autoseek On: +1835:Global:Paketti: ∿ Set Selected Instrument All Autoseek Off: +1836:Global:Paketti: ∿ Halve Beatsync Lines (All): +1837:Global:Paketti: ∿ Halve Beatsync Lines (Selected Sample): +1838:Global:Paketti: ∿ Double Beatsync Lines (All): +1839:Global:Paketti: ∿ Double Beatsync Lines (Selected Sample): +1840:Global:Paketti: ∿ Halve Halve Beatsync Lines (All): +1841:Global:Paketti: ∿ Halve Halve Beatsync Lines (Selected Sample): +1842:Global:Paketti: ∿ Double Double Beatsync Lines (All): +1843:Global:Paketti: ∿ Double Double Beatsync Lines (Selected Sample): +1844:Global:Paketti: ∿ 12st PitchBend Instrument Init: +1845:Global:Paketti: ∿ 24st PitchBend Instrument Init: +1846:Global:Paketti: ∿ 36st PitchBend Instrument Init: +1847:Global:Paketti: ∿ 48st PitchBend Instrument Init: +1848:Global:Paketti: ∿ 64st PitchBend Instrument Init: +1849:Global:Paketti: ∿ 96st PitchBend Instrument Init: +1850:Global:Paketti: ∿ PitchBend Drumkit Instrument Init: +1851:Global:Paketti: ∿ Set Selected Instrument Transpose (-1): +1852:Global:Paketti: ∿ Set Selected Instrument Transpose (+1): +1853:Global:Paketti: ∿ Set Selected Instrument Transpose (-12): +1854:Global:Paketti: ∿ Set Selected Instrument Transpose (+12): +1855:Global:Paketti: ∿ Set Selected Instrument Transpose 0 (Reset): +1856:Global:Paketti: ∿ Set Selected Instrument Velocity Tracking On: +1857:Global:Paketti: ∿ Set Selected Instrument Velocity Tracking Off: +1858:Global:Paketti: ∿ Toggle Selected Sample Velocity Tracking: +1859:Global:Paketti: ∿ Set Selected Sample Velocity Tracking On: +1860:Global:Paketti: ∿ Set Selected Sample Velocity Tracking Off: +1861:Global:Paketti: ∿ Select Instrument 00: +1862:Global:Paketti: ∿ Select Instrument 01: +1863:Global:Paketti: ∿ Select Instrument 02: +1864:Global:Paketti: ∿ Select Instrument 03: +1865:Global:Paketti: ∿ Select Instrument 04: +1866:Global:Paketti: ∿ Select Instrument 05: +1867:Global:Paketti: ∿ Select Instrument 06: +1868:Global:Paketti: ∿ Select Instrument 07: +1869:Global:Paketti: ∿ Select Instrument 08: +1870:Global:Paketti: ∿ Select Instrument 09: +1871:Global:Paketti: ∿ Select Instrument 10: +1872:Global:Paketti: ∿ Select Instrument 11: +1873:Global:Paketti: ∿ Select Instrument 12: +1874:Global:Paketti: ∿ Select Instrument 13: +1875:Global:Paketti: ∿ Select Instrument 14: +1876:Global:Paketti: ∿ Select Instrument 15: +1877:Global:Paketti: ∿ Select Instrument 16: +1878:Global:Paketti: ∿ Select Instrument 17: +1879:Global:Paketti: ∿ Select Instrument 18: +1880:Global:Paketti: ∿ Select Instrument 19: +1881:Global:Paketti: ∿ Select Instrument 20: +1882:Global:Paketti: ∿ Select Instrument 21: +1883:Global:Paketti: ∿ Select Instrument 22: +1884:Global:Paketti: ∿ Select Instrument 23: +1885:Global:Paketti: ∿ Select Instrument 24: +1886:Global:Paketti: ∿ Select Instrument 25: +1887:Global:Paketti: ∿ Select Instrument 26: +1888:Global:Paketti: ∿ Select Instrument 27: +1889:Global:Paketti: ∿ Select Instrument 28: +1890:Global:Paketti: ∿ Select Instrument 29: +1891:Global:Paketti: ∿ Select Instrument 30: +1892:Global:Paketti: ∿ Select Instrument 31: +1893:Global:Paketti: ∿ Select Instrument 32: +1894:Global:Paketti: ∿ Select Group (Next): +1895:Global:Paketti: ∿ Select Group (Previous): +1896:Global:Paketti: ∿ Delete / Clear / Wipe Entire Row: +1897:Global:Paketti: ∿ Delete / Clear / Wipe Selected Note Column with EditStep: Shift + Command + G +1898:Global:Paketti: ∿ Set Selected Instrument Volume (All) (+0.01): +1899:Global:Paketti: ∿ Set Selected Instrument Volume (All) (-0.01): +1900:Global:Paketti: ∿ Set Selected Instrument Volume Reset (All) (0.0dB): +1901:Global:Paketti: ∿ Set Selected Instrument Volume (All) (-INF dB): +1902:Global:Paketti: ∿ Set Selected Instrument Global Volume (+0.01): +1903:Global:Paketti: ∿ Set Selected Instrument Global Volume (-0.01): +1904:Global:Paketti: ∿ Set Selected Instrument Global Volume (0.0dB): +1905:Global:Paketti: ∿ Set Selected Instrument Global Volume (-INF dB): +1906:Global:Paketti: ∿ Set Selected Instrument Panning (+0.01): +1907:Global:Paketti: ∿ Set Selected Instrument Panning (-0.01): +1908:Global:Paketti: ∿ Set Selected Instrument Panning Reset (Center): +1909:Global:Paketti: ∿ Set Selected Instrument Panning 0.0 (Left): +1910:Global:Paketti: ∿ Set Selected Instrument Panning 1.0 (Right): +1911:Global:Paketti: ∿ Catch Octave: +1912:Global:Paketti: ∿ Set Selected Instrument Interpolation to 1 (None): +1913:Global:Paketti: ∿ Set Selected Instrument Interpolation to 2 (Linear): +1914:Global:Paketti: ∿ Set Selected Instrument Interpolation to 3 (Cubic): +1915:Global:Paketti: ∿ Set Selected Instrument Interpolation to 4 (Sinc): +1916:Global:Paketti: ∿ Set Selected Instrument Finetune (-1): +1917:Global:Paketti: ∿ Set Selected Instrument Finetune (+1): +1918:Global:Paketti: ∿ Set Selected Instrument Finetune (-10): +1919:Global:Paketti: ∿ Set Selected Instrument Finetune (+10): +1920:Global:Paketti: ∿ Set Selected Instrument Finetune (0): +1921:Global:Paketti: ∿ Set Selected Sample Mod Group (Next): +1922:Global:Paketti: ∿ Set Selected Sample Mod Group (Previous): +1923:Global:Paketti: ∿ Set Selected Sample FX Group (Next): +1924:Global:Paketti: ∿ Set Selected Sample FX Group (Previous): +1925:Global:Paketti: ∿ Set Selected Instrument Mod Group (Next): +1926:Global:Paketti: ∿ Set Selected Instrument Mod Group (Previous): +1927:Global:Paketti: ∿ Set Selected Instrument FX Group (Next): +1928:Global:Paketti: ∿ Set Selected Instrument FX Group (Previous): +1929:Global:Paketti: ∿ Duplicate Track, set to Selected Instrument: +1930:Global:Paketti: ∿ Duplicate Track Duplicate Instrument: +1931:Global:Paketti: ∿ Bypass All Other Track DSP Devices (Toggle): +1932:Global:Paketti: ∿ Create Identical Track: +1933:Global:Paketti: ∿ Note Column Solo Toggle: +1934:Global:Paketti: ∿ Group Tracks Note Column Solo Toggle: +1935:Global:Paketti: ∿ Move Slice Start Left by 10: +1936:Global:Paketti: ∿ Move Slice Start Right by 10: +1937:Global:Paketti: ∿ Move Slice End Left by 10: +1938:Global:Paketti: ∿ Move Slice End Right by 10: +1939:Global:Paketti: ∿ Move Slice Start Left by 100: +1940:Global:Paketti: ∿ Move Slice Start Right by 100: +1941:Global:Paketti: ∿ Move Slice End Left by 100: +1942:Global:Paketti: ∿ Move Slice End Right by 100: +1943:Global:Paketti: ∿ Move Slice Start Left by 300: +1944:Global:Paketti: ∿ Move Slice Start Right by 300: +1945:Global:Paketti: ∿ Move Slice End Left by 300: +1946:Global:Paketti: ∿ Move Slice End Right by 300: +1947:Global:Paketti: ∿ Move Slice Start Left by 500: +1948:Global:Paketti: ∿ Move Slice Start Right by 500: +1949:Global:Paketti: ∿ Move Slice End Left by 500: +1950:Global:Paketti: ∿ Move Slice End Right by 500: +1951:Global:Paketti: ∿ Isolate Slices or Samples to New Instruments: +1952:Global:Paketti: ∿ Isolate Slices to New Instrument as Samples: +1953:Global:Paketti: ∿ Roll the Dice on Notes: +1954:Global:Paketti: ∿ Transpose Shift -12 (All Instruments): +1955:Global:Paketti: ∿ Transpose Shift -12 (Selected Instrument): +1956:Global:Paketti: ∿ Transpose Shift -11 (All Instruments): +1957:Global:Paketti: ∿ Transpose Shift -11 (Selected Instrument): +1958:Global:Paketti: ∿ Transpose Shift -10 (All Instruments): +1959:Global:Paketti: ∿ Transpose Shift -10 (Selected Instrument): +1960:Global:Paketti: ∿ Transpose Shift -9 (All Instruments): +1961:Global:Paketti: ∿ Transpose Shift -9 (Selected Instrument): +1962:Global:Paketti: ∿ Transpose Shift -8 (All Instruments): +1963:Global:Paketti: ∿ Transpose Shift -8 (Selected Instrument): +1964:Global:Paketti: ∿ Transpose Shift -7 (All Instruments): +1965:Global:Paketti: ∿ Transpose Shift -7 (Selected Instrument): +1966:Global:Paketti: ∿ Transpose Shift -6 (All Instruments): +1967:Global:Paketti: ∿ Transpose Shift -6 (Selected Instrument): +1968:Global:Paketti: ∿ Transpose Shift -5 (All Instruments): +1969:Global:Paketti: ∿ Transpose Shift -5 (Selected Instrument): +1970:Global:Paketti: ∿ Transpose Shift -4 (All Instruments): +1971:Global:Paketti: ∿ Transpose Shift -4 (Selected Instrument): +1972:Global:Paketti: ∿ Transpose Shift -3 (All Instruments): +1973:Global:Paketti: ∿ Transpose Shift -3 (Selected Instrument): +1974:Global:Paketti: ∿ Transpose Shift -2 (All Instruments): +1975:Global:Paketti: ∿ Transpose Shift -2 (Selected Instrument): +1976:Global:Paketti: ∿ Transpose Shift -1 (All Instruments): +1977:Global:Paketti: ∿ Transpose Shift -1 (Selected Instrument): +1978:Global:Paketti: ∿ Transpose Shift +1 (All Instruments): +1979:Global:Paketti: ∿ Transpose Shift +1 (Selected Instrument): +1980:Global:Paketti: ∿ Transpose Shift +2 (All Instruments): +1981:Global:Paketti: ∿ Transpose Shift +2 (Selected Instrument): +1982:Global:Paketti: ∿ Transpose Shift +3 (All Instruments): +1983:Global:Paketti: ∿ Transpose Shift +3 (Selected Instrument): +1984:Global:Paketti: ∿ Transpose Shift +4 (All Instruments): +1985:Global:Paketti: ∿ Transpose Shift +4 (Selected Instrument): +1986:Global:Paketti: ∿ Transpose Shift +5 (All Instruments): +1987:Global:Paketti: ∿ Transpose Shift +5 (Selected Instrument): +1988:Global:Paketti: ∿ Transpose Shift +6 (All Instruments): +1989:Global:Paketti: ∿ Transpose Shift +6 (Selected Instrument): +1990:Global:Paketti: ∿ Transpose Shift +7 (All Instruments): +1991:Global:Paketti: ∿ Transpose Shift +7 (Selected Instrument): +1992:Global:Paketti: ∿ Transpose Shift +8 (All Instruments): +1993:Global:Paketti: ∿ Transpose Shift +8 (Selected Instrument): +1994:Global:Paketti: ∿ Transpose Shift +9 (All Instruments): +1995:Global:Paketti: ∿ Transpose Shift +9 (Selected Instrument): +1996:Global:Paketti: ∿ Transpose Shift +10 (All Instruments): +1997:Global:Paketti: ∿ Transpose Shift +10 (Selected Instrument): +1998:Global:Paketti: ∿ Transpose Shift +11 (All Instruments): +1999:Global:Paketti: ∿ Transpose Shift +11 (Selected Instrument): +2000:Global:Paketti: ∿ Transpose Shift +12 (All Instruments): +2001:Global:Paketti: ∿ Transpose Shift +12 (Selected Instrument): +2002:Global:Paketti: ∿ Populate Send Tracks for All Tracks: +2003:Global:Paketti: ∿ Populate Send Tracks for Selected Track: +2004:Global:Paketti: ∿ Populate Send Tracks for All Selected Tracks: +2005:Global:Paketti: ∿ Send Reverser: +2006:Global:Paketti: ∿ Set Selected Track Volume to -INF dB: +2007:Global:Paketti: ∿ Set Selected Track Volume to 0.0dB: +2008:Global:Paketti: ∿ Set Master Track Volume to -INF dB: +2009:Global:Paketti: ∿ Set Master Track Volume to 0.0dB: +2010:Global:Paketti: ∿ Change Master Track Volume by +0.1dB: +2011:Global:Paketti: ∿ Change Master Track Volume by -0.1dB: +2012:Global:Paketti: ∿ Pattern Resize and Fill 032: +2013:Global:Paketti: ∿ Pattern Resize and Fill 064: +2014:Global:Paketti: ∿ Pattern Resize and Fill 128: +2015:Global:Paketti: ∿ Pattern Resize and Fill 256: +2016:Global:Paketti: ∿ Pattern Resize and Fill 512: +2017:Global:Paketti: ∿ Open Oblique Strategies Dialog...: Control + O +2018:Global:Paketti: ∿ Shuffle Oblique Strategies Cards: +2019:Global:Paketti: ∿ Paketti Track Dater & Titler: Control + S +2020:Global:Paketti: ∿ Set Selected Sample Volume to -INF dB: +2021:Global:Paketti: ∿ Set Selected Sample Volume 0.0dB, others -INF: +2022:Global:Paketti: ∿ Record+Follow+Metronome Precount 1 Bar: +2023:Global:Paketti: ∿ Record+Follow+Metronome Precount 2 Bar: +2024:Global:Paketti: ∿ Record+Follow+Metronome Precount 3 Bar: +2025:Global:Paketti: ∿ Record+Follow+Metronome Precount 4 Bar: +2026:Global:Paketti: ∿ Set Selected Sample (+1) Velocity Range 7F others 00: +2027:Global:Paketti: ∿ Set Selected Sample (-1) Velocity Range 7F others 00: +2028:Global:Paketti: ∿ Set Selected Sample (Random) Velocity Range 7F others 00: +2029:Global:Paketti: ∿ Set Selected Sample Velocity Range 7F: +2030:Global:Paketti: ∿ Set Selected Sample Velocity Range 00: +2031:Global:Paketti: ∿ Set Sample Slot 01 Velocity to 00: +2032:Global:Paketti: ∿ Set Sample Slot 01 Velocity to 7F: +2033:Global:Paketti: ∿ Set Sample Slot 02 Velocity to 00: +2034:Global:Paketti: ∿ Set Sample Slot 02 Velocity to 7F: +2035:Global:Paketti: ∿ Set Sample Slot 03 Velocity to 00: +2036:Global:Paketti: ∿ Set Sample Slot 03 Velocity to 7F: +2037:Global:Paketti: ∿ Set Sample Slot 04 Velocity to 00: +2038:Global:Paketti: ∿ Set Sample Slot 04 Velocity to 7F: +2039:Global:Paketti: ∿ Set Sample Slot 05 Velocity to 00: +2040:Global:Paketti: ∿ Set Sample Slot 05 Velocity to 7F: +2041:Global:Paketti: ∿ Set Sample Slot 06 Velocity to 00: +2042:Global:Paketti: ∿ Set Sample Slot 06 Velocity to 7F: +2043:Global:Paketti: ∿ Set Sample Slot 07 Velocity to 00: +2044:Global:Paketti: ∿ Set Sample Slot 07 Velocity to 7F: +2045:Global:Paketti: ∿ Set Sample Slot 08 Velocity to 00: +2046:Global:Paketti: ∿ Set Sample Slot 08 Velocity to 7F: +2047:Global:Paketti: ∿ Set Sample Slot 09 Velocity to 00: +2048:Global:Paketti: ∿ Set Sample Slot 09 Velocity to 7F: +2049:Global:Paketti: ∿ Set Sample Slot 10 Velocity to 00: +2050:Global:Paketti: ∿ Set Sample Slot 10 Velocity to 7F: +2051:Global:Paketti: ∿ Set Sample Slot 11 Velocity to 00: +2052:Global:Paketti: ∿ Set Sample Slot 11 Velocity to 7F: +2053:Global:Paketti: ∿ Set Sample Slot 12 Velocity to 00: +2054:Global:Paketti: ∿ Set Sample Slot 12 Velocity to 7F: +2055:Global:Paketti: ∿ Set Sample Slot 13 Velocity to 00: +2056:Global:Paketti: ∿ Set Sample Slot 13 Velocity to 7F: +2057:Global:Paketti: ∿ Set Sample Slot 14 Velocity to 00: +2058:Global:Paketti: ∿ Set Sample Slot 14 Velocity to 7F: +2059:Global:Paketti: ∿ Set Sample Slot 15 Velocity to 00: +2060:Global:Paketti: ∿ Set Sample Slot 15 Velocity to 7F: +2061:Global:Paketti: ∿ Set Sample Slot 16 Velocity to 00: +2062:Global:Paketti: ∿ Set Sample Slot 16 Velocity to 7F: +2063:Global:Paketti: ∿ Set Sample Slot 17 Velocity to 00: +2064:Global:Paketti: ∿ Set Sample Slot 17 Velocity to 7F: +2065:Global:Paketti: ∿ Set Sample Slot 18 Velocity to 00: +2066:Global:Paketti: ∿ Set Sample Slot 18 Velocity to 7F: +2067:Global:Paketti: ∿ Set Sample Slot 19 Velocity to 00: +2068:Global:Paketti: ∿ Set Sample Slot 19 Velocity to 7F: +2069:Global:Paketti: ∿ Set Sample Slot 20 Velocity to 00: +2070:Global:Paketti: ∿ Set Sample Slot 20 Velocity to 7F: +2071:Global:Paketti: ∿ Set Sample Slot 21 Velocity to 00: +2072:Global:Paketti: ∿ Set Sample Slot 21 Velocity to 7F: +2073:Global:Paketti: ∿ Set Sample Slot 22 Velocity to 00: +2074:Global:Paketti: ∿ Set Sample Slot 22 Velocity to 7F: +2075:Global:Paketti: ∿ Set Sample Slot 23 Velocity to 00: +2076:Global:Paketti: ∿ Set Sample Slot 23 Velocity to 7F: +2077:Global:Paketti: ∿ Set Sample Slot 24 Velocity to 00: +2078:Global:Paketti: ∿ Set Sample Slot 24 Velocity to 7F: +2079:Global:Paketti: ∿ Set Sample Slot 25 Velocity to 00: +2080:Global:Paketti: ∿ Set Sample Slot 25 Velocity to 7F: +2081:Global:Paketti: ∿ Set Sample Slot 26 Velocity to 00: +2082:Global:Paketti: ∿ Set Sample Slot 26 Velocity to 7F: +2083:Global:Paketti: ∿ Set Sample Slot 27 Velocity to 00: +2084:Global:Paketti: ∿ Set Sample Slot 27 Velocity to 7F: +2085:Global:Paketti: ∿ Set Sample Slot 28 Velocity to 00: +2086:Global:Paketti: ∿ Set Sample Slot 28 Velocity to 7F: +2087:Global:Paketti: ∿ Set Sample Slot 29 Velocity to 00: +2088:Global:Paketti: ∿ Set Sample Slot 29 Velocity to 7F: +2089:Global:Paketti: ∿ Set Sample Slot 30 Velocity to 00: +2090:Global:Paketti: ∿ Set Sample Slot 30 Velocity to 7F: +2091:Global:Paketti: ∿ Set Sample Slot 31 Velocity to 00: +2092:Global:Paketti: ∿ Set Sample Slot 31 Velocity to 7F: +2093:Global:Paketti: ∿ Set Sample Slot 32 Velocity to 00: +2094:Global:Paketti: ∿ Set Sample Slot 32 Velocity to 7F: +2095:Global:Paketti: ∿ Set All Samples Velocity Range 7F: +2096:Global:Paketti: ∿ Resize all non-empty Patterns to current Pattern length: +2097:Global:Paketti: ∿ Resize all non-empty Patterns to 012: +2098:Global:Paketti: ∿ Resize all non-empty Patterns to 016: +2099:Global:Paketti: ∿ Resize all non-empty Patterns to 024: +2100:Global:Paketti: ∿ Resize all non-empty Patterns to 032: +2101:Global:Paketti: ∿ Resize all non-empty Patterns to 048: +2102:Global:Paketti: ∿ Resize all non-empty Patterns to 064: +2103:Global:Paketti: ∿ Resize all non-empty Patterns to 096: +2104:Global:Paketti: ∿ Resize all non-empty Patterns to 128: +2105:Global:Paketti: ∿ Resize all non-empty Patterns to 192: +2106:Global:Paketti: ∿ Resize all non-empty Patterns to 256: +2107:Global:Paketti: ∿ Resize all non-empty Patterns to 384: +2108:Global:Paketti: ∿ Resize all non-empty Patterns to 512: +2109:Global:Paketti: ∿ Randomize Selected Sample Finetune/Transpose +6/-6: +2110:Global:Paketti: ∿ Randomize Selected Sample Transpose +6/-6 Finetune +127/-127: +2111:Global:Paketti: ∿ Double LPB: +2112:Global:Paketti: ∿ Halve LPB: +2113:Global:Paketti: ∿ Double Double LPB: +2114:Global:Paketti: ∿ Halve Halve LPB: +2115:Global:Paketti: ∿ Halve BPM: +2116:Global:Paketti: ∿ Double BPM: +2117:Global:Paketti: ∿ Halve Halve BPM: +2118:Global:Paketti: ∿ Double Double BPM: +2119:Global:Paketti: ∿ Jump to Sends: Shift + Command + Control + Right +2120:Global:Paketti: ∿ Master TDR Kotelnikov Show/Hide: +2121:Global:Paketti: ∿ Show/Hide User Preference Devices Master Dialog: Shift + Option + 0 +2122:Global:Paketti: ∿ Open User Preferences Dialog: +2123:Global:Paketti: ∿ Show/Hide Slot 01 on Master: +2124:Global:Paketti: ∿ Show/Hide Slot 01 on Selected Track: +2125:Global:Paketti: ∿ Show/Hide Slot 02 on Master: +2126:Global:Paketti: ∿ Show/Hide Slot 02 on Selected Track: +2127:Global:Paketti: ∿ Show/Hide Slot 03 on Master: +2128:Global:Paketti: ∿ Show/Hide Slot 03 on Selected Track: +2129:Global:Paketti: ∿ Show/Hide Slot 04 on Master: +2130:Global:Paketti: ∿ Show/Hide Slot 04 on Selected Track: +2131:Global:Paketti: ∿ Show/Hide Slot 05 on Master: +2132:Global:Paketti: ∿ Show/Hide Slot 05 on Selected Track: +2133:Global:Paketti: ∿ Show/Hide Slot 06 on Master: +2134:Global:Paketti: ∿ Show/Hide Slot 06 on Selected Track: +2135:Global:Paketti: ∿ Show/Hide Slot 07 on Master: +2136:Global:Paketti: ∿ Show/Hide Slot 07 on Selected Track: +2137:Global:Paketti: ∿ Show/Hide Slot 08 on Master: +2138:Global:Paketti: ∿ Show/Hide Slot 08 on Selected Track: +2139:Global:Paketti: ∿ Show/Hide Slot 09 on Master: +2140:Global:Paketti: ∿ Show/Hide Slot 09 on Selected Track: +2141:Global:Paketti: ∿ Show/Hide Slot 10 on Master: +2142:Global:Paketti: ∿ Show/Hide Slot 10 on Selected Track: +2143:Global:Paketti: ∿ Set Selected Sample FX Group to None: +2144:Global:Paketti: ∿ Change Selected Track Volume by +0.1dB: Shift + Control + Minus +2145:Global:Paketti: ∿ Change Selected Track Volume by +0.5dB: +2146:Global:Paketti: ∿ Change Selected Track Volume by +1dB: +2147:Global:Paketti: ∿ Change Selected Track Volume by -0.1dB: Shift + Control + Slash +2148:Global:Paketti: ∿ Change Selected Track Volume by -0.5dB: +2149:Global:Paketti: ∿ Change Selected Track Volume by -1dB: +2150:Global:Paketti: ∿ Loop Set Percussion: Shift + Command + Y +2151:Global:Paketti: ∿ Loop Set Texture: Shift + Command + U +2152:Global:Paketti: ∿ Select Sample Next: +2153:Global:Paketti: ∿ Select Sample Previous: +2154:Global:Paketti: ∿ Output Routing (Non-Continual, Skip Master, Exclude Master): +2155:Global:Paketti: ∿ Output Routing (Continual, Skip Master, Exclude Master): +2156:Global:Paketti: ∿ Output Routing (Non-Continual, Include Master, Exclude Master): +2157:Global:Paketti: ∿ Output Routing (Continual, Include Master, Exclude Master): +2158:Global:Paketti: ∿ Output Routing (Non-Continual, Skip Master, Include Master in Cycle): +2159:Global:Paketti: ∿ Output Routing (Continual, Skip Master, Include Master in Cycle): +2160:Global:Paketti: ∿ Output Routing (Non-Continual, Include Master, Include Master in Cycle): +2161:Global:Paketti: ∿ Output Routing (Continual, Include Master, Include Master in Cycle): +2162:Global:Paketti: ∿ Reset Output Routings to Master: +2163:Global:Paketti: ∿ Play Current Line&Step Forwards: +2164:Global:Paketti: ∿ Play Current Line&Step Backwards: +2165:Global:Paketti: ∿ Play Current Line&Step Random: +2166:Global:Paketti: ∿ Device Control 01 (Enable): +2167:Global:Paketti: ∿ Device Control 01 (Disable): +2168:Global:Paketti: ∿ Device Control 01 (Toggle): +2169:Global:Paketti: ∿ Device Control 02 (Enable): +2170:Global:Paketti: ∿ Device Control 02 (Disable): +2171:Global:Paketti: ∿ Device Control 02 (Toggle): +2172:Global:Paketti: ∿ Device Control 03 (Enable): +2173:Global:Paketti: ∿ Device Control 03 (Disable): +2174:Global:Paketti: ∿ Device Control 03 (Toggle): +2175:Global:Paketti: ∿ Device Control 04 (Enable): +2176:Global:Paketti: ∿ Device Control 04 (Disable): +2177:Global:Paketti: ∿ Device Control 04 (Toggle): +2178:Global:Paketti: ∿ Device Control 05 (Enable): +2179:Global:Paketti: ∿ Device Control 05 (Disable): +2180:Global:Paketti: ∿ Device Control 05 (Toggle): +2181:Global:Paketti: ∿ Device Control 06 (Enable): +2182:Global:Paketti: ∿ Device Control 06 (Disable): +2183:Global:Paketti: ∿ Device Control 06 (Toggle): +2184:Global:Paketti: ∿ Device Control 07 (Enable): +2185:Global:Paketti: ∿ Device Control 07 (Disable): +2186:Global:Paketti: ∿ Device Control 07 (Toggle): +2187:Global:Paketti: ∿ Device Control 08 (Enable): +2188:Global:Paketti: ∿ Device Control 08 (Disable): +2189:Global:Paketti: ∿ Device Control 08 (Toggle): +2190:Global:Paketti: ∿ Device Control 09 (Enable): +2191:Global:Paketti: ∿ Device Control 09 (Disable): +2192:Global:Paketti: ∿ Device Control 09 (Toggle): +2193:Global:Paketti: ∿ Device Control 10 (Enable): +2194:Global:Paketti: ∿ Device Control 10 (Disable): +2195:Global:Paketti: ∿ Device Control 10 (Toggle): +2196:Global:Paketti: ∿ Device Control 11 (Enable): +2197:Global:Paketti: ∿ Device Control 11 (Disable): +2198:Global:Paketti: ∿ Device Control 11 (Toggle): +2199:Global:Paketti: ∿ Device Control 12 (Enable): +2200:Global:Paketti: ∿ Device Control 12 (Disable): +2201:Global:Paketti: ∿ Device Control 12 (Toggle): +2202:Global:Paketti: ∿ Device Control 13 (Enable): +2203:Global:Paketti: ∿ Device Control 13 (Disable): +2204:Global:Paketti: ∿ Device Control 13 (Toggle): +2205:Global:Paketti: ∿ Device Control 14 (Enable): +2206:Global:Paketti: ∿ Device Control 14 (Disable): +2207:Global:Paketti: ∿ Device Control 14 (Toggle): +2208:Global:Paketti: ∿ Device Control 15 (Enable): +2209:Global:Paketti: ∿ Device Control 15 (Disable): +2210:Global:Paketti: ∿ Device Control 15 (Toggle): +2211:Global:Paketti: ∿ Device Control 16 (Enable): +2212:Global:Paketti: ∿ Device Control 16 (Disable): +2213:Global:Paketti: ∿ Device Control 16 (Toggle): +2214:Global:Paketti: ∿ Device Control 17 (Enable): +2215:Global:Paketti: ∿ Device Control 17 (Disable): +2216:Global:Paketti: ∿ Device Control 17 (Toggle): +2217:Global:Paketti: ∿ Device Control 18 (Enable): +2218:Global:Paketti: ∿ Device Control 18 (Disable): +2219:Global:Paketti: ∿ Device Control 18 (Toggle): +2220:Global:Paketti: ∿ Device Control 19 (Enable): +2221:Global:Paketti: ∿ Device Control 19 (Disable): +2222:Global:Paketti: ∿ Device Control 19 (Toggle): +2223:Global:Paketti: ∿ Device Control 20 (Enable): +2224:Global:Paketti: ∿ Device Control 20 (Disable): +2225:Global:Paketti: ∿ Device Control 20 (Toggle): +2226:Global:Paketti: ∿ Device Control 21 (Enable): +2227:Global:Paketti: ∿ Device Control 21 (Disable): +2228:Global:Paketti: ∿ Device Control 21 (Toggle): +2229:Global:Paketti: ∿ Device Control 22 (Enable): +2230:Global:Paketti: ∿ Device Control 22 (Disable): +2231:Global:Paketti: ∿ Device Control 22 (Toggle): +2232:Global:Paketti: ∿ Device Control 23 (Enable): +2233:Global:Paketti: ∿ Device Control 23 (Disable): +2234:Global:Paketti: ∿ Device Control 23 (Toggle): +2235:Global:Paketti: ∿ Device Control 24 (Enable): +2236:Global:Paketti: ∿ Device Control 24 (Disable): +2237:Global:Paketti: ∿ Device Control 24 (Toggle): +2238:Global:Paketti: ∿ Device Control 25 (Enable): +2239:Global:Paketti: ∿ Device Control 25 (Disable): +2240:Global:Paketti: ∿ Device Control 25 (Toggle): +2241:Global:Paketti: ∿ Device Control 26 (Enable): +2242:Global:Paketti: ∿ Device Control 26 (Disable): +2243:Global:Paketti: ∿ Device Control 26 (Toggle): +2244:Global:Paketti: ∿ Device Control 27 (Enable): +2245:Global:Paketti: ∿ Device Control 27 (Disable): +2246:Global:Paketti: ∿ Device Control 27 (Toggle): +2247:Global:Paketti: ∿ Device Control 28 (Enable): +2248:Global:Paketti: ∿ Device Control 28 (Disable): +2249:Global:Paketti: ∿ Device Control 28 (Toggle): +2250:Global:Paketti: ∿ Device Control 29 (Enable): +2251:Global:Paketti: ∿ Device Control 29 (Disable): +2252:Global:Paketti: ∿ Device Control 29 (Toggle): +2253:Global:Paketti: ∿ Device Control 30 (Enable): +2254:Global:Paketti: ∿ Device Control 30 (Disable): +2255:Global:Paketti: ∿ Device Control 30 (Toggle): +2256:Global:Paketti: ∿ Device Control 31 (Enable): +2257:Global:Paketti: ∿ Device Control 31 (Disable): +2258:Global:Paketti: ∿ Device Control 31 (Toggle): +2259:Global:Paketti: ∿ Device Control 32 (Enable): +2260:Global:Paketti: ∿ Device Control 32 (Disable): +2261:Global:Paketti: ∿ Device Control 32 (Toggle): +2262:Global:Paketti: ∿ Device Control 33 (Enable): +2263:Global:Paketti: ∿ Device Control 33 (Disable): +2264:Global:Paketti: ∿ Device Control 33 (Toggle): +2265:Global:Paketti: ∿ Device Control 34 (Enable): +2266:Global:Paketti: ∿ Device Control 34 (Disable): +2267:Global:Paketti: ∿ Device Control 34 (Toggle): +2268:Global:Paketti: ∿ Play at Random Line in Current Pattern: +2269:Global:Paketti: ∿ Play at Random Line in Current Pattern 2: +2270:Global:Paketti: ∿ Play at Random Line in Current Pattern 4: +2271:Global:Paketti: ∿ Play at Random Line in Current Pattern LPB: +2272:Global:Paketti: ∿ Play at Row 000 (000): +2273:Global:Paketti: ∿ Play at Row 001 (001): +2274:Global:Paketti: ∿ Play at Row 002 (002): +2275:Global:Paketti: ∿ Play at Row 003 (003): +2276:Global:Paketti: ∿ Play at Row 004 (004): +2277:Global:Paketti: ∿ Play at Row 005 (005): +2278:Global:Paketti: ∿ Play at Row 006 (006): +2279:Global:Paketti: ∿ Play at Row 007 (007): +2280:Global:Paketti: ∿ Play at Row 008 (008): +2281:Global:Paketti: ∿ Play at Row 009 (009): +2282:Global:Paketti: ∿ Play at Row 010 (00A): +2283:Global:Paketti: ∿ Play at Row 011 (00B): +2284:Global:Paketti: ∿ Play at Row 012 (00C): +2285:Global:Paketti: ∿ Play at Row 013 (00D): +2286:Global:Paketti: ∿ Play at Row 014 (00E): +2287:Global:Paketti: ∿ Play at Row 015 (00F): +2288:Global:Paketti: ∿ Play at Row 016 (010): +2289:Global:Paketti: ∿ Play at Row 017 (011): +2290:Global:Paketti: ∿ Play at Row 018 (012): +2291:Global:Paketti: ∿ Play at Row 019 (013): +2292:Global:Paketti: ∿ Play at Row 020 (014): +2293:Global:Paketti: ∿ Play at Row 021 (015): +2294:Global:Paketti: ∿ Play at Row 022 (016): +2295:Global:Paketti: ∿ Play at Row 023 (017): +2296:Global:Paketti: ∿ Play at Row 024 (018): +2297:Global:Paketti: ∿ Play at Row 025 (019): +2298:Global:Paketti: ∿ Play at Row 026 (01A): +2299:Global:Paketti: ∿ Play at Row 027 (01B): +2300:Global:Paketti: ∿ Play at Row 028 (01C): +2301:Global:Paketti: ∿ Play at Row 029 (01D): +2302:Global:Paketti: ∿ Play at Row 030 (01E): +2303:Global:Paketti: ∿ Play at Row 031 (01F): +2304:Global:Paketti: ∿ Play at Row 032 (020): +2305:Global:Paketti: ∿ Play at Row 033 (021): +2306:Global:Paketti: ∿ Play at Row 034 (022): +2307:Global:Paketti: ∿ Play at Row 035 (023): +2308:Global:Paketti: ∿ Play at Row 036 (024): +2309:Global:Paketti: ∿ Play at Row 037 (025): +2310:Global:Paketti: ∿ Play at Row 038 (026): +2311:Global:Paketti: ∿ Play at Row 039 (027): +2312:Global:Paketti: ∿ Play at Row 040 (028): +2313:Global:Paketti: ∿ Play at Row 041 (029): +2314:Global:Paketti: ∿ Play at Row 042 (02A): +2315:Global:Paketti: ∿ Play at Row 043 (02B): +2316:Global:Paketti: ∿ Play at Row 044 (02C): +2317:Global:Paketti: ∿ Play at Row 045 (02D): +2318:Global:Paketti: ∿ Play at Row 046 (02E): +2319:Global:Paketti: ∿ Play at Row 047 (02F): +2320:Global:Paketti: ∿ Play at Row 048 (030): +2321:Global:Paketti: ∿ Play at Row 049 (031): +2322:Global:Paketti: ∿ Play at Row 050 (032): +2323:Global:Paketti: ∿ Play at Row 051 (033): +2324:Global:Paketti: ∿ Play at Row 052 (034): +2325:Global:Paketti: ∿ Play at Row 053 (035): +2326:Global:Paketti: ∿ Play at Row 054 (036): +2327:Global:Paketti: ∿ Play at Row 055 (037): +2328:Global:Paketti: ∿ Play at Row 056 (038): +2329:Global:Paketti: ∿ Play at Row 057 (039): +2330:Global:Paketti: ∿ Play at Row 058 (03A): +2331:Global:Paketti: ∿ Play at Row 059 (03B): +2332:Global:Paketti: ∿ Play at Row 060 (03C): +2333:Global:Paketti: ∿ Play at Row 061 (03D): +2334:Global:Paketti: ∿ Play at Row 062 (03E): +2335:Global:Paketti: ∿ Play at Row 063 (03F): +2336:Global:Paketti: ∿ Play at Row 064 (040): +2337:Global:Paketti: ∿ Play at Row 065 (041): +2338:Global:Paketti: ∿ Play at Row 066 (042): +2339:Global:Paketti: ∿ Play at Row 067 (043): +2340:Global:Paketti: ∿ Play at Row 068 (044): +2341:Global:Paketti: ∿ Play at Row 069 (045): +2342:Global:Paketti: ∿ Play at Row 070 (046): +2343:Global:Paketti: ∿ Play at Row 071 (047): +2344:Global:Paketti: ∿ Play at Row 072 (048): +2345:Global:Paketti: ∿ Play at Row 073 (049): +2346:Global:Paketti: ∿ Play at Row 074 (04A): +2347:Global:Paketti: ∿ Play at Row 075 (04B): +2348:Global:Paketti: ∿ Play at Row 076 (04C): +2349:Global:Paketti: ∿ Play at Row 077 (04D): +2350:Global:Paketti: ∿ Play at Row 078 (04E): +2351:Global:Paketti: ∿ Play at Row 079 (04F): +2352:Global:Paketti: ∿ Play at Row 080 (050): +2353:Global:Paketti: ∿ Play at Row 081 (051): +2354:Global:Paketti: ∿ Play at Row 082 (052): +2355:Global:Paketti: ∿ Play at Row 083 (053): +2356:Global:Paketti: ∿ Play at Row 084 (054): +2357:Global:Paketti: ∿ Play at Row 085 (055): +2358:Global:Paketti: ∿ Play at Row 086 (056): +2359:Global:Paketti: ∿ Play at Row 087 (057): +2360:Global:Paketti: ∿ Play at Row 088 (058): +2361:Global:Paketti: ∿ Play at Row 089 (059): +2362:Global:Paketti: ∿ Play at Row 090 (05A): +2363:Global:Paketti: ∿ Play at Row 091 (05B): +2364:Global:Paketti: ∿ Play at Row 092 (05C): +2365:Global:Paketti: ∿ Play at Row 093 (05D): +2366:Global:Paketti: ∿ Play at Row 094 (05E): +2367:Global:Paketti: ∿ Play at Row 095 (05F): +2368:Global:Paketti: ∿ Play at Row 096 (060): +2369:Global:Paketti: ∿ Play at Row 097 (061): +2370:Global:Paketti: ∿ Play at Row 098 (062): +2371:Global:Paketti: ∿ Play at Row 099 (063): +2372:Global:Paketti: ∿ Play at Row 100 (064): +2373:Global:Paketti: ∿ Play at Row 101 (065): +2374:Global:Paketti: ∿ Play at Row 102 (066): +2375:Global:Paketti: ∿ Play at Row 103 (067): +2376:Global:Paketti: ∿ Play at Row 104 (068): +2377:Global:Paketti: ∿ Play at Row 105 (069): +2378:Global:Paketti: ∿ Play at Row 106 (06A): +2379:Global:Paketti: ∿ Play at Row 107 (06B): +2380:Global:Paketti: ∿ Play at Row 108 (06C): +2381:Global:Paketti: ∿ Play at Row 109 (06D): +2382:Global:Paketti: ∿ Play at Row 110 (06E): +2383:Global:Paketti: ∿ Play at Row 111 (06F): +2384:Global:Paketti: ∿ Play at Row 112 (070): +2385:Global:Paketti: ∿ Play at Row 113 (071): +2386:Global:Paketti: ∿ Play at Row 114 (072): +2387:Global:Paketti: ∿ Play at Row 115 (073): +2388:Global:Paketti: ∿ Play at Row 116 (074): +2389:Global:Paketti: ∿ Play at Row 117 (075): +2390:Global:Paketti: ∿ Play at Row 118 (076): +2391:Global:Paketti: ∿ Play at Row 119 (077): +2392:Global:Paketti: ∿ Play at Row 120 (078): +2393:Global:Paketti: ∿ Play at Row 121 (079): +2394:Global:Paketti: ∿ Play at Row 122 (07A): +2395:Global:Paketti: ∿ Play at Row 123 (07B): +2396:Global:Paketti: ∿ Play at Row 124 (07C): +2397:Global:Paketti: ∿ Play at Row 125 (07D): +2398:Global:Paketti: ∿ Play at Row 126 (07E): +2399:Global:Paketti: ∿ Play at Row 127 (07F): +2400:Global:Paketti: ∿ Play at Row 128 (080): +2401:Global:Paketti: ∿ Play at Row 129 (081): +2402:Global:Paketti: ∿ Play at Row 130 (082): +2403:Global:Paketti: ∿ Play at Row 131 (083): +2404:Global:Paketti: ∿ Play at Row 132 (084): +2405:Global:Paketti: ∿ Play at Row 133 (085): +2406:Global:Paketti: ∿ Play at Row 134 (086): +2407:Global:Paketti: ∿ Play at Row 135 (087): +2408:Global:Paketti: ∿ Play at Row 136 (088): +2409:Global:Paketti: ∿ Play at Row 137 (089): +2410:Global:Paketti: ∿ Play at Row 138 (08A): +2411:Global:Paketti: ∿ Play at Row 139 (08B): +2412:Global:Paketti: ∿ Play at Row 140 (08C): +2413:Global:Paketti: ∿ Play at Row 141 (08D): +2414:Global:Paketti: ∿ Play at Row 142 (08E): +2415:Global:Paketti: ∿ Play at Row 143 (08F): +2416:Global:Paketti: ∿ Play at Row 144 (090): +2417:Global:Paketti: ∿ Play at Row 145 (091): +2418:Global:Paketti: ∿ Play at Row 146 (092): +2419:Global:Paketti: ∿ Play at Row 147 (093): +2420:Global:Paketti: ∿ Play at Row 148 (094): +2421:Global:Paketti: ∿ Play at Row 149 (095): +2422:Global:Paketti: ∿ Play at Row 150 (096): +2423:Global:Paketti: ∿ Play at Row 151 (097): +2424:Global:Paketti: ∿ Play at Row 152 (098): +2425:Global:Paketti: ∿ Play at Row 153 (099): +2426:Global:Paketti: ∿ Play at Row 154 (09A): +2427:Global:Paketti: ∿ Play at Row 155 (09B): +2428:Global:Paketti: ∿ Play at Row 156 (09C): +2429:Global:Paketti: ∿ Play at Row 157 (09D): +2430:Global:Paketti: ∿ Play at Row 158 (09E): +2431:Global:Paketti: ∿ Play at Row 159 (09F): +2432:Global:Paketti: ∿ Play at Row 160 (0A0): +2433:Global:Paketti: ∿ Play at Row 161 (0A1): +2434:Global:Paketti: ∿ Play at Row 162 (0A2): +2435:Global:Paketti: ∿ Play at Row 163 (0A3): +2436:Global:Paketti: ∿ Play at Row 164 (0A4): +2437:Global:Paketti: ∿ Play at Row 165 (0A5): +2438:Global:Paketti: ∿ Play at Row 166 (0A6): +2439:Global:Paketti: ∿ Play at Row 167 (0A7): +2440:Global:Paketti: ∿ Play at Row 168 (0A8): +2441:Global:Paketti: ∿ Play at Row 169 (0A9): +2442:Global:Paketti: ∿ Play at Row 170 (0AA): +2443:Global:Paketti: ∿ Play at Row 171 (0AB): +2444:Global:Paketti: ∿ Play at Row 172 (0AC): +2445:Global:Paketti: ∿ Play at Row 173 (0AD): +2446:Global:Paketti: ∿ Play at Row 174 (0AE): +2447:Global:Paketti: ∿ Play at Row 175 (0AF): +2448:Global:Paketti: ∿ Play at Row 176 (0B0): +2449:Global:Paketti: ∿ Play at Row 177 (0B1): +2450:Global:Paketti: ∿ Play at Row 178 (0B2): +2451:Global:Paketti: ∿ Play at Row 179 (0B3): +2452:Global:Paketti: ∿ Play at Row 180 (0B4): +2453:Global:Paketti: ∿ Play at Row 181 (0B5): +2454:Global:Paketti: ∿ Play at Row 182 (0B6): +2455:Global:Paketti: ∿ Play at Row 183 (0B7): +2456:Global:Paketti: ∿ Play at Row 184 (0B8): +2457:Global:Paketti: ∿ Play at Row 185 (0B9): +2458:Global:Paketti: ∿ Play at Row 186 (0BA): +2459:Global:Paketti: ∿ Play at Row 187 (0BB): +2460:Global:Paketti: ∿ Play at Row 188 (0BC): +2461:Global:Paketti: ∿ Play at Row 189 (0BD): +2462:Global:Paketti: ∿ Play at Row 190 (0BE): +2463:Global:Paketti: ∿ Play at Row 191 (0BF): +2464:Global:Paketti: ∿ Play at Row 192 (0C0): +2465:Global:Paketti: ∿ Play at Row 193 (0C1): +2466:Global:Paketti: ∿ Play at Row 194 (0C2): +2467:Global:Paketti: ∿ Play at Row 195 (0C3): +2468:Global:Paketti: ∿ Play at Row 196 (0C4): +2469:Global:Paketti: ∿ Play at Row 197 (0C5): +2470:Global:Paketti: ∿ Play at Row 198 (0C6): +2471:Global:Paketti: ∿ Play at Row 199 (0C7): +2472:Global:Paketti: ∿ Play at Row 200 (0C8): +2473:Global:Paketti: ∿ Play at Row 201 (0C9): +2474:Global:Paketti: ∿ Play at Row 202 (0CA): +2475:Global:Paketti: ∿ Play at Row 203 (0CB): +2476:Global:Paketti: ∿ Play at Row 204 (0CC): +2477:Global:Paketti: ∿ Play at Row 205 (0CD): +2478:Global:Paketti: ∿ Play at Row 206 (0CE): +2479:Global:Paketti: ∿ Play at Row 207 (0CF): +2480:Global:Paketti: ∿ Play at Row 208 (0D0): +2481:Global:Paketti: ∿ Play at Row 209 (0D1): +2482:Global:Paketti: ∿ Play at Row 210 (0D2): +2483:Global:Paketti: ∿ Play at Row 211 (0D3): +2484:Global:Paketti: ∿ Play at Row 212 (0D4): +2485:Global:Paketti: ∿ Play at Row 213 (0D5): +2486:Global:Paketti: ∿ Play at Row 214 (0D6): +2487:Global:Paketti: ∿ Play at Row 215 (0D7): +2488:Global:Paketti: ∿ Play at Row 216 (0D8): +2489:Global:Paketti: ∿ Play at Row 217 (0D9): +2490:Global:Paketti: ∿ Play at Row 218 (0DA): +2491:Global:Paketti: ∿ Play at Row 219 (0DB): +2492:Global:Paketti: ∿ Play at Row 220 (0DC): +2493:Global:Paketti: ∿ Play at Row 221 (0DD): +2494:Global:Paketti: ∿ Play at Row 222 (0DE): +2495:Global:Paketti: ∿ Play at Row 223 (0DF): +2496:Global:Paketti: ∿ Play at Row 224 (0E0): +2497:Global:Paketti: ∿ Play at Row 225 (0E1): +2498:Global:Paketti: ∿ Play at Row 226 (0E2): +2499:Global:Paketti: ∿ Play at Row 227 (0E3): +2500:Global:Paketti: ∿ Play at Row 228 (0E4): +2501:Global:Paketti: ∿ Play at Row 229 (0E5): +2502:Global:Paketti: ∿ Play at Row 230 (0E6): +2503:Global:Paketti: ∿ Play at Row 231 (0E7): +2504:Global:Paketti: ∿ Play at Row 232 (0E8): +2505:Global:Paketti: ∿ Play at Row 233 (0E9): +2506:Global:Paketti: ∿ Play at Row 234 (0EA): +2507:Global:Paketti: ∿ Play at Row 235 (0EB): +2508:Global:Paketti: ∿ Play at Row 236 (0EC): +2509:Global:Paketti: ∿ Play at Row 237 (0ED): +2510:Global:Paketti: ∿ Play at Row 238 (0EE): +2511:Global:Paketti: ∿ Play at Row 239 (0EF): +2512:Global:Paketti: ∿ Play at Row 240 (0F0): +2513:Global:Paketti: ∿ Play at Row 241 (0F1): +2514:Global:Paketti: ∿ Play at Row 242 (0F2): +2515:Global:Paketti: ∿ Play at Row 243 (0F3): +2516:Global:Paketti: ∿ Play at Row 244 (0F4): +2517:Global:Paketti: ∿ Play at Row 245 (0F5): +2518:Global:Paketti: ∿ Play at Row 246 (0F6): +2519:Global:Paketti: ∿ Play at Row 247 (0F7): +2520:Global:Paketti: ∿ Play at Row 248 (0F8): +2521:Global:Paketti: ∿ Play at Row 249 (0F9): +2522:Global:Paketti: ∿ Play at Row 250 (0FA): +2523:Global:Paketti: ∿ Play at Row 251 (0FB): +2524:Global:Paketti: ∿ Play at Row 252 (0FC): +2525:Global:Paketti: ∿ Play at Row 253 (0FD): +2526:Global:Paketti: ∿ Play at Row 254 (0FE): +2527:Global:Paketti: ∿ Play at Row 255 (0FF): +2528:Global:Paketti: ∿ Play at Row 256 (100): +2529:Global:Paketti: ∿ Play at Row 257 (101): +2530:Global:Paketti: ∿ Play at Row 258 (102): +2531:Global:Paketti: ∿ Play at Row 259 (103): +2532:Global:Paketti: ∿ Play at Row 260 (104): +2533:Global:Paketti: ∿ Play at Row 261 (105): +2534:Global:Paketti: ∿ Play at Row 262 (106): +2535:Global:Paketti: ∿ Play at Row 263 (107): +2536:Global:Paketti: ∿ Play at Row 264 (108): +2537:Global:Paketti: ∿ Play at Row 265 (109): +2538:Global:Paketti: ∿ Play at Row 266 (10A): +2539:Global:Paketti: ∿ Play at Row 267 (10B): +2540:Global:Paketti: ∿ Play at Row 268 (10C): +2541:Global:Paketti: ∿ Play at Row 269 (10D): +2542:Global:Paketti: ∿ Play at Row 270 (10E): +2543:Global:Paketti: ∿ Play at Row 271 (10F): +2544:Global:Paketti: ∿ Play at Row 272 (110): +2545:Global:Paketti: ∿ Play at Row 273 (111): +2546:Global:Paketti: ∿ Play at Row 274 (112): +2547:Global:Paketti: ∿ Play at Row 275 (113): +2548:Global:Paketti: ∿ Play at Row 276 (114): +2549:Global:Paketti: ∿ Play at Row 277 (115): +2550:Global:Paketti: ∿ Play at Row 278 (116): +2551:Global:Paketti: ∿ Play at Row 279 (117): +2552:Global:Paketti: ∿ Play at Row 280 (118): +2553:Global:Paketti: ∿ Play at Row 281 (119): +2554:Global:Paketti: ∿ Play at Row 282 (11A): +2555:Global:Paketti: ∿ Play at Row 283 (11B): +2556:Global:Paketti: ∿ Play at Row 284 (11C): +2557:Global:Paketti: ∿ Play at Row 285 (11D): +2558:Global:Paketti: ∿ Play at Row 286 (11E): +2559:Global:Paketti: ∿ Play at Row 287 (11F): +2560:Global:Paketti: ∿ Play at Row 288 (120): +2561:Global:Paketti: ∿ Play at Row 289 (121): +2562:Global:Paketti: ∿ Play at Row 290 (122): +2563:Global:Paketti: ∿ Play at Row 291 (123): +2564:Global:Paketti: ∿ Play at Row 292 (124): +2565:Global:Paketti: ∿ Play at Row 293 (125): +2566:Global:Paketti: ∿ Play at Row 294 (126): +2567:Global:Paketti: ∿ Play at Row 295 (127): +2568:Global:Paketti: ∿ Play at Row 296 (128): +2569:Global:Paketti: ∿ Play at Row 297 (129): +2570:Global:Paketti: ∿ Play at Row 298 (12A): +2571:Global:Paketti: ∿ Play at Row 299 (12B): +2572:Global:Paketti: ∿ Play at Row 300 (12C): +2573:Global:Paketti: ∿ Play at Row 301 (12D): +2574:Global:Paketti: ∿ Play at Row 302 (12E): +2575:Global:Paketti: ∿ Play at Row 303 (12F): +2576:Global:Paketti: ∿ Play at Row 304 (130): +2577:Global:Paketti: ∿ Play at Row 305 (131): +2578:Global:Paketti: ∿ Play at Row 306 (132): +2579:Global:Paketti: ∿ Play at Row 307 (133): +2580:Global:Paketti: ∿ Play at Row 308 (134): +2581:Global:Paketti: ∿ Play at Row 309 (135): +2582:Global:Paketti: ∿ Play at Row 310 (136): +2583:Global:Paketti: ∿ Play at Row 311 (137): +2584:Global:Paketti: ∿ Play at Row 312 (138): +2585:Global:Paketti: ∿ Play at Row 313 (139): +2586:Global:Paketti: ∿ Play at Row 314 (13A): +2587:Global:Paketti: ∿ Play at Row 315 (13B): +2588:Global:Paketti: ∿ Play at Row 316 (13C): +2589:Global:Paketti: ∿ Play at Row 317 (13D): +2590:Global:Paketti: ∿ Play at Row 318 (13E): +2591:Global:Paketti: ∿ Play at Row 319 (13F): +2592:Global:Paketti: ∿ Play at Row 320 (140): +2593:Global:Paketti: ∿ Play at Row 321 (141): +2594:Global:Paketti: ∿ Play at Row 322 (142): +2595:Global:Paketti: ∿ Play at Row 323 (143): +2596:Global:Paketti: ∿ Play at Row 324 (144): +2597:Global:Paketti: ∿ Play at Row 325 (145): +2598:Global:Paketti: ∿ Play at Row 326 (146): +2599:Global:Paketti: ∿ Play at Row 327 (147): +2600:Global:Paketti: ∿ Play at Row 328 (148): +2601:Global:Paketti: ∿ Play at Row 329 (149): +2602:Global:Paketti: ∿ Play at Row 330 (14A): +2603:Global:Paketti: ∿ Play at Row 331 (14B): +2604:Global:Paketti: ∿ Play at Row 332 (14C): +2605:Global:Paketti: ∿ Play at Row 333 (14D): +2606:Global:Paketti: ∿ Play at Row 334 (14E): +2607:Global:Paketti: ∿ Play at Row 335 (14F): +2608:Global:Paketti: ∿ Play at Row 336 (150): +2609:Global:Paketti: ∿ Play at Row 337 (151): +2610:Global:Paketti: ∿ Play at Row 338 (152): +2611:Global:Paketti: ∿ Play at Row 339 (153): +2612:Global:Paketti: ∿ Play at Row 340 (154): +2613:Global:Paketti: ∿ Play at Row 341 (155): +2614:Global:Paketti: ∿ Play at Row 342 (156): +2615:Global:Paketti: ∿ Play at Row 343 (157): +2616:Global:Paketti: ∿ Play at Row 344 (158): +2617:Global:Paketti: ∿ Play at Row 345 (159): +2618:Global:Paketti: ∿ Play at Row 346 (15A): +2619:Global:Paketti: ∿ Play at Row 347 (15B): +2620:Global:Paketti: ∿ Play at Row 348 (15C): +2621:Global:Paketti: ∿ Play at Row 349 (15D): +2622:Global:Paketti: ∿ Play at Row 350 (15E): +2623:Global:Paketti: ∿ Play at Row 351 (15F): +2624:Global:Paketti: ∿ Play at Row 352 (160): +2625:Global:Paketti: ∿ Play at Row 353 (161): +2626:Global:Paketti: ∿ Play at Row 354 (162): +2627:Global:Paketti: ∿ Play at Row 355 (163): +2628:Global:Paketti: ∿ Play at Row 356 (164): +2629:Global:Paketti: ∿ Play at Row 357 (165): +2630:Global:Paketti: ∿ Play at Row 358 (166): +2631:Global:Paketti: ∿ Play at Row 359 (167): +2632:Global:Paketti: ∿ Play at Row 360 (168): +2633:Global:Paketti: ∿ Play at Row 361 (169): +2634:Global:Paketti: ∿ Play at Row 362 (16A): +2635:Global:Paketti: ∿ Play at Row 363 (16B): +2636:Global:Paketti: ∿ Play at Row 364 (16C): +2637:Global:Paketti: ∿ Play at Row 365 (16D): +2638:Global:Paketti: ∿ Play at Row 366 (16E): +2639:Global:Paketti: ∿ Play at Row 367 (16F): +2640:Global:Paketti: ∿ Play at Row 368 (170): +2641:Global:Paketti: ∿ Play at Row 369 (171): +2642:Global:Paketti: ∿ Play at Row 370 (172): +2643:Global:Paketti: ∿ Play at Row 371 (173): +2644:Global:Paketti: ∿ Play at Row 372 (174): +2645:Global:Paketti: ∿ Play at Row 373 (175): +2646:Global:Paketti: ∿ Play at Row 374 (176): +2647:Global:Paketti: ∿ Play at Row 375 (177): +2648:Global:Paketti: ∿ Play at Row 376 (178): +2649:Global:Paketti: ∿ Play at Row 377 (179): +2650:Global:Paketti: ∿ Play at Row 378 (17A): +2651:Global:Paketti: ∿ Play at Row 379 (17B): +2652:Global:Paketti: ∿ Play at Row 380 (17C): +2653:Global:Paketti: ∿ Play at Row 381 (17D): +2654:Global:Paketti: ∿ Play at Row 382 (17E): +2655:Global:Paketti: ∿ Play at Row 383 (17F): +2656:Global:Paketti: ∿ Play at Row 384 (180): +2657:Global:Paketti: ∿ Play at Row 385 (181): +2658:Global:Paketti: ∿ Play at Row 386 (182): +2659:Global:Paketti: ∿ Play at Row 387 (183): +2660:Global:Paketti: ∿ Play at Row 388 (184): +2661:Global:Paketti: ∿ Play at Row 389 (185): +2662:Global:Paketti: ∿ Play at Row 390 (186): +2663:Global:Paketti: ∿ Play at Row 391 (187): +2664:Global:Paketti: ∿ Play at Row 392 (188): +2665:Global:Paketti: ∿ Play at Row 393 (189): +2666:Global:Paketti: ∿ Play at Row 394 (18A): +2667:Global:Paketti: ∿ Play at Row 395 (18B): +2668:Global:Paketti: ∿ Play at Row 396 (18C): +2669:Global:Paketti: ∿ Play at Row 397 (18D): +2670:Global:Paketti: ∿ Play at Row 398 (18E): +2671:Global:Paketti: ∿ Play at Row 399 (18F): +2672:Global:Paketti: ∿ Play at Row 400 (190): +2673:Global:Paketti: ∿ Play at Row 401 (191): +2674:Global:Paketti: ∿ Play at Row 402 (192): +2675:Global:Paketti: ∿ Play at Row 403 (193): +2676:Global:Paketti: ∿ Play at Row 404 (194): +2677:Global:Paketti: ∿ Play at Row 405 (195): +2678:Global:Paketti: ∿ Play at Row 406 (196): +2679:Global:Paketti: ∿ Play at Row 407 (197): +2680:Global:Paketti: ∿ Play at Row 408 (198): +2681:Global:Paketti: ∿ Play at Row 409 (199): +2682:Global:Paketti: ∿ Play at Row 410 (19A): +2683:Global:Paketti: ∿ Play at Row 411 (19B): +2684:Global:Paketti: ∿ Play at Row 412 (19C): +2685:Global:Paketti: ∿ Play at Row 413 (19D): +2686:Global:Paketti: ∿ Play at Row 414 (19E): +2687:Global:Paketti: ∿ Play at Row 415 (19F): +2688:Global:Paketti: ∿ Play at Row 416 (1A0): +2689:Global:Paketti: ∿ Play at Row 417 (1A1): +2690:Global:Paketti: ∿ Play at Row 418 (1A2): +2691:Global:Paketti: ∿ Play at Row 419 (1A3): +2692:Global:Paketti: ∿ Play at Row 420 (1A4): +2693:Global:Paketti: ∿ Play at Row 421 (1A5): +2694:Global:Paketti: ∿ Play at Row 422 (1A6): +2695:Global:Paketti: ∿ Play at Row 423 (1A7): +2696:Global:Paketti: ∿ Play at Row 424 (1A8): +2697:Global:Paketti: ∿ Play at Row 425 (1A9): +2698:Global:Paketti: ∿ Play at Row 426 (1AA): +2699:Global:Paketti: ∿ Play at Row 427 (1AB): +2700:Global:Paketti: ∿ Play at Row 428 (1AC): +2701:Global:Paketti: ∿ Play at Row 429 (1AD): +2702:Global:Paketti: ∿ Play at Row 430 (1AE): +2703:Global:Paketti: ∿ Play at Row 431 (1AF): +2704:Global:Paketti: ∿ Play at Row 432 (1B0): +2705:Global:Paketti: ∿ Play at Row 433 (1B1): +2706:Global:Paketti: ∿ Play at Row 434 (1B2): +2707:Global:Paketti: ∿ Play at Row 435 (1B3): +2708:Global:Paketti: ∿ Play at Row 436 (1B4): +2709:Global:Paketti: ∿ Play at Row 437 (1B5): +2710:Global:Paketti: ∿ Play at Row 438 (1B6): +2711:Global:Paketti: ∿ Play at Row 439 (1B7): +2712:Global:Paketti: ∿ Play at Row 440 (1B8): +2713:Global:Paketti: ∿ Play at Row 441 (1B9): +2714:Global:Paketti: ∿ Play at Row 442 (1BA): +2715:Global:Paketti: ∿ Play at Row 443 (1BB): +2716:Global:Paketti: ∿ Play at Row 444 (1BC): +2717:Global:Paketti: ∿ Play at Row 445 (1BD): +2718:Global:Paketti: ∿ Play at Row 446 (1BE): +2719:Global:Paketti: ∿ Play at Row 447 (1BF): +2720:Global:Paketti: ∿ Play at Row 448 (1C0): +2721:Global:Paketti: ∿ Play at Row 449 (1C1): +2722:Global:Paketti: ∿ Play at Row 450 (1C2): +2723:Global:Paketti: ∿ Play at Row 451 (1C3): +2724:Global:Paketti: ∿ Play at Row 452 (1C4): +2725:Global:Paketti: ∿ Play at Row 453 (1C5): +2726:Global:Paketti: ∿ Play at Row 454 (1C6): +2727:Global:Paketti: ∿ Play at Row 455 (1C7): +2728:Global:Paketti: ∿ Play at Row 456 (1C8): +2729:Global:Paketti: ∿ Play at Row 457 (1C9): +2730:Global:Paketti: ∿ Play at Row 458 (1CA): +2731:Global:Paketti: ∿ Play at Row 459 (1CB): +2732:Global:Paketti: ∿ Play at Row 460 (1CC): +2733:Global:Paketti: ∿ Play at Row 461 (1CD): +2734:Global:Paketti: ∿ Play at Row 462 (1CE): +2735:Global:Paketti: ∿ Play at Row 463 (1CF): +2736:Global:Paketti: ∿ Play at Row 464 (1D0): +2737:Global:Paketti: ∿ Play at Row 465 (1D1): +2738:Global:Paketti: ∿ Play at Row 466 (1D2): +2739:Global:Paketti: ∿ Play at Row 467 (1D3): +2740:Global:Paketti: ∿ Play at Row 468 (1D4): +2741:Global:Paketti: ∿ Play at Row 469 (1D5): +2742:Global:Paketti: ∿ Play at Row 470 (1D6): +2743:Global:Paketti: ∿ Play at Row 471 (1D7): +2744:Global:Paketti: ∿ Play at Row 472 (1D8): +2745:Global:Paketti: ∿ Play at Row 473 (1D9): +2746:Global:Paketti: ∿ Play at Row 474 (1DA): +2747:Global:Paketti: ∿ Play at Row 475 (1DB): +2748:Global:Paketti: ∿ Play at Row 476 (1DC): +2749:Global:Paketti: ∿ Play at Row 477 (1DD): +2750:Global:Paketti: ∿ Play at Row 478 (1DE): +2751:Global:Paketti: ∿ Play at Row 479 (1DF): +2752:Global:Paketti: ∿ Play at Row 480 (1E0): +2753:Global:Paketti: ∿ Play at Row 481 (1E1): +2754:Global:Paketti: ∿ Play at Row 482 (1E2): +2755:Global:Paketti: ∿ Play at Row 483 (1E3): +2756:Global:Paketti: ∿ Play at Row 484 (1E4): +2757:Global:Paketti: ∿ Play at Row 485 (1E5): +2758:Global:Paketti: ∿ Play at Row 486 (1E6): +2759:Global:Paketti: ∿ Play at Row 487 (1E7): +2760:Global:Paketti: ∿ Play at Row 488 (1E8): +2761:Global:Paketti: ∿ Play at Row 489 (1E9): +2762:Global:Paketti: ∿ Play at Row 490 (1EA): +2763:Global:Paketti: ∿ Play at Row 491 (1EB): +2764:Global:Paketti: ∿ Play at Row 492 (1EC): +2765:Global:Paketti: ∿ Play at Row 493 (1ED): +2766:Global:Paketti: ∿ Play at Row 494 (1EE): +2767:Global:Paketti: ∿ Play at Row 495 (1EF): +2768:Global:Paketti: ∿ Play at Row 496 (1F0): +2769:Global:Paketti: ∿ Play at Row 497 (1F1): +2770:Global:Paketti: ∿ Play at Row 498 (1F2): +2771:Global:Paketti: ∿ Play at Row 499 (1F3): +2772:Global:Paketti: ∿ Play at Row 500 (1F4): +2773:Global:Paketti: ∿ Play at Row 501 (1F5): +2774:Global:Paketti: ∿ Play at Row 502 (1F6): +2775:Global:Paketti: ∿ Play at Row 503 (1F7): +2776:Global:Paketti: ∿ Play at Row 504 (1F8): +2777:Global:Paketti: ∿ Play at Row 505 (1F9): +2778:Global:Paketti: ∿ Play at Row 506 (1FA): +2779:Global:Paketti: ∿ Play at Row 507 (1FB): +2780:Global:Paketti: ∿ Play at Row 508 (1FC): +2781:Global:Paketti: ∿ Play at Row 509 (1FD): +2782:Global:Paketti: ∿ Play at Row 510 (1FE): +2783:Global:Paketti: ∿ Play at Row 511 (1FF): +2784:Global:Paketti: ∿ Open VolDelayPan Slider Dialog...: Shift + Control + W +2785:Global:Paketti: ∿ Wipe All Columns of Selected Track: +2786:Global:Paketti: ∿ Set Interpolation 1 (None) Globally: +2787:Global:Paketti: ∿ Set Interpolation 2 (Linear) Globally: +2788:Global:Paketti: ∿ Set Interpolation 3 (Cubic) Globally: Shift + Option + 3 +2789:Global:Paketti: ∿ Set Interpolation 4 (Sinc) Globally: Shift + Option + 4 +2790:Global:Paketti: ∿ Show/Hide Selected Track Device 01: +2791:Global:Paketti: ∿ Show/Hide Selected Track Device 02: +2792:Global:Paketti: ∿ Show/Hide Selected Track Device 03: +2793:Global:Paketti: ∿ Show/Hide Selected Track Device 04: +2794:Global:Paketti: ∿ Show/Hide Selected Track Device 05: +2795:Global:Paketti: ∿ Show/Hide Selected Track Device 06: +2796:Global:Paketti: ∿ Show/Hide Selected Track Device 07: +2797:Global:Paketti: ∿ Show/Hide Selected Track Device 08: +2798:Global:Paketti: ∿ Show/Hide Selected Track Device 09: +2799:Global:Paketti: ∿ Show/Hide Selected Track Device 10: +2800:Global:Paketti: ∿ Show/Hide Selected Track Device 11: +2801:Global:Paketti: ∿ Show/Hide Selected Track Device 12: +2802:Global:Paketti: ∿ Show/Hide Selected Track Device 13: +2803:Global:Paketti: ∿ Show/Hide Selected Track Device 14: +2804:Global:Paketti: ∿ Show/Hide Selected Track Device 15: +2805:Global:Paketti: ∿ Show/Hide Selected Track Device 16: +2806:Global:Paketti: ∿ Show/Hide Selected Track Device 17: +2807:Global:Paketti: ∿ Show/Hide Selected Track Device 18: +2808:Global:Paketti: ∿ Show/Hide Selected Track Device 19: +2809:Global:Paketti: ∿ Show/Hide Selected Track Device 20: +2810:Global:Paketti: ∿ Show/Hide Selected Track Device 21: +2811:Global:Paketti: ∿ Show/Hide Selected Track Device 22: +2812:Global:Paketti: ∿ Show/Hide Selected Track Device 23: +2813:Global:Paketti: ∿ Show/Hide Selected Track Device 24: +2814:Global:Paketti: ∿ Show/Hide Selected Track Device 25: +2815:Global:Paketti: ∿ Show/Hide Selected Track Device 26: +2816:Global:Paketti: ∿ Show/Hide Selected Track Device 27: +2817:Global:Paketti: ∿ Show/Hide Selected Track Device 28: +2818:Global:Paketti: ∿ Show/Hide Selected Track Device 29: +2819:Global:Paketti: ∿ Show/Hide Selected Track Device 30: +2820:Global:Paketti: ∿ Show/Hide Selected Track Device 31: +2821:Global:Paketti: ∿ Jump Forward Within Pattern by 001: +2822:Global:Paketti: ∿ Jump Backward Within Pattern by 001: +2823:Global:Paketti: ∿ Jump Forward Within Pattern by 002: +2824:Global:Paketti: ∿ Jump Backward Within Pattern by 002: +2825:Global:Paketti: ∿ Jump Forward Within Pattern by 003: +2826:Global:Paketti: ∿ Jump Backward Within Pattern by 003: +2827:Global:Paketti: ∿ Jump Forward Within Pattern by 004: +2828:Global:Paketti: ∿ Jump Backward Within Pattern by 004: +2829:Global:Paketti: ∿ Jump Forward Within Pattern by 005: +2830:Global:Paketti: ∿ Jump Backward Within Pattern by 005: +2831:Global:Paketti: ∿ Jump Forward Within Pattern by 006: +2832:Global:Paketti: ∿ Jump Backward Within Pattern by 006: +2833:Global:Paketti: ∿ Jump Forward Within Pattern by 007: +2834:Global:Paketti: ∿ Jump Backward Within Pattern by 007: +2835:Global:Paketti: ∿ Jump Forward Within Pattern by 008: +2836:Global:Paketti: ∿ Jump Backward Within Pattern by 008: +2837:Global:Paketti: ∿ Jump Forward Within Pattern by 009: +2838:Global:Paketti: ∿ Jump Backward Within Pattern by 009: +2839:Global:Paketti: ∿ Jump Forward Within Pattern by 010: +2840:Global:Paketti: ∿ Jump Backward Within Pattern by 010: +2841:Global:Paketti: ∿ Jump Forward Within Pattern by 011: +2842:Global:Paketti: ∿ Jump Backward Within Pattern by 011: +2843:Global:Paketti: ∿ Jump Forward Within Pattern by 012: +2844:Global:Paketti: ∿ Jump Backward Within Pattern by 012: +2845:Global:Paketti: ∿ Jump Forward Within Pattern by 013: +2846:Global:Paketti: ∿ Jump Backward Within Pattern by 013: +2847:Global:Paketti: ∿ Jump Forward Within Pattern by 014: +2848:Global:Paketti: ∿ Jump Backward Within Pattern by 014: +2849:Global:Paketti: ∿ Jump Forward Within Pattern by 015: +2850:Global:Paketti: ∿ Jump Backward Within Pattern by 015: +2851:Global:Paketti: ∿ Jump Forward Within Pattern by 016: +2852:Global:Paketti: ∿ Jump Backward Within Pattern by 016: +2853:Global:Paketti: ∿ Jump Forward Within Pattern by 017: +2854:Global:Paketti: ∿ Jump Backward Within Pattern by 017: +2855:Global:Paketti: ∿ Jump Forward Within Pattern by 018: +2856:Global:Paketti: ∿ Jump Backward Within Pattern by 018: +2857:Global:Paketti: ∿ Jump Forward Within Pattern by 019: +2858:Global:Paketti: ∿ Jump Backward Within Pattern by 019: +2859:Global:Paketti: ∿ Jump Forward Within Pattern by 020: +2860:Global:Paketti: ∿ Jump Backward Within Pattern by 020: +2861:Global:Paketti: ∿ Jump Forward Within Pattern by 021: +2862:Global:Paketti: ∿ Jump Backward Within Pattern by 021: +2863:Global:Paketti: ∿ Jump Forward Within Pattern by 022: +2864:Global:Paketti: ∿ Jump Backward Within Pattern by 022: +2865:Global:Paketti: ∿ Jump Forward Within Pattern by 023: +2866:Global:Paketti: ∿ Jump Backward Within Pattern by 023: +2867:Global:Paketti: ∿ Jump Forward Within Pattern by 024: +2868:Global:Paketti: ∿ Jump Backward Within Pattern by 024: +2869:Global:Paketti: ∿ Jump Forward Within Pattern by 025: +2870:Global:Paketti: ∿ Jump Backward Within Pattern by 025: +2871:Global:Paketti: ∿ Jump Forward Within Pattern by 026: +2872:Global:Paketti: ∿ Jump Backward Within Pattern by 026: +2873:Global:Paketti: ∿ Jump Forward Within Pattern by 027: +2874:Global:Paketti: ∿ Jump Backward Within Pattern by 027: +2875:Global:Paketti: ∿ Jump Forward Within Pattern by 028: +2876:Global:Paketti: ∿ Jump Backward Within Pattern by 028: +2877:Global:Paketti: ∿ Jump Forward Within Pattern by 029: +2878:Global:Paketti: ∿ Jump Backward Within Pattern by 029: +2879:Global:Paketti: ∿ Jump Forward Within Pattern by 030: +2880:Global:Paketti: ∿ Jump Backward Within Pattern by 030: +2881:Global:Paketti: ∿ Jump Forward Within Pattern by 031: +2882:Global:Paketti: ∿ Jump Backward Within Pattern by 031: +2883:Global:Paketti: ∿ Jump Forward Within Pattern by 032: +2884:Global:Paketti: ∿ Jump Backward Within Pattern by 032: +2885:Global:Paketti: ∿ Jump Forward Within Pattern by 033: +2886:Global:Paketti: ∿ Jump Backward Within Pattern by 033: +2887:Global:Paketti: ∿ Jump Forward Within Pattern by 034: +2888:Global:Paketti: ∿ Jump Backward Within Pattern by 034: +2889:Global:Paketti: ∿ Jump Forward Within Pattern by 035: +2890:Global:Paketti: ∿ Jump Backward Within Pattern by 035: +2891:Global:Paketti: ∿ Jump Forward Within Pattern by 036: +2892:Global:Paketti: ∿ Jump Backward Within Pattern by 036: +2893:Global:Paketti: ∿ Jump Forward Within Pattern by 037: +2894:Global:Paketti: ∿ Jump Backward Within Pattern by 037: +2895:Global:Paketti: ∿ Jump Forward Within Pattern by 038: +2896:Global:Paketti: ∿ Jump Backward Within Pattern by 038: +2897:Global:Paketti: ∿ Jump Forward Within Pattern by 039: +2898:Global:Paketti: ∿ Jump Backward Within Pattern by 039: +2899:Global:Paketti: ∿ Jump Forward Within Pattern by 040: +2900:Global:Paketti: ∿ Jump Backward Within Pattern by 040: +2901:Global:Paketti: ∿ Jump Forward Within Pattern by 041: +2902:Global:Paketti: ∿ Jump Backward Within Pattern by 041: +2903:Global:Paketti: ∿ Jump Forward Within Pattern by 042: +2904:Global:Paketti: ∿ Jump Backward Within Pattern by 042: +2905:Global:Paketti: ∿ Jump Forward Within Pattern by 043: +2906:Global:Paketti: ∿ Jump Backward Within Pattern by 043: +2907:Global:Paketti: ∿ Jump Forward Within Pattern by 044: +2908:Global:Paketti: ∿ Jump Backward Within Pattern by 044: +2909:Global:Paketti: ∿ Jump Forward Within Pattern by 045: +2910:Global:Paketti: ∿ Jump Backward Within Pattern by 045: +2911:Global:Paketti: ∿ Jump Forward Within Pattern by 046: +2912:Global:Paketti: ∿ Jump Backward Within Pattern by 046: +2913:Global:Paketti: ∿ Jump Forward Within Pattern by 047: +2914:Global:Paketti: ∿ Jump Backward Within Pattern by 047: +2915:Global:Paketti: ∿ Jump Forward Within Pattern by 048: +2916:Global:Paketti: ∿ Jump Backward Within Pattern by 048: +2917:Global:Paketti: ∿ Jump Forward Within Pattern by 049: +2918:Global:Paketti: ∿ Jump Backward Within Pattern by 049: +2919:Global:Paketti: ∿ Jump Forward Within Pattern by 050: +2920:Global:Paketti: ∿ Jump Backward Within Pattern by 050: +2921:Global:Paketti: ∿ Jump Forward Within Pattern by 051: +2922:Global:Paketti: ∿ Jump Backward Within Pattern by 051: +2923:Global:Paketti: ∿ Jump Forward Within Pattern by 052: +2924:Global:Paketti: ∿ Jump Backward Within Pattern by 052: +2925:Global:Paketti: ∿ Jump Forward Within Pattern by 053: +2926:Global:Paketti: ∿ Jump Backward Within Pattern by 053: +2927:Global:Paketti: ∿ Jump Forward Within Pattern by 054: +2928:Global:Paketti: ∿ Jump Backward Within Pattern by 054: +2929:Global:Paketti: ∿ Jump Forward Within Pattern by 055: +2930:Global:Paketti: ∿ Jump Backward Within Pattern by 055: +2931:Global:Paketti: ∿ Jump Forward Within Pattern by 056: +2932:Global:Paketti: ∿ Jump Backward Within Pattern by 056: +2933:Global:Paketti: ∿ Jump Forward Within Pattern by 057: +2934:Global:Paketti: ∿ Jump Backward Within Pattern by 057: +2935:Global:Paketti: ∿ Jump Forward Within Pattern by 058: +2936:Global:Paketti: ∿ Jump Backward Within Pattern by 058: +2937:Global:Paketti: ∿ Jump Forward Within Pattern by 059: +2938:Global:Paketti: ∿ Jump Backward Within Pattern by 059: +2939:Global:Paketti: ∿ Jump Forward Within Pattern by 060: +2940:Global:Paketti: ∿ Jump Backward Within Pattern by 060: +2941:Global:Paketti: ∿ Jump Forward Within Pattern by 061: +2942:Global:Paketti: ∿ Jump Backward Within Pattern by 061: +2943:Global:Paketti: ∿ Jump Forward Within Pattern by 062: +2944:Global:Paketti: ∿ Jump Backward Within Pattern by 062: +2945:Global:Paketti: ∿ Jump Forward Within Pattern by 063: +2946:Global:Paketti: ∿ Jump Backward Within Pattern by 063: +2947:Global:Paketti: ∿ Jump Forward Within Pattern by 064: +2948:Global:Paketti: ∿ Jump Backward Within Pattern by 064: +2949:Global:Paketti: ∿ Jump Forward Within Pattern by 065: +2950:Global:Paketti: ∿ Jump Backward Within Pattern by 065: +2951:Global:Paketti: ∿ Jump Forward Within Pattern by 066: +2952:Global:Paketti: ∿ Jump Backward Within Pattern by 066: +2953:Global:Paketti: ∿ Jump Forward Within Pattern by 067: +2954:Global:Paketti: ∿ Jump Backward Within Pattern by 067: +2955:Global:Paketti: ∿ Jump Forward Within Pattern by 068: +2956:Global:Paketti: ∿ Jump Backward Within Pattern by 068: +2957:Global:Paketti: ∿ Jump Forward Within Pattern by 069: +2958:Global:Paketti: ∿ Jump Backward Within Pattern by 069: +2959:Global:Paketti: ∿ Jump Forward Within Pattern by 070: +2960:Global:Paketti: ∿ Jump Backward Within Pattern by 070: +2961:Global:Paketti: ∿ Jump Forward Within Pattern by 071: +2962:Global:Paketti: ∿ Jump Backward Within Pattern by 071: +2963:Global:Paketti: ∿ Jump Forward Within Pattern by 072: +2964:Global:Paketti: ∿ Jump Backward Within Pattern by 072: +2965:Global:Paketti: ∿ Jump Forward Within Pattern by 073: +2966:Global:Paketti: ∿ Jump Backward Within Pattern by 073: +2967:Global:Paketti: ∿ Jump Forward Within Pattern by 074: +2968:Global:Paketti: ∿ Jump Backward Within Pattern by 074: +2969:Global:Paketti: ∿ Jump Forward Within Pattern by 075: +2970:Global:Paketti: ∿ Jump Backward Within Pattern by 075: +2971:Global:Paketti: ∿ Jump Forward Within Pattern by 076: +2972:Global:Paketti: ∿ Jump Backward Within Pattern by 076: +2973:Global:Paketti: ∿ Jump Forward Within Pattern by 077: +2974:Global:Paketti: ∿ Jump Backward Within Pattern by 077: +2975:Global:Paketti: ∿ Jump Forward Within Pattern by 078: +2976:Global:Paketti: ∿ Jump Backward Within Pattern by 078: +2977:Global:Paketti: ∿ Jump Forward Within Pattern by 079: +2978:Global:Paketti: ∿ Jump Backward Within Pattern by 079: +2979:Global:Paketti: ∿ Jump Forward Within Pattern by 080: +2980:Global:Paketti: ∿ Jump Backward Within Pattern by 080: +2981:Global:Paketti: ∿ Jump Forward Within Pattern by 081: +2982:Global:Paketti: ∿ Jump Backward Within Pattern by 081: +2983:Global:Paketti: ∿ Jump Forward Within Pattern by 082: +2984:Global:Paketti: ∿ Jump Backward Within Pattern by 082: +2985:Global:Paketti: ∿ Jump Forward Within Pattern by 083: +2986:Global:Paketti: ∿ Jump Backward Within Pattern by 083: +2987:Global:Paketti: ∿ Jump Forward Within Pattern by 084: +2988:Global:Paketti: ∿ Jump Backward Within Pattern by 084: +2989:Global:Paketti: ∿ Jump Forward Within Pattern by 085: +2990:Global:Paketti: ∿ Jump Backward Within Pattern by 085: +2991:Global:Paketti: ∿ Jump Forward Within Pattern by 086: +2992:Global:Paketti: ∿ Jump Backward Within Pattern by 086: +2993:Global:Paketti: ∿ Jump Forward Within Pattern by 087: +2994:Global:Paketti: ∿ Jump Backward Within Pattern by 087: +2995:Global:Paketti: ∿ Jump Forward Within Pattern by 088: +2996:Global:Paketti: ∿ Jump Backward Within Pattern by 088: +2997:Global:Paketti: ∿ Jump Forward Within Pattern by 089: +2998:Global:Paketti: ∿ Jump Backward Within Pattern by 089: +2999:Global:Paketti: ∿ Jump Forward Within Pattern by 090: +3000:Global:Paketti: ∿ Jump Backward Within Pattern by 090: +3001:Global:Paketti: ∿ Jump Forward Within Pattern by 091: +3002:Global:Paketti: ∿ Jump Backward Within Pattern by 091: +3003:Global:Paketti: ∿ Jump Forward Within Pattern by 092: +3004:Global:Paketti: ∿ Jump Backward Within Pattern by 092: +3005:Global:Paketti: ∿ Jump Forward Within Pattern by 093: +3006:Global:Paketti: ∿ Jump Backward Within Pattern by 093: +3007:Global:Paketti: ∿ Jump Forward Within Pattern by 094: +3008:Global:Paketti: ∿ Jump Backward Within Pattern by 094: +3009:Global:Paketti: ∿ Jump Forward Within Pattern by 095: +3010:Global:Paketti: ∿ Jump Backward Within Pattern by 095: +3011:Global:Paketti: ∿ Jump Forward Within Pattern by 096: +3012:Global:Paketti: ∿ Jump Backward Within Pattern by 096: +3013:Global:Paketti: ∿ Jump Forward Within Pattern by 097: +3014:Global:Paketti: ∿ Jump Backward Within Pattern by 097: +3015:Global:Paketti: ∿ Jump Forward Within Pattern by 098: +3016:Global:Paketti: ∿ Jump Backward Within Pattern by 098: +3017:Global:Paketti: ∿ Jump Forward Within Pattern by 099: +3018:Global:Paketti: ∿ Jump Backward Within Pattern by 099: +3019:Global:Paketti: ∿ Jump Forward Within Pattern by 100: +3020:Global:Paketti: ∿ Jump Backward Within Pattern by 100: +3021:Global:Paketti: ∿ Jump Forward Within Pattern by 101: +3022:Global:Paketti: ∿ Jump Backward Within Pattern by 101: +3023:Global:Paketti: ∿ Jump Forward Within Pattern by 102: +3024:Global:Paketti: ∿ Jump Backward Within Pattern by 102: +3025:Global:Paketti: ∿ Jump Forward Within Pattern by 103: +3026:Global:Paketti: ∿ Jump Backward Within Pattern by 103: +3027:Global:Paketti: ∿ Jump Forward Within Pattern by 104: +3028:Global:Paketti: ∿ Jump Backward Within Pattern by 104: +3029:Global:Paketti: ∿ Jump Forward Within Pattern by 105: +3030:Global:Paketti: ∿ Jump Backward Within Pattern by 105: +3031:Global:Paketti: ∿ Jump Forward Within Pattern by 106: +3032:Global:Paketti: ∿ Jump Backward Within Pattern by 106: +3033:Global:Paketti: ∿ Jump Forward Within Pattern by 107: +3034:Global:Paketti: ∿ Jump Backward Within Pattern by 107: +3035:Global:Paketti: ∿ Jump Forward Within Pattern by 108: +3036:Global:Paketti: ∿ Jump Backward Within Pattern by 108: +3037:Global:Paketti: ∿ Jump Forward Within Pattern by 109: +3038:Global:Paketti: ∿ Jump Backward Within Pattern by 109: +3039:Global:Paketti: ∿ Jump Forward Within Pattern by 110: +3040:Global:Paketti: ∿ Jump Backward Within Pattern by 110: +3041:Global:Paketti: ∿ Jump Forward Within Pattern by 111: +3042:Global:Paketti: ∿ Jump Backward Within Pattern by 111: +3043:Global:Paketti: ∿ Jump Forward Within Pattern by 112: +3044:Global:Paketti: ∿ Jump Backward Within Pattern by 112: +3045:Global:Paketti: ∿ Jump Forward Within Pattern by 113: +3046:Global:Paketti: ∿ Jump Backward Within Pattern by 113: +3047:Global:Paketti: ∿ Jump Forward Within Pattern by 114: +3048:Global:Paketti: ∿ Jump Backward Within Pattern by 114: +3049:Global:Paketti: ∿ Jump Forward Within Pattern by 115: +3050:Global:Paketti: ∿ Jump Backward Within Pattern by 115: +3051:Global:Paketti: ∿ Jump Forward Within Pattern by 116: +3052:Global:Paketti: ∿ Jump Backward Within Pattern by 116: +3053:Global:Paketti: ∿ Jump Forward Within Pattern by 117: +3054:Global:Paketti: ∿ Jump Backward Within Pattern by 117: +3055:Global:Paketti: ∿ Jump Forward Within Pattern by 118: +3056:Global:Paketti: ∿ Jump Backward Within Pattern by 118: +3057:Global:Paketti: ∿ Jump Forward Within Pattern by 119: +3058:Global:Paketti: ∿ Jump Backward Within Pattern by 119: +3059:Global:Paketti: ∿ Jump Forward Within Pattern by 120: +3060:Global:Paketti: ∿ Jump Backward Within Pattern by 120: +3061:Global:Paketti: ∿ Jump Forward Within Pattern by 121: +3062:Global:Paketti: ∿ Jump Backward Within Pattern by 121: +3063:Global:Paketti: ∿ Jump Forward Within Pattern by 122: +3064:Global:Paketti: ∿ Jump Backward Within Pattern by 122: +3065:Global:Paketti: ∿ Jump Forward Within Pattern by 123: +3066:Global:Paketti: ∿ Jump Backward Within Pattern by 123: +3067:Global:Paketti: ∿ Jump Forward Within Pattern by 124: +3068:Global:Paketti: ∿ Jump Backward Within Pattern by 124: +3069:Global:Paketti: ∿ Jump Forward Within Pattern by 125: +3070:Global:Paketti: ∿ Jump Backward Within Pattern by 125: +3071:Global:Paketti: ∿ Jump Forward Within Pattern by 126: +3072:Global:Paketti: ∿ Jump Backward Within Pattern by 126: +3073:Global:Paketti: ∿ Jump Forward Within Pattern by 127: +3074:Global:Paketti: ∿ Jump Backward Within Pattern by 127: +3075:Global:Paketti: ∿ Jump Forward Within Pattern by 128: +3076:Global:Paketti: ∿ Jump Backward Within Pattern by 128: +3077:Global:Paketti: ∿ Jump Forward Within Pattern by Random: +3078:Global:Paketti: ∿ Jump Backward Within Pattern by Random: +3079:Global:Paketti: ∿ Jump Forward Within Song by 001: +3080:Global:Paketti: ∿ Jump Backward Within Song by 001: +3081:Global:Paketti: ∿ Jump Forward Within Song by 002: +3082:Global:Paketti: ∿ Jump Backward Within Song by 002: +3083:Global:Paketti: ∿ Jump Forward Within Song by 003: +3084:Global:Paketti: ∿ Jump Backward Within Song by 003: +3085:Global:Paketti: ∿ Jump Forward Within Song by 004: +3086:Global:Paketti: ∿ Jump Backward Within Song by 004: +3087:Global:Paketti: ∿ Jump Forward Within Song by 005: +3088:Global:Paketti: ∿ Jump Backward Within Song by 005: +3089:Global:Paketti: ∿ Jump Forward Within Song by 006: +3090:Global:Paketti: ∿ Jump Backward Within Song by 006: +3091:Global:Paketti: ∿ Jump Forward Within Song by 007: +3092:Global:Paketti: ∿ Jump Backward Within Song by 007: +3093:Global:Paketti: ∿ Jump Forward Within Song by 008: +3094:Global:Paketti: ∿ Jump Backward Within Song by 008: +3095:Global:Paketti: ∿ Jump Forward Within Song by 009: +3096:Global:Paketti: ∿ Jump Backward Within Song by 009: +3097:Global:Paketti: ∿ Jump Forward Within Song by 010: +3098:Global:Paketti: ∿ Jump Backward Within Song by 010: +3099:Global:Paketti: ∿ Jump Forward Within Song by 011: +3100:Global:Paketti: ∿ Jump Backward Within Song by 011: +3101:Global:Paketti: ∿ Jump Forward Within Song by 012: +3102:Global:Paketti: ∿ Jump Backward Within Song by 012: +3103:Global:Paketti: ∿ Jump Forward Within Song by 013: +3104:Global:Paketti: ∿ Jump Backward Within Song by 013: +3105:Global:Paketti: ∿ Jump Forward Within Song by 014: +3106:Global:Paketti: ∿ Jump Backward Within Song by 014: +3107:Global:Paketti: ∿ Jump Forward Within Song by 015: +3108:Global:Paketti: ∿ Jump Backward Within Song by 015: +3109:Global:Paketti: ∿ Jump Forward Within Song by 016: +3110:Global:Paketti: ∿ Jump Backward Within Song by 016: +3111:Global:Paketti: ∿ Jump Forward Within Song by 017: +3112:Global:Paketti: ∿ Jump Backward Within Song by 017: +3113:Global:Paketti: ∿ Jump Forward Within Song by 018: +3114:Global:Paketti: ∿ Jump Backward Within Song by 018: +3115:Global:Paketti: ∿ Jump Forward Within Song by 019: +3116:Global:Paketti: ∿ Jump Backward Within Song by 019: +3117:Global:Paketti: ∿ Jump Forward Within Song by 020: +3118:Global:Paketti: ∿ Jump Backward Within Song by 020: +3119:Global:Paketti: ∿ Jump Forward Within Song by 021: +3120:Global:Paketti: ∿ Jump Backward Within Song by 021: +3121:Global:Paketti: ∿ Jump Forward Within Song by 022: +3122:Global:Paketti: ∿ Jump Backward Within Song by 022: +3123:Global:Paketti: ∿ Jump Forward Within Song by 023: +3124:Global:Paketti: ∿ Jump Backward Within Song by 023: +3125:Global:Paketti: ∿ Jump Forward Within Song by 024: +3126:Global:Paketti: ∿ Jump Backward Within Song by 024: +3127:Global:Paketti: ∿ Jump Forward Within Song by 025: +3128:Global:Paketti: ∿ Jump Backward Within Song by 025: +3129:Global:Paketti: ∿ Jump Forward Within Song by 026: +3130:Global:Paketti: ∿ Jump Backward Within Song by 026: +3131:Global:Paketti: ∿ Jump Forward Within Song by 027: +3132:Global:Paketti: ∿ Jump Backward Within Song by 027: +3133:Global:Paketti: ∿ Jump Forward Within Song by 028: +3134:Global:Paketti: ∿ Jump Backward Within Song by 028: +3135:Global:Paketti: ∿ Jump Forward Within Song by 029: +3136:Global:Paketti: ∿ Jump Backward Within Song by 029: +3137:Global:Paketti: ∿ Jump Forward Within Song by 030: +3138:Global:Paketti: ∿ Jump Backward Within Song by 030: +3139:Global:Paketti: ∿ Jump Forward Within Song by 031: +3140:Global:Paketti: ∿ Jump Backward Within Song by 031: +3141:Global:Paketti: ∿ Jump Forward Within Song by 032: +3142:Global:Paketti: ∿ Jump Backward Within Song by 032: +3143:Global:Paketti: ∿ Jump Forward Within Song by 033: +3144:Global:Paketti: ∿ Jump Backward Within Song by 033: +3145:Global:Paketti: ∿ Jump Forward Within Song by 034: +3146:Global:Paketti: ∿ Jump Backward Within Song by 034: +3147:Global:Paketti: ∿ Jump Forward Within Song by 035: +3148:Global:Paketti: ∿ Jump Backward Within Song by 035: +3149:Global:Paketti: ∿ Jump Forward Within Song by 036: +3150:Global:Paketti: ∿ Jump Backward Within Song by 036: +3151:Global:Paketti: ∿ Jump Forward Within Song by 037: +3152:Global:Paketti: ∿ Jump Backward Within Song by 037: +3153:Global:Paketti: ∿ Jump Forward Within Song by 038: +3154:Global:Paketti: ∿ Jump Backward Within Song by 038: +3155:Global:Paketti: ∿ Jump Forward Within Song by 039: +3156:Global:Paketti: ∿ Jump Backward Within Song by 039: +3157:Global:Paketti: ∿ Jump Forward Within Song by 040: +3158:Global:Paketti: ∿ Jump Backward Within Song by 040: +3159:Global:Paketti: ∿ Jump Forward Within Song by 041: +3160:Global:Paketti: ∿ Jump Backward Within Song by 041: +3161:Global:Paketti: ∿ Jump Forward Within Song by 042: +3162:Global:Paketti: ∿ Jump Backward Within Song by 042: +3163:Global:Paketti: ∿ Jump Forward Within Song by 043: +3164:Global:Paketti: ∿ Jump Backward Within Song by 043: +3165:Global:Paketti: ∿ Jump Forward Within Song by 044: +3166:Global:Paketti: ∿ Jump Backward Within Song by 044: +3167:Global:Paketti: ∿ Jump Forward Within Song by 045: +3168:Global:Paketti: ∿ Jump Backward Within Song by 045: +3169:Global:Paketti: ∿ Jump Forward Within Song by 046: +3170:Global:Paketti: ∿ Jump Backward Within Song by 046: +3171:Global:Paketti: ∿ Jump Forward Within Song by 047: +3172:Global:Paketti: ∿ Jump Backward Within Song by 047: +3173:Global:Paketti: ∿ Jump Forward Within Song by 048: +3174:Global:Paketti: ∿ Jump Backward Within Song by 048: +3175:Global:Paketti: ∿ Jump Forward Within Song by 049: +3176:Global:Paketti: ∿ Jump Backward Within Song by 049: +3177:Global:Paketti: ∿ Jump Forward Within Song by 050: +3178:Global:Paketti: ∿ Jump Backward Within Song by 050: +3179:Global:Paketti: ∿ Jump Forward Within Song by 051: +3180:Global:Paketti: ∿ Jump Backward Within Song by 051: +3181:Global:Paketti: ∿ Jump Forward Within Song by 052: +3182:Global:Paketti: ∿ Jump Backward Within Song by 052: +3183:Global:Paketti: ∿ Jump Forward Within Song by 053: +3184:Global:Paketti: ∿ Jump Backward Within Song by 053: +3185:Global:Paketti: ∿ Jump Forward Within Song by 054: +3186:Global:Paketti: ∿ Jump Backward Within Song by 054: +3187:Global:Paketti: ∿ Jump Forward Within Song by 055: +3188:Global:Paketti: ∿ Jump Backward Within Song by 055: +3189:Global:Paketti: ∿ Jump Forward Within Song by 056: +3190:Global:Paketti: ∿ Jump Backward Within Song by 056: +3191:Global:Paketti: ∿ Jump Forward Within Song by 057: +3192:Global:Paketti: ∿ Jump Backward Within Song by 057: +3193:Global:Paketti: ∿ Jump Forward Within Song by 058: +3194:Global:Paketti: ∿ Jump Backward Within Song by 058: +3195:Global:Paketti: ∿ Jump Forward Within Song by 059: +3196:Global:Paketti: ∿ Jump Backward Within Song by 059: +3197:Global:Paketti: ∿ Jump Forward Within Song by 060: +3198:Global:Paketti: ∿ Jump Backward Within Song by 060: +3199:Global:Paketti: ∿ Jump Forward Within Song by 061: +3200:Global:Paketti: ∿ Jump Backward Within Song by 061: +3201:Global:Paketti: ∿ Jump Forward Within Song by 062: +3202:Global:Paketti: ∿ Jump Backward Within Song by 062: +3203:Global:Paketti: ∿ Jump Forward Within Song by 063: +3204:Global:Paketti: ∿ Jump Backward Within Song by 063: +3205:Global:Paketti: ∿ Jump Forward Within Song by 064: +3206:Global:Paketti: ∿ Jump Backward Within Song by 064: +3207:Global:Paketti: ∿ Jump Forward Within Song by 065: +3208:Global:Paketti: ∿ Jump Backward Within Song by 065: +3209:Global:Paketti: ∿ Jump Forward Within Song by 066: +3210:Global:Paketti: ∿ Jump Backward Within Song by 066: +3211:Global:Paketti: ∿ Jump Forward Within Song by 067: +3212:Global:Paketti: ∿ Jump Backward Within Song by 067: +3213:Global:Paketti: ∿ Jump Forward Within Song by 068: +3214:Global:Paketti: ∿ Jump Backward Within Song by 068: +3215:Global:Paketti: ∿ Jump Forward Within Song by 069: +3216:Global:Paketti: ∿ Jump Backward Within Song by 069: +3217:Global:Paketti: ∿ Jump Forward Within Song by 070: +3218:Global:Paketti: ∿ Jump Backward Within Song by 070: +3219:Global:Paketti: ∿ Jump Forward Within Song by 071: +3220:Global:Paketti: ∿ Jump Backward Within Song by 071: +3221:Global:Paketti: ∿ Jump Forward Within Song by 072: +3222:Global:Paketti: ∿ Jump Backward Within Song by 072: +3223:Global:Paketti: ∿ Jump Forward Within Song by 073: +3224:Global:Paketti: ∿ Jump Backward Within Song by 073: +3225:Global:Paketti: ∿ Jump Forward Within Song by 074: +3226:Global:Paketti: ∿ Jump Backward Within Song by 074: +3227:Global:Paketti: ∿ Jump Forward Within Song by 075: +3228:Global:Paketti: ∿ Jump Backward Within Song by 075: +3229:Global:Paketti: ∿ Jump Forward Within Song by 076: +3230:Global:Paketti: ∿ Jump Backward Within Song by 076: +3231:Global:Paketti: ∿ Jump Forward Within Song by 077: +3232:Global:Paketti: ∿ Jump Backward Within Song by 077: +3233:Global:Paketti: ∿ Jump Forward Within Song by 078: +3234:Global:Paketti: ∿ Jump Backward Within Song by 078: +3235:Global:Paketti: ∿ Jump Forward Within Song by 079: +3236:Global:Paketti: ∿ Jump Backward Within Song by 079: +3237:Global:Paketti: ∿ Jump Forward Within Song by 080: +3238:Global:Paketti: ∿ Jump Backward Within Song by 080: +3239:Global:Paketti: ∿ Jump Forward Within Song by 081: +3240:Global:Paketti: ∿ Jump Backward Within Song by 081: +3241:Global:Paketti: ∿ Jump Forward Within Song by 082: +3242:Global:Paketti: ∿ Jump Backward Within Song by 082: +3243:Global:Paketti: ∿ Jump Forward Within Song by 083: +3244:Global:Paketti: ∿ Jump Backward Within Song by 083: +3245:Global:Paketti: ∿ Jump Forward Within Song by 084: +3246:Global:Paketti: ∿ Jump Backward Within Song by 084: +3247:Global:Paketti: ∿ Jump Forward Within Song by 085: +3248:Global:Paketti: ∿ Jump Backward Within Song by 085: +3249:Global:Paketti: ∿ Jump Forward Within Song by 086: +3250:Global:Paketti: ∿ Jump Backward Within Song by 086: +3251:Global:Paketti: ∿ Jump Forward Within Song by 087: +3252:Global:Paketti: ∿ Jump Backward Within Song by 087: +3253:Global:Paketti: ∿ Jump Forward Within Song by 088: +3254:Global:Paketti: ∿ Jump Backward Within Song by 088: +3255:Global:Paketti: ∿ Jump Forward Within Song by 089: +3256:Global:Paketti: ∿ Jump Backward Within Song by 089: +3257:Global:Paketti: ∿ Jump Forward Within Song by 090: +3258:Global:Paketti: ∿ Jump Backward Within Song by 090: +3259:Global:Paketti: ∿ Jump Forward Within Song by 091: +3260:Global:Paketti: ∿ Jump Backward Within Song by 091: +3261:Global:Paketti: ∿ Jump Forward Within Song by 092: +3262:Global:Paketti: ∿ Jump Backward Within Song by 092: +3263:Global:Paketti: ∿ Jump Forward Within Song by 093: +3264:Global:Paketti: ∿ Jump Backward Within Song by 093: +3265:Global:Paketti: ∿ Jump Forward Within Song by 094: +3266:Global:Paketti: ∿ Jump Backward Within Song by 094: +3267:Global:Paketti: ∿ Jump Forward Within Song by 095: +3268:Global:Paketti: ∿ Jump Backward Within Song by 095: +3269:Global:Paketti: ∿ Jump Forward Within Song by 096: +3270:Global:Paketti: ∿ Jump Backward Within Song by 096: +3271:Global:Paketti: ∿ Jump Forward Within Song by 097: +3272:Global:Paketti: ∿ Jump Backward Within Song by 097: +3273:Global:Paketti: ∿ Jump Forward Within Song by 098: +3274:Global:Paketti: ∿ Jump Backward Within Song by 098: +3275:Global:Paketti: ∿ Jump Forward Within Song by 099: +3276:Global:Paketti: ∿ Jump Backward Within Song by 099: +3277:Global:Paketti: ∿ Jump Forward Within Song by 100: +3278:Global:Paketti: ∿ Jump Backward Within Song by 100: +3279:Global:Paketti: ∿ Jump Forward Within Song by 101: +3280:Global:Paketti: ∿ Jump Backward Within Song by 101: +3281:Global:Paketti: ∿ Jump Forward Within Song by 102: +3282:Global:Paketti: ∿ Jump Backward Within Song by 102: +3283:Global:Paketti: ∿ Jump Forward Within Song by 103: +3284:Global:Paketti: ∿ Jump Backward Within Song by 103: +3285:Global:Paketti: ∿ Jump Forward Within Song by 104: +3286:Global:Paketti: ∿ Jump Backward Within Song by 104: +3287:Global:Paketti: ∿ Jump Forward Within Song by 105: +3288:Global:Paketti: ∿ Jump Backward Within Song by 105: +3289:Global:Paketti: ∿ Jump Forward Within Song by 106: +3290:Global:Paketti: ∿ Jump Backward Within Song by 106: +3291:Global:Paketti: ∿ Jump Forward Within Song by 107: +3292:Global:Paketti: ∿ Jump Backward Within Song by 107: +3293:Global:Paketti: ∿ Jump Forward Within Song by 108: +3294:Global:Paketti: ∿ Jump Backward Within Song by 108: +3295:Global:Paketti: ∿ Jump Forward Within Song by 109: +3296:Global:Paketti: ∿ Jump Backward Within Song by 109: +3297:Global:Paketti: ∿ Jump Forward Within Song by 110: +3298:Global:Paketti: ∿ Jump Backward Within Song by 110: +3299:Global:Paketti: ∿ Jump Forward Within Song by 111: +3300:Global:Paketti: ∿ Jump Backward Within Song by 111: +3301:Global:Paketti: ∿ Jump Forward Within Song by 112: +3302:Global:Paketti: ∿ Jump Backward Within Song by 112: +3303:Global:Paketti: ∿ Jump Forward Within Song by 113: +3304:Global:Paketti: ∿ Jump Backward Within Song by 113: +3305:Global:Paketti: ∿ Jump Forward Within Song by 114: +3306:Global:Paketti: ∿ Jump Backward Within Song by 114: +3307:Global:Paketti: ∿ Jump Forward Within Song by 115: +3308:Global:Paketti: ∿ Jump Backward Within Song by 115: +3309:Global:Paketti: ∿ Jump Forward Within Song by 116: +3310:Global:Paketti: ∿ Jump Backward Within Song by 116: +3311:Global:Paketti: ∿ Jump Forward Within Song by 117: +3312:Global:Paketti: ∿ Jump Backward Within Song by 117: +3313:Global:Paketti: ∿ Jump Forward Within Song by 118: +3314:Global:Paketti: ∿ Jump Backward Within Song by 118: +3315:Global:Paketti: ∿ Jump Forward Within Song by 119: +3316:Global:Paketti: ∿ Jump Backward Within Song by 119: +3317:Global:Paketti: ∿ Jump Forward Within Song by 120: +3318:Global:Paketti: ∿ Jump Backward Within Song by 120: +3319:Global:Paketti: ∿ Jump Forward Within Song by 121: +3320:Global:Paketti: ∿ Jump Backward Within Song by 121: +3321:Global:Paketti: ∿ Jump Forward Within Song by 122: +3322:Global:Paketti: ∿ Jump Backward Within Song by 122: +3323:Global:Paketti: ∿ Jump Forward Within Song by 123: +3324:Global:Paketti: ∿ Jump Backward Within Song by 123: +3325:Global:Paketti: ∿ Jump Forward Within Song by 124: +3326:Global:Paketti: ∿ Jump Backward Within Song by 124: +3327:Global:Paketti: ∿ Jump Forward Within Song by 125: +3328:Global:Paketti: ∿ Jump Backward Within Song by 125: +3329:Global:Paketti: ∿ Jump Forward Within Song by 126: +3330:Global:Paketti: ∿ Jump Backward Within Song by 126: +3331:Global:Paketti: ∿ Jump Forward Within Song by 127: +3332:Global:Paketti: ∿ Jump Backward Within Song by 127: +3333:Global:Paketti: ∿ Jump Forward Within Song by 128: +3334:Global:Paketti: ∿ Jump Backward Within Song by 128: +3335:Global:Paketti: ∿ Jump Forward Within Song by Random: +3336:Global:Paketti: ∿ Jump Backward Within Song by Random: +3337:Global:Paketti: ∿ Populate GlobalGainers on Each Track (start chain): +3338:Global:Paketti: ∿ Populate GlobalGainers on Each Track (end chain): +3339:Global:Paketti: ∿ Add Gainer A to Selected Track: +3340:Global:Paketti: ∿ Add Gainer B to Selected Track: +3341:Global:Paketti: ∿ Save Song with Timestamp: +3342:Global:Paketti: ∿ Offset Dialog...: +3343:Global:Paketti: ∿ Wipe Random Notes: +3344:Global:Paketti: ∿ Global Volume Reduce All Instruments by -4.5dB: +3345:Global:Paketti: ∿ Global Volume Reduce All Samples by -4.5dB: +3346:Global:Paketti: ∿ Global Volume Adjustment Dialog...: +3347:Global:Paketti: ∿ Show EditStep Dialog: +3348:Disk Browser:Navigation: Select Previous Category Browser: +3349:Disk Browser:Navigation: Select Next Category Browser: +3350:Disk Browser:Selection: Select Previous File: Up +3351:Disk Browser:Selection: Select Next File: Down +3352:Disk Browser:Selection: Collapse Folder: Left +3353:Disk Browser:Selection: Expand Folder: Right +3354:Disk Browser:Selection: Select First Entry: Option + Up +3355:Disk Browser:Selection: Select Last Entry: Option + Down +3356:Disk Browser:Selection: Select on Previous Page: Prior +3357:Disk Browser:Selection: Select on Next Page: Next +3358:Disk Browser:Selection: Select All Files: +3359:Disk Browser:Selection: Toggle Dir/File List: Tab +3360:Disk Browser:Selection: Toggle Dir/File List (2nd): Shift + Tab +3361:Disk Browser:Loading: Load Selected Files: +3362:Disk Browser:Loading: Load Selected Files with Options: Shift + Return +3363:Disk Browser:Navigation: Select CurrentDir as Root: +3364:Disk Browser:Navigation: Switch to Parent Root Directory: +3365:Disk Browser:Edit: Rescan Contents: +3366:Disk Browser:Edit: Rename Selected File or Dir: +3367:Disk Browser:Edit: Create a New Directory: +3368:Disk Browser:Edit: Delete the Selected File or Dir: Command + Back +3369:Disk Browser:Edit: Show Selected File or Dir in Finder: +3370:Disk Browser:Favorites: Recall Favorite 1: +3371:Disk Browser:Favorites: Recall Favorite 2: +3372:Disk Browser:Favorites: Recall Favorite 3: +3373:Disk Browser:Favorites: Recall Favorite 4: +3374:Disk Browser:Favorites: Store Favorite 1: +3375:Disk Browser:Favorites: Store Favorite 2: +3376:Disk Browser:Favorites: Store Favorite 3: Shift + Command + 3 +3377:Disk Browser:Favorites: Store Favorite 4: Shift + Command + 4 +3378:Pattern Editor:Navigation: Toggle Advanced Edit: +3379:Pattern Editor:Navigation: Focus Pattern Matrix: +3380:Pattern Editor:Navigation: Move to Previous Column: Left +3381:Pattern Editor:Navigation: Move to Next Column: Right +3382:Pattern Editor:Navigation: Move to Previous Row: Up +3383:Pattern Editor:Navigation: Move to Next Row: Down +3384:Pattern Editor:Navigation: Move to Previous Row with EditStep: +3385:Pattern Editor:Navigation: Move to Next Row with EditStep: +3386:Pattern Editor:Navigation: Move to Previous Row with Note: Shift + Command + Prior +3387:Pattern Editor:Navigation: Move to Next Row with Note: Shift + Command + Next +3388:Pattern Editor:Navigation: Toggle Auto Capture Instrument: Shift + Option + Backslash +3389:Pattern Editor:Navigation: Capture Instrument: Shift + Command + Return +3390:Pattern Editor:Navigation: Capture Nearest Instrument: +3391:Pattern Editor:Navigation: Jump 16 Rows Up: Prior +3392:Pattern Editor:Navigation: Jump 16 Rows Down: Next +3393:Pattern Editor:Navigation: Jump to First Row: +3394:Pattern Editor:Navigation: Jump to Last Row: +3395:Pattern Editor:Navigation: Jump to Row 0: F9 +3396:Pattern Editor:Navigation: Jump to Row 16: +3397:Pattern Editor:Navigation: Jump to Row 32: +3398:Pattern Editor:Navigation: Jump to Row 48: +3399:Pattern Editor:Navigation: Jump to Previous Column: Shift + Tab +3400:Pattern Editor:Navigation: Jump to Next Column: Tab +3401:Pattern Editor:Navigation: Jump to Previous Track: +3402:Pattern Editor:Navigation: Jump to Next Track: +3403:Pattern Editor:Navigation: Jump to Master Track: Shift + Command + End +3404:Pattern Editor:Navigation: Jump to First Track: +3405:Pattern Editor:Insert/Delete: Clear Current Note or Effect: Delete +3406:Pattern Editor:Insert/Delete: Clear Current Note or Effect (2nd): +3407:Pattern Editor:Insert/Delete: Clear Whole Note or Effect: +3408:Pattern Editor:Insert/Delete: Clear Whole Row: Option + Delete +3409:Pattern Editor:Insert/Delete: Insert New Row: Shift + Grave +3410:Pattern Editor:Insert/Delete: Insert New Row (2nd): +3411:Pattern Editor:Insert/Delete: Delete Current Row: Shift + Back +3412:Pattern Editor:Insert/Delete: Delete Previous Row: +3413:Pattern Editor:Insert/Delete: Insert New Row in Column: Grave +3414:Pattern Editor:Insert/Delete: Delete Current Row in Column: Back +3415:Pattern Editor:Insert/Delete: Delete Previous Row in Column: +3416:Pattern Editor:Insert/Delete: Insert New Row in Pattern: +3417:Pattern Editor:Insert/Delete: Delete Current Row in Pattern: +3418:Pattern Editor:Insert/Delete: Delete Previous Row in Pattern: +3419:Pattern Editor:Insert/Delete: Increase Pattern Length: +3420:Pattern Editor:Insert/Delete: Decrease Pattern Length: +3421:Pattern Editor:Play: Play Current Line: 4 +3422:Pattern Editor:Edit Step: Increase EditStep: Command + Equals +3423:Pattern Editor:Edit Step: Decrease EditStep: +3424:Pattern Editor:Edit Step: Double EditStep: Option + Equals +3425:Pattern Editor:Edit Step: Halve EditStep: Option + Minus +3426:Pattern Editor:Edit Step: Set EditStep To 0: Command + 0 +3427:Pattern Editor:Edit Step: Set EditStep To 1: Command + 1 +3428:Pattern Editor:Edit Step: Set EditStep To 2: Command + 2 +3429:Pattern Editor:Edit Step: Set EditStep To 3: Command + 3 +3430:Pattern Editor:Edit Step: Set EditStep To 4: Command + 4 +3431:Pattern Editor:Edit Step: Set EditStep To 5: Command + 5 +3432:Pattern Editor:Edit Step: Set EditStep To 6: Command + 6 +3433:Pattern Editor:Edit Step: Set EditStep To 7: Command + 7 +3434:Pattern Editor:Edit Step: Set EditStep To 8: Command + 8 +3435:Pattern Editor:Edit Step: Set EditStep To 9: Command + 9 +3436:Pattern Editor:Edit Step: Set EditStep To 12: +3437:Pattern Editor:Edit Step: Set EditStep To 16: +3438:Pattern Editor:Edit Step: Set EditStep To 18: +3439:Pattern Editor:Edit Step: Set EditStep To 24: +3440:Pattern Editor:Edit Step: Set EditStep To 32: +3441:Pattern Editor:Record: Toggle Edit Mode: +3442:Pattern Editor:Record: Toggle Record to Envelopes/Pattern: +3443:Pattern Editor:Record: Toggle Record Quantized: +3444:Pattern Editor:Record: Increase Quantization: Shift + Command + Equals +3445:Pattern Editor:Record: Decrease Quantization: +3446:Pattern Editor:Record: Set Quantization To 1: +3447:Pattern Editor:Record: Set Quantization To 2: +3448:Pattern Editor:Record: Set Quantization To 3: Shift + Command + 3 +3449:Pattern Editor:Record: Set Quantization To 4: Shift + Command + 4 +3450:Pattern Editor:Record: Set Quantization To 5: Shift + Command + 5 +3451:Pattern Editor:Record: Set Quantization To 6: +3452:Pattern Editor:Record: Set Quantization To 7: +3453:Pattern Editor:Record: Set Quantization To 8: Shift + Command + 8 +3454:Pattern Editor:Record: Set Quantization To 9: Shift + Command + 9 +3455:Pattern Editor:Record: Set Quantization To 12: +3456:Pattern Editor:Record: Set Quantization To 16: +3457:Pattern Editor:Record: Set Quantization To 18: +3458:Pattern Editor:Record: Set Quantization To 24: +3459:Pattern Editor:Record: Set Quantization To 32: +3460:Pattern Editor:Track Control: Insert Track: Command + T +3461:Pattern Editor:Track Control: Insert Group: +3462:Pattern Editor:Track Control: Extend Group to Here: +3463:Pattern Editor:Track Control: Delete Track: Shift + Command + T +3464:Pattern Editor:Track Control: Delete Group: +3465:Pattern Editor:Track Control: Duplicate Track: +3466:Pattern Editor:Track Control: Duplicate Track (incl. Patterns): Option + Command + D +3467:Pattern Editor:Track Control: Rename Track: +3468:Pattern Editor:Track Control: Move Track Left: Option + Command + Left +3469:Pattern Editor:Track Control: Move Track Right: +3470:Pattern Editor:Track Control: Decrease Number of Columns: +3471:Pattern Editor:Track Control: Increase Number of Columns: +3472:Pattern Editor:Track Control: View/Hide Volume Column: +3473:Pattern Editor:Track Control: View/Hide Panning Column: +3474:Pattern Editor:Track Control: View/Hide Delay Column: +3475:Pattern Editor:Track Control: Toggle Mute Note Column: +3476:Pattern Editor:Track Control: Collapse/Expand Track: +3477:Pattern Editor:Track Control: Collapse/Expand Group: Shift + Command + J +3478:Pattern Editor:Track Control: Collapse All Tracks: +3479:Pattern Editor:Track Control: Expand All Tracks: +3480:Pattern Editor:Track Control: Collapse All Tracks in Group: +3481:Pattern Editor:Track Control: Expand All Tracks in Group: +3482:Pattern Editor:Pattern Sequence: Increase Pattern Number: +3483:Pattern Editor:Pattern Sequence: Decrease Pattern Number: +3484:Pattern Editor:Pattern Sequence: Go Up in Sequencer: +3485:Pattern Editor:Pattern Sequence: Go Down in Sequencer: +3486:Pattern Editor:Pattern Sequence: Go to Prev Section in Sequencer: +3487:Pattern Editor:Pattern Sequence: Go to Next Section in Sequencer: +3488:Pattern Editor:Pattern Sequence: Go to Sequence Start: Command + Home +3489:Pattern Editor:Pattern Sequence: Go to Sequence End: Command + End +3490:Pattern Editor:Pattern Sequence: Jump One Page Up: Command + Prior +3491:Pattern Editor:Pattern Sequence: Jump One Page Down: Command + Next +3492:Pattern Editor:Pattern Sequence: Insert Pattern: Command + HelpKey(Insert) +3493:Pattern Editor:Pattern Sequence: Insert Pattern (2nd): Shift + Command + Back +3494:Pattern Editor:Pattern Sequence: Insert Repeated Pattern: Option + Command + HelpKey(Insert) +3495:Pattern Editor:Pattern Sequence: Insert Repeated Pattern (2nd): Option + Command + Back +3496:Pattern Editor:Pattern Sequence: Delete Pattern: Command + Back +3497:Pattern Editor:Pattern Sequence: Delete Pattern (2nd): Command + Delete +3498:Pattern Editor:Pattern Sequence: Sort Pattern Sequence: +3499:Pattern Editor:Pattern Sequence: Flatten & Sort Pattern Sequence: +3500:Pattern Editor:Pattern Sequence: Duplicate Current Pattern: +3501:Pattern Editor:Pattern Sequence: Duplicate 2 Pattern Block Sequence: +3502:Pattern Editor:Pattern Sequence: Duplicate 3 Pattern Block Sequence: +3503:Pattern Editor:Pattern Sequence: Duplicate 4 Pattern Block Sequence: +3504:Pattern Editor:Pattern Sequence: Duplicate 5 Pattern Block Sequence: +3505:Pattern Editor:Pattern Sequence: Duplicate 6 Pattern Block Sequence: +3506:Pattern Editor:Pattern Sequence: Duplicate 7 Pattern Block Sequence: +3507:Pattern Editor:Pattern Sequence: Duplicate 8 Pattern Block Sequence: +3508:Pattern Editor:Pattern Sequence: Duplicate 9 Pattern Block Sequence: +3509:Pattern Editor:Pattern Sequence: Duplicate 10 Pattern Block Sequence: +3510:Pattern Editor:Pattern Sequence: Duplicate Whole Song Sequence: +3511:Pattern Editor:Selection: Begin Selection: Command + B +3512:Pattern Editor:Selection: End Selection: Command + E +3513:Pattern Editor:Selection: Mark Whole Column: +3514:Pattern Editor:Selection: Mark Column in Block Loop Range: +3515:Pattern Editor:Selection: Mark Column Above Current Line: +3516:Pattern Editor:Selection: Mark Column Below Current Line: +3517:Pattern Editor:Selection: Mark Whole Track: +3518:Pattern Editor:Selection: Mark Track in Block Loop Range: +3519:Pattern Editor:Selection: Mark Track Above Current Line: +3520:Pattern Editor:Selection: Mark Track Below Current Line: +3521:Pattern Editor:Selection: Mark Whole Group: +3522:Pattern Editor:Selection: Mark Whole Pattern: +3523:Pattern Editor:Selection: Mark Pattern in Block Loop Range: +3524:Pattern Editor:Selection: Mark Pattern Above Current Line: +3525:Pattern Editor:Selection: Mark Pattern Below Current Line: +3526:Pattern Editor:Block Operations: Transpose One Note Up: +3527:Pattern Editor:Block Operations: Transpose One Note Down: +3528:Pattern Editor:Block Operations: Transpose One Octave Up: +3529:Pattern Editor:Block Operations: Transpose One Octave Down: +3530:Pattern Editor:Block Operations: Clear: Shift + Delete +3531:Pattern Editor:Block Operations: Copy and Clear: Command + X +3532:Pattern Editor:Block Operations: Copy and Clear (2nd): +3533:Pattern Editor:Block Operations: Copy: Command + C +3534:Pattern Editor:Block Operations: Copy (2nd): +3535:Pattern Editor:Block Operations: Paste: Option + F5 +3536:Pattern Editor:Block Operations: Paste (2nd): Command + P +3537:Pattern Editor:Block Operations: Paste Continuously: Command + V +3538:Pattern Editor:Block Operations: Flip: Option + F6 +3539:Pattern Editor:Block Operations: Flip (2nd): +3540:Pattern Editor:Block Operations: Shrink: Option + F8 +3541:Pattern Editor:Block Operations: Shrink (2nd): +3542:Pattern Editor:Block Operations: Expand: Option + 9 +3543:Pattern Editor:Block Operations: Expand (2nd): +3544:Pattern Editor:Block Operations: Randomize: Option + F7 +3545:Pattern Editor:Block Operations: Randomize (2nd): +3546:Pattern Editor:Block Operations: Interpolate Linear: +3547:Pattern Editor:Block Operations: Interpolate Logarithmic: +3548:Pattern Editor:Block Operations: Interpolate Exponential: +3549:Pattern Editor:Block Operations: Humanize: +3550:Pattern Editor:Block Operations: Quantize Notes: Option + Q +3551:Pattern Editor:Block Operations: Quantize Notes (Preserve Lengths): +3552:Pattern Editor:Block Operations: Render Selection to Sample: +3553:Pattern Editor:Block Operations: Create Phrase from Selection: +3554:Pattern Editor:Column Operations: Transpose One Note Up: Shift + Command + F2 +3555:Pattern Editor:Column Operations: Transpose One Note Down: Shift + Command + F1 +3556:Pattern Editor:Column Operations: Transpose One Octave Up: Shift + Command + F12 +3557:Pattern Editor:Column Operations: Transpose One Octave Down: Shift + Command + F11 +3558:Pattern Editor:Column Operations: Clear and Copy: Shift + Command + F3 +3559:Pattern Editor:Column Operations: Copy: Shift + Command + F4 +3560:Pattern Editor:Column Operations: Paste: Shift + Command + F5 +3561:Pattern Editor:Column Operations: Flip: Shift + Command + F6 +3562:Pattern Editor:Column Operations: Shrink: Shift + Command + F8 +3563:Pattern Editor:Column Operations: Expand: Shift + Command + F9 +3564:Pattern Editor:Column Operations: Randomize: Shift + Command + F7 +3565:Pattern Editor:Column Operations: Interpolate Linear: +3566:Pattern Editor:Column Operations: Interpolate Logarithmic: Shift + Command + L +3567:Pattern Editor:Column Operations: Interpolate Exponential: +3568:Pattern Editor:Column Operations: Humanize: +3569:Pattern Editor:Column Operations: Quantize Notes: +3570:Pattern Editor:Column Operations: Quantize Notes (Preserve Lengths): +3571:Pattern Editor:Column Operations: Render Column to Sample: +3572:Pattern Editor:Column Operations: Create Phrase from Column: +3573:Pattern Editor:Track Operations: Transpose One Note Up: +3574:Pattern Editor:Track Operations: Transpose One Note Down: +3575:Pattern Editor:Track Operations: Transpose One Octave Up: Shift + F12 +3576:Pattern Editor:Track Operations: Transpose One Octave Down: Shift + F11 +3577:Pattern Editor:Track Operations: Clear Muted Columns: +3578:Pattern Editor:Track Operations: Clear and Copy: +3579:Pattern Editor:Track Operations: Copy: +3580:Pattern Editor:Track Operations: Paste: Shift + F5 +3581:Pattern Editor:Track Operations: Flip: Shift + F6 +3582:Pattern Editor:Track Operations: Shrink: Shift + F8 +3583:Pattern Editor:Track Operations: Expand: Shift + F9 +3584:Pattern Editor:Track Operations: Randomize: Shift + F7 +3585:Pattern Editor:Track Operations: Interpolate Linear: +3586:Pattern Editor:Track Operations: Interpolate Logarithmic: +3587:Pattern Editor:Track Operations: Interpolate Exponential: +3588:Pattern Editor:Track Operations: Humanize: +3589:Pattern Editor:Track Operations: Quantize Notes: +3590:Pattern Editor:Track Operations: Quantize Notes (Preserve Lengths): +3591:Pattern Editor:Track Operations: Render Track to Sample: +3592:Pattern Editor:Track Operations: Create Phrase from Track: +3593:Pattern Editor:Group Operations: Transpose One Note Up: Shift + Option + F2 +3594:Pattern Editor:Group Operations: Transpose One Note Down: Shift + Option + F1 +3595:Pattern Editor:Group Operations: Transpose One Octave Up: Shift + Option + F12 +3596:Pattern Editor:Group Operations: Transpose One Octave Down: Shift + Option + F11 +3597:Pattern Editor:Group Operations: Flip: Shift + Option + F6 +3598:Pattern Editor:Group Operations: Shrink: Shift + Option + F8 +3599:Pattern Editor:Group Operations: Expand: Shift + Option + F9 +3600:Pattern Editor:Group Operations: Randomize: Shift + Option + F7 +3601:Pattern Editor:Group Operations: Interpolate Linear: +3602:Pattern Editor:Group Operations: Interpolate Logarithmic: Shift + Option + L +3603:Pattern Editor:Group Operations: Interpolate Exponential: +3604:Pattern Editor:Group Operations: Humanize: Shift + Option + H +3605:Pattern Editor:Group Operations: Quantize Notes: +3606:Pattern Editor:Group Operations: Quantize Notes (Preserve Lengths): +3607:Pattern Editor:Group Operations: Render Group to Sample: +3608:Pattern Editor:Pattern Operations: Transpose One Note Up: +3609:Pattern Editor:Pattern Operations: Transpose One Note Down: +3610:Pattern Editor:Pattern Operations: Transpose One Octave Up: Command + F12 +3611:Pattern Editor:Pattern Operations: Transpose One Octave Down: Command + F11 +3612:Pattern Editor:Pattern Operations: Clear Muted Tracks: Option + Command + F3 +3613:Pattern Editor:Pattern Operations: Clear and Copy: +3614:Pattern Editor:Pattern Operations: Copy: +3615:Pattern Editor:Pattern Operations: Paste: +3616:Pattern Editor:Pattern Operations: Flip: +3617:Pattern Editor:Pattern Operations: Shrink: +3618:Pattern Editor:Pattern Operations: Expand: +3619:Pattern Editor:Pattern Operations: Randomize: +3620:Pattern Editor:Pattern Operations: Interpolate Linear: +3621:Pattern Editor:Pattern Operations: Interpolate Logarithmic: +3622:Pattern Editor:Pattern Operations: Interpolate Exponential: +3623:Pattern Editor:Pattern Operations: Humanize: +3624:Pattern Editor:Pattern Operations: Quantize Notes: +3625:Pattern Editor:Pattern Operations: Quantize Notes (Preserve Lengths): +3626:Pattern Editor:Pattern Operations: Render Pattern to Sample: +3627:Pattern Editor:Options: Toggle PatternWrap: Shift + F13 +3628:Pattern Editor:Options: Single Track Edit Mode: +3629:Pattern Editor:Options: Toggle Show Track Colors: +3630:Pattern Editor:Track Control: View/Hide Sample FX Column: +3631:Pattern Editor:Selection: Flexible Mark Whole Track: +3632:Pattern Editor:Selection: Flexible Mark in Block Loop Range: +3633:Pattern Editor:Selection: Flexible Mark Above Current Line: +3634:Pattern Editor:Selection: Flexible Mark Below Current Line: +3635:Pattern Editor:Insert/Delete: Split Pattern at Current Line: Option + Command + K +3636:Pattern Editor:Insert/Delete: Join Pattern with Next: Option + Command + J +3637:Pattern Editor:Pattern: ∿ Slices To Pattern: +3638:Pattern Editor:Paketti: ∿ Player Pro Transpose Selection or Row +1: Shift + Command + Up +3639:Pattern Editor:Paketti: ∿ Player Pro Transpose Selection or Row -1: +3640:Pattern Editor:Paketti: ∿ Player Pro Transpose Selection or Row +12: +3641:Pattern Editor:Paketti: ∿ Player Pro Transpose Selection or Row -12: +3642:Pattern Editor:Paketti: ∿ Open Player Pro Tools Dialog: +3643:Pattern Editor:Paketti: ∿ Chordsplus (Add 01): +3644:Pattern Editor:Paketti: ∿ Chordsplus (Add 02): +3645:Pattern Editor:Paketti: ∿ Chordsplus (Add 03): Shift + Control + 3 +3646:Pattern Editor:Paketti: ∿ Chordsplus (Add 04): Shift + Control + 4 +3647:Pattern Editor:Paketti: ∿ Chordsplus (Add 05): +3648:Pattern Editor:Paketti: ∿ Chordsplus (Add 06): +3649:Pattern Editor:Paketti: ∿ Chordsplus (Add 07): Shift + Control + 7 +3650:Pattern Editor:Paketti: ∿ Chordsplus (Add 08): +3651:Pattern Editor:Paketti: ∿ Chordsplus (Add 09): +3652:Pattern Editor:Paketti: ∿ Chordsplus (Add 10): +3653:Pattern Editor:Paketti: ∿ Chordsplus (Add 11): +3654:Pattern Editor:Paketti: ∿ Chordsplus (Add 12): +3655:Pattern Editor:Paketti: ∿ Chordsplus (Sub 01): +3656:Pattern Editor:Paketti: ∿ Chordsplus (Sub 02): +3657:Pattern Editor:Paketti: ∿ Chordsplus (Sub 03): +3658:Pattern Editor:Paketti: ∿ Chordsplus (Sub 04): Shift + Control + 2 +3659:Pattern Editor:Paketti: ∿ Chordsplus (Sub 05): +3660:Pattern Editor:Paketti: ∿ Chordsplus (Sub 06): +3661:Pattern Editor:Paketti: ∿ Chordsplus (Sub 07): Shift + Control + 6 +3662:Pattern Editor:Paketti: ∿ Chordsplus (Sub 08): +3663:Pattern Editor:Paketti: ∿ Chordsplus (Sub 09): +3664:Pattern Editor:Paketti: ∿ Chordsplus (Sub 10): +3665:Pattern Editor:Paketti: ∿ Chordsplus (Sub 11): +3666:Pattern Editor:Paketti: ∿ Chordsplus (Sub 12): +3667:Pattern Editor:Paketti: ∿ Chordsplus 3-4 (Maj): +3668:Pattern Editor:Paketti: ∿ Chordsplus 4-3 (Min): +3669:Pattern Editor:Paketti: ∿ Chordsplus 4-3-4 (Maj7): +3670:Pattern Editor:Paketti: ∿ Chordsplus 3-4-3 (Min7): +3671:Pattern Editor:Paketti: ∿ Chordsplus 4-4-3 (Maj7+5): +3672:Pattern Editor:Paketti: ∿ Chordsplus 3-5-2 (Min7+5): +3673:Pattern Editor:Paketti: ∿ Chordsplus 4-3-3 (Maj Dominant 7th): +3674:Pattern Editor:Paketti: ∿ Chordsplus 3-4-4 (MinMaj7): +3675:Pattern Editor:Paketti: ∿ Chordsplus 4-3-4-3 (Maj9): +3676:Pattern Editor:Paketti: ∿ Chordsplus 3-4-3-3 (Min9): +3677:Pattern Editor:Paketti: ∿ Chordsplus 4-3-7 (Maj Added 9th): +3678:Pattern Editor:Paketti: ∿ Chordsplus 3-4-7 (Min Added 9th): +3679:Pattern Editor:Paketti: ∿ Chordsplus 4-7-3 (Maj9 Simplified): +3680:Pattern Editor:Paketti: ∿ Chordsplus 3-7-4 (Min9 Simplified): +3681:Pattern Editor:Paketti: ∿ Chordsplus 3-8-3 (mM9 Simplified): +3682:Pattern Editor:Paketti: ∿ Chordsplus 4-3-4-4 (MM9): +3683:Pattern Editor:Paketti: ∿ Chordsplus 3-4-4-3 (mM9): +3684:Pattern Editor:Paketti: ∿ Chordsplus 4-3-2-5 (Maj6 Add9): +3685:Pattern Editor:Paketti: ∿ Chordsplus 3-4-2-5 (Min6 Add9): Shift + Control + 1 +3686:Pattern Editor:Paketti: ∿ Chordsplus 2-5 (Sus2): +3687:Pattern Editor:Paketti: ∿ Chordsplus 5-2 (Sus4): +3688:Pattern Editor:Paketti: ∿ Chordsplus 5-2-3 (7Sus4): +3689:Pattern Editor:Paketti: ∿ Chordsplus 4-4 (Aug5): +3690:Pattern Editor:Paketti: ∿ Chordsplus 4-4-2 (Aug6): +3691:Pattern Editor:Paketti: ∿ Chordsplus 4-4-3 (Aug7): +3692:Pattern Editor:Paketti: ∿ Chordsplus 4-4-4 (Aug8): +3693:Pattern Editor:Paketti: ∿ Chordsplus 4-3-3-5 (Aug9): +3694:Pattern Editor:Paketti: ∿ Chordsplus 4-4-7 (Aug10): +3695:Pattern Editor:Paketti: ∿ Chordsplus 4-3-3-4-4 (Aug11): +3696:Pattern Editor:Paketti: ∿ Chordsplus 12-12-12 (Octaves): +3697:Pattern Editor:Paketti: ∿ Next Chord in List: +3698:Pattern Editor:Paketti: ∿ Clean Render Selected Track/Group: Command + R +3699:Pattern Editor:Paketti: ∿ Keep Sequence Sorted False: +3700:Pattern Editor:Paketti: ∿ Keep Sequence Sorted True: +3701:Pattern Editor:Paketti: ∿ Keep Sequence Sorted Toggle: Shift + Command + N +3702:Pattern Editor:Paketti: ∿ Capture Nearest Instrument and Octave (nojump): +3703:Pattern Editor:Paketti: ∿ Capture Nearest Instrument and Octave (jump): +3704:Pattern Editor:Paketti: ∿ Transpose Octave Up (Selection/Track): Shift + Command + Q +3705:Pattern Editor:Paketti: ∿ Transpose Octave Down (Selection/Track): Shift + Command + A +3706:Pattern Editor:Paketti: ∿ Transpose +1 (Selection/Track): Command + Q +3707:Pattern Editor:Paketti: ∿ Transpose -1 (Selection/Track): Command + A +3708:Pattern Editor:Paketti: ∿ Transpose Octave Up Note Column (Selection/Note Column): Shift + Option + Command + Q +3709:Pattern Editor:Paketti: ∿ Transpose Octave Down Note Column (Selection/Note Column): Shift + Option + Command + A +3710:Pattern Editor:Paketti: ∿ Transpose +1 Note Column (Selection/Note Column): Option + Command + Q +3711:Pattern Editor:Paketti: ∿ Transpose -1 Note Column (Selection/Note Column): Option + Command + A +3712:Pattern Editor:Paketti: ∿ Phrase Editor Visible: +3713:Pattern Editor:Paketti: ∿ OctaMED Pick Slot 01: +3714:Pattern Editor:Paketti: ∿ OctaMED Put Slot 01: +3715:Pattern Editor:Paketti: ∿ OctaMED Pick Slot 02: +3716:Pattern Editor:Paketti: ∿ OctaMED Put Slot 02: +3717:Pattern Editor:Paketti: ∿ OctaMED Pick Slot 03: +3718:Pattern Editor:Paketti: ∿ OctaMED Put Slot 03: +3719:Pattern Editor:Paketti: ∿ OctaMED Pick Slot 04: +3720:Pattern Editor:Paketti: ∿ OctaMED Put Slot 04: +3721:Pattern Editor:Paketti: ∿ OctaMED Pick Slot 05: +3722:Pattern Editor:Paketti: ∿ OctaMED Put Slot 05: +3723:Pattern Editor:Paketti: ∿ OctaMED Pick Slot 06: +3724:Pattern Editor:Paketti: ∿ OctaMED Put Slot 06: +3725:Pattern Editor:Paketti: ∿ OctaMED Pick Slot 07: +3726:Pattern Editor:Paketti: ∿ OctaMED Put Slot 07: +3727:Pattern Editor:Paketti: ∿ OctaMED Pick Slot 08: +3728:Pattern Editor:Paketti: ∿ OctaMED Put Slot 08: +3729:Pattern Editor:Paketti: ∿ OctaMED Pick Slot 09: +3730:Pattern Editor:Paketti: ∿ OctaMED Put Slot 09: +3731:Pattern Editor:Paketti: ∿ OctaMED Pick Slot 10: +3732:Pattern Editor:Paketti: ∿ OctaMED Put Slot 10: +3733:Pattern Editor:Paketti: ∿ OctaMED Pick/Put Dialog: +3734:Pattern Editor:Paketti: ∿ Impulse Tracker ALT-D Double Select: +3735:Pattern Editor:Paketti: ∿ Impulse Tracker ALT-D Double Select W/ Automation: Command + D +3736:Pattern Editor:Paketti: ∿ Set Note to Octave 0: +3737:Pattern Editor:Paketti: ∿ Set Note to Octave 1: +3738:Pattern Editor:Paketti: ∿ Set Note to Octave 2: +3739:Pattern Editor:Paketti: ∿ Set Note to Octave 3: +3740:Pattern Editor:Paketti: ∿ Set Note to Octave 4: +3741:Pattern Editor:Paketti: ∿ Set Note to Octave 5: +3742:Pattern Editor:Paketti: ∿ Set Note to Octave 6: +3743:Pattern Editor:Paketti: ∿ Set Note to Octave 7: +3744:Pattern Editor:Paketti: ∿ Set Note to Octave 8: +3745:Pattern Editor:Paketti: ∿ Set Note to Octave 9: +3746:Pattern Editor:Paketti: ∿ Impulse Tracker ALT-F Expand Selection: Command + F +3747:Pattern Editor:Paketti: ∿ Impulse Tracker ALT-F Expand Selection Twice: +3748:Pattern Editor:Paketti: ∿ Impulse Tracker ALT-G Shrink Selection: Command + G +3749:Pattern Editor:Paketti: ∿ Impulse Tracker ALT-G Shrink Selection Twice: +3750:Pattern Editor:Paketti: ∿ Impulse Tracker ALT-F Expand Selection Replicate: +3751:Pattern Editor:Paketti: ∿ Impulse Tracker ALT-G Shrink Selection Replicate: +3752:Pattern Editor:Paketti: ∿ Impulse Tracker ALT-S Set Selection to Instrument: Command + S +3753:Pattern Editor:Selection: ∿ Impulse Tracker ALT-L Mark Track/Mark Pattern: Command + L +3754:Pattern Editor:Paketti: ∿ Impulse Tracker ALT-D Double Select Column: +3755:Pattern Editor:Paketti: ∿ Impulse Tracker ALT-D Double Select Pattern: +3756:Pattern Editor:Paketti: ∿ Impulse Tracker Home *2 behaviour: Option + Up +3757:Pattern Editor:Paketti: ∿ Impulse Tracker Home *2 behaviour (2nd): +3758:Pattern Editor:Paketti: ∿ Impulse Tracker End *2 behaviour: Option + Down +3759:Pattern Editor:Paketti: ∿ Impulse Tracker End *2 behaviour (2nd): +3760:Pattern Editor:Paketti: ∿ Impulse Tracker ALT-U Unmark Selection: +3761:Pattern Editor:Paketti: ∿ Impulse Tracker ALT-U Unmark Selection (2nd): +3762:Pattern Editor:Paketti: ∿ Impulse Tracker Alt-Right Move Forwards One Channel (Wrap): Option + Right +3763:Pattern Editor:Paketti: ∿ Impulse Tracker Alt-Left Move Backwards One Channel (Wrap): Option + Left +3764:Pattern Editor:Paketti: ∿ Impulse Tracker Alt-Right Move Forwards One Channel: +3765:Pattern Editor:Paketti: ∿ Impulse Tracker Alt-Left Move Backwards One Channel: +3766:Pattern Editor:Paketti: ∿ Impulse Tracker ALT-X *2 (Interpolate&Clear Effect Columns): +3767:Pattern Editor:Paketti: ∿ Switch to Automation: +3768:Pattern Editor:Paketti: ∿ Show Automation: +3769:Pattern Editor:Paketti: ∿ Clean Render Selected Track/Group LPB*2: +3770:Pattern Editor:Paketti: ∿ Clean Render Seamless Selected Track/Group: +3771:Pattern Editor:Paketti: ∿ Impulse Tracker Alt-M MixPaste - Save: +3772:Pattern Editor:Paketti: ∿ Impulse Tracker Alt-M MixPaste - Load: +3773:Pattern Editor:Paketti: ∿ Shrink to Triplets: Control + T +3774:Pattern Editor:Paketti: ∿ Triple (Experimental): +3775:Pattern Editor:Paketti: ∿ Impulse Tracker Shift-Right Selection In Pattern: +3776:Pattern Editor:Paketti: ∿ Impulse Tracker Shift-Left Selection In Pattern: +3777:Pattern Editor:Paketti: ∿ Impulse Tracker Shift-Down Selection In Pattern: +3778:Pattern Editor:Paketti: ∿ Impulse Tracker Shift-Up Selection In Pattern: +3779:Pattern Editor:Paketti: ∿ Slide Selected Column Content Down: Command + Control + Down +3780:Pattern Editor:Paketti: ∿ Slide Selected Column Content Up: Command + Control + Up +3781:Pattern Editor:Paketti: ∿ Slide Selected Track Content Up: +3782:Pattern Editor:Paketti: ∿ Slide Selected Track Content Down: Option + Command + Down +3783:Pattern Editor:Paketti: ∿ Impulse Tracker MixPaste: Option + M +3784:Pattern Editor:Paketti: ∿ Mute/Unmute Note Column: +3785:Pattern Editor:Paketti: ∿ Effect Column L00 Track Volume Level 0 On/Off: +3786:Pattern Editor:Paketti: ∿ Record+Follow Off: +3787:Pattern Editor:Paketti: ∿ Delay Column Increase (+1): Shift + Control + PeakedBracket +3788:Pattern Editor:Paketti: ∿ Delay Column Decrease (-1): Control + PeakedBracket +3789:Pattern Editor:Paketti: ∿ Delay Column Increase (+10): +3790:Pattern Editor:Paketti: ∿ Delay Column Decrease (-10): +3791:Pattern Editor:Paketti: ∿ KapsLock CapsLock Caps Lock Note Off: Capital +3792:Pattern Editor:Paketti: ∿ Set Pattern Length to 001 (001): +3793:Pattern Editor:Paketti: ∿ Set Pattern Length to 004 (004): Control + 1 +3794:Pattern Editor:Paketti: ∿ Set Pattern Length to 006 (006): +3795:Pattern Editor:Paketti: ∿ Set Pattern Length to 008 (008): Control + 2 +3796:Pattern Editor:Paketti: ∿ Set Pattern Length to 012 (00C): +3797:Pattern Editor:Paketti: ∿ Set Pattern Length to 016 (010): Control + 3 +3798:Pattern Editor:Paketti: ∿ Set Pattern Length to 024 (018): +3799:Pattern Editor:Paketti: ∿ Set Pattern Length to 032 (020): Control + 4 +3800:Pattern Editor:Paketti: ∿ Set Pattern Length to 048 (030): +3801:Pattern Editor:Paketti: ∿ Set Pattern Length to 064 (040): Control + 5 +3802:Pattern Editor:Paketti: ∿ Set Pattern Length to 096 (060): +3803:Pattern Editor:Paketti: ∿ Set Pattern Length to 128 (080): Control + 6 +3804:Pattern Editor:Paketti: ∿ Set Pattern Length to 192 (0C0): +3805:Pattern Editor:Paketti: ∿ Set Pattern Length to 256 (100): Control + 7 +3806:Pattern Editor:Paketti: ∿ Set Pattern Length to 384 (180): +3807:Pattern Editor:Paketti: ∿ Set Pattern Length to 512 (200): Control + 8 +3808:Pattern Editor:Paketti: ∿ Effect Column AXx Arp Amount Xx (-1): +3809:Pattern Editor:Paketti: ∿ Effect Column AXx Arp Amount Xx (+1): +3810:Pattern Editor:Paketti: ∿ Effect Column AxY Arp Amount xY (-1): +3811:Pattern Editor:Paketti: ∿ Effect Column AxY Arp Amount xY (+1): +3812:Pattern Editor:Paketti: ∿ Effect Column VxY Vibrato Amount xY (-1): +3813:Pattern Editor:Paketti: ∿ Effect Column VxY Vibrato Amount xY (+1): +3814:Pattern Editor:Paketti: ∿ Effect Column TxY Tremolo Amount xY (-1): +3815:Pattern Editor:Paketti: ∿ Effect Column TxY Tremolo Amount xY (+1): +3816:Pattern Editor:Paketti: ∿ Effect Column RxY Retrig Amount xY (-1): +3817:Pattern Editor:Paketti: ∿ Effect Column RxY Retrig Amount xY (+1): +3818:Pattern Editor:Paketti: ∿ Effect Column CxY Cut Volume Amount xY (-1): +3819:Pattern Editor:Paketti: ∿ Effect Column CxY Cut Volume Amount xY (+1): +3820:Pattern Editor:Paketti: ∿ Set Global LPB to 001: +3821:Pattern Editor:Paketti: ∿ Set Global LPB to 002: +3822:Pattern Editor:Paketti: ∿ Set Global LPB to 003: +3823:Pattern Editor:Paketti: ∿ Set Global LPB to 004: +3824:Pattern Editor:Paketti: ∿ Set Global LPB to 005: +3825:Pattern Editor:Paketti: ∿ Set Global LPB to 006: +3826:Pattern Editor:Paketti: ∿ Set Global LPB to 007: +3827:Pattern Editor:Paketti: ∿ Set Global LPB to 008: +3828:Pattern Editor:Paketti: ∿ Set Global LPB to 009: +3829:Pattern Editor:Paketti: ∿ Set Global LPB to 010: +3830:Pattern Editor:Paketti: ∿ Set Global LPB to 011: +3831:Pattern Editor:Paketti: ∿ Set Global LPB to 012: +3832:Pattern Editor:Paketti: ∿ Set Global LPB to 013: +3833:Pattern Editor:Paketti: ∿ Set Global LPB to 014: +3834:Pattern Editor:Paketti: ∿ Set Global LPB to 015: +3835:Pattern Editor:Paketti: ∿ Set Global LPB to 016: +3836:Pattern Editor:Paketti: ∿ Set Global LPB to 024: +3837:Pattern Editor:Paketti: ∿ Set Global LPB to 032: +3838:Pattern Editor:Paketti: ∿ Set Global LPB to 048: +3839:Pattern Editor:Paketti: ∿ Set Global LPB to 064: +3840:Pattern Editor:Paketti: ∿ Set Global LPB to 128: +3841:Pattern Editor:Paketti: ∿ Set Global LPB to 256: +3842:Pattern Editor:Paketti: ∿ Paketti Pattern Doubler: Command + Grave +3843:Pattern Editor:Paketti: ∿ Paketti Pattern Halver: Shift + Command + Grave +3844:Pattern Editor:Paketti: ∿ Renoise Random BPM & Write BPM/LPB to Master: +3845:Pattern Editor:Paketti: ∿ Wipe Effects From Selection: +3846:Pattern Editor:Paketti: ∿ Delete/Wipe/Clear Effect Column Content from Current Track: +3847:Pattern Editor:Paketti: ∿ Generate Delay Value on Note Columns: +3848:Pattern Editor:Navigation: ∿ Paketti Switch between Note/FX columns: Control + Tab +3849:Pattern Editor:Navigation: ∿ Paketti Jump to Column (Next) (Note/FX): +3850:Pattern Editor:Navigation: ∿ Paketti Jump to Column (Previous) (Note/FX): +3851:Pattern Editor:Paketti: ∿ Pattern Shrink (dBlue): +3852:Pattern Editor:Paketti: ∿ Pattern Expand (dBlue): +3853:Pattern Editor:Paketti: ∿ Pattern Shrink + Resize (dBlue): +3854:Pattern Editor:Paketti: ∿ Pattern Expand + Resize (dBlue): +3855:Pattern Editor:Paketti: ∿ Effect Column Infobyte (-1): +3856:Pattern Editor:Paketti: ∿ Effect Column Infobyte (-10): +3857:Pattern Editor:Paketti: ∿ Effect Column Infobyte (-1) (2nd): +3858:Pattern Editor:Paketti: ∿ Effect Column Infobyte (-10) (2nd): +3859:Pattern Editor:Paketti: ∿ Effect Column Infobyte (-1) (3rd): +3860:Pattern Editor:Paketti: ∿ Effect Column Infobyte (-10) (3rd): +3861:Pattern Editor:Paketti: ∿ Effect Column Infobyte (+1): +3862:Pattern Editor:Paketti: ∿ Effect Column Infobyte (+10): +3863:Pattern Editor:Paketti: ∿ Effect Column Infobyte (+1) (2nd): +3864:Pattern Editor:Paketti: ∿ Effect Column Infobyte (+10) (2nd): +3865:Pattern Editor:Paketti: ∿ Effect Column Infobyte (+1) (3rd): +3866:Pattern Editor:Paketti: ∿ Effect Column Infobyte (+10) (3rd): +3867:Pattern Editor:Paketti: ∿ Effect Column Gxx Glide (-1): +3868:Pattern Editor:Paketti: ∿ Effect Column Gxx Glide (-10): +3869:Pattern Editor:Paketti: ∿ Effect Column Gxx Glide (+1): +3870:Pattern Editor:Paketti: ∿ Effect Column Gxx Glide (+10): +3871:Pattern Editor:Paketti: ∿ Effect Column Uxx Slide Pitch Up (+1): +3872:Pattern Editor:Paketti: ∿ Effect Column Uxx Slide Pitch Up (-1): +3873:Pattern Editor:Paketti: ∿ Effect Column Uxx Slide Pitch Up (+10): +3874:Pattern Editor:Paketti: ∿ Effect Column Uxx Slide Pitch Up (-10): +3875:Pattern Editor:Paketti: ∿ Effect Column Dxx Slide Pitch Down (+1): +3876:Pattern Editor:Paketti: ∿ Effect Column Dxx Slide Pitch Down (-1): +3877:Pattern Editor:Paketti: ∿ Effect Column Dxx Slide Pitch Down (+10): +3878:Pattern Editor:Paketti: ∿ Effect Column Dxx Slide Pitch Down (-10): +3879:Pattern Editor:Paketti: ∿ Effect Column Uxx Slide Pitch Up (+1) (2nd): +3880:Pattern Editor:Paketti: ∿ Effect Column Uxx Slide Pitch Up (-1) (2nd): +3881:Pattern Editor:Paketti: ∿ Effect Column Uxx Slide Pitch Up (+10) (2nd): +3882:Pattern Editor:Paketti: ∿ Effect Column Uxx Slide Pitch Up (-10) (2nd): +3883:Pattern Editor:Paketti: ∿ Effect Column Dxx Slide Pitch Down (+1) (2nd): +3884:Pattern Editor:Paketti: ∿ Effect Column Dxx Slide Pitch Down (-1) (2nd): +3885:Pattern Editor:Paketti: ∿ Effect Column Dxx Slide Pitch Down (+10) (2nd): +3886:Pattern Editor:Paketti: ∿ Effect Column Dxx Slide Pitch Down (-10) (2nd): +3887:Pattern Editor:Paketti: ∿ Effect Column Uxx Slide Pitch Up (+1) (3rd): +3888:Pattern Editor:Paketti: ∿ Effect Column Uxx Slide Pitch Up (-1) (3rd): +3889:Pattern Editor:Paketti: ∿ Effect Column Uxx Slide Pitch Up (+10) (3rd): +3890:Pattern Editor:Paketti: ∿ Effect Column Uxx Slide Pitch Up (-10) (3rd): +3891:Pattern Editor:Paketti: ∿ Effect Column Dxx Slide Pitch Down (+1) (3rd): +3892:Pattern Editor:Paketti: ∿ Effect Column Dxx Slide Pitch Down (-1) (3rd): +3893:Pattern Editor:Paketti: ∿ Effect Column Dxx Slide Pitch Down (+10) (3rd): +3894:Pattern Editor:Paketti: ∿ Effect Column Dxx Slide Pitch Down (-10) (3rd): +3895:Pattern Editor:Paketti: ∿ Switch Effect Column/Note Column: +3896:Pattern Editor:Paketti: ∿ Clear Current Row: +3897:Pattern Editor:Paketti: ∿ Clear Current Row 2nd: +3898:Pattern Editor:Paketti: ∿ Effect Column ZBxx Jump To Row (Next): +3899:Pattern Editor:Paketti: ∿ Effect Column B01 Reverse Sample Effect On/Off: +3900:Pattern Editor:Paketti: ∿ Effect Column B00 Reverse Sample Effect On/Off: +3901:Pattern Editor:Paketti: ∿ Effect Column B00 Reverse Sample Effect On/Off (2nd): +3902:Pattern Editor:Paketti: ∿ Display Effect Column 1: +3903:Pattern Editor:Paketti: ∿ Display Effect Column 2: +3904:Pattern Editor:Paketti: ∿ Display Effect Column 3: +3905:Pattern Editor:Paketti: ∿ Display Effect Column 4: +3906:Pattern Editor:Paketti: ∿ Display Effect Column 5: +3907:Pattern Editor:Paketti: ∿ Display Effect Column 6: +3908:Pattern Editor:Paketti: ∿ Display Effect Column 7: +3909:Pattern Editor:Paketti: ∿ Display Effect Column 8: +3910:Pattern Editor:Paketti: ∿ Display Note Column 01: +3911:Pattern Editor:Paketti: ∿ Display Note Column 02: +3912:Pattern Editor:Paketti: ∿ Display Note Column 03: +3913:Pattern Editor:Paketti: ∿ Display Note Column 04: +3914:Pattern Editor:Paketti: ∿ Display Note Column 05: +3915:Pattern Editor:Paketti: ∿ Display Note Column 06: +3916:Pattern Editor:Paketti: ∿ Display Note Column 07: +3917:Pattern Editor:Paketti: ∿ Display Note Column 08: +3918:Pattern Editor:Paketti: ∿ Display Note Column 09: +3919:Pattern Editor:Paketti: ∿ Display Note Column 10: +3920:Pattern Editor:Paketti: ∿ Display Note Column 11: +3921:Pattern Editor:Paketti: ∿ Display Note Column 12: +3922:Pattern Editor:Paketti: ∿ Reset Panning in Current Column & Row: +3923:Pattern Editor:Paketti: ∿ Effect Column L00/LC0 Volume Effect Switch: +3924:Pattern Editor:Paketti: ∿ Effect Column 0R(LPB) Retrig On/Off: +3925:Pattern Editor:Paketti: ∿ Select Effect Column (Previous): +3926:Pattern Editor:Paketti: ∿ Select Effect Column (Next): +3927:Pattern Editor:Paketti: ∿ Columnizer Increase Delay (+1): +3928:Pattern Editor:Paketti: ∿ Columnizer Increase Delay (+10): +3929:Pattern Editor:Paketti: ∿ Columnizer Decrease Delay (-1): +3930:Pattern Editor:Paketti: ∿ Columnizer Decrease Delay (-10): +3931:Pattern Editor:Paketti: ∿ Columnizer Increase Delay (+1) (2nd): +3932:Pattern Editor:Paketti: ∿ Columnizer Increase Delay (+10) (2nd): +3933:Pattern Editor:Paketti: ∿ Columnizer Decrease Delay (-1) (2nd): +3934:Pattern Editor:Paketti: ∿ Columnizer Decrease Delay (-10) (2nd): +3935:Pattern Editor:Paketti: ∿ Columnizer Increase Panning (+1): +3936:Pattern Editor:Paketti: ∿ Columnizer Increase Panning (+10): +3937:Pattern Editor:Paketti: ∿ Columnizer Decrease Panning (-1): +3938:Pattern Editor:Paketti: ∿ Columnizer Decrease Panning (-10): +3939:Pattern Editor:Paketti: ∿ Columnizer Increase Panning (+1) (2nd): +3940:Pattern Editor:Paketti: ∿ Columnizer Increase Panning (+10) (2nd): +3941:Pattern Editor:Paketti: ∿ Columnizer Decrease Panning (-1) (2nd): +3942:Pattern Editor:Paketti: ∿ Columnizer Decrease Panning (-10) (2nd): +3943:Pattern Editor:Paketti: ∿ Columnizer Increase Volume (+1): +3944:Pattern Editor:Paketti: ∿ Columnizer Increase Volume (+10): +3945:Pattern Editor:Paketti: ∿ Columnizer Decrease Volume (-1): +3946:Pattern Editor:Paketti: ∿ Columnizer Decrease Volume (-10): +3947:Pattern Editor:Paketti: ∿ Columnizer Increase Effect Number (+1): +3948:Pattern Editor:Paketti: ∿ Columnizer Increase Effect Number (+10): +3949:Pattern Editor:Paketti: ∿ Columnizer Decrease Effect Number (-1): +3950:Pattern Editor:Paketti: ∿ Columnizer Decrease Effect Number (-10): +3951:Pattern Editor:Paketti: ∿ Columnizer Increase Effect Amount (+1): +3952:Pattern Editor:Paketti: ∿ Columnizer Increase Effect Amount (+10): +3953:Pattern Editor:Paketti: ∿ Columnizer Decrease Effect Amount (-1): +3954:Pattern Editor:Paketti: ∿ Columnizer Decrease Effect Amount (-10): +3955:Pattern Editor:Paketti: ∿ Interpolate Column Values (Effect): +3956:Pattern Editor:Paketti: ∿ Flood Fill Note and Instrument: Shift + Option + Grave +3957:Pattern Editor:Paketti: ∿ Flood Fill Note and Instrument with EditStep: Option + E +3958:Pattern Editor:Paketti: ∿ Flood Fill Note and Instrument every 1 step: +3959:Pattern Editor:Paketti: ∿ Flood Fill Note and Instrument every 2 step: +3960:Pattern Editor:Paketti: ∿ Flood Fill Note and Instrument every 3 step: +3961:Pattern Editor:Paketti: ∿ Flood Fill Note and Instrument every 4 step: +3962:Pattern Editor:Paketti: ∿ Flood Fill Note and Instrument every 5 step: Shift + Option + 5 +3963:Pattern Editor:Paketti: ∿ Flood Fill Note and Instrument every 6 step: Shift + Option + 6 +3964:Pattern Editor:Paketti: ∿ Flood Fill Note and Instrument every 7 step: Shift + Option + 7 +3965:Pattern Editor:Paketti: ∿ Flood Fill Note and Instrument every 8 step: +3966:Pattern Editor:Paketti: ∿ Flood Fill Note and Instrument every 9 step: Shift + Option + 9 +3967:Pattern Editor:Paketti: ∿ Flood Fill Note and Instrument every 10 step: +3968:Pattern Editor:Paketti: ∿ Flood Fill Note and Instrument every 11 step: +3969:Pattern Editor:Paketti: ∿ Flood Fill Note and Instrument every 12 step: +3970:Pattern Editor:Paketti: ∿ Flood Fill Note and Instrument every 13 step: +3971:Pattern Editor:Paketti: ∿ Flood Fill Note and Instrument every 14 step: +3972:Pattern Editor:Paketti: ∿ Flood Fill Note and Instrument every 15 step: +3973:Pattern Editor:Paketti: ∿ Flood Fill Note and Instrument every 16 step: +3974:Pattern Editor:Paketti: ∿ Flood Fill Note and Instrument every 17 step: +3975:Pattern Editor:Paketti: ∿ Flood Fill Note and Instrument every 18 step: +3976:Pattern Editor:Paketti: ∿ Flood Fill Note and Instrument every 19 step: +3977:Pattern Editor:Paketti: ∿ Flood Fill Note and Instrument every 20 step: +3978:Pattern Editor:Paketti: ∿ Flood Fill Note and Instrument every 21 step: +3979:Pattern Editor:Paketti: ∿ Flood Fill Note and Instrument every 22 step: +3980:Pattern Editor:Paketti: ∿ Flood Fill Note and Instrument every 23 step: +3981:Pattern Editor:Paketti: ∿ Flood Fill Note and Instrument every 24 step: +3982:Pattern Editor:Paketti: ∿ Flood Fill Note and Instrument every 25 step: +3983:Pattern Editor:Paketti: ∿ Flood Fill Note and Instrument every 26 step: +3984:Pattern Editor:Paketti: ∿ Flood Fill Note and Instrument every 27 step: +3985:Pattern Editor:Paketti: ∿ Flood Fill Note and Instrument every 28 step: +3986:Pattern Editor:Paketti: ∿ Flood Fill Note and Instrument every 29 step: +3987:Pattern Editor:Paketti: ∿ Flood Fill Note and Instrument every 30 step: +3988:Pattern Editor:Paketti: ∿ Flood Fill Note and Instrument every 31 step: +3989:Pattern Editor:Paketti: ∿ Flood Fill Note and Instrument every 32 step: +3990:Pattern Editor:Paketti: ∿ Flood Fill Note and Instrument every 33 step: +3991:Pattern Editor:Paketti: ∿ Flood Fill Note and Instrument every 34 step: +3992:Pattern Editor:Paketti: ∿ Flood Fill Note and Instrument every 35 step: +3993:Pattern Editor:Paketti: ∿ Flood Fill Note and Instrument every 36 step: +3994:Pattern Editor:Paketti: ∿ Flood Fill Note and Instrument every 37 step: +3995:Pattern Editor:Paketti: ∿ Flood Fill Note and Instrument every 38 step: +3996:Pattern Editor:Paketti: ∿ Flood Fill Note and Instrument every 39 step: +3997:Pattern Editor:Paketti: ∿ Flood Fill Note and Instrument every 40 step: +3998:Pattern Editor:Paketti: ∿ Flood Fill Note and Instrument every 41 step: +3999:Pattern Editor:Paketti: ∿ Flood Fill Note and Instrument every 42 step: +4000:Pattern Editor:Paketti: ∿ Flood Fill Note and Instrument every 43 step: +4001:Pattern Editor:Paketti: ∿ Flood Fill Note and Instrument every 44 step: +4002:Pattern Editor:Paketti: ∿ Flood Fill Note and Instrument every 45 step: +4003:Pattern Editor:Paketti: ∿ Flood Fill Note and Instrument every 46 step: +4004:Pattern Editor:Paketti: ∿ Flood Fill Note and Instrument every 47 step: +4005:Pattern Editor:Paketti: ∿ Flood Fill Note and Instrument every 48 step: +4006:Pattern Editor:Paketti: ∿ Flood Fill Note and Instrument every 49 step: +4007:Pattern Editor:Paketti: ∿ Flood Fill Note and Instrument every 50 step: +4008:Pattern Editor:Paketti: ∿ Flood Fill Note and Instrument every 51 step: +4009:Pattern Editor:Paketti: ∿ Flood Fill Note and Instrument every 52 step: +4010:Pattern Editor:Paketti: ∿ Flood Fill Note and Instrument every 53 step: +4011:Pattern Editor:Paketti: ∿ Flood Fill Note and Instrument every 54 step: +4012:Pattern Editor:Paketti: ∿ Flood Fill Note and Instrument every 55 step: +4013:Pattern Editor:Paketti: ∿ Flood Fill Note and Instrument every 56 step: +4014:Pattern Editor:Paketti: ∿ Flood Fill Note and Instrument every 57 step: +4015:Pattern Editor:Paketti: ∿ Flood Fill Note and Instrument every 58 step: +4016:Pattern Editor:Paketti: ∿ Flood Fill Note and Instrument every 59 step: +4017:Pattern Editor:Paketti: ∿ Flood Fill Note and Instrument every 60 step: +4018:Pattern Editor:Paketti: ∿ Flood Fill Note and Instrument every 61 step: +4019:Pattern Editor:Paketti: ∿ Flood Fill Note and Instrument every 62 step: +4020:Pattern Editor:Paketti: ∿ Flood Fill Note and Instrument every 63 step: +4021:Pattern Editor:Paketti: ∿ Flood Fill Note and Instrument every 64 step: +4022:Pattern Editor:Paketti: ∿ Paketti Track Renamer Dialog...: +4023:Pattern Editor:Paketti: ∿ Select Last Track: +4024:Pattern Editor:Paketti: ∿ Toggle Note Off in All Visible Note Columns: Shift + Capital +4025:Pattern Editor:Paketti: ∿ Toggle Note Off on All Tracks on Current Row: Control + Capital +4026:Pattern Editor:Paketti: ∿ Randomize Phrasing for Notes in Current Row: Option + N +4027:Pattern Editor:Paketti: ∿ Replicate Selected Track Above Current Row (-12): +4028:Pattern Editor:Paketti: ∿ Replicate Selected Track Above Current Row (-1): +4029:Pattern Editor:Paketti: ∿ Replicate Selected Track Above Current Row : Control + Down +4030:Pattern Editor:Paketti: ∿ Replicate Selected Track Above Current Row (+1): +4031:Pattern Editor:Paketti: ∿ Replicate Selected Track Above Current Row (+12): +4032:Pattern Editor:Paketti: ∿ Replicate Selected Track Above + Current (-12): +4033:Pattern Editor:Paketti: ∿ Replicate Selected Track Above + Current (-1): +4034:Pattern Editor:Paketti: ∿ Replicate Selected Track Above + Current : +4035:Pattern Editor:Paketti: ∿ Replicate Selected Track Above + Current (+1): +4036:Pattern Editor:Paketti: ∿ Replicate Selected Track Above + Current (+12): +4037:Pattern Editor:Paketti: ∿ Replicate All Above Current Row (-12): +4038:Pattern Editor:Paketti: ∿ Replicate All Above Current Row (-1): +4039:Pattern Editor:Paketti: ∿ Replicate All Above Current Row : +4040:Pattern Editor:Paketti: ∿ Replicate All Above Current Row (+1): +4041:Pattern Editor:Paketti: ∿ Replicate All Above Current Row (+12): +4042:Pattern Editor:Paketti: ∿ Replicate All Above + Current (-12): +4043:Pattern Editor:Paketti: ∿ Replicate All Above + Current (-1): +4044:Pattern Editor:Paketti: ∿ Replicate All Above + Current : Shift + Control + Down +4045:Pattern Editor:Paketti: ∿ Replicate All Above + Current (+1): +4046:Pattern Editor:Paketti: ∿ Replicate All Above + Current (+12): +4047:Pattern Editor:Paketti: ∿ Delay Column Increase Selection/Row (+1): Control + Right +4048:Pattern Editor:Paketti: ∿ Delay Column Decrease Selection/Row (-1): Control + Left +4049:Pattern Editor:Paketti: ∿ Delay Column Increase Selection/Row (+10): Shift + Control + Right +4050:Pattern Editor:Paketti: ∿ Delay Column Decrease Selection/Row (-10): Shift + Control + Left +4051:Pattern Editor:Paketti: ∿ Expose and Select Next Column: +4052:Pattern Editor:Paketti: ∿ Hide Current and Select Previous Column: +4053:Pattern Editor:Paketti: ∿ Set Pattern Length to LPB*001: +4054:Pattern Editor:Paketti: ∿ Set Pattern Length to LPB*002: +4055:Pattern Editor:Paketti: ∿ Set Pattern Length to LPB*004: +4056:Pattern Editor:Paketti: ∿ Set Pattern Length to LPB*008: +4057:Pattern Editor:Paketti: ∿ Set Pattern Length to LPB*016: +4058:Pattern Editor:Paketti: ∿ Set Pattern Length to LPB*032: +4059:Pattern Editor:Paketti: ∿ Set Pattern Length to LPB*064: +4060:Pattern Editor:Paketti: ∿ Set Pattern Length to LPB*128: +4061:Pattern Editor:Paketti: ∿ Set Pattern Length to LPB*256: +4062:Pattern Editor:Paketti: ∿ Set Pattern Length to LPB*512: +4063:Pattern Editor:Paketti: ∿ Clear Selected Track Below Current Row: +4064:Pattern Editor:Paketti: ∿ Clear All Tracks Below Current Row: +4065:Pattern Editor:Paketti: ∿ Match Current Sub Column Selection: Shift + Command + E +4066:Pattern Editor:Paketti: ∿ Match Volume Column to Current Row: +4067:Pattern Editor:Paketti: ∿ Match Panning Column to Current Row: +4068:Pattern Editor:Paketti: ∿ Match Delay Column to Current Row: +4069:Pattern Editor:Paketti: ∿ Nudge Down: +4070:Pattern Editor:Paketti: ∿ Nudge Up: +4071:Pattern Editor:Paketti: ∿ Nudge with Delay (Down): +4072:Pattern Editor:Paketti: ∿ Nudge with Delay (Up): +4073:Pattern Editor:Paketti: ∿ Toggle Note Off in Selected Tracks: Option + Capital +4074:Pattern Editor:Paketti: ∿ Duplicate Selection with Padding&Move Cursor 1: Shift + Option + D +4075:Pattern Editor:Paketti: ∿ Duplicate Selection with Padding&Move Cursor 2: Option + D +4076:Pattern Editor:Paketti: ∿ Nudge and Paste Selection: Shift + Command + Down +4077:Pattern Editor:Paketti: ∿ Nudge and Paste Selection + Deselect: +4078:Pattern Editor:Paketti: ∿ Create New Pattern with Selection: +4079:Pattern Editor:Paketti..: ∿ Random Selected Notes Octave Up 25% Probability: +4080:Pattern Editor:Paketti..: ∿ Random Selected Notes Octave Up 50% Probability: +4081:Pattern Editor:Paketti..: ∿ Random Selected Notes Octave Up 75% Probability: +4082:Pattern Editor:Paketti: ∿ Selection in Pattern to Group: +4083:Pattern Editor:Paketti: ∿ Set Time Signature 3/4 and 48 rows @ LPB 4: +4084:Pattern Editor:Paketti: ∿ Set Time Signature 7/8 and 56 rows @ LPB 8: +4085:Pattern Editor:Paketti: ∿ Set Time Signature 6/8 and 48 rows @ LPB 8: +4086:Pattern Editor:Paketti: ∿ Adjust Selection Delay Column (+1): +4087:Pattern Editor:Paketti: ∿ Adjust Selection Delay Column (-1): +4088:Pattern Editor:Paketti: ∿ Adjust Selection Delay Column (+10): +4089:Pattern Editor:Paketti: ∿ Adjust Selection Delay Column (-10): +4090:Pattern Editor:Paketti: ∿ Adjust Selection Panning Column (+1): +4091:Pattern Editor:Paketti: ∿ Adjust Selection Panning Column (-1): +4092:Pattern Editor:Paketti: ∿ Adjust Selection Panning Column (+10): +4093:Pattern Editor:Paketti: ∿ Adjust Selection Panning Column (-10): +4094:Pattern Editor:Paketti: ∿ Adjust Selection Volume Column (+1): +4095:Pattern Editor:Paketti: ∿ Adjust Selection Volume Column (-1): +4096:Pattern Editor:Paketti: ∿ Adjust Selection Volume Column (+10): +4097:Pattern Editor:Paketti: ∿ Adjust Selection Volume Column (-10): +4098:Pattern Editor:Paketti: ∿ Wipe Selection Delay Column: +4099:Pattern Editor:Paketti: ∿ Wipe Selection Panning Column: +4100:Pattern Editor:Paketti: ∿ Wipe Selection Volume Column: +4101:Pattern Editor:Paketti: ∿ Interpolate Notes: +4102:Pattern Editor:Paketti: ∿ Jump to First Track In Next Group: +4103:Pattern Editor:Paketti: ∿ Jump to First Track In Previous Group: +4104:Pattern Editor:Paketti: ∿ Global Visible Column (All): +4105:Pattern Editor:Paketti: ∿ Global Visible Column (None): +4106:Pattern Editor:Paketti: ∿ Global Toggle Visible Column (Volume): +4107:Pattern Editor:Paketti: ∿ Global Toggle Visible Column (Panning): +4108:Pattern Editor:Paketti: ∿ Global Toggle Visible Column (Delay): +4109:Pattern Editor:Paketti: ∿ Global Toggle Visible Column (Sample Effects): +4110:Pattern Editor:Paketti: ∿ Global Set Visible Column (Volume): +4111:Pattern Editor:Paketti: ∿ Global Set Visible Column (Panning): +4112:Pattern Editor:Paketti: ∿ Global Set Visible Column (Delay): +4113:Pattern Editor:Paketti: ∿ Global Set Visible Column (Sample Effects): +4114:Pattern Editor:Paketti: ∿ Reverse Notes in Selection: Control + R +4115:Pattern Editor:Paketti: ∿ Flood Fill with Selection: Control + F +4116:Pattern Editor:Paketti: ∿ Rotate Track Content to SelectionStart First: +4117:Pattern Editor:Paketti: ∿ Interpolate Column Values (Volume): +4118:Pattern Editor:Paketti: ∿ Interpolate Column Values (Delay): +4119:Pattern Editor:Paketti: ∿ Interpolate Column Values (Panning): +4120:Pattern Editor:Paketti: ∿ Interpolate Column Values (Sample FX): +4121:Pattern Editor:Paketti: ∿ Invert Note Column Subcolumns: Shift + Control + V +4122:Pattern Editor:Paketti: ∿ Invert Effect Column Subcolumns: Shift + Option + V +4123:Pattern Editor:Paketti: ∿ Invert All Subcolumns: Shift + Option + Control + V +4124:Sample Editor:Navigation: Move Cursor Left: Left +4125:Sample Editor:Navigation: Move Cursor Right: Right +4126:Sample Editor:Navigation: Move Cursor Up: +4127:Sample Editor:Navigation: Move Cursor Down: +4128:Sample Editor:Navigation: Move Cursor Left Big Step: +4129:Sample Editor:Navigation: Move Cursor Right Big Step: +4130:Sample Editor:Navigation: Move Cursor to Visible Start: +4131:Sample Editor:Navigation: Move Cursor to Sample Start: Home +4132:Sample Editor:Navigation: Move Cursor to Visible End: +4133:Sample Editor:Navigation: Move Cursor to Sample End: End +4134:Sample Editor:Navigation: Move Cursor to Visible Start and Select: +4135:Sample Editor:Navigation: Move Cursor to Visible End and Select: +4136:Sample Editor:Navigation: Zoom In: +4137:Sample Editor:Navigation: Zoom Out: +4138:Sample Editor:Navigation: Zoom In Vertical: Next +4139:Sample Editor:Navigation: Zoom Out Vertical: Prior +4140:Sample Editor:Navigation: Zoom Selection: Option + Command + S +4141:Sample Editor:Navigation: Zoom Out Full: +4142:Sample Editor:Navigation: Select Previous Sample: Up +4143:Sample Editor:Navigation: Select Next Sample: Down +4144:Sample Editor:Selection: Select All: Command + A +4145:Sample Editor:Selection: Unselect All: +4146:Sample Editor:Selection: Select Loop: +4147:Sample Editor:Selection: Select Current Slice: +4148:Sample Editor:Selection: Begin Selection: Command + B +4149:Sample Editor:Selection: End Selection: Command + E +4150:Sample Editor:Selection: Select All Slice Markers: Shift + Command + A +4151:Sample Editor:Snapping: Toggle Snapping: Command + 0 +4152:Sample Editor:Snapping: Set Snap Mode1: +4153:Sample Editor:Snapping: Set Snap Mode2: +4154:Sample Editor:Snapping: Set Snap Mode3: +4155:Sample Editor:Snapping: Set Snap Mode4: +4156:Sample Editor:Snapping: Set Snap Mode5: +4157:Sample Editor:Snapping: Set Snap Mode6: +4158:Sample Editor:Snapping: Set Snap Mode7: +4159:Sample Editor:Snapping: Set Snap Mode8: +4160:Sample Editor:Snapping: Set Snap Mode9: Command + 9 +4161:Sample Editor:View: Toggle Draw Mode: Option + Command + D +4162:Sample Editor:Playback: Play Sample: +4163:Sample Editor:Playback: Play Selection: +4164:Sample Editor:Playback: Stop Playing Selection: +4165:Sample Editor:Playback: Play/Stop Selection: Space +4166:Sample Editor:Edit: Clear Sample: Command + Back +4167:Sample Editor:Edit: 2nd Clear Sample: Command + Delete +4168:Sample Editor:Edit: Delete: +4169:Sample Editor:Edit: 2nd Delete: Delete +4170:Sample Editor:Edit: Cut: Command + X +4171:Sample Editor:Edit: Trim: Command + T +4172:Sample Editor:Edit: Copy: Command + C +4173:Sample Editor:Edit: Copy Into New Sample: +4174:Sample Editor:Edit: Paste: Command + V +4175:Sample Editor:Edit: Mix Paste: +4176:Sample Editor:Edit: Insert Silence: +4177:Sample Editor:Edit: Load Sample: Option + O +4178:Sample Editor:Edit: Save Sample As: +4179:Sample Editor:Fade: Fade In: +4180:Sample Editor:Fade: Fade In Log: Shift + Option + Command + I +4181:Sample Editor:Fade: Fade Out: +4182:Sample Editor:Fade: Fade Out Log: Shift + Option + Command + O +4183:Sample Editor:Fade: Cross Fade: +4184:Sample Editor:Fade: Cross Fade Loop: +4185:Sample Editor:Process: Toggle Undo Enabled: +4186:Sample Editor:Process: Create or Adjust Type: +4187:Sample Editor:Process: Adjust Volume: F10 +4188:Sample Editor:Process: DC Adjust: +4189:Sample Editor:Process: Normalize Volume: Command + N +4190:Sample Editor:Process: Mute: +4191:Sample Editor:Process: Invert Phase: +4192:Sample Editor:Process: Swap Stereo Channels: +4193:Sample Editor:Process: Reverse: Command + R +4194:Sample Editor:Process: XReverse: +4195:Sample Editor:Process: Smooth: +4196:Sample Editor:Loop: Set Loop Start/Range: Shift + Command + L +4197:Sample Editor:Loop: Set Loop End/Range: Command + L +4198:Sample Editor:Slices: Toggle Slice Tool: +4199:Sample Editor:Slices: Toggle Single Slice Trigger: +4200:Sample Editor:Slices: Detect Beats: +4201:Sample Editor:Slices: Add Slice Marker: +4202:Sample Editor:Slices: Delete Slice Marker: +4203:Sample Editor:Slices: Delete All Slice Markers: +4204:Sample Editor:Slices: Destructively Render Slices: +4205:Sample Editor:Process: Process DSP FX: +4206:Sample Editor:Slices: Render Slices to Phrase: +4207:Sample Editor:Edit: Copy Into New Instrument: Shift + Option + Command + C +4208:Sample Editor:Playback: Toggle Play Selection Enabled: Command + Q +4209:Sample Editor:Paketti: ∿ Phrase Editor Visible: +4210:Sample Editor:Paketti: ∿ Phase Inversion: +4211:Sample Editor:Paketti: ∿ Phase Inversion & Audio Diff: +4212:Sample Editor:Paketti: ∿ Pitch Shift: +4213:Sample Editor:Paketti: ∿ Pitch Shift & Audio Diff: +4214:Sample Editor:Paketti: ∿ Clip bottom of waveform: +4215:Sample Editor:Paketti: ∿ Modulate & Audio Diff: +4216:Sample Editor:Paketti: ∿ Invert Right, Sum Mono: +4217:Sample Editor:Paketti: ∿ Audio Diff: +4218:Sample Editor:Paketti: ∿ 15 Frame Fade In & Fade Out: +4219:Sample Editor:Process: ∿ Recursive Remove DC Offset: Command + D +4220:Sample Editor:Process: ∿ Recursive Remove DC Offset Random Times: Shift + Option + D +4221:Sample Editor:Paketti: ∿ Normalize Selected Sample to -12dB: +4222:Sample Editor:Paketti: ∿ Normalize Selected Instrument to -12dB: +4223:Sample Editor:Paketti: ∿ Normalize All Instruments to -12dB: +4224:Sample Editor:Paketti: ∿ Create New Instrument & Loop from Selection: +4225:Sample Editor:Paketti: ∿ Set Loop Mode to 1 Off: +4226:Sample Editor:Paketti: ∿ Set Loop Mode to 2 Forward: +4227:Sample Editor:Paketti: ∿ Set Loop Mode to 3 Reverse: +4228:Sample Editor:Paketti: ∿ Set Loop Mode to 4 PingPong: +4229:Sample Editor:Paketti: ∿ Select Padded Slice (Next): Option + E +4230:Sample Editor:Paketti: ∿ Select Padded Slice (Previous): Option + W +4231:Sample Editor:Paketti: ∿ Select Padded Slice from Current Slice: +4232:Sample Editor:Paketti: ∿ Select First Half of Sample Buffer: Option + Left +4233:Sample Editor:Paketti: ∿ Select Second Half of Sample Buffer: Option + Right +4234:Sample Editor:Paketti: ∿ Invert Left Channel of Selected Sample: +4235:Sample Editor:Paketti: ∿ Invert Right Channel of Selected Sample: +4236:Sample Editor:Paketti: ∿ Invert Sample: +4237:Sample Editor:Paketti: ∿ Rotate Sample Buffer Right 10: +4238:Sample Editor:Paketti: ∿ Rotate Sample Buffer Left 10: +4239:Sample Editor:Paketti: ∿ Rotate Sample Buffer Right 100: +4240:Sample Editor:Paketti: ∿ Rotate Sample Buffer Left 100: +4241:Sample Editor:Paketti: ∿ Rotate Sample Buffer Right 1000: Command + Control + Left +4242:Sample Editor:Paketti: ∿ Rotate Sample Buffer Left 1000: Command + Control + Right +4243:Sample Editor:Paketti: ∿ Rotate Sample Buffer Right 10000: +4244:Sample Editor:Paketti: ∿ Rotate Sample Buffer Left 10000: +4245:Sample Editor:Paketti: ∿ Flip Sample by 1/4: +4246:Sample Editor:Paketti: ∿ Flip Sample by 1/2: +4247:Sample Editor:Paketti: ∿ Flip Sample by 1/8: +4248:Sample Editor:Paketti: ∿ Flip Sample by 1/16: +4249:Sample Editor:Paketti: ∿ Select Loop Range: Shift + Option + L +4250:Sample Editor:Paketti: ∿ Rotate Sample Buffer Upwards: +4251:Sample Editor:Paketti: ∿ Rotate Sample Buffer Downwards: +4252:Sample Editor:Paketti: ∿ Nudge Slice 01 by (-10): +4253:Sample Editor:Paketti: ∿ Nudge Slice 01 by (-32): +4254:Sample Editor:Paketti: ∿ Nudge Slice 01 by (-1): +4255:Sample Editor:Paketti: ∿ Nudge Slice 01 by (+32): +4256:Sample Editor:Paketti: ∿ Nudge Slice 01 by (+1): +4257:Sample Editor:Paketti: ∿ Nudge Slice 01 by (+16): +4258:Sample Editor:Paketti: ∿ Nudge Slice 01 by (-16): +4259:Sample Editor:Paketti: ∿ Nudge Slice 01 by (+10): +4260:Sample Editor:Paketti: ∿ Nudge Slice 02 by (-10): +4261:Sample Editor:Paketti: ∿ Nudge Slice 02 by (-32): +4262:Sample Editor:Paketti: ∿ Nudge Slice 02 by (-1): +4263:Sample Editor:Paketti: ∿ Nudge Slice 02 by (+32): +4264:Sample Editor:Paketti: ∿ Nudge Slice 02 by (+1): +4265:Sample Editor:Paketti: ∿ Nudge Slice 02 by (+16): +4266:Sample Editor:Paketti: ∿ Nudge Slice 02 by (-16): +4267:Sample Editor:Paketti: ∿ Nudge Slice 02 by (+10): +4268:Sample Editor:Paketti: ∿ Nudge Slice 03 by (-10): +4269:Sample Editor:Paketti: ∿ Nudge Slice 03 by (-32): +4270:Sample Editor:Paketti: ∿ Nudge Slice 03 by (-1): +4271:Sample Editor:Paketti: ∿ Nudge Slice 03 by (+32): +4272:Sample Editor:Paketti: ∿ Nudge Slice 03 by (+1): +4273:Sample Editor:Paketti: ∿ Nudge Slice 03 by (+16): +4274:Sample Editor:Paketti: ∿ Nudge Slice 03 by (-16): +4275:Sample Editor:Paketti: ∿ Nudge Slice 03 by (+10): +4276:Sample Editor:Paketti: ∿ Nudge Slice 04 by (-10): +4277:Sample Editor:Paketti: ∿ Nudge Slice 04 by (-32): +4278:Sample Editor:Paketti: ∿ Nudge Slice 04 by (-1): +4279:Sample Editor:Paketti: ∿ Nudge Slice 04 by (+32): +4280:Sample Editor:Paketti: ∿ Nudge Slice 04 by (+1): +4281:Sample Editor:Paketti: ∿ Nudge Slice 04 by (+16): +4282:Sample Editor:Paketti: ∿ Nudge Slice 04 by (-16): +4283:Sample Editor:Paketti: ∿ Nudge Slice 04 by (+10): +4284:Sample Editor:Paketti: ∿ Nudge Slice 05 by (-10): +4285:Sample Editor:Paketti: ∿ Nudge Slice 05 by (-32): +4286:Sample Editor:Paketti: ∿ Nudge Slice 05 by (-1): +4287:Sample Editor:Paketti: ∿ Nudge Slice 05 by (+32): +4288:Sample Editor:Paketti: ∿ Nudge Slice 05 by (+1): +4289:Sample Editor:Paketti: ∿ Nudge Slice 05 by (+16): +4290:Sample Editor:Paketti: ∿ Nudge Slice 05 by (-16): +4291:Sample Editor:Paketti: ∿ Nudge Slice 05 by (+10): +4292:Sample Editor:Paketti: ∿ Nudge Slice 06 by (-10): +4293:Sample Editor:Paketti: ∿ Nudge Slice 06 by (-32): +4294:Sample Editor:Paketti: ∿ Nudge Slice 06 by (-1): +4295:Sample Editor:Paketti: ∿ Nudge Slice 06 by (+32): +4296:Sample Editor:Paketti: ∿ Nudge Slice 06 by (+1): +4297:Sample Editor:Paketti: ∿ Nudge Slice 06 by (+16): +4298:Sample Editor:Paketti: ∿ Nudge Slice 06 by (-16): +4299:Sample Editor:Paketti: ∿ Nudge Slice 06 by (+10): +4300:Sample Editor:Paketti: ∿ Nudge Slice 07 by (-10): +4301:Sample Editor:Paketti: ∿ Nudge Slice 07 by (-32): +4302:Sample Editor:Paketti: ∿ Nudge Slice 07 by (-1): +4303:Sample Editor:Paketti: ∿ Nudge Slice 07 by (+32): +4304:Sample Editor:Paketti: ∿ Nudge Slice 07 by (+1): +4305:Sample Editor:Paketti: ∿ Nudge Slice 07 by (+16): +4306:Sample Editor:Paketti: ∿ Nudge Slice 07 by (-16): +4307:Sample Editor:Paketti: ∿ Nudge Slice 07 by (+10): +4308:Sample Editor:Paketti: ∿ Nudge Slice 08 by (-10): +4309:Sample Editor:Paketti: ∿ Nudge Slice 08 by (-32): +4310:Sample Editor:Paketti: ∿ Nudge Slice 08 by (-1): +4311:Sample Editor:Paketti: ∿ Nudge Slice 08 by (+32): +4312:Sample Editor:Paketti: ∿ Nudge Slice 08 by (+1): +4313:Sample Editor:Paketti: ∿ Nudge Slice 08 by (+16): +4314:Sample Editor:Paketti: ∿ Nudge Slice 08 by (-16): +4315:Sample Editor:Paketti: ∿ Nudge Slice 08 by (+10): +4316:Sample Editor:Paketti: ∿ Nudge Slice 09 by (-10): +4317:Sample Editor:Paketti: ∿ Nudge Slice 09 by (-32): +4318:Sample Editor:Paketti: ∿ Nudge Slice 09 by (-1): +4319:Sample Editor:Paketti: ∿ Nudge Slice 09 by (+32): +4320:Sample Editor:Paketti: ∿ Nudge Slice 09 by (+1): +4321:Sample Editor:Paketti: ∿ Nudge Slice 09 by (+16): +4322:Sample Editor:Paketti: ∿ Nudge Slice 09 by (-16): +4323:Sample Editor:Paketti: ∿ Nudge Slice 09 by (+10): +4324:Sample Editor:Paketti: ∿ Nudge Slice 10 by (-10): +4325:Sample Editor:Paketti: ∿ Nudge Slice 10 by (-32): +4326:Sample Editor:Paketti: ∿ Nudge Slice 10 by (-1): +4327:Sample Editor:Paketti: ∿ Nudge Slice 10 by (+32): +4328:Sample Editor:Paketti: ∿ Nudge Slice 10 by (+1): +4329:Sample Editor:Paketti: ∿ Nudge Slice 10 by (+16): +4330:Sample Editor:Paketti: ∿ Nudge Slice 10 by (-16): +4331:Sample Editor:Paketti: ∿ Nudge Slice 10 by (+10): +4332:Sample Editor:Paketti: ∿ Nudge Slice 11 by (-10): +4333:Sample Editor:Paketti: ∿ Nudge Slice 11 by (-32): +4334:Sample Editor:Paketti: ∿ Nudge Slice 11 by (-1): +4335:Sample Editor:Paketti: ∿ Nudge Slice 11 by (+32): +4336:Sample Editor:Paketti: ∿ Nudge Slice 11 by (+1): +4337:Sample Editor:Paketti: ∿ Nudge Slice 11 by (+16): +4338:Sample Editor:Paketti: ∿ Nudge Slice 11 by (-16): +4339:Sample Editor:Paketti: ∿ Nudge Slice 11 by (+10): +4340:Sample Editor:Paketti: ∿ Nudge Slice 12 by (-10): +4341:Sample Editor:Paketti: ∿ Nudge Slice 12 by (-32): +4342:Sample Editor:Paketti: ∿ Nudge Slice 12 by (-1): +4343:Sample Editor:Paketti: ∿ Nudge Slice 12 by (+32): +4344:Sample Editor:Paketti: ∿ Nudge Slice 12 by (+1): +4345:Sample Editor:Paketti: ∿ Nudge Slice 12 by (+16): +4346:Sample Editor:Paketti: ∿ Nudge Slice 12 by (-16): +4347:Sample Editor:Paketti: ∿ Nudge Slice 12 by (+10): +4348:Sample Editor:Paketti: ∿ Nudge Slice 13 by (-10): +4349:Sample Editor:Paketti: ∿ Nudge Slice 13 by (-32): +4350:Sample Editor:Paketti: ∿ Nudge Slice 13 by (-1): +4351:Sample Editor:Paketti: ∿ Nudge Slice 13 by (+32): +4352:Sample Editor:Paketti: ∿ Nudge Slice 13 by (+1): +4353:Sample Editor:Paketti: ∿ Nudge Slice 13 by (+16): +4354:Sample Editor:Paketti: ∿ Nudge Slice 13 by (-16): +4355:Sample Editor:Paketti: ∿ Nudge Slice 13 by (+10): +4356:Sample Editor:Paketti: ∿ Nudge Slice 14 by (-10): +4357:Sample Editor:Paketti: ∿ Nudge Slice 14 by (-32): +4358:Sample Editor:Paketti: ∿ Nudge Slice 14 by (-1): +4359:Sample Editor:Paketti: ∿ Nudge Slice 14 by (+32): +4360:Sample Editor:Paketti: ∿ Nudge Slice 14 by (+1): +4361:Sample Editor:Paketti: ∿ Nudge Slice 14 by (+16): +4362:Sample Editor:Paketti: ∿ Nudge Slice 14 by (-16): +4363:Sample Editor:Paketti: ∿ Nudge Slice 14 by (+10): +4364:Sample Editor:Paketti: ∿ Nudge Slice 15 by (-10): +4365:Sample Editor:Paketti: ∿ Nudge Slice 15 by (-32): +4366:Sample Editor:Paketti: ∿ Nudge Slice 15 by (-1): +4367:Sample Editor:Paketti: ∿ Nudge Slice 15 by (+32): +4368:Sample Editor:Paketti: ∿ Nudge Slice 15 by (+1): +4369:Sample Editor:Paketti: ∿ Nudge Slice 15 by (+16): +4370:Sample Editor:Paketti: ∿ Nudge Slice 15 by (-16): +4371:Sample Editor:Paketti: ∿ Nudge Slice 15 by (+10): +4372:Sample Editor:Paketti: ∿ Nudge Slice 16 by (-10): +4373:Sample Editor:Paketti: ∿ Nudge Slice 16 by (-32): +4374:Sample Editor:Paketti: ∿ Nudge Slice 16 by (-1): +4375:Sample Editor:Paketti: ∿ Nudge Slice 16 by (+32): +4376:Sample Editor:Paketti: ∿ Nudge Slice 16 by (+1): +4377:Sample Editor:Paketti: ∿ Nudge Slice 16 by (+16): +4378:Sample Editor:Paketti: ∿ Nudge Slice 16 by (-16): +4379:Sample Editor:Paketti: ∿ Nudge Slice 16 by (+10): +4380:Sample Editor:Paketti: ∿ Nudge Slice 17 by (-10): +4381:Sample Editor:Paketti: ∿ Nudge Slice 17 by (-32): +4382:Sample Editor:Paketti: ∿ Nudge Slice 17 by (-1): +4383:Sample Editor:Paketti: ∿ Nudge Slice 17 by (+32): +4384:Sample Editor:Paketti: ∿ Nudge Slice 17 by (+1): +4385:Sample Editor:Paketti: ∿ Nudge Slice 17 by (+16): +4386:Sample Editor:Paketti: ∿ Nudge Slice 17 by (-16): +4387:Sample Editor:Paketti: ∿ Nudge Slice 17 by (+10): +4388:Sample Editor:Paketti: ∿ Nudge Slice 18 by (-10): +4389:Sample Editor:Paketti: ∿ Nudge Slice 18 by (-32): +4390:Sample Editor:Paketti: ∿ Nudge Slice 18 by (-1): +4391:Sample Editor:Paketti: ∿ Nudge Slice 18 by (+32): +4392:Sample Editor:Paketti: ∿ Nudge Slice 18 by (+1): +4393:Sample Editor:Paketti: ∿ Nudge Slice 18 by (+16): +4394:Sample Editor:Paketti: ∿ Nudge Slice 18 by (-16): +4395:Sample Editor:Paketti: ∿ Nudge Slice 18 by (+10): +4396:Sample Editor:Paketti: ∿ Nudge Slice 19 by (-10): +4397:Sample Editor:Paketti: ∿ Nudge Slice 19 by (-32): +4398:Sample Editor:Paketti: ∿ Nudge Slice 19 by (-1): +4399:Sample Editor:Paketti: ∿ Nudge Slice 19 by (+32): +4400:Sample Editor:Paketti: ∿ Nudge Slice 19 by (+1): +4401:Sample Editor:Paketti: ∿ Nudge Slice 19 by (+16): +4402:Sample Editor:Paketti: ∿ Nudge Slice 19 by (-16): +4403:Sample Editor:Paketti: ∿ Nudge Slice 19 by (+10): +4404:Sample Editor:Paketti: ∿ Nudge Slice 20 by (-10): +4405:Sample Editor:Paketti: ∿ Nudge Slice 20 by (-32): +4406:Sample Editor:Paketti: ∿ Nudge Slice 20 by (-1): +4407:Sample Editor:Paketti: ∿ Nudge Slice 20 by (+32): +4408:Sample Editor:Paketti: ∿ Nudge Slice 20 by (+1): +4409:Sample Editor:Paketti: ∿ Nudge Slice 20 by (+16): +4410:Sample Editor:Paketti: ∿ Nudge Slice 20 by (-16): +4411:Sample Editor:Paketti: ∿ Nudge Slice 20 by (+10): +4412:Sample Editor:Paketti: ∿ Nudge Slice 21 by (-10): +4413:Sample Editor:Paketti: ∿ Nudge Slice 21 by (-32): +4414:Sample Editor:Paketti: ∿ Nudge Slice 21 by (-1): +4415:Sample Editor:Paketti: ∿ Nudge Slice 21 by (+32): +4416:Sample Editor:Paketti: ∿ Nudge Slice 21 by (+1): +4417:Sample Editor:Paketti: ∿ Nudge Slice 21 by (+16): +4418:Sample Editor:Paketti: ∿ Nudge Slice 21 by (-16): +4419:Sample Editor:Paketti: ∿ Nudge Slice 21 by (+10): +4420:Sample Editor:Paketti: ∿ Nudge Slice 22 by (-10): +4421:Sample Editor:Paketti: ∿ Nudge Slice 22 by (-32): +4422:Sample Editor:Paketti: ∿ Nudge Slice 22 by (-1): +4423:Sample Editor:Paketti: ∿ Nudge Slice 22 by (+32): +4424:Sample Editor:Paketti: ∿ Nudge Slice 22 by (+1): +4425:Sample Editor:Paketti: ∿ Nudge Slice 22 by (+16): +4426:Sample Editor:Paketti: ∿ Nudge Slice 22 by (-16): +4427:Sample Editor:Paketti: ∿ Nudge Slice 22 by (+10): +4428:Sample Editor:Paketti: ∿ Nudge Slice 23 by (-10): +4429:Sample Editor:Paketti: ∿ Nudge Slice 23 by (-32): +4430:Sample Editor:Paketti: ∿ Nudge Slice 23 by (-1): +4431:Sample Editor:Paketti: ∿ Nudge Slice 23 by (+32): +4432:Sample Editor:Paketti: ∿ Nudge Slice 23 by (+1): +4433:Sample Editor:Paketti: ∿ Nudge Slice 23 by (+16): +4434:Sample Editor:Paketti: ∿ Nudge Slice 23 by (-16): +4435:Sample Editor:Paketti: ∿ Nudge Slice 23 by (+10): +4436:Sample Editor:Paketti: ∿ Nudge Slice 24 by (-10): +4437:Sample Editor:Paketti: ∿ Nudge Slice 24 by (-32): +4438:Sample Editor:Paketti: ∿ Nudge Slice 24 by (-1): +4439:Sample Editor:Paketti: ∿ Nudge Slice 24 by (+32): +4440:Sample Editor:Paketti: ∿ Nudge Slice 24 by (+1): +4441:Sample Editor:Paketti: ∿ Nudge Slice 24 by (+16): +4442:Sample Editor:Paketti: ∿ Nudge Slice 24 by (-16): +4443:Sample Editor:Paketti: ∿ Nudge Slice 24 by (+10): +4444:Sample Editor:Paketti: ∿ Nudge Slice 25 by (-10): +4445:Sample Editor:Paketti: ∿ Nudge Slice 25 by (-32): +4446:Sample Editor:Paketti: ∿ Nudge Slice 25 by (-1): +4447:Sample Editor:Paketti: ∿ Nudge Slice 25 by (+32): +4448:Sample Editor:Paketti: ∿ Nudge Slice 25 by (+1): +4449:Sample Editor:Paketti: ∿ Nudge Slice 25 by (+16): +4450:Sample Editor:Paketti: ∿ Nudge Slice 25 by (-16): +4451:Sample Editor:Paketti: ∿ Nudge Slice 25 by (+10): +4452:Sample Editor:Paketti: ∿ Nudge Slice 26 by (-10): +4453:Sample Editor:Paketti: ∿ Nudge Slice 26 by (-32): +4454:Sample Editor:Paketti: ∿ Nudge Slice 26 by (-1): +4455:Sample Editor:Paketti: ∿ Nudge Slice 26 by (+32): +4456:Sample Editor:Paketti: ∿ Nudge Slice 26 by (+1): +4457:Sample Editor:Paketti: ∿ Nudge Slice 26 by (+16): +4458:Sample Editor:Paketti: ∿ Nudge Slice 26 by (-16): +4459:Sample Editor:Paketti: ∿ Nudge Slice 26 by (+10): +4460:Sample Editor:Paketti: ∿ Nudge Slice 27 by (-10): +4461:Sample Editor:Paketti: ∿ Nudge Slice 27 by (-32): +4462:Sample Editor:Paketti: ∿ Nudge Slice 27 by (-1): +4463:Sample Editor:Paketti: ∿ Nudge Slice 27 by (+32): +4464:Sample Editor:Paketti: ∿ Nudge Slice 27 by (+1): +4465:Sample Editor:Paketti: ∿ Nudge Slice 27 by (+16): +4466:Sample Editor:Paketti: ∿ Nudge Slice 27 by (-16): +4467:Sample Editor:Paketti: ∿ Nudge Slice 27 by (+10): +4468:Sample Editor:Paketti: ∿ Nudge Slice 28 by (-10): +4469:Sample Editor:Paketti: ∿ Nudge Slice 28 by (-32): +4470:Sample Editor:Paketti: ∿ Nudge Slice 28 by (-1): +4471:Sample Editor:Paketti: ∿ Nudge Slice 28 by (+32): +4472:Sample Editor:Paketti: ∿ Nudge Slice 28 by (+1): +4473:Sample Editor:Paketti: ∿ Nudge Slice 28 by (+16): +4474:Sample Editor:Paketti: ∿ Nudge Slice 28 by (-16): +4475:Sample Editor:Paketti: ∿ Nudge Slice 28 by (+10): +4476:Sample Editor:Paketti: ∿ Nudge Slice 29 by (-10): +4477:Sample Editor:Paketti: ∿ Nudge Slice 29 by (-32): +4478:Sample Editor:Paketti: ∿ Nudge Slice 29 by (-1): +4479:Sample Editor:Paketti: ∿ Nudge Slice 29 by (+32): +4480:Sample Editor:Paketti: ∿ Nudge Slice 29 by (+1): +4481:Sample Editor:Paketti: ∿ Nudge Slice 29 by (+16): +4482:Sample Editor:Paketti: ∿ Nudge Slice 29 by (-16): +4483:Sample Editor:Paketti: ∿ Nudge Slice 29 by (+10): +4484:Sample Editor:Paketti: ∿ Nudge Slice 30 by (-10): +4485:Sample Editor:Paketti: ∿ Nudge Slice 30 by (-32): +4486:Sample Editor:Paketti: ∿ Nudge Slice 30 by (-1): +4487:Sample Editor:Paketti: ∿ Nudge Slice 30 by (+32): +4488:Sample Editor:Paketti: ∿ Nudge Slice 30 by (+1): +4489:Sample Editor:Paketti: ∿ Nudge Slice 30 by (+16): +4490:Sample Editor:Paketti: ∿ Nudge Slice 30 by (-16): +4491:Sample Editor:Paketti: ∿ Nudge Slice 30 by (+10): +4492:Sample Editor:Paketti: ∿ Nudge Slice 31 by (-10): +4493:Sample Editor:Paketti: ∿ Nudge Slice 31 by (-32): +4494:Sample Editor:Paketti: ∿ Nudge Slice 31 by (-1): +4495:Sample Editor:Paketti: ∿ Nudge Slice 31 by (+32): +4496:Sample Editor:Paketti: ∿ Nudge Slice 31 by (+1): +4497:Sample Editor:Paketti: ∿ Nudge Slice 31 by (+16): +4498:Sample Editor:Paketti: ∿ Nudge Slice 31 by (-16): +4499:Sample Editor:Paketti: ∿ Nudge Slice 31 by (+10): +4500:Sample Editor:Paketti: ∿ Nudge Slice 32 by (-10): +4501:Sample Editor:Paketti: ∿ Nudge Slice 32 by (-32): +4502:Sample Editor:Paketti: ∿ Nudge Slice 32 by (-1): +4503:Sample Editor:Paketti: ∿ Nudge Slice 32 by (+32): +4504:Sample Editor:Paketti: ∿ Nudge Slice 32 by (+1): +4505:Sample Editor:Paketti: ∿ Nudge Slice 32 by (+16): +4506:Sample Editor:Paketti: ∿ Nudge Slice 32 by (-16): +4507:Sample Editor:Paketti: ∿ Nudge Slice 32 by (+10): +4508:Sample Editor:Paketti: ∿ Sample Buffer Selection Halve: +4509:Sample Editor:Paketti: ∿ Sample Buffer Selection Double: +4510:Sample Editor:Paketti: ∿ Convert Mono to Stereo: +4511:Sample Editor:Paketti: ∿ Mono to Left with Blank Right: +4512:Sample Editor:Paketti: ∿ Mono to Right with Blank Left: +4513:Sample Editor:Paketti: ∿ Move Slice Start Left by 10: Control + Left +4514:Sample Editor:Paketti: ∿ Move Slice Start Right by 10: Control + Right +4515:Sample Editor:Paketti: ∿ Move Slice End Left by 10: Command + Left +4516:Sample Editor:Paketti: ∿ Move Slice End Right by 10: Command + Right +4517:Sample Editor:Paketti: ∿ Move Slice Start Left by 100: Shift + Control + Left +4518:Sample Editor:Paketti: ∿ Move Slice Start Right by 100: Shift + Control + Right +4519:Sample Editor:Paketti: ∿ Move Slice End Left by 100: +4520:Sample Editor:Paketti: ∿ Move Slice End Right by 100: +4521:Sample Editor:Paketti: ∿ Move Slice Start Left by 300: +4522:Sample Editor:Paketti: ∿ Move Slice Start Right by 300: +4523:Sample Editor:Paketti: ∿ Move Slice End Left by 300: +4524:Sample Editor:Paketti: ∿ Move Slice End Right by 300: +4525:Sample Editor:Paketti: ∿ Move Slice Start Left by 500: +4526:Sample Editor:Paketti: ∿ Move Slice Start Right by 500: +4527:Sample Editor:Paketti: ∿ Move Slice End Left by 500: +4528:Sample Editor:Paketti: ∿ Move Slice End Right by 500: +4529:Sample Editor:Paketti: ∿ Duplicate Sample Range, Mute Original: +4530:Sample Editor:Paketti: ∿ Duplicate, Maximize, 16bit, and Save as WAV: +4531:Sample Editor:Paketti: ∿ Duplicate, Maximize, 16bit, and Save as FLAC: +4532:Sample Editor:Paketti: ∿ Offset Sample Buffer by -0.5: Shift + Command + E +4533:Sample Editor:Paketti: ∿ Multiply Sample Buffer by 0.5: Command + P +4534:Mixer:Navigation: Move Left: Left +4535:Mixer:Navigation: Move Right: Right +4536:Mixer:Navigation: Move Up: Up +4537:Mixer:Navigation: Move Down: Down +4538:Mixer:Navigation: Move One Page Up: Prior +4539:Mixer:Navigation: Move One Page Down: Next +4540:Mixer:Navigation: Jump to First Device: Home +4541:Mixer:Navigation: Jump to Last Device: End +4542:Mixer:Navigation: Jump to First Track: Shift + Command + Home +4543:Mixer:Navigation: Jump to Master Track: Shift + Command + End +4544:Mixer:Navigation: Jump to Sends: +4545:Mixer:Navigation: Select Next Track: Tab +4546:Mixer:Navigation: Select Previous Track: Shift + Tab +4547:Mixer:Edit: Delete Device: Back +4548:Mixer:Edit: Delete Device (2nd): Delete +4549:Mixer:Edit: Cut Device: Command + X +4550:Mixer:Edit: Copy Device: Command + C +4551:Mixer:Edit: Insert Device: Command + V +4552:Mixer:Edit: Rename Device: +4553:Mixer:Edit: Move Device Up: +4554:Mixer:Edit: Move Device Down: Option + Command + Down +4555:Mixer:Edit: Copy Device Settings: +4556:Mixer:Edit: Paste Device Settings: +4557:Mixer:Edit: Init Device Settings: Shift + Command + Delete +4558:Mixer:Edit: Init Device Settings (2nd): +4559:Mixer:Edit: Delete All Devices: +4560:Mixer:Edit: Cut All Devices: +4561:Mixer:Edit: Copy All Devices: +4562:Mixer:Edit: Paste All Devices: +4563:Mixer:Edit: Load DSP Chain...: +4564:Mixer:Edit: Save DSP Chain As...: +4565:Mixer:Edit: Bypass/Activate Device: +4566:Mixer:Edit: Open Editor: +4567:Mixer:Edit: Show Track Colors: +4568:Mixer:Track Control: Insert Track: Command + T +4569:Mixer:Track Control: Insert Group: Command + G +4570:Mixer:Track Control: Extend Group to Here: +4571:Mixer:Track Control: Delete Track: Shift + Command + T +4572:Mixer:Track Control: Delete Group: +4573:Mixer:Track Control: Duplicate Track: Command + D +4574:Mixer:Track Control: Duplicate Track (incl. Patterns): Option + Command + D +4575:Mixer:Track Control: Rename Track: +4576:Mixer:Track Control: Move Track Left: Option + Command + Left +4577:Mixer:Track Control: Move Track Right: +4578:Mixer:Track Control: Increase Volume: +4579:Mixer:Track Control: Decrease Volume: +4580:Mixer:Track Control: Increase Panning: +4581:Mixer:Track Control: Decrease Panning: +4582:Mixer:Track Control: Collapse/Expand Track: +4583:Mixer:Track Control: Collapse/Expand Group: Shift + Command + J +4584:Mixer:Track Control: Collapse All Tracks: Control + 0 +4585:Mixer:Track Control: Expand All Tracks: +4586:Mixer:Track Control: Collapse All Tracks in Group: +4587:Mixer:Track Control: Expand All Tracks in Group: +4588:Mixer:Pattern Sequence: Increase Pattern Number: +4589:Mixer:Pattern Sequence: Decrease Pattern Number: +4590:Mixer:Pattern Sequence: Go Up in Sequencer: +4591:Mixer:Pattern Sequence: Go Down in Sequencer: +4592:Mixer:Pattern Sequence: Go to Prev Section in Sequencer: +4593:Mixer:Pattern Sequence: Go to Next Section in Sequencer: +4594:Mixer:Pattern Sequence: Go to Sequence Start: Command + Home +4595:Mixer:Pattern Sequence: Go to Sequence End: Command + End +4596:Mixer:Pattern Sequence: Jump One Page Up: Command + Prior +4597:Mixer:Pattern Sequence: Jump One Page Down: Command + Next +4598:Mixer:Pattern Sequence: Insert Pattern: Command + HelpKey(Insert) +4599:Mixer:Pattern Sequence: Insert Pattern (2nd): Shift + Command + Back +4600:Mixer:Pattern Sequence: Insert Repeated Pattern: Option + Command + HelpKey(Insert) +4601:Mixer:Pattern Sequence: Insert Repeated Pattern (2nd): Shift + Option + Command + Back +4602:Mixer:Pattern Sequence: Delete Pattern: Command + Delete +4603:Mixer:Pattern Sequence: Delete Pattern (2nd): Command + Back +4604:Mixer:Paketti: ∿ Clean Render Selected Track/Group: Command + R +4605:Mixer:Paketti: ∿ Capture Nearest Instrument and Octave (nojump): +4606:Mixer:Paketti: ∿ Capture Nearest Instrument and Octave (jump): +4607:Mixer:Paketti: ∿ To Pattern Editor: +4608:Mixer:Paketti: ∿ Impulse Tracker Home *2 behaviour: Option + Up +4609:Mixer:Paketti: ∿ Impulse Tracker End *2 behaviour: Option + Down +4610:Mixer:Paketti: ∿ Impulse Tracker Alt-Right Move Forwards One Channel (Wrap): Option + Right +4611:Mixer:Paketti: ∿ Impulse Tracker Alt-Left Move Backwards One Channel (Wrap): Option + Left +4612:Mixer:Paketti: ∿ Impulse Tracker Alt-Right Move Forwards One Channel: +4613:Mixer:Paketti: ∿ Impulse Tracker Alt-Left Move Backwards One Channel: +4614:Mixer:Paketti: ∿ Switch to Automation: +4615:Mixer:Paketti: ∿ Show Automation: +4616:Mixer:Paketti: ∿ Clean Render Selected Track/Group LPB*2: +4617:Mixer:Paketti: ∿ Clean Render Seamless Selected Track/Group: +4618:Mixer:Paketti: ∿ Paketti Pattern Doubler: Command + Grave +4619:Mixer:Paketti: ∿ Paketti Pattern Halver: Shift + Option + Grave +4620:Mixer:Paketti: ∿ Paketti Track Renamer Dialog...: +4621:Mixer:Paketti: ∿ Jump to First Track In Next Group: +4622:Mixer:Paketti: ∿ Jump to First Track In Previous Group: +4623:Pattern Sequencer:Transport: Schedule Edited Sequence for Playback: +4624:Pattern Sequencer:Transport: Play from Edited Sequence: Shift + Return +4625:Pattern Sequencer:Navigation: Increase Pattern Number: Right +4626:Pattern Sequencer:Navigation: Decrease Pattern Number: Left +4627:Pattern Sequencer:Navigation: Jump to Previous Pos: Up +4628:Pattern Sequencer:Navigation: Jump to Next Pos: Down +4629:Pattern Sequencer:Navigation: Jump to Previous Section: +4630:Pattern Sequencer:Navigation: Jump to Next Section: Option + Command + Down +4631:Pattern Sequencer:Navigation: Jump to Start: Home +4632:Pattern Sequencer:Navigation: Jump to End: End +4633:Pattern Sequencer:Navigation: Jump One Page Up: Prior +4634:Pattern Sequencer:Navigation: Jump One Page Down: Next +4635:Pattern Sequencer:Selection: Begin Selection: Command + B +4636:Pattern Sequencer:Selection: End Selection: Command + E +4637:Pattern Sequencer:Selection: Unset Selection: +4638:Pattern Sequencer:Selection: Select All: +4639:Pattern Sequencer:Sections: Create Section From Selection: +4640:Pattern Sequencer:Sections: Remove Sections in Selection: +4641:Pattern Sequencer:Sections: Remove All Selections: +4642:Pattern Sequencer:Sections: Create/Remove Section at Current Pos: +4643:Pattern Sequencer:Sections: Remove Section at Current Pos: +4644:Pattern Sequencer:Sections: Rename Section at Current Pos: +4645:Pattern Sequencer:Edit: Insert Pattern: HelpKey(Insert) +4646:Pattern Sequencer:Edit: Insert Pattern (2nd): Command + Back +4647:Pattern Sequencer:Edit: Insert Pattern at Selection: +4648:Pattern Sequencer:Edit: Insert Repeated Pattern: Option + HelpKey(Insert) +4649:Pattern Sequencer:Edit: Insert Repeated Pattern (2nd): Option + Command + Back +4650:Pattern Sequencer:Edit: Insert Repeated Selection: +4651:Pattern Sequencer:Edit: Delete Pattern: +4652:Pattern Sequencer:Edit: Delete Pattern (2nd): Delete +4653:Pattern Sequencer:Edit: Delete Selection: +4654:Pattern Sequencer:Edit: Duplicate Current Pattern: +4655:Pattern Sequencer:Edit: Set Pattern: +4656:Pattern Sequencer:Edit: Rename Pattern: +4657:Pattern Sequencer:Edit: Clear Muted Tracks in Selection: +4658:Pattern Sequencer:Edit: Cut Selection: Command + X +4659:Pattern Sequencer:Edit: Copy Selection: Command + C +4660:Pattern Sequencer:Edit: Paste Selection: Command + V +4661:Pattern Sequencer:Edit: Insert Selection: +4662:Pattern Sequencer:Edit: Join Selection: +4663:Pattern Sequencer:Edit: Duplicate Selection: Command + D +4664:Pattern Sequencer:Edit: Make Selection Unique: +4665:Pattern Sequencer:Edit: Loop Selection: Command + L +4666:Pattern Sequencer:Edit: Sort Sequence: +4667:Pattern Sequencer:Edit: Flatten & Sort Sequence: +4668:Pattern Sequencer:Cloning: Duplicate 1 Pattern Block: +4669:Pattern Sequencer:Cloning: Duplicate 2 Pattern Block: +4670:Pattern Sequencer:Cloning: Duplicate 3 Pattern Block: +4671:Pattern Sequencer:Cloning: Duplicate 4 Pattern Block: +4672:Pattern Sequencer:Cloning: Duplicate 5 Pattern Block: +4673:Pattern Sequencer:Cloning: Duplicate 6 Pattern Block: +4674:Pattern Sequencer:Cloning: Duplicate 7 Pattern Block: +4675:Pattern Sequencer:Cloning: Duplicate 8 Pattern Block: +4676:Pattern Sequencer:Cloning: Duplicate 9 Pattern Block: Command + 9 +4677:Pattern Sequencer:Cloning: Duplicate Whole Song: Command + 0 +4678:Pattern Sequencer:Paketti: ∿ Keep Sequence Sorted False: Shift + Command + Q +4679:Pattern Sequencer:Paketti: ∿ Keep Sequence Sorted True: Shift + Command + E +4680:Pattern Sequencer:Paketti: ∿ Keep Sequence Sorted Toggle: +4681:Pattern Matrix:Navigation: Focus Pattern Editor: +4682:Pattern Matrix:Navigation: Select Previous Track: Left +4683:Pattern Matrix:Navigation: Select Previous Track (2nd): Shift + Tab +4684:Pattern Matrix:Navigation: Select Next Track: Right +4685:Pattern Matrix:Navigation: Select Next Track (2nd): Tab +4686:Pattern Matrix:Navigation: Select First Track: Home +4687:Pattern Matrix:Navigation: Select Last Track: End +4688:Pattern Matrix:Navigation: Select Previous Sequence: Up +4689:Pattern Matrix:Navigation: Select Next Sequence: Down +4690:Pattern Matrix:Navigation: Select Previous Sequence Page: Prior +4691:Pattern Matrix:Navigation: Select Next Sequence Page: Next +4692:Pattern Matrix:Navigation: Select First Sequence: Command + Home +4693:Pattern Matrix:Navigation: Select Last Sequence: Command + End +4694:Pattern Matrix:Navigation: Toggle Mute Selection: +4695:Pattern Matrix:Navigation: Mute Selection: +4696:Pattern Matrix:Navigation: Unmute Selection: +4697:Pattern Matrix:Selection: Deselect: +4698:Pattern Matrix:Selection: Select All: +4699:Pattern Matrix:Selection: Select Whole Pattern: +4700:Pattern Matrix:Selection: Select Whole Track: +4701:Pattern Matrix:Selection: Select Whole Previous Pattern: +4702:Pattern Matrix:Selection: Select Whole Next Pattern: +4703:Pattern Matrix:Edit: Clear: +4704:Pattern Matrix:Edit: Clear (2nd): Delete +4705:Pattern Matrix:Edit: Cut: Command + X +4706:Pattern Matrix:Edit: Copy: Command + C +4707:Pattern Matrix:Edit: Paste: Command + V +4708:Pattern Matrix:Edit: Insert: +4709:Pattern Matrix:Edit: Duplicate Selection: +4710:Pattern Matrix:Edit: Create Alias: Command + P +4711:Pattern Matrix:Edit: Un-alias: +4712:Pattern Matrix:Edit: Set Slot Color: +4713:Pattern Matrix:Edit: Remove Slot Color: +4714:Pattern Matrix:Tracks: Cut Track: +4715:Pattern Matrix:Tracks: Copy Track: +4716:Pattern Matrix:Tracks: Paste Track: +4717:Pattern Matrix:Tracks: Insert Track: Command + T +4718:Pattern Matrix:Tracks: Delete Track: Shift + Command + T +4719:Pattern Matrix:Tracks: Duplicate Track: Command + D +4720:Pattern Matrix:Tracks: Duplicate Track (incl. Patterns): Option + Command + D +4721:Pattern Matrix:Tracks: Rename Track: +4722:Pattern Matrix:Tracks: Move Track Left: Option + Command + Left +4723:Pattern Matrix:Tracks: Move Track Right: +4724:Pattern Matrix:Tracks: Clear Muted Slots in Selected Track: +4725:Pattern Matrix:Tracks: Mute All Slots in Selected Track: +4726:Pattern Matrix:Tracks: Unmute All Slots in Selected Track: +4727:Pattern Matrix:Tracks: Collapse/Expand Track: +4728:Pattern Matrix:Tracks: Collapse/Expand Group: Shift + Command + J +4729:Pattern Matrix:Tracks: Collapse All Tracks: +4730:Pattern Matrix:Tracks: Expand All Tracks: +4731:Pattern Matrix:Tracks: Collapse All Tracks in Group: +4732:Pattern Matrix:Tracks: Expand All Tracks in Group: +4733:Pattern Matrix:Pattern Sequence: Cut Pattern: +4734:Pattern Matrix:Pattern Sequence: Copy Pattern: +4735:Pattern Matrix:Pattern Sequence: Paste Pattern: +4736:Pattern Matrix:Pattern Sequence: Increase Pattern Number: +4737:Pattern Matrix:Pattern Sequence: Decrease Pattern Number: +4738:Pattern Matrix:Pattern Sequence: Insert Pattern: Command + HelpKey(Insert) +4739:Pattern Matrix:Pattern Sequence: Insert Pattern (2nd): Shift + Command + Back +4740:Pattern Matrix:Pattern Sequence: Insert Repeated Pattern: Option + Command + HelpKey(Insert) +4741:Pattern Matrix:Pattern Sequence: Insert Repeated Pattern (2nd): Option + Command + Back +4742:Pattern Matrix:Pattern Sequence: Delete Pattern: Command + Back +4743:Pattern Matrix:Pattern Sequence: Delete Pattern (2nd): Command + Delete +4744:Pattern Matrix:Pattern Sequence: Duplicate Pattern: +4745:Pattern Matrix:Pattern Sequence: Sort Pattern Sequence: +4746:Pattern Matrix:Pattern Sequence: Flatten & Sort Pattern Sequence: +4747:Pattern Matrix:Pattern Sequence: Make Sequence Unique: +4748:Pattern Matrix:Pattern Sequence: Clear Muted Slots in Sequence Selection: +4749:Pattern Matrix:Pattern Sequence: Clear Muted Slots in Song: +4750:Pattern Matrix:Pattern Sequence: Clear Muted Slots in Selected Pattern: +4751:Pattern Matrix:Pattern Sequence: Loop Sequence: Command + L +4752:Pattern Matrix:Pattern Sequence: Mute All Slots in Selected Pattern: +4753:Pattern Matrix:Pattern Sequence: Unmute All Slots in Selected Pattern: +4754:Pattern Matrix:Pattern Sequence: Rename Pattern: +4755:Pattern Matrix:Pattern Sequence: Rename Section: +4756:Pattern Matrix:Options: Decrease Slot Height: +4757:Pattern Matrix:Options: Increase Slot Height: +4758:Pattern Matrix:Options: Decrease Slot Width: +4759:Pattern Matrix:Options: Increase Slot Width: +4760:Pattern Matrix:Options: Toggle Track Names: +4761:Pattern Matrix:Options: Toggle Track Meters: +4762:Pattern Matrix:Options: Toggle Show Track Colors: +4763:Pattern Matrix:Options: Toggle Show Content Repeats: +4764:Pattern Matrix:Paketti: ∿ Switch to Automation: +4765:Pattern Matrix:Paketti: ∿ Paketti Track Renamer Dialog...: +4766:Pattern Matrix:Paketti: ∿ Selection in Pattern Matrix to Group: +4767:Pattern Matrix:Paketti: ∿ Jump to First Track In Next Group: +4768:Pattern Matrix:Paketti: ∿ Jump to First Track In Previous Group: +4769:Pattern Matrix:Paketti..: ∿ Pattern Matrix Selection Expand: +4770:Pattern Matrix:Paketti..: ∿ Pattern Matrix Selection Shrink: +4771:Phrase Editor:Navigation: Move to Previous Column: Left +4772:Phrase Editor:Navigation: Move to Next Column: Right +4773:Phrase Editor:Navigation: Move to Previous Row: Up +4774:Phrase Editor:Navigation: Move to Next Row: Down +4775:Phrase Editor:Navigation: Move to Previous Row with EditStep: +4776:Phrase Editor:Navigation: Move to Next Row with EditStep: +4777:Phrase Editor:Navigation: Move to Previous Row with Note: Shift + Command + Prior +4778:Phrase Editor:Navigation: Move to Next Row with Note: Shift + Command + Next +4779:Phrase Editor:Navigation: Jump 16 Rows Up: Prior +4780:Phrase Editor:Navigation: Jump 16 Rows Down: Next +4781:Phrase Editor:Navigation: Jump to First Row: Home +4782:Phrase Editor:Navigation: Jump to Last Row: End +4783:Phrase Editor:Navigation: Jump to Row 0: F9 +4784:Phrase Editor:Navigation: Jump to Row 16: F10 +4785:Phrase Editor:Navigation: Jump to Row 32: +4786:Phrase Editor:Navigation: Jump to Row 48: +4787:Phrase Editor:Navigation: Jump to Previous Column: Shift + Tab +4788:Phrase Editor:Navigation: Jump to Next Column: Tab +4789:Phrase Editor:Insert/Delete: Clear Current Note or Effect: +4790:Phrase Editor:Insert/Delete: Clear Current Note or Effect (2nd): +4791:Phrase Editor:Insert/Delete: Clear Whole Note or Effect: +4792:Phrase Editor:Insert/Delete: Clear Whole Row: +4793:Phrase Editor:Insert/Delete: Insert New Row: +4794:Phrase Editor:Insert/Delete: Insert New Row (2nd): +4795:Phrase Editor:Insert/Delete: Delete Current Row: Shift + Back +4796:Phrase Editor:Insert/Delete: Delete Previous Row: +4797:Phrase Editor:Insert/Delete: Insert New Row in Column: Grave +4798:Phrase Editor:Insert/Delete: Delete Current Row in Column: Back +4799:Phrase Editor:Insert/Delete: Delete Previous Row in Column: +4800:Phrase Editor:Insert/Delete: Increase Phrase Length: +4801:Phrase Editor:Insert/Delete: Decrease Phrase Length: +4802:Phrase Editor:Playback: Play/Stop Phrase: +4803:Phrase Editor:Playback: Play/Stop Phrase from Cursor: Shift + Return +4804:Phrase Editor:Playback: Stop Phrase: +4805:Phrase Editor:Edit Step: Increase EditStep: Command + Equals +4806:Phrase Editor:Edit Step: Decrease EditStep: +4807:Phrase Editor:Edit Step: Double EditStep: Option + Equals +4808:Phrase Editor:Edit Step: Halve EditStep: Option + Minus +4809:Phrase Editor:Edit Step: Set EditStep To 0: Command + 0 +4810:Phrase Editor:Edit Step: Set EditStep To 1: Command + 1 +4811:Phrase Editor:Edit Step: Set EditStep To 2: Command + 2 +4812:Phrase Editor:Edit Step: Set EditStep To 3: Command + 3 +4813:Phrase Editor:Edit Step: Set EditStep To 4: Command + 4 +4814:Phrase Editor:Edit Step: Set EditStep To 5: Command + 5 +4815:Phrase Editor:Edit Step: Set EditStep To 6: Command + 6 +4816:Phrase Editor:Edit Step: Set EditStep To 7: Command + 7 +4817:Phrase Editor:Edit Step: Set EditStep To 8: Command + 8 +4818:Phrase Editor:Edit Step: Set EditStep To 9: Command + 9 +4819:Phrase Editor:Edit Step: Set EditStep To 12: +4820:Phrase Editor:Edit Step: Set EditStep To 16: +4821:Phrase Editor:Edit Step: Set EditStep To 18: +4822:Phrase Editor:Edit Step: Set EditStep To 24: +4823:Phrase Editor:Edit Step: Set EditStep To 32: +4824:Phrase Editor:Record: Toggle Edit Mode: +4825:Phrase Editor:Record: Increase Quantization: Shift + Command + Equals +4826:Phrase Editor:Record: Decrease Quantization: +4827:Phrase Editor:Record: Set Quantization To 1: +4828:Phrase Editor:Record: Set Quantization To 2: +4829:Phrase Editor:Record: Set Quantization To 3: Shift + Command + 3 +4830:Phrase Editor:Record: Set Quantization To 4: Shift + Command + 4 +4831:Phrase Editor:Record: Set Quantization To 5: Shift + Command + 5 +4832:Phrase Editor:Record: Set Quantization To 6: +4833:Phrase Editor:Record: Set Quantization To 7: +4834:Phrase Editor:Record: Set Quantization To 8: Shift + Command + 8 +4835:Phrase Editor:Record: Set Quantization To 9: Shift + Command + 9 +4836:Phrase Editor:Record: Set Quantization To 12: +4837:Phrase Editor:Record: Set Quantization To 16: +4838:Phrase Editor:Record: Set Quantization To 18: +4839:Phrase Editor:Record: Set Quantization To 24: +4840:Phrase Editor:Record: Set Quantization To 32: +4841:Phrase Editor:Columns: Decrease Number of Columns: +4842:Phrase Editor:Columns: Increase Number of Columns: +4843:Phrase Editor:Columns: View/Hide Volume Column: +4844:Phrase Editor:Columns: View/Hide Panning Column: +4845:Phrase Editor:Columns: View/Hide Delay Column: +4846:Phrase Editor:Selection: Begin Selection: Command + B +4847:Phrase Editor:Selection: End Selection: Command + E +4848:Phrase Editor:Selection: Mark Whole Column: +4849:Phrase Editor:Selection: Mark Column in Block Loop Range: +4850:Phrase Editor:Selection: Mark Column Above Current Line: +4851:Phrase Editor:Selection: Mark Column Below Current Line: +4852:Phrase Editor:Selection: Mark Whole Phrase: Command + L +4853:Phrase Editor:Selection: Mark Phrase in Block Loop Range: +4854:Phrase Editor:Selection: Mark Phrase Above Current Line: +4855:Phrase Editor:Selection: Mark Phrase Below Current Line: +4856:Phrase Editor:Block Operations: Transpose One Note Up: +4857:Phrase Editor:Block Operations: Transpose One Note Down: +4858:Phrase Editor:Block Operations: Transpose One Octave Up: Option + F12 +4859:Phrase Editor:Block Operations: Transpose One Octave Down: Option + F11 +4860:Phrase Editor:Block Operations: Clear: Shift + Delete +4861:Phrase Editor:Block Operations: Copy and Clear: +4862:Phrase Editor:Block Operations: Copy and Clear (2nd): Command + X +4863:Phrase Editor:Block Operations: Copy: Option + F4 +4864:Phrase Editor:Block Operations: Copy (2nd): Command + C +4865:Phrase Editor:Block Operations: Paste: Option + F5 +4866:Phrase Editor:Block Operations: Paste (2nd): Command + V +4867:Phrase Editor:Block Operations: Paste Continuously: Command + P +4868:Phrase Editor:Block Operations: Flip: Option + F6 +4869:Phrase Editor:Block Operations: Flip (2nd): +4870:Phrase Editor:Block Operations: Shrink: Option + F8 +4871:Phrase Editor:Block Operations: Shrink (2nd): +4872:Phrase Editor:Block Operations: Expand: Option + F9 +4873:Phrase Editor:Block Operations: Expand (2nd): +4874:Phrase Editor:Block Operations: Randomize: Option + F7 +4875:Phrase Editor:Block Operations: Randomize (2nd): +4876:Phrase Editor:Block Operations: Interpolate Linear: +4877:Phrase Editor:Block Operations: Interpolate Logarithmic: +4878:Phrase Editor:Block Operations: Interpolate Exponential: +4879:Phrase Editor:Block Operations: Humanize: +4880:Phrase Editor:Block Operations: Quantize Notes: +4881:Phrase Editor:Block Operations: Quantize Notes (Preserve Lengths): +4882:Phrase Editor:Column Operations: Transpose One Note Up: Shift + Command + F2 +4883:Phrase Editor:Column Operations: Transpose One Note Down: Shift + Command + F1 +4884:Phrase Editor:Column Operations: Transpose One Octave Up: Shift + Command + F12 +4885:Phrase Editor:Column Operations: Transpose One Octave Down: Shift + Command + F11 +4886:Phrase Editor:Column Operations: Clear and Copy: Shift + Command + F3 +4887:Phrase Editor:Column Operations: Copy: Shift + Command + F4 +4888:Phrase Editor:Column Operations: Paste: Shift + Command + F5 +4889:Phrase Editor:Column Operations: Flip: Shift + Command + F6 +4890:Phrase Editor:Column Operations: Shrink: Shift + Command + F8 +4891:Phrase Editor:Column Operations: Expand: Shift + Command + F9 +4892:Phrase Editor:Column Operations: Randomize: Shift + Command + F7 +4893:Phrase Editor:Column Operations: Interpolate Linear: +4894:Phrase Editor:Column Operations: Interpolate Logarithmic: Shift + Command + L +4895:Phrase Editor:Column Operations: Interpolate Exponential: +4896:Phrase Editor:Column Operations: Humanize: +4897:Phrase Editor:Column Operations: Quantize Notes: +4898:Phrase Editor:Column Operations: Quantize Notes (Preserve Lengths): +4899:Phrase Editor:Phrase Operations: Transpose One Note Up: Command + Q +4900:Phrase Editor:Phrase Operations: Transpose One Note Up (2nd): +4901:Phrase Editor:Phrase Operations: Transpose One Note Down: +4902:Phrase Editor:Phrase Operations: Transpose One Note Down (2nd): +4903:Phrase Editor:Phrase Operations: Transpose One Octave Up: Command + F12 +4904:Phrase Editor:Phrase Operations: Transpose One Octave Up (2nd): Shift + F12 +4905:Phrase Editor:Phrase Operations: Transpose One Octave Down: Shift + Command + A +4906:Phrase Editor:Phrase Operations: Transpose One Octave Down (2nd): Shift + F11 +4907:Phrase Editor:Phrase Operations: Clear and Copy: +4908:Phrase Editor:Phrase Operations: Clear and Copy (2nd): +4909:Phrase Editor:Phrase Operations: Copy: +4910:Phrase Editor:Phrase Operations: Copy (2nd): +4911:Phrase Editor:Phrase Operations: Paste: +4912:Phrase Editor:Phrase Operations: Paste (2nd): Shift + F5 +4913:Phrase Editor:Phrase Operations: Flip: +4914:Phrase Editor:Phrase Operations: Flip (2nd): Shift + F6 +4915:Phrase Editor:Phrase Operations: Shrink: +4916:Phrase Editor:Phrase Operations: Shrink (2nd): Shift + F8 +4917:Phrase Editor:Phrase Operations: Expand: +4918:Phrase Editor:Phrase Operations: Expand (2nd): Shift + F9 +4919:Phrase Editor:Phrase Operations: Randomize: +4920:Phrase Editor:Phrase Operations: Randomize (2nd): Shift + F7 +4921:Phrase Editor:Phrase Operations: Interpolate Linear: +4922:Phrase Editor:Phrase Operations: Interpolate Logarithmic: +4923:Phrase Editor:Phrase Operations: Interpolate Exponential: +4924:Phrase Editor:Phrase Operations: Humanize: +4925:Phrase Editor:Phrase Operations: Quantize Notes: Option + Q +4926:Phrase Editor:Phrase Operations: Quantize Notes (Preserve Lengths): +4927:Phrase Editor:Navigation: Select Previous Phrase: +4928:Phrase Editor:Navigation: Select Next Phrase: +4929:Phrase Editor:Navigation: Select First Phrase: +4930:Phrase Editor:Navigation: Select Last Phrase: +4931:Phrase Editor:Playback: Play Phrase: +4932:Phrase Editor:Columns: View/Hide Instrument Column: +4933:Phrase Editor:Columns: View/Hide Sample FX Column: +4934:Phrase Editor:Columns: Mute/Unmute Selected Column: Shift + Command + Backslash +4935:Phrase Editor:Columns: Solo/Unsolo Selected Column: +4936:Phrase Editor:Selection: Flexible Mark Whole Phrase: +4937:Phrase Editor:Selection: Flexible Mark in Block Loop Range: +4938:Phrase Editor:Selection: Flexible Mark Above Current Line: +4939:Phrase Editor:Selection: Flexible Mark Below Current Line: +4940:Phrase Editor:Phrase Operations: Rename Phrase: +4941:Phrase Editor:Paketti: ∿ Open Paketti Init Phrase Dialog...: +4942:Phrase Editor:Paketti: ∿ Record+Follow Off: +4943:Phrase Editor:Paketti: ∿ Phrase Editor Visible: +4944:Phrase Editor:Paketti: ∿ Init Phrase Settings: +4945:Phrase Editor:Paketti: ∿ Paketti Phrase Doubler: +4946:Phrase Editor:Paketti: ∿ Paketti Phrase Doubler (2nd): +4947:Phrase Editor:Paketti: ∿ Phrase Halver (Joule): +4948:Phrase Editor:Paketti: ∿ Phrase Halver (Joule) (2nd): +4949:Phrase Editor:Paketti: ∿ Impulse Tracker ALT-U Unmark Selection: +4950:Phrase Editor:Paketti: ∿ Impulse Tracker ALT-U Unmark Selection (2nd): +4951:Phrase Editor:Paketti: ∿ Set Phrase Length to 001 (001): +4952:Phrase Editor:Paketti: ∿ Set Phrase Length to 004 (004): Control + 1 +4953:Phrase Editor:Paketti: ∿ Set Phrase Length to 006 (006): +4954:Phrase Editor:Paketti: ∿ Set Phrase Length to 008 (008): Control + 2 +4955:Phrase Editor:Paketti: ∿ Set Phrase Length to 012 (00C): +4956:Phrase Editor:Paketti: ∿ Set Phrase Length to 016 (010): Control + 3 +4957:Phrase Editor:Paketti: ∿ Set Phrase Length to 024 (018): +4958:Phrase Editor:Paketti: ∿ Set Phrase Length to 032 (020): Control + 4 +4959:Phrase Editor:Paketti: ∿ Set Phrase Length to 048 (030): +4960:Phrase Editor:Paketti: ∿ Set Phrase Length to 064 (040): Control + 5 +4961:Phrase Editor:Paketti: ∿ Set Phrase Length to 096 (060): +4962:Phrase Editor:Paketti: ∿ Set Phrase Length to 128 (080): Control + 6 +4963:Phrase Editor:Paketti: ∿ Set Phrase Length to 192 (0C0): +4964:Phrase Editor:Paketti: ∿ Set Phrase Length to 256 (100): Control + 7 +4965:Phrase Editor:Paketti: ∿ Set Phrase Length to 384 (180): +4966:Phrase Editor:Paketti: ∿ Set Phrase Length to 512 (200): Control + 8 +4967:Phrase Editor:Paketti: ∿ Set Phrase LPB to 001: +4968:Phrase Editor:Paketti: ∿ Set Phrase LPB to 002: +4969:Phrase Editor:Paketti: ∿ Set Phrase LPB to 003: +4970:Phrase Editor:Paketti: ∿ Set Phrase LPB to 004: +4971:Phrase Editor:Paketti: ∿ Set Phrase LPB to 005: +4972:Phrase Editor:Paketti: ∿ Set Phrase LPB to 006: +4973:Phrase Editor:Paketti: ∿ Set Phrase LPB to 007: +4974:Phrase Editor:Paketti: ∿ Set Phrase LPB to 008: +4975:Phrase Editor:Paketti: ∿ Set Phrase LPB to 009: +4976:Phrase Editor:Paketti: ∿ Set Phrase LPB to 010: +4977:Phrase Editor:Paketti: ∿ Set Phrase LPB to 011: +4978:Phrase Editor:Paketti: ∿ Set Phrase LPB to 012: +4979:Phrase Editor:Paketti: ∿ Set Phrase LPB to 013: +4980:Phrase Editor:Paketti: ∿ Set Phrase LPB to 014: +4981:Phrase Editor:Paketti: ∿ Set Phrase LPB to 015: +4982:Phrase Editor:Paketti: ∿ Set Phrase LPB to 016: +4983:Phrase Editor:Paketti: ∿ Set Phrase LPB to 024: +4984:Phrase Editor:Paketti: ∿ Set Phrase LPB to 032: +4985:Phrase Editor:Paketti: ∿ Set Phrase LPB to 048: +4986:Phrase Editor:Paketti: ∿ Set Phrase LPB to 064: +4987:Phrase Editor:Paketti: ∿ Set Phrase LPB to 128: +4988:Phrase Editor:Paketti: ∿ Set Phrase LPB to 256: +4989:Phrase Map:Navigation: Move to Previous: +4990:Phrase Map:Navigation: Move to Next: +4991:Phrase Map:Navigation: Move to First: Command + Home +4992:Phrase Map:Navigation: Move to Last: Command + End +4993:Phrase Map:Selection: Move Selection to Previous: Left +4994:Phrase Map:Selection: Move Selection to Next: Right +4995:Phrase Map:Selection: Move Selection to First: Home +4996:Phrase Map:Selection: Move Selection to Last: End +4997:Phrase Map:Selection: Select All: +4998:Phrase Map:Edit: Insert: HelpKey(Insert) +4999:Phrase Map:Edit: Duplicate: Command + D +5000:Phrase Map:Edit: Delete: Delete +5001:Phrase Map:Playback: Play/Stop Phrase: +5002:Phrase Map:Playback: Stop Phrase: +5003:Instrument Box:Navigation: Select Previous Instrument: Up +5004:Instrument Box:Navigation: Select Next Instrument: Down +5005:Instrument Box:Navigation: Select Previous Instrument Page: Prior +5006:Instrument Box:Navigation: Select Next Instrument Page: Next +5007:Instrument Box:Navigation: Select First Instrument: Home +5008:Instrument Box:Navigation: Select Last Instrument: End +5009:Instrument Box:Edit: Insert New Instrument: HelpKey(Insert) +5010:Instrument Box:Edit: Insert New Instrument (2nd): Command + Back +5011:Instrument Box:Edit: Delete Instrument: Back +5012:Instrument Box:Edit: Delete Instrument (2nd): Delete +5013:Instrument Box:Edit: Move Instrument Up: +5014:Instrument Box:Edit: Move Instrument Down: Option + Command + Down +5015:Instrument Box:Edit: Duplicate Instrument: Command + D +5016:Instrument Box:Edit: Copy Instrument: Command + C +5017:Instrument Box:Edit: Paste Instrument: Command + V +5018:Instrument Box:Edit: Copy and Clear Instrument: Command + X +5019:Instrument Box:Edit: Clear Instrument: Shift + Delete +5020:Instrument Box:Edit: Clear Instrument (2nd): Shift + Back +5021:Instrument Box:Edit: Rename Instrument: +5022:Instrument Box:Edit: Render Plugin To Instrument: +5023:Instrument Box:Edit: Render Plugin To New Instrument: +5024:Instrument Box:Edit: Open Editor: +5025:Instrument Box:Paketti: ∿ Show Automation: +5026:Sample Keyzones:Navigation: Select Previous by Note: Left +5027:Sample Keyzones:Navigation: Select Next by Note: Right +5028:Sample Keyzones:Navigation: Select Previous by Velocity: Up +5029:Sample Keyzones:Navigation: Select Next by Velocity: Down +5030:Sample Keyzones:Edit: Select All: +5031:Sample Keyzones:Edit: Delete Selected: +5032:Sample Keyzones:Edit: Delete Selected (2nd): Delete +5033:Sample Keyzones:Generate: Drum Kit Map: Command + D +5034:Sample Keyzones:Generate: Distributed Range Map: Command + E +5035:Sample Keyzones:Generate: Layered Map: Command + L +5036:Sample Keyzones:Paketti: ∿ Convert Mono to Stereo: +5037:Sample Keyzones:Paketti: ∿ Mono to Left with Blank Right: +5038:Sample Keyzones:Paketti: ∿ Mono to Right with Blank Left: +5039:Sample FX Mixer:Navigation: Move Left: Left +5040:Sample FX Mixer:Navigation: Move Right: Right +5041:Sample FX Mixer:Navigation: Move Up: Up +5042:Sample FX Mixer:Navigation: Move Down: Down +5043:Sample FX Mixer:Navigation: Select First Device: Home +5044:Sample FX Mixer:Navigation: Select Last Device: End +5045:Sample FX Mixer:Navigation: Select Next Chain: Tab +5046:Sample FX Mixer:Navigation: Select Previous Chain: Shift + Tab +5047:Sample FX Mixer:Device: Delete Device: Back +5048:Sample FX Mixer:Device: Delete Device (2nd): Delete +5049:Sample FX Mixer:Device: Cut Device: Command + X +5050:Sample FX Mixer:Device: Copy Device: Command + C +5051:Sample FX Mixer:Device: Insert Device: Command + V +5052:Sample FX Mixer:Device: Rename Device: +5053:Sample FX Mixer:Device: Move Device Left: Option + Command + Left +5054:Sample FX Mixer:Device: Move Device Right: +5055:Sample FX Mixer:Device: Copy Device Settings: +5056:Sample FX Mixer:Device: Paste Device Settings: +5057:Sample FX Mixer:Device: Init Device Settings: Shift + Command + Delete +5058:Sample FX Mixer:Device: Init Device Settings (2nd): +5059:Sample FX Mixer:Device: Bypass/Activate Device: +5060:Sample FX Mixer:Device: Open Editor: +5061:Sample FX Mixer:Device Chain: Insert New Chain: Command + T +5062:Sample FX Mixer:Device Chain: Delete Chain: Shift + Command + T +5063:Sample FX Mixer:Device Chain: Rename Chain: +5064:Sample FX Mixer:Device Chain: Cut All Devices: +5065:Sample FX Mixer:Device Chain: Copy All Devices: +5066:Sample FX Mixer:Device Chain: Paste All Devices: +5067:Sample FX Mixer:Device Chain: Delete All Devices: +5068:Sample FX Mixer:Device Chain: Load DSP Chain...: +5069:Sample FX Mixer:Device Chain: Save DSP Chain As...: +5070:Sample FX Mixer:Device Chain: Duplicate Chain: Command + D +5071:Sample Modulation Matrix:Navigation: Move Left: Left +5072:Sample Modulation Matrix:Navigation: Move Right: Right +5073:Sample Modulation Matrix:Navigation: Move Up: Up +5074:Sample Modulation Matrix:Navigation: Move Down: Down +5075:Sample Modulation Matrix:Navigation: Select First Set: Home +5076:Sample Modulation Matrix:Navigation: Select Last Set: End +5077:Sample Modulation Matrix:Navigation: Select Next Set: Tab +5078:Sample Modulation Matrix:Navigation: Select Previous Set: Shift + Tab +5079:Sample Modulation Matrix:Sets: Insert New Set: Command + T +5080:Sample Modulation Matrix:Device Chain: Delete Set: Shift + Command + T +5081:Sample Modulation Matrix:Device Chain: Rename Set: +5082:Sample Modulation Matrix:Device Chain: Cut All Devices: Command + X +5083:Sample Modulation Matrix:Device Chain: Copy All Devices: Command + C +5084:Sample Modulation Matrix:Device Chain: Paste All Devices: Command + V +5085:Sample Modulation Matrix:Device Chain: Delete All Devices: +5086:Sample Modulation Matrix:Device Chain: Load Set...: +5087:Sample Modulation Matrix:Device Chain: Save Set As...: +5088:Sample Modulation Matrix:Device Chain: Duplicate Chain: Command + D +5089:Automation:Navigation: Move to Previous Line: Left +5090:Automation:Navigation: Move to Next Line: Right +5091:Automation:Navigation: Move to Start: +5092:Automation:Navigation: Move to End: +5093:Automation:Navigation: Move to Start and Select: +5094:Automation:Navigation: Move to End and Select: +5095:Automation:Modify Points: Create/Delete Point: +5096:Automation:Modify Points: Edit Point Time: Command + T +5097:Automation:Modify Points: Edit Point Value: Shift + Return +5098:Automation:Selection: Begin Selection: +5099:Automation:Selection: End Selection: Command + E +5100:Automation:Selection: Select Whole Envelope: +5101:Automation:Selection: Unselect Envelope: +5102:Automation:Tools: Draw Tool: Command + B +5103:Automation:Tools: Line Tool: +5104:Automation:Zoom: Lock Zoom: +5105:Automation:Zoom: Zoom Out Fully: +5106:Automation:Zoom: Zoom to Current: Shift + Option + Z +5107:Automation:Shift / Amplify: Shift Values Up: Up +5108:Automation:Shift / Amplify: Shift Values Down: Down +5109:Automation:Shift / Amplify: Shift Values Left: Shift + Tab +5110:Automation:Shift / Amplify: Shift Values Right: Tab +5111:Automation:Shift / Amplify: Amplify Values Up: +5112:Automation:Shift / Amplify: Amplify Values Down: +5113:Automation:Process: Delete: Delete +5114:Automation:Process: Cut: Command + X +5115:Automation:Process: Cut Time: +5116:Automation:Process: Copy: Command + C +5117:Automation:Process: Paste: Command + P +5118:Automation:Process: Paste Continuously: Command + V +5119:Automation:Process: Insert: +5120:Automation:Process: Delete Envelope: +5121:Automation:Process: Flip: +5122:Automation:Process: Mirror: +5123:Automation:Process: Humanize: +5124:Automation:Generate: Create Linear Ramp: +5125:Automation:Generate: Create Exponential Ramp: +5126:Automation:Generate: Create Random Points: +5127:Automation:Generate: Create Sine Curve: +5128:Automation:Paketti: ∿ Impulse Tracker ALT-D Double Select W/ Automation: Command + D +5129:Automation:Paketti: ∿ Impulse Tracker ALT-U Unmark Selection: +5130:DSP Chain:Navigation: Set Focus to List: Tab +5131:DSP Chain:Navigation: Select Previous Device: Left +5132:DSP Chain:Navigation: Select Next Device: Right +5133:DSP Chain:Navigation: Select First Device: Home +5134:DSP Chain:Navigation: Select Last Device: End +5135:DSP Chain:Navigation: Maximize Device: Up +5136:DSP Chain:Navigation: Minimize Device: Down +5137:DSP Chain:Navigation: Maximize All: +5138:DSP Chain:Navigation: Minimize All: +5139:DSP Chain:Edit: Delete Device Chain: +5140:DSP Chain:Edit: Cut Device Chain: +5141:DSP Chain:Edit: Copy Device Chain: +5142:DSP Chain:Edit: Paste Device Chain: +5143:DSP Chain:Edit: Append Device Chain: +5144:DSP Chain:Edit: Combine Devices into Doofer: +5145:DSP Chain:Edit: Load DSP Chain: +5146:DSP Chain:Edit: Save DSP Chain: +5147:DSP Chain:Edit: Delete Device: +5148:DSP Chain:Edit: Delete Device (2nd): Delete +5149:DSP Chain:Edit: Cut Device: Command + X +5150:DSP Chain:Edit: Copy Device: Command + C +5151:DSP Chain:Edit: Paste Device: Command + V +5152:DSP Chain:Edit: Rename Device: +5153:DSP Chain:Edit: Move Device Left: Option + Command + Left +5154:DSP Chain:Edit: Move Device Right: +5155:DSP Chain:Edit: Init Device Settings: Shift + Command + Back +5156:DSP Chain:Edit: Init Device Settings (2nd): Shift + Command + Delete +5157:DSP Chain:Edit: Paste Device Settings: +5158:DSP Chain:Edit: Bypass/Activate Device: +5159:DSP Chain:Edit: Open Editor: diff --git a/Paketti0G01_Loader.lua b/Paketti0G01_Loader.lua index b537f2d..2f9fc10 100644 --- a/Paketti0G01_Loader.lua +++ b/Paketti0G01_Loader.lua @@ -791,8 +791,8 @@ function manage_sample_count_observer(attach) end function update_dynamic_menu_entries() - local enableMenuEntryName = "Main Menu:Tools:Paketti..:!Preferences..:0G01 Loader Enable" - local disableMenuEntryName = "Main Menu:Tools:Paketti..:!Preferences..:0G01 Loader Disable" + local enableMenuEntryName = "--Main Menu:Tools:Paketti..:!Preferences..:0G01 Loader Enable" + local disableMenuEntryName = "--Main Menu:Tools:Paketti..:!Preferences..:0G01 Loader Disable" if preferences._0G01_Loader.value then if renoise.tool():has_menu_entry(enableMenuEntryName) then diff --git a/PakettiAudioProcessing.lua b/PakettiAudioProcessing.lua index 20ce545..a0a8f94 100644 --- a/PakettiAudioProcessing.lua +++ b/PakettiAudioProcessing.lua @@ -1291,6 +1291,76 @@ function normalize_selected_sample() end renoise.tool():add_keybinding{name="Global:Paketti:Paketti Normalize Sample",invoke=function() normalize_selected_sample() 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 + + 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 + +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} --------- local function auto_correlate() local sample = renoise.song().selected_sample diff --git a/PakettiAutomation.lua b/PakettiAutomation.lua index 2128cb8..05868e8 100644 --- a/PakettiAutomation.lua +++ b/PakettiAutomation.lua @@ -694,6 +694,7 @@ local renoise = renoise local tool = renoise.tool() + function apply_selection_down_linear() local song = renoise.song() local automation_parameter = song.selected_automation_parameter @@ -1059,31 +1060,51 @@ local tool = renoise.tool() local menu_entries = { - {"--Track Automation:Paketti..:Selection Center->Up (Linear)", "center_up_linear"}, - {"Track Automation:Paketti..:Selection Center->Down (Linear)", "center_down_linear"}, - {"Track Automation:Paketti..:Selection Up->Center (Linear)", "up_center_linear"}, - {"Track Automation:Paketti..:Selection Down->Center (Linear)", "down_center_linear"} + {"--Track Automation:Paketti..:Automation Curves..:Selection Center->Up (Linear)", "center_up_linear"}, + {"Track Automation:Paketti..:Automation Curves..:Selection Center->Down (Linear)", "center_down_linear"}, + {"Track Automation:Paketti..:Automation Curves..:Selection Up->Center (Linear)", "up_center_linear"}, + {"Track Automation:Paketti..:Automation Curves..:Selection Down->Center (Linear)", "down_center_linear"} } -renoise.tool():add_menu_entry({name="Track Automation:Paketti..:Top to Top", +renoise.tool():add_menu_entry({name="Track Automation:Paketti..:Automation Curves..:Top to Top", +invoke=function() apply_constant_automation_top_to_top() end}) +renoise.tool():add_menu_entry({name="Track Automation:Paketti..:Automation Curves..:Bottom to Bottom", +invoke=function() apply_constant_automation_bottom_to_bottom() end}) +renoise.tool():add_menu_entry({name="--Track Automation:Paketti..:Automation Curves..:Selection Up (Exp)", +invoke=function() apply_exponential_automation_curveUP() end}) +renoise.tool():add_menu_entry({name="Track Automation:Paketti..:Automation Curves..:Selection Up (Linear)", +invoke = function() apply_selection_up_linear() end}) +renoise.tool():add_menu_entry({name="Track Automation:Paketti..:Automation Curves..:Selection Down (Exp)", +invoke=function() apply_exponential_automation_curveDOWN() end}) +renoise.tool():add_menu_entry({name="Track Automation:Paketti..:Automation Curves..:Selection Down (Linear)", +invoke = function() apply_selection_down_linear() end}) +renoise.tool():add_menu_entry({name="--Track Automation:Paketti..:Automation Curves..:Center to Top (Exp)", +invoke=function() apply_exponential_automation_curve_center_to_top() end}) +renoise.tool():add_menu_entry({name="Track Automation:Paketti..:Automation Curves..:Center to Bottom (Exp)", +invoke=function() apply_exponential_automation_curve_center_to_bottom() end}) +renoise.tool():add_menu_entry({name="Track Automation:Paketti..:Automation Curves..:Top to Center (Exp)", +invoke=function() apply_exponential_automation_curve_top_to_center() end}) +renoise.tool():add_menu_entry({name="Track Automation:Paketti..:Automation Curves..:Bottom to Center (Exp)", +invoke=function() apply_exponential_automation_curve_bottom_to_center() end}) +renoise.tool():add_menu_entry({name="Pattern Matrix:Paketti..:Automation Curves..:Top to Top", invoke=function() apply_constant_automation_top_to_top() end}) -renoise.tool():add_menu_entry({name="Track Automation:Paketti..:Bottom to Bottom", +renoise.tool():add_menu_entry({name="Pattern Matrix:Paketti..:Automation Curves..:Bottom to Bottom", invoke=function() apply_constant_automation_bottom_to_bottom() end}) -renoise.tool():add_menu_entry({name="--Track Automation:Paketti..:Selection Up (Exp)", +renoise.tool():add_menu_entry({name="Pattern Matrix:Paketti..:Automation Curves..:Selection Up (Exp)", invoke=function() apply_exponential_automation_curveUP() end}) -renoise.tool():add_menu_entry({name="Track Automation:Paketti..:Selection Up (Linear)", +renoise.tool():add_menu_entry({name="Pattern Matrix:Paketti..:Automation Curves..:Selection Up (Linear)", invoke = function() apply_selection_up_linear() end}) -renoise.tool():add_menu_entry({name="Track Automation:Paketti..:Selection Down (Exp)", +renoise.tool():add_menu_entry({name="Pattern Matrix:Paketti..:Automation Curves..:Selection Down (Exp)", invoke=function() apply_exponential_automation_curveDOWN() end}) -renoise.tool():add_menu_entry({name="Track Automation:Paketti..:Selection Down (Linear)", +renoise.tool():add_menu_entry({name="Pattern Matrix:Paketti..:Automation Curves..:Selection Down (Linear)", invoke = function() apply_selection_down_linear() end}) -renoise.tool():add_menu_entry({name="--Track Automation:Paketti..:Center to Top (Exp)", +renoise.tool():add_menu_entry({name="Pattern Matrix:Paketti..:Automation Curves..:Center to Top (Exp)", invoke=function() apply_exponential_automation_curve_center_to_top() end}) -renoise.tool():add_menu_entry({name="Track Automation:Paketti..:Center to Bottom (Exp)", +renoise.tool():add_menu_entry({name="Pattern Matrix:Paketti..:Automation Curves..:Center to Bottom (Exp)", invoke=function() apply_exponential_automation_curve_center_to_bottom() end}) -renoise.tool():add_menu_entry({name="Track Automation:Paketti..:Top to Center (Exp)", +renoise.tool():add_menu_entry({name="Pattern Matrix:Paketti..:Automation Curves..:Top to Center (Exp)", invoke=function() apply_exponential_automation_curve_top_to_center() end}) -renoise.tool():add_menu_entry({name="Track Automation:Paketti..:Bottom to Center (Exp)", +renoise.tool():add_menu_entry({name="Pattern Matrix:Paketti..:Automation Curves..:Bottom to Center (Exp)", invoke=function() apply_exponential_automation_curve_bottom_to_center() end}) @@ -1153,7 +1174,7 @@ end local renoise = renoise local tool = renoise.tool() -tool:add_menu_entry({name = "--Track Automation:Paketti..:Set to Center", +tool:add_menu_entry({name = "--Track Automation:Paketti..:Automation Curves..:Set to Center", invoke = function() set_to_center() end }) @@ -1215,7 +1236,7 @@ renoise.app():show_status("The selected automation device does not have an Exter end end -renoise.tool():add_menu_entry{name="--Track Automation List:Paketti..:Show/Hide External Editor for Device", invoke=function() AutomationDeviceShowUI() end} +renoise.tool():add_menu_entry{name="Track Automation List:Paketti..:Show/Hide External Editor for Device", invoke=function() AutomationDeviceShowUI() end} renoise.tool():add_menu_entry{name="Track Automation List:Paketti..:Show/Hide External Editor for Plugin",invoke=function() openExternalInstrumentEditor() end} renoise.tool():add_menu_entry{name="--Track Automation:Paketti..:Show/Hide External Editor for Device", invoke=function() AutomationDeviceShowUI() end} renoise.tool():add_menu_entry{name="Track Automation:Paketti..:Show/Hide External Editor for Plugin",invoke=function() openExternalInstrumentEditor() end} @@ -1507,10 +1528,10 @@ local function automation_ramp_down_lin() end -- Optimized `menu_entry` and `key_binding` definitions for compactness -renoise.tool():add_menu_entry { name = "Pattern Matrix:Paketti..:Automation Ramp Up (Exp) for Selection", invoke = automation_ramp_up_exp } -renoise.tool():add_menu_entry { name = "Pattern Matrix:Paketti..:Automation Ramp Down (Exp) for Selection", invoke = automation_ramp_down_exp } -renoise.tool():add_menu_entry { name = "Pattern Matrix:Paketti..:Automation Ramp Up (Lin) for Selection", invoke = automation_ramp_up_lin } -renoise.tool():add_menu_entry { name = "Pattern Matrix:Paketti..:Automation Ramp Down (Lin) for Selection", invoke = automation_ramp_down_lin } +renoise.tool():add_menu_entry { name = "--Pattern Matrix:Paketti..:Automation Ramp Up (Exp) for Pattern Matrix Selection", invoke = automation_ramp_up_exp } +renoise.tool():add_menu_entry { name = "Pattern Matrix:Paketti..:Automation Ramp Down (Exp) for Pattern Matrix Selection", invoke = automation_ramp_down_exp } +renoise.tool():add_menu_entry { name = "Pattern Matrix:Paketti..:Automation Ramp Up (Lin) for Pattern Matrix Selection", invoke = automation_ramp_up_lin } +renoise.tool():add_menu_entry { name = "Pattern Matrix:Paketti..:Automation Ramp Down (Lin) for Pattern Matrix Selection", invoke = automation_ramp_down_lin } renoise.tool():add_keybinding { name = "Global:Paketti..:Automation Ramp Up (Exp)", invoke = automation_ramp_up_exp } renoise.tool():add_keybinding { name = "Global:Paketti..:Automation Ramp Down (Exp)", invoke = automation_ramp_down_exp } @@ -1622,15 +1643,15 @@ local function automation_center_to_bottom_lin() apply_center_based_ramp(read_pa local function automation_bottom_to_center_lin() apply_center_based_ramp(read_pattern_matrix_selection(), "Bottom to Center", true, false) end -- Register menu entries and keybindings for all 8 center-based automations -renoise.tool():add_menu_entry { name = "Pattern Matrix:Paketti..:Automation Center to Top (Exp)", invoke = automation_center_to_top_exp } -renoise.tool():add_menu_entry { name = "Pattern Matrix:Paketti..:Automation Top to Center (Exp)", invoke = automation_top_to_center_exp } -renoise.tool():add_menu_entry { name = "Pattern Matrix:Paketti..:Automation Center to Bottom (Exp)", invoke = automation_center_to_bottom_exp } -renoise.tool():add_menu_entry { name = "Pattern Matrix:Paketti..:Automation Bottom to Center (Exp)", invoke = automation_bottom_to_center_exp } +renoise.tool():add_menu_entry { name = "--Pattern Matrix:Paketti..:Automation Center to Top (Exp) for Pattern Matrix Selection", invoke = automation_center_to_top_exp } +renoise.tool():add_menu_entry { name = "Pattern Matrix:Paketti..:Automation Top to Center (Exp) for Pattern Matrix Selection", invoke = automation_top_to_center_exp } +renoise.tool():add_menu_entry { name = "Pattern Matrix:Paketti..:Automation Center to Bottom (Exp) for Pattern Matrix Selection", invoke = automation_center_to_bottom_exp } +renoise.tool():add_menu_entry { name = "Pattern Matrix:Paketti..:Automation Bottom to Center (Exp) for Pattern Matrix Selection", invoke = automation_bottom_to_center_exp } -renoise.tool():add_menu_entry { name = "Pattern Matrix:Paketti..:Automation Center to Top (Lin)", invoke = automation_center_to_top_lin } -renoise.tool():add_menu_entry { name = "Pattern Matrix:Paketti..:Automation Top to Center (Lin)", invoke = automation_top_to_center_lin } -renoise.tool():add_menu_entry { name = "Pattern Matrix:Paketti..:Automation Center to Bottom (Lin)", invoke = automation_center_to_bottom_lin } -renoise.tool():add_menu_entry { name = "Pattern Matrix:Paketti..:Automation Bottom to Center (Lin)", invoke = automation_bottom_to_center_lin } +renoise.tool():add_menu_entry { name = "Pattern Matrix:Paketti..:Automation Center to Top (Lin) for Pattern Matrix Selection", invoke = automation_center_to_top_lin } +renoise.tool():add_menu_entry { name = "Pattern Matrix:Paketti..:Automation Top to Center (Lin) for Pattern Matrix Selection", invoke = automation_top_to_center_lin } +renoise.tool():add_menu_entry { name = "Pattern Matrix:Paketti..:Automation Center to Bottom (Lin) for Pattern Matrix Selection", invoke = automation_center_to_bottom_lin } +renoise.tool():add_menu_entry { name = "Pattern Matrix:Paketti..:Automation Bottom to Center (Lin) for Pattern Matrix Selection", invoke = automation_bottom_to_center_lin } renoise.tool():add_keybinding { name = "Global:Paketti..:Automation Center to Top (Exp)", invoke = automation_center_to_top_exp } renoise.tool():add_keybinding { name = "Global:Paketti..:Automation Top to Center (Exp)", invoke = automation_top_to_center_exp } @@ -1791,6 +1812,7 @@ function showAutomationHardDynamic() end renoise.tool():add_keybinding{name="Global:Paketti:Switch to Automation Dynamic",invoke=function() showAutomationHardDynamic() end} +renoise.tool():add_midi_mapping{name="Paketti:Switch to Automation Dynamic",invoke=function(message) if message:is_trigger() then showAutomationHardDynamic() end end} ----------- local dialog = nil local vb = nil -- Make vb accessible globally @@ -1825,7 +1847,7 @@ local function apply_textfield_value(value) local track_automation = pattern:track(song.selected_track_index) local envelope = track_automation:find_automation(parameter) - -- Create the envelope if it doesn’t exist + -- Create the envelope if it doesn't exist if not envelope then envelope = track_automation:create_automation(parameter) print("Created new automation envelope for parameter: " .. parameter.name) @@ -1923,8 +1945,8 @@ local function show_value_dialog() local editstep_valuebox = vb:valuebox { id = "editstep_valuebox", value = renoise.song().transport.edit_step, - min = 1, - max = 256, + min = 0, + max = 64, notifier = function(value) print("Edit step value changed to " .. tostring(value)) renoise.song().transport.edit_step = value @@ -1968,15 +1990,9 @@ local function show_value_dialog() 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..:Paketti 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_midi_mapping{name="Paketti:Show Automation Value Dialog...",invoke=function(message) if message:is_trigger() then show_value_dialog() end end} +renoise.tool():add_menu_entry{name="Main Menu:Tools:Paketti..:Paketti Automation Value...",invoke=function() show_value_dialog() end} @@ -2012,7 +2028,7 @@ local function write_automation_value(value) local track_automation = pattern:track(song.selected_track_index) local envelope = track_automation:find_automation(parameter) - -- Create the envelope if it doesn’t exist + -- Create the envelope if it doesn't exist if not envelope then envelope = track_automation:create_automation(parameter) print("Created new automation envelope for parameter: " .. parameter.name) @@ -2153,18 +2169,10 @@ local function PakettiAutomationSelectionFloodFill() end -- Keybinding and menu registration -renoise.tool():add_keybinding{ - name="Global:Paketti:Flood Fill Automation Selection", - invoke=PakettiAutomationSelectionFloodFill -} -renoise.tool():add_menu_entry{ - name="--Main Menu:Tools:Paketti..:Automation..:Flood Fill Automation Selection", - invoke=PakettiAutomationSelectionFloodFill -} -renoise.tool():add_menu_entry{ - name="Track Automation:Paketti..:Flood Fill Automation Selection", - invoke=PakettiAutomationSelectionFloodFill -} +renoise.tool():add_keybinding{name="Global:Paketti:Flood Fill Automation Selection",invoke=PakettiAutomationSelectionFloodFill} +renoise.tool():add_midi_mapping{name="Paketti:Flood Fill Automation Selection",invoke=function(message) if message:is_trigger() then PakettiAutomationSelectionFloodFill() end end} +renoise.tool():add_menu_entry{name="--Main Menu:Tools:Paketti..:Automation..:Flood Fill Automation Selection",invoke=PakettiAutomationSelectionFloodFill} +renoise.tool():add_menu_entry{name="--Track Automation:Paketti..:Flood Fill Automation Selection",invoke=PakettiAutomationSelectionFloodFill} ------ local function SetAutomationRangeValue(value) @@ -2220,7 +2228,7 @@ local function SetAutomationRangeValue(value) end -- Menu entries, keybindings, and MIDI mappings -renoise.tool():add_menu_entry{name="Track Automation:Paketti..:Set Automation Range to Max (1.0)",invoke=function() SetAutomationRangeValue(1.0) end} +renoise.tool():add_menu_entry{name="--Track Automation:Paketti..:Set Automation Range to Max (1.0)",invoke=function() SetAutomationRangeValue(1.0) end} renoise.tool():add_menu_entry{name="Track Automation:Paketti..:Set Automation Range to Middle (0.5)",invoke=function() SetAutomationRangeValue(0.5) end} renoise.tool():add_menu_entry{name="Track Automation:Paketti..:Set Automation Range to Min (0.0)",invoke=function() SetAutomationRangeValue(0.0) end} @@ -2295,6 +2303,15 @@ local function FlipAutomationHorizontal() end ----------- +-- Define whitelist of center-based parameters +local center_based_parameters = { + ["Panning"] = true, + ["Width"] = true, + ["X_Pitchbend"] = true, + ["Pitchbend"] = true, + -- Add other center-based parameters as needed +} + local function ScaleAutomation(scale_factor) local song = renoise.song() local automation_parameter = song.selected_automation_parameter @@ -2328,11 +2345,9 @@ local function ScaleAutomation(scale_factor) return end - -- Center point for scaling - local center_point = 0.0 - if automation_parameter.value_quantum == 1 then - center_point = 0.5 -- PitchBend, Panning, Width - end + -- Determine if this is a center-based parameter + local is_center_based = center_based_parameters[automation_parameter.name] or false + local center_point = is_center_based and 0.5 or 0.0 -- Scale points local points = {} @@ -2348,6 +2363,8 @@ local function ScaleAutomation(scale_factor) return end + print(string.format("Scaling %s parameter (center-based: %s)", + automation_parameter.name, is_center_based and "yes" or "no")) print("Original Points for Scaling:") for _, point in ipairs(points) do print(string.format("Row %03d: Value %.2f", point.time, point.value)) @@ -2355,11 +2372,19 @@ local function ScaleAutomation(scale_factor) for _, point in ipairs(points) do local scaled_value - if point.value > center_point then - scaled_value = center_point + (point.value - center_point) * scale_factor + if is_center_based then + -- For center-based parameters, scale relative to center (0.5) + local distance_from_center = point.value - center_point + scaled_value = center_point + (distance_from_center * scale_factor) else - scaled_value = center_point - (center_point - point.value) * scale_factor + -- For regular parameters, scale from 0 + if point.value > center_point then + scaled_value = center_point + (point.value - center_point) * scale_factor + else + scaled_value = center_point - (center_point - point.value) * scale_factor + end end + envelope:add_point_at(point.time, math.max(0.0, math.min(1.0, scaled_value))) -- Clamp between 0 and 1 print(string.format("Row %03d: Value %.2f scaled to %.2f", point.time, point.value, scaled_value)) end @@ -2369,7 +2394,7 @@ local function ScaleAutomation(scale_factor) end -- Menu entries, keybindings, and MIDI mappings for scaling -renoise.tool():add_menu_entry{name="Track Automation:Paketti..:Scale Automation to 90%",invoke=function() ScaleAutomation(0.9) end} +renoise.tool():add_menu_entry{name="--Track Automation:Paketti..:Scale Automation to 90%",invoke=function() ScaleAutomation(0.9) end} renoise.tool():add_menu_entry{name="Track Automation:Paketti..:Scale Automation to 110%",invoke=function() ScaleAutomation(1.1) end} renoise.tool():add_menu_entry{name="Track Automation:Paketti..:Scale Automation to 200%",invoke=function() ScaleAutomation(2.0) end} renoise.tool():add_menu_entry{name="Track Automation:Paketti..:Scale Automation to 50%",invoke=function() ScaleAutomation(0.5) end} @@ -2383,8 +2408,7 @@ renoise.tool():add_midi_mapping{name="Paketti:Scale Automation to 90%",invoke=fu renoise.tool():add_midi_mapping{name="Paketti:Scale Automation to 110%",invoke=function(message) if message:is_trigger() then ScaleAutomation(1.1) end end} renoise.tool():add_midi_mapping{name="Paketti:Scale Automation to 200%",invoke=function(message) if message:is_trigger() then ScaleAutomation(2.0) end end} renoise.tool():add_midi_mapping{name="Paketti:Scale Automation to 50%",invoke=function(message) if message:is_trigger() then ScaleAutomation(0.5) end end} - ------- +-------- renoise.tool():add_midi_mapping{ name="Paketti:Dynamic Scale Automation", invoke=function(message) @@ -2468,7 +2492,7 @@ local function FlipAutomationVertical() end -- Menu entries, keybindings, and MIDI mappings -renoise.tool():add_menu_entry{name="Track Automation:Paketti..:Flip Automation Selection Horizontally",invoke=FlipAutomationHorizontal} +renoise.tool():add_menu_entry{name="--Track Automation:Paketti..:Flip Automation Selection Horizontally",invoke=FlipAutomationHorizontal} renoise.tool():add_menu_entry{name="Track Automation:Paketti..:Flip Automation Selection Vertically",invoke=FlipAutomationVertical} renoise.tool():add_keybinding{name="Global:Paketti:Flip Automation Selection Horizontally",invoke=FlipAutomationHorizontal} @@ -2530,9 +2554,9 @@ local function add_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() +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() +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() @@ -2540,6 +2564,15 @@ add_automation_points_for_notes() renoise.app().window.active_middle_frame = 1 renoise.app().window.active_lower_frame = 2 end} + +renoise.tool():add_midi_mapping{name="Paketti:Generate Automation Points from Notes in Selected Track",invoke=function(message) +if message:is_trigger() then +add_automation_points_for_notes() +renoise.app().window.active_middle_frame = 1 +renoise.app().window.active_lower_frame = 2 + end end} + + -------- local function PakettiAutomationPlayModeChange_SetPlaymode(mode) @@ -2611,3 +2644,133 @@ renoise.tool():add_midi_mapping {name="Paketti:Select Automation Playmode 02 Lin renoise.tool():add_midi_mapping {name="Paketti:Select Automation Playmode 03 Curves",invoke=function() PakettiAutomationPlayModeChange_SetPlaymode(renoise.PatternTrackAutomation.PLAYMODE_CURVES) end} + +local function clone_sequence_with_automation_only() + local song = renoise.song() + local sequencer = song.sequencer + local current_sequence = sequencer.pattern_sequence + local selected_tracks = {} + + -- Step 1: Get selected tracks from pattern matrix + for track_idx = 1, #song.tracks do + for seq_idx = 1, #current_sequence do + if sequencer:track_sequence_slot_is_selected(track_idx, seq_idx) then + selected_tracks[track_idx] = true + break + end + end + end + + -- Step 2: Clone the sequence + sequencer:clone_range(1, #current_sequence) + + -- Step 3: Process each pattern in the cloned sequence + for seq_idx = 1, #current_sequence do + local original_pattern_index = current_sequence[seq_idx] + local cloned_pattern_index = current_sequence[seq_idx + #current_sequence] + local original_pattern = song.patterns[original_pattern_index] + local cloned_pattern = song.patterns[cloned_pattern_index] + + -- Step 4: Process selected tracks + for track_idx, is_selected in pairs(selected_tracks) do + if is_selected then + local track = cloned_pattern:track(track_idx) + + -- Clear note data + for line_idx = 1, cloned_pattern.number_of_lines do + local line = track:line(line_idx) + for _, note_column in ipairs(line.note_columns) do + note_column:clear() + end + for _, fx_column in ipairs(line.effect_columns) do + fx_column:clear() + end + end + + -- Automation is automatically preserved since we cloned the pattern + end + end + + -- Step 5: Maintain selection in cloned sequence + for track_idx, is_selected in pairs(selected_tracks) do + if is_selected then + sequencer:set_track_sequence_slot_is_selected(track_idx, seq_idx + #current_sequence, true) + end + end + end + + renoise.app():show_status("Sequence cloned with automation only in selected tracks") +end + +renoise.tool():add_menu_entry{ + name = "Pattern Matrix:Paketti..:Clone Sequence (Automation Only)", + invoke = clone_sequence_with_automation_only +} + +renoise.tool():add_keybinding{ + name = "Global:Paketti:Clone Sequence (Automation Only)", + invoke = clone_sequence_with_automation_only +} + +local function clone_pattern_without_automation() + local song = renoise.song() + local sequencer = song.sequencer + local current_sequence_pos = song.selected_sequence_index + local selected_tracks = {} + + -- Step 1: Get selected tracks from pattern matrix + for track_idx = 1, #song.tracks do + if sequencer:track_sequence_slot_is_selected(track_idx, current_sequence_pos) then + selected_tracks[track_idx] = true + end + end + + -- Step 2: Clone the current sequence position + if current_sequence_pos <= #sequencer.pattern_sequence then + sequencer:clone_range(current_sequence_pos, current_sequence_pos) + + -- Step 3: Process selected tracks in the cloned pattern + local cloned_pattern = song.patterns[sequencer.pattern_sequence[current_sequence_pos + 1]] + for track_idx, is_selected in pairs(selected_tracks) do + if is_selected then + local track = cloned_pattern:track(track_idx) + + -- Store all automation parameters first (because we'll be modifying the collection) + local parameters_to_delete = {} + for _, automation in ipairs(track.automation) do + table.insert(parameters_to_delete, automation.dest_parameter) + end + + -- Delete each automation envelope + for _, parameter in ipairs(parameters_to_delete) do + track:delete_automation(parameter) + end + end + end + + -- Step 4: Maintain selections in the new sequence slot + for track_idx, is_selected in pairs(selected_tracks) do + if is_selected then + sequencer:set_track_sequence_slot_is_selected(track_idx, current_sequence_pos + 1, true) + end + end + + -- Select the newly created sequence + song.selected_sequence_index = current_sequence_pos + 1 + renoise.app():show_status("Pattern cloned without automation in selected tracks") + else + renoise.app():show_status("Cannot clone the sequence: The current sequence is the last one.") + end +end + +renoise.tool():add_menu_entry{ + name = "Pattern Matrix:Paketti..:Clone Pattern (Without Automation)", + invoke = clone_pattern_without_automation +} + +renoise.tool():add_keybinding{ + name = "Global:Paketti:Clone Pattern (Without Automation)", + invoke = clone_pattern_without_automation +} + + diff --git a/PakettiChordsPlus.lua b/PakettiChordsPlus.lua new file mode 100644 index 0000000..25d652f --- /dev/null +++ b/PakettiChordsPlus.lua @@ -0,0 +1,295 @@ +-- from Jalex +function JalexAdd(number) + if renoise.song().selected_note_column_index == renoise.song().selected_track.visible_note_columns then + if renoise.song().selected_track.visible_note_columns == 12 then + renoise.song().selected_line_index=renoise.song().selected_line_index+1 + renoise.song().selected_note_column_index = 1 + + return + end + + renoise.song().selected_track.visible_note_columns = renoise.song().selected_track.visible_note_columns+1 + end + + local originalNote=renoise.song().selected_note_column.note_value + local originalInstrument=renoise.song().selected_note_column.instrument_value + local originalVolume = renoise.song().selected_note_column.volume_value + + if originalNote >= 120 then + renoise.app():show_status("You are not on a note.") + return + end + + if originalNote + number > 119 then + renoise.app():show_status("Cannot go higher than B-9.") + return + end + + renoise.song().selected_pattern.tracks[renoise.song().selected_track_index].lines[renoise.song().selected_line_index].note_columns[renoise.song().selected_note_column_index + 1].note_value = originalNote + number + renoise.song().selected_pattern.tracks[renoise.song().selected_track_index].lines[renoise.song().selected_line_index].note_columns[renoise.song().selected_note_column_index + 1].instrument_value = originalInstrument + renoise.song().selected_pattern.tracks[renoise.song().selected_track_index].lines[renoise.song().selected_line_index].note_columns[renoise.song().selected_note_column_index + 1].volume_value = originalVolume + + renoise.song().selected_note_column_index = renoise.song().selected_note_column_index +1 + end + + for i=1,12 do + renoise.tool():add_keybinding{ + name=string.format("Pattern Editor:Paketti:Chordsplus (Add %02d)", i), + invoke=function() JalexAdd(i) end + } + end + + for i=1,12 do + renoise.tool():add_keybinding{ + name=string.format("Pattern Editor:Paketti:Chordsplus (Sub %02d)", i), + invoke=function() JalexAdd(-i) end + } + end + + function chordsplus(number1, number2, number3, number4, number5, number6) + -- Check if there's a valid note (notes are 0-119, 120 is OFF, 121 is ---) + if renoise.song().selected_note_column.note_value >= 120 then + renoise.app():show_status("There is no basenote to start with, doing nothing.") + return + end + + -- Get the base note information + local basenote = renoise.song().selected_note_column.note_value + local basenote_name = renoise.song().selected_note_column.note_string + local status_msg = string.format("Basenote: %s (%d)", basenote_name, basenote) + + -- Process number1 using JalexAdd + JalexAdd(number1) + local note1_col = renoise.song().selected_pattern.tracks[renoise.song().selected_track_index] + .lines[renoise.song().selected_line_index].note_columns[2] + if note1_col.note_value < 120 then + status_msg = status_msg .. string.format(" → +%d %s (%d)", number1, note1_col.note_string, note1_col.note_value) + end + + -- Process number2 + if number2 == nil then + wipeNoteColumn(3) + wipeNoteColumn(4) + wipeNoteColumn(5) + wipeNoteColumn(6) + wipeNoteColumn(7) + renoise.song().selected_note_column_index = 1 + renoise.app():show_status(status_msg) + return + else + JalexAdd(number2) + local note2_col = renoise.song().selected_pattern.tracks[renoise.song().selected_track_index] + .lines[renoise.song().selected_line_index].note_columns[3] + if note2_col.note_value < 120 then + status_msg = status_msg .. string.format(" → +%d %s (%d)", number2, note2_col.note_string, note2_col.note_value) + end + end + + -- Process number3 + if number3 == nil then + wipeNoteColumn(4) + wipeNoteColumn(5) + wipeNoteColumn(6) + wipeNoteColumn(7) + renoise.song().selected_note_column_index = 1 + renoise.app():show_status(status_msg) + return + else + JalexAdd(number3) + local note3_col = renoise.song().selected_pattern.tracks[renoise.song().selected_track_index] + .lines[renoise.song().selected_line_index].note_columns[4] + if note3_col.note_value < 120 then + status_msg = status_msg .. string.format(" → +%d %s (%d)", number3, note3_col.note_string, note3_col.note_value) + end + end + + -- Process number4 + if number4 == nil then + wipeNoteColumn(5) + wipeNoteColumn(6) + wipeNoteColumn(7) + renoise.song().selected_note_column_index = 1 + renoise.app():show_status(status_msg) + return + else + JalexAdd(number4) + local note4_col = renoise.song().selected_pattern.tracks[renoise.song().selected_track_index] + .lines[renoise.song().selected_line_index].note_columns[5] + if note4_col.note_value < 120 then + status_msg = status_msg .. string.format(" → +%d %s (%d)", number4, note4_col.note_string, note4_col.note_value) + end + end + + -- Process number5 + if number5 == nil then + wipeNoteColumn(6) + wipeNoteColumn(7) + renoise.song().selected_note_column_index = 1 + renoise.app():show_status(status_msg) + return + else + JalexAdd(number5) + local note5_col = renoise.song().selected_pattern.tracks[renoise.song().selected_track_index] + .lines[renoise.song().selected_line_index].note_columns[6] + if note5_col.note_value < 120 then + status_msg = status_msg .. string.format(" → +%d %s (%d)", number5, note5_col.note_string, note5_col.note_value) + end + end + + -- Process number6 + if number6 == nil then + wipeNoteColumn(7) + wipeNoteColumn(8) + renoise.song().selected_note_column_index = 1 + renoise.app():show_status(status_msg) + return + else + JalexAdd(number6) + local note6_col = renoise.song().selected_pattern.tracks[renoise.song().selected_track_index] + .lines[renoise.song().selected_line_index].note_columns[7] + if note6_col.note_value < 120 then + status_msg = status_msg .. string.format(" → +%d %s (%d)", number6, note6_col.note_string, note6_col.note_value) + end + end + + -- Show the final status message and reset column index + renoise.app():show_status(status_msg) + renoise.song().selected_note_column_index = 1 + end + + + -- List of chord progressions, reordered logically + local chord_list = { + {name="Chordsplus 3-4 (Maj)", fn=function() chordsplus(4,3) end}, + {name="Chordsplus 4-3 (Min)", fn=function() chordsplus(3,4) end}, + {name="Chordsplus 4-3-4 (Maj7)", fn=function() chordsplus(4,3,4) end}, + {name="Chordsplus 3-4-3 (Min7)", fn=function() chordsplus(3,4,3) end}, + {name="Chordsplus 4-4-3 (Maj7+5)", fn=function() chordsplus(4,4,3) end}, + {name="Chordsplus 3-5-2 (Min7+5)", fn=function() chordsplus(3,5,2) end}, + {name="Chordsplus 4-3-3 (Maj Dominant 7th)", fn=function() chordsplus(4,3,3) end}, -- MajMajor7 + {name="Chordsplus 3-4-4 (MinMaj7)", fn=function() chordsplus(3,4,4) end}, -- MinorMajor7 + {name="Chordsplus 4-3-4-3 (Maj9)", fn=function() chordsplus(4,3,4,3) end}, + {name="Chordsplus 3-4-3-3 (Min9)", fn=function() chordsplus(3,4,3,3) end}, + {name="Chordsplus 4-3-7 (Maj Added 9th)", fn=function() chordsplus(4,3,7) end}, + {name="Chordsplus 3-4-7 (Min Added 9th)", fn=function() chordsplus(3,4,7) end}, + {name="Chordsplus 4-7-3 (Maj9 Simplified)", fn=function() chordsplus(4,7,3) end}, -- Maj9 without 5th + + {name="Chordsplus 3-7-4 (Min9 Simplified)", fn=function() chordsplus(3,7,4) end}, -- Min9 without 5th + {name="Chordsplus 3-8-3 (mM9 Simplified)", fn=function() chordsplus(3,8,3) end}, -- MinorMajor9 without 5th + {name="Chordsplus 4-3-4-4 (MM9)", fn=function() chordsplus(4,3,4,4) end}, -- MajorMajor9 with Augmented 9th + {name="Chordsplus 3-4-4-3 (mM9)", fn=function() chordsplus(3,4,4,3) end}, -- MinorMajor9 + {name="Chordsplus 4-3-2-5 (Maj6 Add9)", fn=function() chordsplus(4,3,2,5) end}, -- Maj6 Add9 + {name="Chordsplus 3-4-2-5 (Min6 Add9)", fn=function() chordsplus(3,4,2,5) end}, -- Min6 Add9 + {name="Chordsplus 2-5 (Sus2)", fn=function() chordsplus(2,5) end}, + {name="Chordsplus 5-2 (Sus4)", fn=function() chordsplus(5,2) end}, + {name="Chordsplus 5-2-3 (7Sus4)", fn=function() chordsplus(5,2,3) end}, + {name="Chordsplus 4-4 (Aug5)", fn=function() chordsplus(4,4) end}, + {name="Chordsplus 4-4-2 (Aug6)", fn=function() chordsplus(4,4,2) end}, + {name="Chordsplus 4-4-3 (Aug7)", fn=function() chordsplus(4,4,3) end}, + {name="Chordsplus 4-4-4 (Aug8)", fn=function() chordsplus(4,4,4) end}, + {name="Chordsplus 4-3-3-5 (Aug9)", fn=function() chordsplus(4,3,3,5) end}, + {name="Chordsplus 4-4-7 (Aug10)", fn=function() chordsplus(4,4,7) end}, + {name="Chordsplus 4-3-3-4-4 (Aug11)", fn=function() chordsplus(4,3,3,4,4) end}, + {name="Chordsplus 12-12-12 (Octaves)", fn=function() chordsplus(12,12,12) end} + } + + local current_chord_index = 1 -- Start at the first chord + + -- Function to advance to the next chord in the list + local function next_chord() + chord_list[current_chord_index].fn() -- Invoke the current chord function + renoise.app():show_status("Played: " .. chord_list[current_chord_index].name) + current_chord_index = current_chord_index + 1 + if current_chord_index > #chord_list then + current_chord_index = 1 -- Wrap back to the first chord + end + end + + -- Add Previous Chord function and menu entry + local function previous_chord() + current_chord_index = current_chord_index - 2 -- Go back two steps since next_chord() will add one + if current_chord_index < 0 then + current_chord_index = #chord_list - 1 -- Wrap to end of list + end + next_chord() -- Use existing next_chord to play and advance + end + + + + -- MIDI mapping handler, maps values 0-127 to the list of chords + function midi_chord_mapping(value) + if renoise.song().selected_track.visible_note_columns ~= 0 then + local chord_index = math.floor((value / 127) * (#chord_list - 1)) + 1 + if renoise.song().selected_pattern.tracks[renoise.song().selected_track_index].lines[renoise.song().selected_line_index].note_columns[renoise.song().selected_note_column_index].is_empty + then renoise.app():show_status("There was no note, doing nothing.") + return + end + + chord_list[chord_index].fn() + renoise.app():show_status("Set Basenote and Intervals to: " .. chord_list[chord_index].name) + else + renoise.app():show_status("This track does not have a Note Column. Doing nothing.") + end + + end + + -- Add keybindings dynamically based on the chord list + for i, chord in ipairs(chord_list) do + renoise.tool():add_keybinding{ + name="Pattern Editor:Paketti:" .. chord.name, + invoke=chord.fn + } + end + + + -- Add keybinding for cycling through chords + renoise.tool():add_keybinding{ + name="Pattern Editor:Paketti:Next Chord in List", + invoke=next_chord + } + + renoise.tool():add_midi_mapping{name="Paketti:Chord Selector [0-127]",invoke=function(midi_message) midi_chord_mapping(midi_message.int_value) end} + + -- Add menu entries for all chord functions + renoise.tool():add_menu_entry { name = "Pattern Editor:Paketti ChordsPlus..:Basic Triads - Major (3-4)", invoke = function() chordsplus(4,3) end } + renoise.tool():add_menu_entry { name = "Pattern Editor:Paketti ChordsPlus..:Basic Triads - Minor (4-3)", invoke = function() chordsplus(3,4) end } + renoise.tool():add_menu_entry { name = "Pattern Editor:Paketti ChordsPlus..:Basic Triads - Augmented (4-4)", invoke = function() chordsplus(4,4) end } + renoise.tool():add_menu_entry { name = "Pattern Editor:Paketti ChordsPlus..:Basic Triads - Sus2 (2-5)", invoke = function() chordsplus(2,5) end } + renoise.tool():add_menu_entry { name = "Pattern Editor:Paketti ChordsPlus..:Basic Triads - Sus4 (5-2)", invoke = function() chordsplus(5,2) end } + renoise.tool():add_menu_entry { name = "Pattern Editor:Paketti ChordsPlus..:Seventh - Major 7 (4-3-4)", invoke = function() chordsplus(4,3,4) end } + renoise.tool():add_menu_entry { name = "Pattern Editor:Paketti ChordsPlus..:Seventh - Minor 7 (3-4-3)", invoke = function() chordsplus(3,4,3) end } + renoise.tool():add_menu_entry { name = "Pattern Editor:Paketti ChordsPlus..:Seventh - Dominant 7 (4-3-3)", invoke = function() chordsplus(4,3,3) end } + renoise.tool():add_menu_entry { name = "Pattern Editor:Paketti ChordsPlus..:Seventh - Minor-Major 7 (3-4-4)", invoke = function() chordsplus(3,4,4) end } + renoise.tool():add_menu_entry { name = "Pattern Editor:Paketti ChordsPlus..:Ninth - Major 9 (4-3-4-3)", invoke = function() chordsplus(4,3,4,3) end } + renoise.tool():add_menu_entry { name = "Pattern Editor:Paketti ChordsPlus..:Ninth - Minor 9 (3-4-3-3)", invoke = function() chordsplus(3,4,3,3) end } + renoise.tool():add_menu_entry { name = "Pattern Editor:Paketti ChordsPlus..:Ninth - Major 9 Simple (4-7-3)", invoke = function() chordsplus(4,7,3) end } + renoise.tool():add_menu_entry { name = "Pattern Editor:Paketti ChordsPlus..:Ninth - Minor 9 Simple (3-7-4)", invoke = function() chordsplus(3,7,4) end } + renoise.tool():add_menu_entry { name = "Pattern Editor:Paketti ChordsPlus..:Added - Major Add 9 (4-3-7)", invoke = function() chordsplus(4,3,7) end } + renoise.tool():add_menu_entry { name = "Pattern Editor:Paketti ChordsPlus..:Added - Minor Add 9 (3-4-7)", invoke = function() chordsplus(3,4,7) end } + renoise.tool():add_menu_entry { name = "Pattern Editor:Paketti ChordsPlus..:Added - Major 6 Add 9 (4-3-2-5)", invoke = function() chordsplus(4,3,2,5) end } + renoise.tool():add_menu_entry { name = "Pattern Editor:Paketti ChordsPlus..:Added - Minor 6 Add 9 (3-4-2-5)", invoke = function() chordsplus(3,4,2,5) end } + renoise.tool():add_menu_entry { name = "Pattern Editor:Paketti ChordsPlus..:Augmented - Aug6 (4-4-2)", invoke = function() chordsplus(4,4,2) end } + renoise.tool():add_menu_entry { name = "Pattern Editor:Paketti ChordsPlus..:Augmented - Aug7 (4-4-3)", invoke = function() chordsplus(4,4,3) end } + renoise.tool():add_menu_entry { name = "Pattern Editor:Paketti ChordsPlus..:Augmented - Aug8 (4-4-4)", invoke = function() chordsplus(4,4,4) end } + renoise.tool():add_menu_entry { name = "Pattern Editor:Paketti ChordsPlus..:Augmented - Aug9 (4-3-3-5)", invoke = function() chordsplus(4,3,3,5) end } + renoise.tool():add_menu_entry { name = "Pattern Editor:Paketti ChordsPlus..:Augmented - Aug10 (4-4-7)", invoke = function() chordsplus(4,4,7) end } + renoise.tool():add_menu_entry { name = "Pattern Editor:Paketti ChordsPlus..:Augmented - Aug11 (4-3-3-4-4)", invoke = function() chordsplus(4,3,3,4,4) end } + renoise.tool():add_menu_entry { name = "Pattern Editor:Paketti ChordsPlus..:Special - Octaves (12-12-12)", invoke = function() chordsplus(12,12,12) end } + renoise.tool():add_menu_entry { name = "Pattern Editor:Paketti ChordsPlus..:Special - Next Chord", invoke = next_chord } + renoise.tool():add_menu_entry { name = "Pattern Editor:Paketti ChordsPlus..:Special - Previous Chord", invoke = previous_chord } + + -- Add menu entries for intervals 1-12 and their negative counterparts + for i=1,12 do + renoise.tool():add_menu_entry { + name = string.format("Pattern Editor:Paketti ChordsPlus..:Add Intervals..:Add %d", i), + invoke = function() JalexAdd(i) end + } + end + + for i=1,12 do + renoise.tool():add_menu_entry { + name = string.format("Pattern Editor:Paketti ChordsPlus..:Sub Intervals..:Sub %d", i), + invoke = function() JalexAdd(-i) end + } + end + diff --git a/PakettiColuga.lua b/PakettiColuga.lua index 6bfaced..e0b764e 100644 --- a/PakettiColuga.lua +++ b/PakettiColuga.lua @@ -845,7 +845,7 @@ function PakettiColugaCloseDialog() 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_menu_entry{name="Main Menu:Tools:Paketti..:Xperimental/Work in Progress:Paketti YT-DLP Downloader...", invoke = function() PakettiColugaShowDialog() end } 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 } diff --git a/PakettiControls.lua b/PakettiControls.lua index a9e9228..bf07960 100644 --- a/PakettiControls.lua +++ b/PakettiControls.lua @@ -173,22 +173,24 @@ function PakettiTranspose(steps) if track.type == renoise.Track.TRACK_TYPE_SEQUENCER then local track_pattern = pattern:track(track_index) - for line_index = start_line, end_line do - local line = track_pattern:line(line_index) +for line_index = start_line, end_line do + local line = track_pattern:line(line_index) - for column_index = start_column, end_column do - local note_column = line:note_column(column_index) - if not note_column.is_empty then + -- Clamp the end column for this particular track + local columns_to_end = math.min(end_column, track.visible_note_columns) - if note_column.note_value < 120 then - note_column.note_value = (note_column.note_value + steps) % 120 - end - end - end + for column_index = start_column, columns_to_end do + local note_column = line:note_column(column_index) + if not note_column.is_empty then + if note_column.note_value < 120 then + note_column.note_value = (note_column.note_value + steps) % 120 end end end end + end + end +end renoise.tool():add_keybinding{name="Pattern Editor:Paketti:Transpose Octave Up (Selection/Track)",invoke=function() PakettiTranspose(12) end} renoise.tool():add_keybinding{name="Pattern Editor:Paketti:Transpose Octave Down (Selection/Track)",invoke=function() PakettiTranspose(-12) end} @@ -346,7 +348,8 @@ renoise.tool():add_keybinding{name="Global:Paketti:Select Track (Previous)",invo function createNewTrack() -renoise.song():insert_track_at(renoise.song().selected_track_index) +renoise.song():insert_track_at(renoise.song().selected_track_index+1) +renoise.song().selected_track_index = renoise.song().selected_track_index+1 end renoise.tool():add_keybinding{name="Global:Paketti:Insert Track (2nd)", invoke=function() createNewTrack() end} @@ -454,5 +457,88 @@ 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} +----------- +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 + +-- 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 + + -- 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 + + -- 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 + + -- 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] + + -- Copy basic properties + new_track.name=new_name + new_track.color=selected_track.color + + -- 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 + +-- Trigger the function +renoise.tool():add_keybinding{name="Global:Paketti:Duplicate Selected Track & Name",invoke=function() +duplicate_selected_track() end} diff --git a/PakettiCustomization.lua b/PakettiCustomization.lua new file mode 100644 index 0000000..3a12957 --- /dev/null +++ b/PakettiCustomization.lua @@ -0,0 +1,61 @@ +local tool_folder = renoise.tool().bundle_path +local bluethereal_folder = tool_folder .. "Customization/Bluethereal fonts/" +local customization_folder = tool_folder .. "Customization/" +local destination_folder +local renoise_version = tostring(renoise.RENOISE_VERSION) +local os_name = os.platform() + +-- Detect OS +if os_name == "MACINTOSH" then + destination_folder = "/Applications/Renoise.app/Contents/Resources/Skin/Fonts" +elseif os_name == "WINDOWS" then + destination_folder = "C:\\Program Files\\Renoise " .. renoise_version .. "\\Resources\\Skin\\Fonts" +else + renoise.app():show_status("Linux OS detected. Please provide the Fonts folder path.") + return +end + +-- Copy function +local function copy_file(source, destination) + local command + if os_name == "WINDOWS" then + command = 'xcopy "' .. source .. '" "' .. destination .. '" /Y /Q' + else + command = 'cp -f "' .. source .. '" "' .. destination .. '"' + end + os.execute(command) +end + +-- Shortcut 1: Copy PatternFont.ttf and PatternConfig.xml +local function ChangeFonts1() + copy_file(bluethereal_folder .. "PatternFont.ttf", destination_folder .. "/PatternFont.ttf") + copy_file(bluethereal_folder .. "PatternConfig.xml", destination_folder .. "/PatternConfig.xml") +renoise.app():show_status("Make sure to restart Renoise to see the change.") +end + +-- Shortcut 2: Copy and Rename PatternConfig_original.xml +local function ChangeFonts2() + local source_file = customization_folder .. "PatternConfig_original.xml" + local temp_destination = destination_folder .. "/PatternConfig_original.xml" + copy_file(source_file, temp_destination) + + -- Rename the copied file + local final_destination = destination_folder .. "/PatternConfig.xml" + os.rename(temp_destination, final_destination) +renoise.app():show_status("Make sure to restart Renoise to see the change.") +end + +local function ChangeFonts3() + copy_file(customization_folder .. "Agave-Regular.ttf", destination_folder .. "/Agave-Regular.ttf") + copy_file(customization_folder .. "PatternConfig_agave.xml", destination_folder .. "/PatternConfig.xml") +renoise.app():show_status("Make sure to restart Renoise to see the change.") +end + + + +--renoise.tool():add_menu_entry{name="--Main Menu:Tools:Paketti..:!Preferences..:Change Fonts (classic)",invoke=function() ChangeFonts1() end} +--renoise.tool():add_menu_entry{name="Main Menu:Tools:Paketti..:!Preferences..:Change Fonts (default)",invoke=function() ChangeFonts2() end} +--renoise.tool():add_menu_entry{name="Main Menu:Tools:Paketti..:!Preferences..:Change Fonts (Agave)",invoke=function() ChangeFonts3() end} + + + diff --git a/PakettiDynamicViews.lua b/PakettiDynamicViews.lua index 6ed8584..b13d35f 100644 --- a/PakettiDynamicViews.lua +++ b/PakettiDynamicViews.lua @@ -510,8 +510,8 @@ function build_dialog_interface(vb, start_dv, end_dv, close_dialog) end -- Add Save, Save & Close, and Load buttons to the bottom interface:add_child(vb:row { - vb:button { text = "Save Dynamic Views as a textfile", height = 20, width = 150, pressed = function() save_dynamic_views_to_txt() end }, - vb:button { text = "Load Dynamic Views from a textfile", height = 20, width = 150, pressed = function() load_dynamic_views_from_txt() end }, + vb:button { text = "Save Dynamic Views as a Textfile", height = 20, width = 150, pressed = function() save_dynamic_views_to_txt() end }, + vb:button { text = "Load Dynamic Views from a Textfile", height = 20, width = 150, pressed = function() load_dynamic_views_from_txt() end }, vb:button { text = "Save & Close", height = 20, width = 100, pressed = function() renoise.app():show_status("Saving current settings") saveDynamicViewPreferences() @@ -691,13 +691,9 @@ end renoise.tool():add_keybinding{name="Global:Paketti:Paketti Dynamic View Preferences Dialog 1-4...", invoke=function() showDynamicViewDialog(1, 4) end} renoise.tool():add_keybinding{name="Global:Paketti:Paketti Dynamic View Preferences Dialog 5-8...", invoke=function() showDynamicViewDialog(5, 8) end} - renoise.tool():add_midi_mapping{name="Paketti:Paketti Dynamic View Preferences Dialog 1-4...", invoke=function() showDynamicViewDialog(1, 4) end} renoise.tool():add_midi_mapping{name="Paketti:Paketti Dynamic View Preferences Dialog 5-8...", invoke=function() showDynamicViewDialog(5, 8) end} - renoise.tool():add_menu_entry{name="--Main Menu:Tools:Paketti..:!Preferences..:Paketti Dynamic View Preferences Dialog 1-4...",invoke=function() showDynamicViewDialog(1, 4) end} renoise.tool():add_menu_entry{name="Main Menu:Tools:Paketti..:!Preferences..:Paketti Dynamic View Preferences Dialog 5-8...",invoke=function() showDynamicViewDialog(5, 8) end} -renoise.tool():add_menu_entry{name="Main Menu:Tools:Paketti..:!Preferences..:Paketti Save Dynamic Views as a textfile", invoke=function() save_dynamic_views_to_txt() end} -renoise.tool():add_menu_entry{name="Main Menu:Tools:Paketti..:!Preferences..:Paketti Load Dynamic Views from a textfile", invoke=function() load_dynamic_views_from_txt() end} - - +renoise.tool():add_menu_entry{name="Main Menu:Tools:Paketti..:!Preferences..:Paketti Save Dynamic Views as a Textfile", invoke=function() save_dynamic_views_to_txt() end} +renoise.tool():add_menu_entry{name="Main Menu:Tools:Paketti..:!Preferences..:Paketti Load Dynamic Views from a Textfile", invoke=function() load_dynamic_views_from_txt() end} diff --git a/PakettiEightOneTwenty.lua b/PakettiEightOneTwenty.lua index da7159b..6a4fb9e 100644 --- a/PakettiEightOneTwenty.lua +++ b/PakettiEightOneTwenty.lua @@ -1,5 +1,25 @@ -- Paketti Groovebox 8120 Script +-- "Random" keybinding: Selects a random sample and mutes others +function sample_random() + local song = renoise.song() + local ing = song.selected_instrument + + -- Edge case: no instrument or no samples + if not ing or #ing.samples == 0 then + renoise.app():show_status("No instrument or samples available.") + return + end + + -- Pick a random sample index + local random_index = math.random(1, #ing.samples) + song.selected_sample_index = random_index + + -- Set velocity ranges accordingly + pakettiSampleVelocityRangeChoke(random_index) +end + + -- Initialization local vb = renoise.ViewBuilder() local dialog, rows = nil, {} @@ -264,9 +284,7 @@ table.insert(yxx_checkbox_row_elements, yxx_clear_button) return end renoise.song().selected_instrument_index = instrument_index - if type(midi_sample_velocity_switcharoo) == "function" then midi_sample_velocity_switcharoo(value) - end row_elements.update_sample_name_label() renoise.app().window.active_middle_frame = renoise.ApplicationWindow.MIDDLE_FRAME_INSTRUMENT_SAMPLE_EDITOR end @@ -425,11 +443,7 @@ table.insert(yxx_checkbox_row_elements, yxx_clear_button) renoise.song().selected_track_index = track_index renoise.song().selected_instrument_index = instrument_index - if type(pitchBendDrumkitLoader) == "function" then pitchBendDrumkitLoader() - else - renoise.app():show_warning("pitchBendDrumkitLoader function is not defined.") - end local instrument = renoise.song().instruments[instrument_index] if not instrument then @@ -454,9 +468,7 @@ table.insert(yxx_checkbox_row_elements, yxx_clear_button) update_instrument_list_and_popups() slider.value = 1 - if type(pakettiSampleVelocityRangeChoke) == "function" then pakettiSampleVelocityRangeChoke(1) - end row_elements.update_sample_name_label() row_elements.random_button_pressed = row_elements.random_button_pressed @@ -487,10 +499,7 @@ table.insert(yxx_checkbox_row_elements, yxx_clear_button) return end renoise.song().selected_instrument_index = instrument_index - - if type(sample_random) == "function" then sample_random() - end local instrument = renoise.song().instruments[instrument_index] for sample_index, sample in ipairs(instrument.samples) do diff --git a/PakettiExperimental_Verify.lua b/PakettiExperimental_Verify.lua index a1e2463..a9c5e05 100644 --- a/PakettiExperimental_Verify.lua +++ b/PakettiExperimental_Verify.lua @@ -1,3 +1,237 @@ +local match_editstep_enabled = false +local last_line_index = nil +local tick_counter = 0 -- To track the "tick-tick-tick-skip" cycle + +-- Function to find the next valid delay value in the track +local function find_next_delay_line(start_line_index) + local song = renoise.song() + local track = song.selected_pattern_track + local num_lines = song.selected_pattern.number_of_lines + + for line_index = start_line_index + 1, num_lines do + local line = track:line(line_index) + if line.note_columns[1] and not line.note_columns[1].is_empty then + local delay_value = line.note_columns[1].delay_value + if delay_value == 0x00 or delay_value == 0x55 or delay_value == 0xAA then + return line_index + end + end + end + + -- Wrap around: search from the top if no match is found below + for line_index = 1, start_line_index do + local line = track:line(line_index) + if line.note_columns[1] and not line.note_columns[1].is_empty then + local delay_value = line.note_columns[1].delay_value + if delay_value == 0x00 or delay_value == 0x55 or delay_value == 0xAA then + return line_index + end + end + end + + return nil -- No valid delays found +end + +-- Main function to dynamically adjust editstep +local function match_editstep_with_delay_pattern() + local song = renoise.song() + local current_line_index = song.selected_line_index + + -- Only act when the selected line changes + if last_line_index ~= current_line_index then + last_line_index = current_line_index + + -- Cycle through the "tick-tick-tick-skip" pattern + local editstep = 0 + tick_counter = (tick_counter % 4) + 1 -- Cycle between 1-4 + + if tick_counter == 4 then + -- Skip step + local next_line_index = find_next_delay_line(current_line_index) + if next_line_index then + editstep = next_line_index - current_line_index + if editstep <= 0 then + -- Wrap-around case + editstep = (song.selected_pattern.number_of_lines - current_line_index) + next_line_index + end + else + -- No valid delay found, reset to default behavior + editstep = 1 + end + else + -- Standard tick step + editstep = 1 + end + + -- Apply the editstep + song.transport.edit_step = editstep + renoise.app():show_status("EditStep set to " .. tostring(editstep) .. + " (Cycle position: " .. tostring(tick_counter) .. ")") + end +end + +-- Toggle the functionality on or off +local function toggle_match_editstep() + match_editstep_enabled = not match_editstep_enabled + if match_editstep_enabled then + if not renoise.tool().app_idle_observable:has_notifier(match_editstep_with_delay_pattern) then + renoise.tool().app_idle_observable:add_notifier(match_editstep_with_delay_pattern) + end + renoise.app():show_status("Match EditStep with Delay Pattern: ENABLED") + else + if renoise.tool().app_idle_observable:has_notifier(match_editstep_with_delay_pattern) then + renoise.tool().app_idle_observable:remove_notifier(match_editstep_with_delay_pattern) + end + renoise.app():show_status("Match EditStep with Delay Pattern: DISABLED") + end +end + +-- Add menu entry for toggling +renoise.tool():add_menu_entry{name="Main Menu:Tools:Paketti..:Xperimental/Work in Progress:Match EditStep with Delay Pattern",invoke = function() toggle_match_editstep() end} +renoise.tool():add_keybinding{name="Global:Tools:Toggle Match EditStep with Delay Pattern",invoke = function() toggle_match_editstep() end} + + +function NoteSpread(num_columns) + if num_columns < 2 or num_columns > 12 then + renoise.app():show_status("Please choose a number of columns between 2 and 12.") + return + end + + local song = renoise.song() + local track = song.selected_track + local track_idx = song.selected_track_index + local pattern = song.selected_pattern + local pattern_lines = pattern.number_of_lines + + print("Starting NoteSpread with num_columns =", num_columns) + print("Visible note columns before operation:", track.visible_note_columns) + + -- Set visible note columns + track.visible_note_columns = num_columns + print("Visible note columns after setting:", track.visible_note_columns) + + -- Check if there are notes on more than one note column + local has_notes_on_other_columns = false + for line_idx = 1, pattern_lines do + local line = pattern.tracks[track_idx].lines[line_idx] + for col_idx = 2, track.visible_note_columns do + if not line.note_columns[col_idx].is_empty then + has_notes_on_other_columns = true + break + end + end + if has_notes_on_other_columns then break end + end + + if has_notes_on_other_columns then + renoise.app():show_status("Nothing to spread (all notes must be on Note Column 1).") + print("Nothing to spread: Notes detected on other columns.") + return + end + + -- Check if there are notes in the first column + local has_notes = false + for line_idx = 1, pattern_lines do + local first_col = pattern.tracks[track_idx].lines[line_idx].note_columns[1] + if not first_col.is_empty then + has_notes = true + break + end + end + + if not has_notes then + renoise.app():show_status("No notes on the first note column, doing nothing.") + print("No notes to process in Note Column 1.") + return + end + + print("Notes found in the first column. Proceeding.") + + -- Gather all notes and ensure NOTE OFF follows its corresponding note + local note_list = {} + local column_counter = 1 -- Tracks the current column for note placement + local last_column = 1 -- Tracks the column of the last note for NOTE OFF placement + + for line_idx = 1, pattern_lines do + local first_col = pattern.tracks[track_idx].lines[line_idx].note_columns[1] + + if not first_col.is_empty then + local note_copy = { + note_value = first_col.note_value, + instrument_value = first_col.instrument_value, + volume_value = first_col.volume_value, + panning_value = first_col.panning_value, + delay_value = first_col.delay_value, + } + + print("Processing line", line_idx, "note_value =", note_copy.note_value) + + if first_col.note_value == 120 then -- This is a NOTE OFF + -- Place NOTE OFF in the same column as the last note + table.insert(note_list, {line = line_idx, note = note_copy, target_col = last_column}) + print("NOTE OFF found on line", line_idx, "assigning to column", last_column) + else + -- Regular note: Place in the current column and increment column for next note + table.insert(note_list, {line = line_idx, note = note_copy, target_col = column_counter}) + print("Note found on line", line_idx, "assigning to column", column_counter) + last_column = column_counter -- Update last note's column + column_counter = (column_counter % num_columns) + 1 -- Move to the next column + end + + first_col:clear() -- Clear the original note + end + end + + print("Collected notes to move:", #note_list) + for i, note_data in ipairs(note_list) do + print("Note", i, "line =", note_data.line, "target_col =", note_data.target_col, "note_value =", note_data.note.note_value) + end + + -- Spread notes across the desired columns + for _, note_data in ipairs(note_list) do + local line = pattern.tracks[track_idx].lines[note_data.line] + local target_col = line.note_columns[note_data.target_col] + + -- Move the note or NOTE OFF to the target column + target_col.note_value = note_data.note.note_value + target_col.instrument_value = note_data.note.instrument_value + target_col.volume_value = note_data.note.volume_value + target_col.panning_value = note_data.note.panning_value + target_col.delay_value = note_data.note.delay_value + + -- Debugging: Show before and after movement + print(string.format( + "Moved note from line %d to column %d: original value = %d, new value = %d", + note_data.line, note_data.target_col, note_data.note.note_value, target_col.note_value + )) + end + + renoise.app():show_status("Notes have been spread across " .. num_columns .. " columns.") + print("Operation complete.") +end + +-- Helper function to format digits for shortcuts +local function formatDigits(min_digits, number) + return string.format("%0" .. tostring(min_digits) .. "d", number) +end + +-- Add keybindings for 2 to 12 note columns dynamically +for i = 2, 12 do + renoise.tool():add_keybinding {name="Global:Paketti:OctaMED Note Spread " .. formatDigits(2, i), invoke=function() NoteSpread(i) end} +end + + + + + +--NoteSpread(8) + +--[[ +for i=1,512 do +print ("renoise.tool():add_keybinding{name="Global:Paketti:Set Selected Sample BeatSync Lines to " .. i,invoke=function()SelectedSampleBeatSyncLine(i)end}") +end +]]-- + local vb = renoise.ViewBuilder() local dialog = nil @@ -69,7 +303,7 @@ end -- Add menu entry to show the dialog renoise.tool():add_menu_entry { - name = "Main Menu:Tools:Wacky Filter", + name = "Main Menu:Tools:Paketti..:Xperimental/Work in Progress:Wacky Filter", invoke = show_dialog } @@ -80,336 +314,62 @@ renoise.tool():add_menu_entry { -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 - - 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 - -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} - - - - - - - -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 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 - --- 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.") +function AutoAssignOutputs() + local song = renoise.song() + local instrument = song.selected_instrument + local samples = instrument.samples + local sample_device_chains = instrument.sample_device_chains + local available_outputs = sample_device_chains[1] + and sample_device_chains[1].available_output_routings + or {} + + -- Ensure sufficient output routings exist + if #available_outputs < 2 then + renoise.app():show_status("Not enough available output routings.") return end - -- 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 - - -- 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" + -- Determine the starting chain index based on pre-existing chains + local pre_existing_chains = #sample_device_chains + local start_chain_index = math.max(pre_existing_chains + 1, 1) + if pre_existing_chains >= 2 then + start_chain_index = 3 + elseif pre_existing_chains == 1 then + start_chain_index = 2 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] - - -- Copy basic properties - new_track.name=new_name - new_track.color=selected_track.color + -- Calculate the required number of chains (one per sample) + local required_chains = start_chain_index + #samples - 1 - -- 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) + -- Add new chains if necessary + for i = pre_existing_chains + 1, required_chains do + instrument:insert_sample_device_chain_at(i) end - -- Provide feedback to the user - renoise.app():show_status("Duplicated track '"..original_name.."' as '"..new_name.."'.") -end - --- Trigger the function -renoise.tool():add_keybinding{name="Global:Paketti:Duplicate Selected Track & Name",invoke=function() -duplicate_selected_track() end} - - - - - - - - + -- Assign output routings and name the chains + for i = 1, #samples do + local chain_index = start_chain_index + i - 1 + local routing_index = (i - 1) % (#available_outputs - 1) + 2 -- Skip "Current Track" + -- Fetch the chain + local chain = sample_device_chains[chain_index] + if not chain then + renoise.app():show_status("Failed to fetch FX chain at index: " .. tostring(chain_index)) + return + end + -- Assign output routing and name the chain + local routing_name = available_outputs[routing_index] + chain.output_routing = routing_name + chain.name = routing_name + end -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 + renoise.app():show_status("FX chains assigned and outputs routed successfully.") end -end -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} +--AutoAssignOutputs() @@ -832,9 +792,10 @@ local function add_menu_entries_and_keybindings() 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 } +renoise.tool():add_menu_entry { name = "Mixer:Paketti..:Open Track DSP Device & Instrument Loader...", invoke = function() show_paketti_device_chain_dialog() end } +renoise.tool():add_menu_entry { name = "DSP Device:Paketti..:Open Track DSP Device & Instrument Loader...", invoke = function() show_paketti_device_chain_dialog() end } +renoise.tool():add_menu_entry { name = "Main Menu:Tools:Paketti..:Paketti Track DSP Device & Instrument Loader...", invoke = function() show_paketti_device_chain_dialog() end } + @@ -920,12 +881,12 @@ function showXyPaddialog() end end -renoise.tool():add_menu_entry {name = "Main Menu:Tools:XY Pad Sound Mixer",invoke = function() showXyPaddialog() end} +renoise.tool():add_menu_entry {name = "Main Menu:Tools:Paketti..:Xperimental/Work in Progress:XY Pad Sound Mixer",invoke = function() showXyPaddialog() end} + ---[[ @@ -940,11 +901,11 @@ local active = false local loop_pairs = {} -- Scan the Master Track for all SB0/SBX pairs -local function analyze_loops() + +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] - loop_pairs = {} for line_idx, line in ipairs(master_track.lines) do @@ -1011,7 +972,7 @@ local function monitor_playback() end end end - +--]] -- Global Reset Function function reset_repeat_counts() if not monitoring_enabled then @@ -1092,27 +1053,26 @@ end -- Add Menu Entry renoise.tool():add_menu_entry { - name = "Main Menu:Tools:SBX Loop Playback", + name = "Main Menu:Tools:Paketti..:Xperimental/Work in Progress:SBx Loop Playback", invoke = show_dialog } -- Add Shortcut for Reset and Playback renoise.tool():add_keybinding { - name = "Global:Transport:Reset SBX and Start Playback", + 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() +--InitSBx() -]]-- @@ -2314,39 +2274,12 @@ function PakettiShiftSampleBuffer(knob_value) end end --- Adding MIDI mapping for shifting sample buffer upwards [Trigger] -renoise.tool():add_midi_mapping{name="Paketti:Rotate Sample Buffer Up x[Trigger]",invoke=function(message) - if message:is_trigger() then - PakettiShiftSampleBufferUpwards(1) -- Full shift on trigger - end -end} - --- Adding MIDI mapping for shifting sample buffer downwards [Trigger] -renoise.tool():add_midi_mapping{name="Paketti:Rotate Sample Buffer Down x[Trigger]",invoke=function(message) - if message:is_trigger() then - PakettiShiftSampleBufferDownwards(1) -- Full shift on trigger - end -end} - --- Adding MIDI mapping for shifting sample buffer upwards [Knob] -renoise.tool():add_midi_mapping{name="Paketti:Rotate Sample Buffer Up x[Knob]",invoke=function(message) - local knob_value = message.int_value / 127 -- Normalize knob value - PakettiShiftSampleBufferUpwards(knob_value) -end} - --- Adding MIDI mapping for shifting sample buffer downwards [Knob] -renoise.tool():add_midi_mapping{name="Paketti:Rotate Sample Buffer Down x[Knob]",invoke=function(message) - local knob_value = message.int_value / 127 -- Normalize knob value - PakettiShiftSampleBufferDownwards(knob_value) -end} - --- Adding MIDI mapping for shifting sample buffer upwards/downwards based on knob position -renoise.tool():add_midi_mapping{name="Paketti:Rotate Sample Buffer Up/Down x[Knob]",invoke=function(message) - PakettiShiftSampleBuffer(message.int_value) -end} - +renoise.tool():add_midi_mapping{name="Paketti:Rotate Sample Buffer Up x[Trigger]",invoke=function(message) if message:is_trigger() then PakettiShiftSampleBufferUpwards(1) end end} +renoise.tool():add_midi_mapping{name="Paketti:Rotate Sample Buffer Down x[Trigger]",invoke=function(message) if message:is_trigger() then PakettiShiftSampleBufferDownwards(1) end end} +renoise.tool():add_midi_mapping{name="Paketti:Rotate Sample Buffer Up x[Knob]",invoke=function(message) local knob_value = message.int_value / 127 PakettiShiftSampleBufferUpwards(knob_value) end} +renoise.tool():add_midi_mapping{name="Paketti:Rotate Sample Buffer Down x[Knob]",invoke=function(message) local knob_value = message.int_value / 127 PakettiShiftSampleBufferDownwards(knob_value) end} +renoise.tool():add_midi_mapping{name="Paketti:Rotate Sample Buffer Up/Down x[Knob]",invoke=function(message) PakettiShiftSampleBuffer(message.int_value) end} renoise.tool():add_keybinding{name="Sample Editor:Paketti:Rotate Sample Buffer Upwards",invoke=function() PakettiShiftSampleBufferUpwards(1) end} - renoise.tool():add_keybinding{name="Sample Editor:Paketti:Rotate Sample Buffer Downwards",invoke=function() PakettiShiftSampleBufferDownwards(1) end} @@ -2363,8 +2296,6 @@ renoise.tool():add_keybinding{name="Sample Editor:Paketti:Rotate Sample Buffer D - - --[[ local function randomizeSmatterEffectColumnCustom(effect_command) local song = renoise.song() @@ -2803,7 +2734,6 @@ renoise.tool():add_midi_mapping{name="Paketti:Toggle Mute Tracks",invoke=toggle_ - -------- -- Function to initialize selection if it is nil function PakettiImpulseTrackerShiftInitializeSelection() @@ -4020,7 +3950,7 @@ else end end end - -- hide dialog +-- hide dialog w.sample_record_dialog_is_visible = false else -- not recording. show dialog, start recording. @@ -4610,4 +4540,4 @@ renoise.tool():add_keybinding{name="Global:Paketti:Paketti Unison Generator", in renoise.tool():add_menu_entry{name="--Sample Navigator:Paketti..:Unison Generator", invoke=PakettiCreateUnisonSamples} 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} - +renoise.tool():add_menu_entry{name="--Main Menu:Tools:Paketti..:Unison Generator", invoke=PakettiCreateUnisonSamples} diff --git a/PakettiImpulseTracker.lua b/PakettiImpulseTracker.lua index a1271b1..87ca30c 100644 --- a/PakettiImpulseTracker.lua +++ b/PakettiImpulseTracker.lua @@ -271,6 +271,10 @@ function ImpulseTrackerStop() local t=renoise.song().transport if renoise.song().transport.playing == false then +if renoise.song().selected_line_index ~= 1 then +renoise.song().selected_line_index = 1 +return end + renoise.song().selected_sequence_index = 1 renoise.song().selected_line_index = 1 else @@ -278,7 +282,7 @@ t.follow_player=false t:panic() t.loop_pattern=false t.loop_block_enabled=false -renoise.song().selected_line_index = 1 +--renoise.song().selected_line_index = 1 end end @@ -630,6 +634,7 @@ end function ExpandSelection() local s = renoise.song() if s.selection_in_pattern == nil then + renoise.app():show_status("Nothing selected to Expand, doing nothing.") return else local sl = s.selection_in_pattern.start_line @@ -651,6 +656,7 @@ end end renoise.tool():add_keybinding{name="Pattern Editor:Paketti:Impulse Tracker ALT-F Expand Selection", invoke=function() ExpandSelection() end} +renoise.tool():add_keybinding{name="Pattern Editor:Paketti:Impulse Tracker ALT-F Expand Selection Twice", invoke=function() ExpandSelection() ExpandSelection() end} ----------------------------------------------------------------------------------------------- -------Protman's Shrink Selection function cpclsh_line(track, from_line, to_line) @@ -663,6 +669,7 @@ end function ShrinkSelection() local s = renoise.song() if s.selection_in_pattern == nil then + renoise.app():show_status("Nothing selected to Shrink, doing nothing.") return else local sl = s.selection_in_pattern.start_line @@ -682,6 +689,135 @@ function ShrinkSelection() end end renoise.tool():add_keybinding{name="Pattern Editor:Paketti:Impulse Tracker ALT-G Shrink Selection", invoke=function() ShrinkSelection() end} +renoise.tool():add_keybinding{name="Pattern Editor:Paketti:Impulse Tracker ALT-G Shrink Selection Twice", invoke=function() ShrinkSelection() ShrinkSelection() end} +-------------------------------------------------------- +-- Renamed helper function to cpclexrep_line +function cpclexrep_line(track, from_line, to_line) + local s = renoise.song() + local cur_pattern = s:pattern(s.selected_pattern_index) + local cur_track = cur_pattern:track(track) + + -- Copy from from_line to to_line + cur_track:line(to_line):copy_from(cur_track:line(from_line)) + + -- Clear from_line + cur_track:line(from_line):clear() + + -- Clear to_line + 1 only if it's within the valid range + if to_line + 1 <= s.selected_pattern.number_of_lines then + cur_track:line(to_line + 1):clear() + end +end + +function ExpandSelectionReplicate() + local s = renoise.song() + local currentLine = s.selected_line_index + + if s.selection_in_pattern == nil then + renoise.app():show_status("Nothing selected to Expand, doing nothing.") + return + end + + local sl = s.selection_in_pattern.start_line + local el = s.selection_in_pattern.end_line + local st = s.selection_in_pattern.start_track + local et = s.selection_in_pattern.end_track + local nl = s.selected_pattern.number_of_lines + + -- Calculate the original and new selection lengths + local original_length = el - sl + 1 + local new_end_line = el * 2 + if new_end_line > nl then + new_end_line = nl + end + + + + -- First pass: Expand the selection + for tr = st, et do + for l = el, sl, -1 do + if l ~= sl then + local new_line = (l * 2) - sl + if new_line <= nl then + cpclexrep_line(tr, l, new_line) + end + end + end + end + + -- Update selection to include expanded area + local expanded_length = new_end_line - sl + 1 + s.selection_in_pattern = {start_line=sl, start_track=st, end_track=et, end_line = new_end_line} +floodfill_with_selection() + renoise.app():show_status(string.format("Expanded and replicated selection from line %d to %d", sl, nl)) +end + + + + +renoise.tool():add_keybinding{name="Pattern Editor:Paketti:Impulse Tracker ALT-F Expand Selection Replicate", invoke=function() ExpandSelectionReplicate() end} +----------------------------------------------------------------------------------------------- +-------Protman's Shrink Selection +-- Renamed helper function to cpclshrep_line +function cpclshrep_line(track, from_line, to_line) + local s = renoise.song() + local cur_pattern = s:pattern(s.selected_pattern_index) + local cur_track = cur_pattern:track(track) + + -- Copy from from_line to to_line + cur_track:line(to_line):copy_from(cur_track:line(from_line)) + + -- Clear from_line + cur_track:line(from_line):clear() + + -- Clear from_line + 1 only if it's within the valid range + if from_line + 1 <= s.selected_pattern.number_of_lines then + cur_track:line(from_line + 1):clear() + end +end + +function ShrinkSelectionReplicate() + local s = renoise.song() + local currentLine = s.selected_line_index + + if s.selection_in_pattern == nil then + renoise.app():show_status("Nothing selected to Shrink, doing nothing.") + return + else + local sl = s.selection_in_pattern.start_line + local el = s.selection_in_pattern.end_line + local st = s.selection_in_pattern.start_track + local et = s.selection_in_pattern.end_track + local nl = s.selected_pattern.number_of_lines + + -- Remove the problematic line index setting + -- renoise.song().selected_line_index = el + 1 -- This was causing the error + -- renoise.song().selected_line_index = currentLine + + for tr = st, et do + for l = sl, el, 2 do + if l ~= sl then + -- Calculate new_line as an integer + local new_line = math.floor(l / 2 + sl / 2) + + -- Ensure new_line is within valid range + if new_line >= 1 and new_line <= nl then + cpclshrep_line(tr, l, new_line) + end + end + end + end + + -- Update selection to include shrunken area and trigger replication + local new_end_line = math.min(math.floor((el - sl) / 2) + sl, nl) + s.selection_in_pattern = {start_line=sl, start_track=st, end_track=et, end_line=new_end_line} + floodfill_with_selection() + renoise.app():show_status(string.format("Shrank and replicated selection from line %d to %d", sl, nl)) + end +end + + +renoise.tool():add_keybinding{name="Pattern Editor:Paketti:Impulse Tracker ALT-G Shrink Selection Replicate", invoke=function() ShrinkSelectionReplicate() end} -------------------------------------------------------- --Protman's Set Instrument function SetInstrument() @@ -1966,7 +2102,7 @@ end -- Add keybinding to trigger the functionality renoise.tool():add_keybinding { - name = "Global:Tools:ALT-X *2 (Interpolate and Clear Effect Columns)", + name = "Pattern Editor:Paketti:Impulse Tracker ALT-X *2 (Interpolate&Clear Effect Columns)", invoke = function() alt_x_functionality() end diff --git a/PakettiLoadPlugins.lua b/PakettiLoadPlugins.lua index 7d5e4db..b251db6 100644 --- a/PakettiLoadPlugins.lua +++ b/PakettiLoadPlugins.lua @@ -529,6 +529,6 @@ loadFromPreferences() -- Register the menu entry to show the plugin list dialog renoise.tool():add_menu_entry{ - name="--Main Menu:Tools:Paketti..:Plugins/Devices..:Load Plugins Dialog", + name="--Main Menu:Tools:Paketti..:Plugins/Devices..:Load Plugins...", invoke=function() showPluginListDialog() end } diff --git a/PakettiLoaders.lua b/PakettiLoaders.lua index 58d1003..1ce5a4f 100644 --- a/PakettiLoaders.lua +++ b/PakettiLoaders.lua @@ -456,7 +456,14 @@ invoke=function() loadnative("Audio/Effects/Native/*Hydra") end} renoise.tool():add_keybinding{name="Global:Track Devices:Load Renoise *Instr. Automation", invoke=function() loadnative("Audio/Effects/Native/*Instr. Automation") end} renoise.tool():add_keybinding{name="Global:Track Devices:Load Renoise *Instr. Macros", -invoke=function() loadnative("Audio/Effects/Native/*Instr. Macros") end} +invoke=function() +if renoise.app().window.active_lower_frame == 2 then +loadnative("Audio/Effects/Native/*Instr. Macros") +renoise.app().window.active_lower_frame = 2 +else +loadnative("Audio/Effects/Native/*Instr. Macros") +end +end} renoise.tool():add_keybinding{name="Global:Track Devices:Load Renoise *Instr. MIDI Control", invoke=function() loadnative("Audio/Effects/Native/*Instr. MIDI Control") end} renoise.tool():add_keybinding{name="Global:Track Devices:Load Renoise *Key Tracker", @@ -2963,4 +2970,168 @@ end 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} +--------- +-- Globals for tracking mode and open editors +local auto_open_mode = false +local current_track_index = nil + +-- Function to open external editors on a track +local function PakettiHandleTrackDevices(track) + if not track or #track.devices == 0 then return end + + for i=2, #track.devices do -- Skip Master Device + local device = track.devices[i] + if device.external_editor_available then + device.external_editor_visible = true + end + end +end + +-- Function to close only the editors that are open +local function PakettiCloseTrackEditors(track) + if not track or #track.devices == 0 then return end + + for i=2, #track.devices do -- Skip Master Device + local device = track.devices[i] + if device.external_editor_available and device.external_editor_visible then + device.external_editor_visible = false + end + end +end + +-- Called when the track index changes +local function PakettiTrackIndexChanged() + if not auto_open_mode then return end + + local new_track = renoise.song().selected_track + local new_track_index = renoise.song().selected_track_index + + -- Close editors from the previous track + if current_track_index and current_track_index ~= new_track_index then + local prev_track = renoise.song().tracks[current_track_index] + PakettiCloseTrackEditors(prev_track) + end + + -- Open editors for the new track + PakettiHandleTrackDevices(new_track) + + -- Update the current track index + current_track_index = new_track_index +end + +-- Toggle the automatic mode +function PakettiAutomaticallyOpenSelectedTrackDeviceExternalEditorsToggleAutoMode() + auto_open_mode = not auto_open_mode + + if auto_open_mode then + renoise.app():show_status("Automatically Open Selected Track Devices Toggled ON") + + -- Initialize the current track index and open its devices + current_track_index = renoise.song().selected_track_index + PakettiHandleTrackDevices(renoise.song().selected_track) + + -- Add notifier for track index changes + if not renoise.song().selected_track_index_observable:has_notifier(PakettiTrackIndexChanged) then + renoise.song().selected_track_index_observable:add_notifier(PakettiTrackIndexChanged) + end + else + renoise.app():show_status("Automatically Open Selected Track Devices Toggled OFF") + + -- Remove the notifier (stop tracking track changes) + if renoise.song().selected_track_index_observable:has_notifier(PakettiTrackIndexChanged) then + renoise.song().selected_track_index_observable:remove_notifier(PakettiTrackIndexChanged) + end + + -- Do NOT close any currently open editors + current_track_index = nil + end +end + + +renoise.tool():add_menu_entry {name = "Main Menu:Tools:Paketti..:Automatically Open Selected Track Device Editors",invoke = PakettiAutomaticallyOpenSelectedTrackDeviceExternalEditorsToggleAutoMode} +renoise.tool():add_keybinding {name = "Global:Paketti:Toggle Auto-Open Track Devices",invoke = PakettiAutomaticallyOpenSelectedTrackDeviceExternalEditorsToggleAutoMode} +renoise.tool():add_midi_mapping {name = "Paketti:Toggle Auto-Open Track Devices",invoke = PakettiAutomaticallyOpenSelectedTrackDeviceExternalEditorsToggleAutoMode} + + + + + +------- +function XOPointCloud() + local au_path = "Audio/Generators/AU/aumu:xAXO:xlnA" + local vst_path = "Audio/Generators/VST/XO" + local vst3_path = "Audio/Generators/VST3/ABCDEF019182FAEB786C6E417841584F" + + local available_plugins = renoise.song().selected_instrument.plugin_properties.available_plugins + + -- Helper function to check if a plugin exists in the available plugins + local function is_plugin_available(path) + for _, plugin in ipairs(available_plugins) do + if plugin == path then + return true + end + end + return false + end + + -- Determine which plugin format to load + local plugin_to_load = nil + + if is_plugin_available(au_path) then + plugin_to_load = au_path + elseif is_plugin_available(vst_path) then + plugin_to_load = vst_path + elseif is_plugin_available(vst3_path) then + plugin_to_load = vst3_path + else + renoise.app():show_status("You don't have XO available as AudioUnit, VST, or VST3, doing nothing.") + return + end + + -- Check existing instruments to see if the plugin is already loaded + for i = 1, #renoise.song().instruments do + local instrument = renoise.song().instruments[i] + local plugin_device = instrument.plugin_properties.plugin_device + + if plugin_device ~= nil and + (plugin_device.name == "AU: XLN Audio: XO" or + plugin_device.name == "VST: XLN Audio: XO" or + plugin_device.name == "VST3: XLN Audio: XO") then + + -- Toggle the external editor visibility + if plugin_device.external_editor_visible ~= false then + plugin_device.external_editor_visible = false + else + plugin_device.external_editor_visible = true + end + return + end + end + + -- Load the plugin using the provided path + loadPlugin(plugin_to_load) + + -- TODO: Find the device and open the external editor + for i = 1, #renoise.song().instruments do + local instrument = renoise.song().instruments[i] + local plugin_device = instrument.plugin_properties.plugin_device + + if plugin_device ~= nil and + (plugin_device.name == "AU: XLN Audio: XO" or + plugin_device.name == "VST: XLN Audio: XO" or + plugin_device.name == "VST3: XLN Audio: XO") then + + -- Open the external editor + plugin_device.external_editor_visible = true + renoise.app():show_status("Opened external editor for XO plugin.") + return + end + end + + renoise.app():show_status("Failed to find XO plugin after loading. Something might have gone wrong.") +end + +renoise.tool():add_keybinding{name="Global:Paketti:Show XO Plugin External Editor",invoke = function() XOPointCloud() end} +renoise.tool():add_menu_entry{name="Instrument Box:Paketti..:Show XO Plugin External Editor",invoke = function() XOPointCloud() end} +renoise.tool():add_menu_entry{name="Main Menu:Tools:Paketti..:Plugins/Devices..:Show XO Plugin External Editor",invoke = function() XOPointCloud() end} diff --git a/PakettiMainMenuEntries.lua b/PakettiMainMenuEntries.lua index 5ca6958..e87ae9b 100644 --- a/PakettiMainMenuEntries.lua +++ b/PakettiMainMenuEntries.lua @@ -13,6 +13,8 @@ local donations = { {"2024-09-06", "Casiino", 8.63, {"Instagram", "https://www.instagram.com/elcasiino/"}}, {"2024-09-19", "Casiino", 12.87, {"Instagram", "https://www.instagram.com/elcasiino/"}}, {"2024-10-25", "grymmjack", 9.11, {"YouTube", "https://youtube.com/grymmjack"}, {"Soundcloud","https://soundcloud.com/grymmjack"},{"GitHub","https://github.com/grymmjack"}}, + {"2024-12-19", "c0der9", 4.23, {"Codingplace.de","https://codingplace.de"}}, + {"2024-12-25", "tkna | TAKAHASHI Naoki", 100.00, {"tkna", "https://tkna.work"}, {"1/a", "https://one-over-a.com"}, {"Ittteki", "https://ittteki.com"}} } local total_amount = 0 @@ -29,13 +31,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, NPC1, Vulkan 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, Dancing Ponies 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 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. And Dancing Ponies for giving the idea for Timestretch and for Paketti Beat Structure Generator."}, vb:horizontal_aligner{mode = "distribute", vb:text{text = "Talk about Paketti", style = "strong", font = "bold"}}, vb:horizontal_aligner{ @@ -54,7 +56,7 @@ vb:horizontal_aligner{mode="distribute", vb:text{text = "Donations:", style = "strong", font = "bold"}}, vb:row{ vb:text{text = "Date", width = 70}, - vb:text{text = "Person", width = 100}, + vb:text{text = "Person", width = 150}, vb:text{text = "Amount", width = 50}, vb:text{text = "Links", width = 100} }, @@ -62,7 +64,7 @@ vb:horizontal_aligner{mode="distribute", -- Manually create and add each donation row vb:row{ vb:text{text = donations[0+1][1], width = 70}, - vb:text{text = donations[0+1][2], width = 100}, + vb:text{text = donations[0+1][2], width = 150}, vb:text{text = string.format("%.2f", donations[0+1][3]).."€", width = 50, font = "bold"}, vb:horizontal_aligner{mode = "left", vb:button{text = donations[0+1][4][1], notifier = function() renoise.app():open_url(donations[0+1][4][2]) end}, @@ -72,7 +74,7 @@ vb:horizontal_aligner{mode="distribute", }, vb:row{ vb:text{text = donations[1+1][1], width = 70}, - vb:text{text = donations[1+1][2], width = 100}, + vb:text{text = donations[1+1][2], width = 150}, vb:text{text = string.format("%.2f", donations[1+1][3]).."€", width = 50, font = "bold"}, vb:horizontal_aligner{mode = "left", vb:button{text = donations[1+1][4][1], notifier = function() renoise.app():open_url(donations[1+1][4][2]) end} @@ -80,7 +82,7 @@ vb:horizontal_aligner{mode="distribute", }, vb:row{ vb:text{text = donations[2+1][1], width = 70}, - vb:text{text = donations[2+1][2], width = 100}, + vb:text{text = donations[2+1][2], width = 150}, vb:text{text = string.format("%.2f", donations[2+1][3]).."€", width = 50, font = "bold"}, vb:horizontal_aligner{mode = "left", vb:button{text = donations[2+1][4][1], notifier = function() renoise.app():open_url(donations[2+1][4][2]) end} @@ -88,7 +90,7 @@ vb:horizontal_aligner{mode="distribute", }, vb:row{ vb:text{text = donations[3+1][1], width = 70}, - vb:text{text = donations[3+1][2], width = 100}, + vb:text{text = donations[3+1][2], width = 150}, vb:text{text = string.format("%.2f", donations[3+1][3]).."€", width = 50, font = "bold"}, vb:horizontal_aligner{mode = "left", vb:button{text = donations[3+1][4][1], notifier = function() renoise.app():open_url(donations[3+1][4][2]) end} @@ -96,7 +98,7 @@ vb:horizontal_aligner{mode="distribute", }, vb:row{ vb:text{text = donations[4+1][1], width = 70}, - vb:text{text = donations[4+1][2], width = 100}, + vb:text{text = donations[4+1][2], width = 150}, vb:text{text = string.format("%.2f", donations[4+1][3]).."€", width = 50, font = "bold"}, vb:horizontal_aligner{mode = "left", vb:button{text = donations[4+1][4][1], notifier = function() renoise.app():open_url(donations[4+1][4][2]) end} @@ -104,7 +106,7 @@ vb:horizontal_aligner{mode="distribute", }, vb:row{ vb:text{text = donations[5+1][1], width = 70}, - vb:text{text = donations[5+1][2], width = 100}, + vb:text{text = donations[5+1][2], width = 150}, vb:text{text = string.format("%.2f", donations[5+1][3]).."€", width = 50, font = "bold"}, vb:horizontal_aligner{mode = "left", vb:button{text = donations[5+1][4][1], notifier = function() renoise.app():open_url(donations[5+1][4][2]) end} @@ -112,32 +114,50 @@ vb:horizontal_aligner{mode="distribute", }, vb:row{ vb:text{text = donations[6+1][1], width = 70}, - vb:text{text = donations[6+1][2], width = 100}, + vb:text{text = donations[6+1][2], width = 150}, vb:text{text = string.format("%.2f", donations[6+1][3]).."€", width = 50, font = "bold"} }, vb:row{ vb:text{text = donations[7+1][1], width = 70}, - vb:text{text = donations[7+1][2], width = 100}, + vb:text{text = donations[7+1][2], width = 150}, vb:text{text = string.format("%.2f", donations[7+1][3]).."€", width = 50, font = "bold"}, vb:horizontal_aligner{mode = "left", vb:button{text = donations[7+1][4][1], notifier = function() renoise.app():open_url(donations[7+1][4][2]) end}} }, vb:row{ vb:text{text = donations[8+1][1], width = 70}, - vb:text{text = donations[8+1][2], width = 100}, + vb:text{text = donations[8+1][2], width = 150}, vb:text{text = string.format("%.2f", donations[8+1][3]).."€", width = 50, font = "bold"}, vb:horizontal_aligner{mode = "left", vb:button{text = donations[8+1][4][1], notifier = function() renoise.app():open_url(donations[8+1][4][2]) end}} }, vb:row{ vb:text{text = donations[9+1][1], width = 70}, - vb:text{text = donations[9+1][2], width = 100}, + vb:text{text = donations[9+1][2], width = 150}, vb:text{text = string.format("%.2f", donations[9+1][3]).."€", width = 50, font = "bold"}, vb:horizontal_aligner{mode = "left", vb:button{text = donations[9+1][4][1], notifier = function() renoise.app():open_url(donations[9+1][4][2]) end}, vb:button{text = donations[9+1][5][1], notifier = function() renoise.app():open_url(donations[9+1][5][2]) end}, vb:button{text = donations[9+1][6][1], notifier = function() renoise.app():open_url(donations[9+1][6][2]) end}} - }, + }, + vb:row{ + vb:text{text = donations[10+1][1], width = 70}, + vb:text{text = donations[10+1][2], width = 150}, + vb:text{text = string.format("%.2f", donations[10+1][3]).."€", width = 50, font = "bold"}, + vb:horizontal_aligner{mode = "left", + vb:button{text = donations[10+1][4][1], notifier = function() renoise.app():open_url(donations[10+1][4][2]) end}} + }, + vb:row{ + vb:text{text = donations[11+1][1], width = 70}, + vb:text{text = donations[11+1][2], width = 150}, + vb:text{text = string.format("%.2f", donations[11+1][3]).."€", width = 50, font = "bold"}, + vb:horizontal_aligner{mode = "left", + vb:button{text = donations[11+1][4][1], notifier = function() renoise.app():open_url(donations[11+1][4][2]) end}, + vb:button{text = donations[11+1][5][1], notifier = function() renoise.app():open_url(donations[11+1][5][2]) end}, + vb:button{text = donations[11+1][6][1], notifier = function() renoise.app():open_url(donations[11+1][6][2]) end}} + }, + + vb:space{height = 5}, vb:horizontal_aligner{mode="distribute", vb:text{text = "Total: " .. string.format("%.2f", total_amount) .. "€", font = "bold"}} @@ -146,11 +166,12 @@ vb:horizontal_aligner{mode="distribute", vb:horizontal_aligner{ mode = "distribute", - vb:button{text = "Purchase Paketti on Gumroad", notifier = function() renoise.app():open_url("https://lackluster.gumroad.com/l/paketti") end}, + vb:button{text = "Become a Patron at Patreon", notifier = function() renoise.app():open_url("https://patreon.com/esaruoho") end}, vb:button{text = "Send a donation via PayPal", notifier = function() renoise.app():open_url("https://www.paypal.com/donate/?hosted_button_id=PHZ9XDQZ46UR8") end}, vb:button{text = "Support via Ko-Fi", notifier = function() renoise.app():open_url("https://ko-fi.com/esaruoho") end}, + vb:button{text = "Become a GitHub Sponsor", notifier = function() renoise.app():open_url("https://github.com/sponsors/esaruoho") end}, + vb:button{text = "Onetime purchase from Gumroad", notifier=function() renoise.app():open_url("https://lackluster.gumroad.com/l/paketti") end}, vb:button{text = "Purchase Music via Bandcamp", notifier = function() renoise.app():open_url("http://lackluster.bandcamp.com/") end}, - vb:button{text = "GitHub Sponsors", notifier = function() renoise.app():open_url("https://github.com/sponsors/esaruoho") end}, vb:button{text = "Linktr.ee", notifier = function() renoise.app():open_url("https://linktr.ee/esaruoho") end} }, @@ -182,8 +203,8 @@ end renoise.tool():add_menu_entry{name = "--Main Menu:Tools:Paketti..:!!About..:About Paketti/Donations...", invoke = function() show_about_dialog() end} renoise.tool():add_menu_entry{name="--Main Menu:Tools:Paketti..:!Preferences..:Open Paketti Path",invoke=function() renoise.app():open_path(renoise.tool().bundle_path)end} -renoise.tool():add_menu_entry{name="Main Menu:Tools:Paketti..:Plugins/Devices..:Debug..:Inspect Plugin",invoke=function() inspectPlugin() end} -renoise.tool():add_menu_entry{name="Main Menu:Tools:Paketti..:Plugins/Devices..:Debug..:Inspect Device in Slot 2",invoke=function() inspectEffect() end} +renoise.tool():add_menu_entry{name="Main Menu:Tools:Paketti..:Plugins/Devices..:Debug..:Inspect Plugin (Console)",invoke=function() inspectPlugin() end} +renoise.tool():add_menu_entry{name="Main Menu:Tools:Paketti..:Plugins/Devices..:Debug..:Inspect Device in Slot 2 (Console)",invoke=function() inspectEffect() end} renoise.tool():add_menu_entry{name = "--Main Menu:Tools:Paketti..:Pattern Editor..:Random BPM (60-180)",invoke = function() local bpmList = {80, 100, 115, 123, 128, 132, 135, 138, 160} local currentBPM = renoise.song().transport.bpm @@ -212,34 +233,33 @@ renoise.tool():add_menu_entry{name = "--Main Menu:Tools:Paketti..:Pattern Editor --renoise.song().transport.bpm=math.random(60,180) end} renoise.tool():add_menu_entry{name="Main Menu:Tools:Paketti..:Pattern Editor..:Write Current BPM&LPB to Master column",invoke=function() write_bpm() end} -renoise.tool():add_menu_entry{name="--Main Menu:Tools:Paketti..:Pattern Editor..:Effect Column CheatSheet Dialog", invoke=function() CheatSheet() end} +renoise.tool():add_menu_entry{name="--Main Menu:Tools:Paketti..:Paketti Effect Column CheatSheet...", invoke=function() CheatSheet() end} -------- Plugins/Devices --- Adding menu entries for listing available plugins by type -renoise.tool():add_menu_entry{name="Main Menu:Tools:Paketti..:Plugins/Devices..:Load Devices Dialog", invoke=function() +renoise.tool():add_menu_entry{name="Main Menu:Tools:Paketti..:Plugins/Devices..:Load Devices...", invoke=function() showDeviceListDialog() end} -renoise.tool():add_menu_entry{name="--Main Menu:Tools:Paketti..:Plugins/Devices..:Debug..:List Available VST Plugins", +renoise.tool():add_menu_entry{name="--Main Menu:Tools:Paketti..:Plugins/Devices..:Debug..:List Available VST Plugins (Console)", invoke=function() listByPluginType("VST") end} -renoise.tool():add_menu_entry{name="Main Menu:Tools:Paketti..:Plugins/Devices..:Debug..:List Available AU Plugins", +renoise.tool():add_menu_entry{name="Main Menu:Tools:Paketti..:Plugins/Devices..:Debug..:List Available AU Plugins (Console)", invoke=function() listByPluginType("AU") end} -renoise.tool():add_menu_entry{name="Main Menu:Tools:Paketti..:Plugins/Devices..:Debug..:List Available VST3 Plugins", +renoise.tool():add_menu_entry{name="Main Menu:Tools:Paketti..:Plugins/Devices..:Debug..:List Available VST3 Plugins (Console)", invoke=function() listByPluginType("VST3") end} -- Adding menu entries for listing available devices (effects) by type -renoise.tool():add_menu_entry{name="--Main Menu:Tools:Paketti..:Plugins/Devices..:Debug..:List Available VST Effects", +renoise.tool():add_menu_entry{name="--Main Menu:Tools:Paketti..:Plugins/Devices..:Debug..:List Available VST Effects (Console)", invoke=function() listDevicesByType("VST") end} -renoise.tool():add_menu_entry{name="Main Menu:Tools:Paketti..:Plugins/Devices..:Debug..:List Available AU Effects", +renoise.tool():add_menu_entry{name="--Main Menu:Tools:Paketti..:Plugins/Devices..:Debug..:List Available AU Effects (Console)", invoke=function() listDevicesByType("AU") end} -renoise.tool():add_menu_entry{name="Main Menu:Tools:Paketti..:Plugins/Devices..:Debug..:List Available VST3 Effects", +renoise.tool():add_menu_entry{name="Main Menu:Tools:Paketti..:Plugins/Devices..:Debug..:List Available VST3 Effects (Console)", invoke=function() listDevicesByType("VST3") end} -renoise.tool():add_menu_entry{name="--Main Menu:Tools:Paketti..:Plugins/Devices..:Debug..:Dump VST/VST3/AU/Native Effects to Console", invoke=function() +renoise.tool():add_menu_entry{name="--Main Menu:Tools:Paketti..:Plugins/Devices..:Debug..:Dump VST/VST3/AU/Native Effects (Console)", invoke=function() local devices=renoise.song().tracks[renoise.song().selected_track_index].available_devices for key, value in ipairs (devices) do print(key, value) end end} -renoise.tool():add_menu_entry{name="---Main Menu:Tools:Paketti..:Plugins/Devices..:Debug..:Available Routings for Track",invoke=function() showAvailableRoutings() end} +renoise.tool():add_menu_entry{name="---Main Menu:Tools:Paketti..:Plugins/Devices..:Debug..:Available Routings for Track...",invoke=function() showAvailableRoutings() end} -- Function to create and show the dialog with a text field. function squigglerdialog() @@ -257,7 +277,7 @@ function squigglerdialog() end renoise.tool():add_keybinding{name="Global:Paketti:∿ Squiggly Sinewave to Clipboard (macOS)", invoke=function() squigglerdialog() end} -renoise.tool():add_menu_entry{name="Main Menu:Tools:Paketti..:Plugins/Devices..:Debug..:∿ Squiggly Sinewave to Clipboard", invoke=function() squigglerdialog() end} +renoise.tool():add_menu_entry{name="Main Menu:Tools:Paketti..:Plugins/Devices..:Debug..:∿ Squiggly Sinewave to Clipboard...", invoke=function() squigglerdialog() end} ---------- local vb = renoise.ViewBuilder() @@ -267,7 +287,7 @@ local function create_paketti_dialog() local dialog_content = vb:column{margin=10, vb:column{style="group",margin=5, vb:row{ - vb:button{text="About Paketti/Donations...", width=50, notifier=function() show_about_dialog() end}, + vb:button{text="About Paketti/Donations...", width=50, notifier=function() show_about_dialog() end}, vb:button{text="Theme Selector", width=120, notifier=function() pakettiThemeSelectorDialogShow() end}, vb:button{text="Gater", width=80, notifier=function() local max_rows = renoise.song().selected_pattern.number_of_lines @@ -281,47 +301,29 @@ local function create_paketti_dialog() vb:button{text="MIDI Populator", width=100, notifier=function() generaMIDISetupShowCustomDialog() end}, vb:button{text="KeyBindings", width=50, notifier=function() showPakettiKeyBindingsDialog() end}, vb:button{text="Midi Mappings", width=50, notifier=function() show_midi_mappings_dialog() end}, - vb:button{text="Audio Processing", width=50, notifier=function() - PakettiAudioProcessingToolsDialogShow() end }, - -- vb:button{text="Strip Silence", width=50, notifier=function() - -- PakettiStripSilenceShowThresholdDialog() end}, - vb:button{text="eSpeak TTS", width=50, notifier=function() - PakettieSpeakToggleDialog() end }, - vb:button{text="Coluga", width=50, notifier=function() - PakettiColugaShowDialog() end }, - vb:button{text="Output Routings", width=50, notifier=function() - trackOutputRoutingsGUI_create() end }, - vb:button{text="Convolver Dialog", width=50, notifier=function() - show_convolver_selection_dialog() end }}, + vb:button{text="Audio Processing", width=50, notifier=function() PakettiAudioProcessingToolsDialogShow() end }, + vb:button{text="eSpeak TTS", width=50, notifier=function() PakettieSpeakToggleDialog() end }, + vb:button{text="Coluga", width=50, notifier=function() PakettiColugaShowDialog() end }, + vb:button{text="Output Routings", width=50, notifier=function() trackOutputRoutingsGUI_create() end }, + vb:button{text="Convolver Dialog", width=50, notifier=function() show_convolver_selection_dialog() end }}, vb:row{ - vb:button{text="Oblique Strategies", width=50, notifier=function() - create_oblique_strategies_dialog() - end}, - vb:button{text="Native/VST/VST3/AU/LADSPA/DSSI/ Devices", width=50, notifier=function() showDeviceListDialog() - end}, - vb:button{text="VST/VST3/AU Plugins", width=50, notifier=function() - showPluginListDialog() end}, - vb:button{text="Randomize Plugins/Devices", width=50, notifier=function() - openCombinedRandomizerDialog() end}, - vb:button{text="Configure Launch App Selection/Paths", width=50, notifier=function() - show_app_selection_dialog() end}, - vb:button{text="Renoise KeyBindings", width=50, notifier=function() showRenoiseKeyBindingsDialog()end}, --- vb:button{text="Move Beginning Silence to End", width=50, notifier=function() PakettiMoveSilenceShowDialog() end}, - vb:button{text="Track Renamer", width=50, notifier=function() PakettiTrackRenamerDialog() end}, - vb:button{text="Track Dater / Titler", width=50, notifier=function() PakettiTrackDaterTitlerDialog() end}}, vb:row{ - vb:button{text="Paketti Preferences", width=50, notifier=function() - show_paketti_preferences() end}, - vb:button{text="Squiggler", width=50, notifier=function() squigglerdialog() end}, - vb:button{text="Paketti Groovebox 8120", width=50, notifier=function() if dialog and dialog.visible then + vb:button{text="Oblique Strategies", width=50, notifier=function() create_oblique_strategies_dialog() end}, + vb:button{text="Native/VST/VST3/AU/LADSPA/DSSI/ Devices", width=50, notifier=function() showDeviceListDialog() end}, + vb:button{text="VST/VST3/AU Plugins", width=50, notifier=function() showPluginListDialog() end}, + vb:button{text="Randomize Plugins/Devices", width=50, notifier=function() openCombinedRandomizerDialog() end}, + vb:button{text="Configure Launch App Selection/Paths", width=50, notifier=function() show_app_selection_dialog() end}, + vb:button{text="Renoise KeyBindings", width=50, notifier=function() showRenoiseKeyBindingsDialog()end}, + vb:button{text="Track Renamer", width=50, notifier=function() PakettiTrackRenamerDialog() end}, + vb:button{text="Track Dater / Titler", width=50, notifier=function() PakettiTrackDaterTitlerDialog() end}}, vb:row{ + vb:button{text="Paketti Preferences", width=50, notifier=function() show_paketti_preferences() end}, + vb:button{text="Squiggler", width=50, notifier=function() squigglerdialog() end}, + vb:button{text="Paketti Groovebox 8120", width=50, notifier=function() if dialog and dialog.visible then dialog:close() dialog = nil rows = {} - else PakettiEightSlotsByOneTwentyDialog() end - end} + else PakettiEightSlotsByOneTwentyDialog() end end} }}} - - return dialog_content end @@ -340,23 +342,18 @@ renoise.tool():add_keybinding{name="Global:Paketti:Toggle Paketti Dialog of Dial renoise.tool():add_menu_entry{name="Main Menu:Tools:Paketti..:Paketti Dialog of Dialogs...",invoke=function() toggle_paketti_dialog() end} renoise.tool():add_menu_entry{name="--Main Menu:Tools:Paketti..:Paketti New Song Dialog...", invoke=function() show_new_song_dialog() end } -renoise.tool():add_menu_entry{name = "Main Menu:Tools:Paketti..:Paketti Track Dater & Titler Dialog...", invoke = function() PakettiTrackDaterTitlerDialog() end} - -renoise.tool():add_menu_entry { name = "Main Menu:Tools:Paketti..:Paketti Theme Selector Dialog...", invoke = pakettiThemeSelectorDialogShow } -renoise.tool():add_menu_entry{name="Main Menu:Tools:Paketti..:Paketti Gater Dialog...",invoke=function() +renoise.tool():add_menu_entry{name = "Main Menu:Tools:Paketti..:Paketti Track Dater & Titler...", invoke = function() PakettiTrackDaterTitlerDialog() end} +renoise.tool():add_menu_entry { name = "Main Menu:Tools:Paketti..:Paketti Theme Selector...", invoke = pakettiThemeSelectorDialogShow } +renoise.tool():add_menu_entry{name="Main Menu:Tools:Paketti..:Paketti Gater...",invoke=function() local max_rows = renoise.song().selected_pattern.number_of_lines if renoise.song() then pakettiGaterDialog() renoise.app().window.active_middle_frame = renoise.ApplicationWindow.MIDDLE_FRAME_PATTERN_EDITOR end end} -renoise.tool():add_menu_entry{name="--Main Menu:Tools:Paketti..:Paketti MIDI Populator Dialog...",invoke=function() generaMIDISetupShowCustomDialog() end} -renoise.tool():add_menu_entry{name="Main Menu:Tools:Paketti..:Track Routings Dialog...",invoke=function() trackOutputRoutingsGUI_create() end} -renoise.tool():add_menu_entry{name="Main Menu:Tools:Paketti..:Oblique Strategies Dialog...",invoke=function() create_oblique_strategies_dialog() end} -renoise.tool():add_menu_entry{name="Main Menu:Tools:Paketti..:Paketti Track Renamer Dialog...",invoke=function() PakettiTrackRenamerDialog() end} - - -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:Audio Processing Tools Dialog...", invoke = function() PakettiAudioProcessingToolsDialogShow() end} - - +renoise.tool():add_menu_entry{name="--Main Menu:Tools:Paketti..:Paketti MIDI Populator...",invoke=function() generaMIDISetupShowCustomDialog() end} +renoise.tool():add_menu_entry{name="Main Menu:Tools:Paketti..:Track Routings...",invoke=function() trackOutputRoutingsGUI_create() end} +renoise.tool():add_menu_entry{name="Main Menu:Tools:Paketti..:Oblique Strategies...",invoke=function() create_oblique_strategies_dialog() end} +renoise.tool():add_menu_entry{name="Main Menu:Tools:Paketti..:Paketti Track Renamer...",invoke=function() PakettiTrackRenamerDialog() end} +renoise.tool():add_menu_entry{name="Main Menu:Tools:Paketti..:Paketti eSpeak Text-to-Speech...",invoke=function()PakettieSpeakToggleDialog()end} +renoise.tool():add_menu_entry{name="Main Menu:Tools:Paketti..:Xperimental/Work in Progress:Audio Processing Tools...", invoke = function() PakettiAudioProcessingToolsDialogShow() end} diff --git a/PakettiMidi.lua b/PakettiMidi.lua index f07e05d..22c923f 100644 --- a/PakettiMidi.lua +++ b/PakettiMidi.lua @@ -1264,7 +1264,7 @@ function record_midi_value(value) local time = line -- Time in pattern lines -- Create or modify an automation point at the specified time envelope:add_point_at(time, clamped_value) - print("Added automation point at time: " .. time .. " with value: " .. tostring(clamped_value)) +-- print("Added automation point at time: " .. time .. " with value: " .. tostring(clamped_value)) end renoise.app():show_status("Automation points written to cleared selection from line " .. start_line .. " to line " .. end_line) @@ -1285,7 +1285,7 @@ function record_midi_value(value) local time = line -- Time in pattern lines -- Create or modify an automation point at the specified time envelope:add_point_at(time, clamped_value) - print("Added automation point at time: " .. time .. " with value: " .. tostring(clamped_value)) +-- print("Added automation point at time: " .. time .. " with value: " .. tostring(clamped_value)) end renoise.app():show_status("Automation points written to cleared selection from line " .. start_line .. " to line " .. end_line) @@ -1295,29 +1295,26 @@ function record_midi_value(value) -- If no selection exists or other conditions aren't met, write to playhead local playhead_line = song.transport.playback_pos.line envelope:add_point_at(playhead_line, clamped_value) - renoise.app():show_status("Automation recorded at playhead: " .. playhead_line .. " with value: " .. tostring(clamped_value)) - print("Automation recorded at playhead: " .. playhead_line .. " with value: " .. tostring(clamped_value)) +-- renoise.app():show_status("Automation recorded at playhead: " .. playhead_line .. " with value: " .. tostring(clamped_value)) +-- print("Automation recorded at playhead: " .. playhead_line .. " with value: " .. tostring(clamped_value)) end -renoise.tool():add_midi_mapping{ - name = "Paketti:Record Automation to Selected Parameter", +renoise.tool():add_midi_mapping{name = "Paketti:Record Automation to Selected Parameter", invoke = function(midi_msg) -- Normalize the MIDI value (0-127) to a range of 0.0 - 1.0 renoise.song().transport.record_parameter_mode=renoise.Transport.RECORD_PARAMETER_MODE_AUTOMATION local normalized_value = midi_msg.int_value / 127 - print("Received MIDI value: " .. tostring(midi_msg.int_value) .. " (normalized: " .. tostring(normalized_value) .. ")") - +-- print("Received MIDI value: " .. tostring(midi_msg.int_value) .. " (normalized: " .. tostring(normalized_value) .. ")") record_midi_value(normalized_value) end } -renoise.tool():add_midi_mapping{ - name = "Paketti:Record Automation to Selected Parameter (2nd)", +renoise.tool():add_midi_mapping{name = "Paketti:Record Automation to Selected Parameter (2nd)", invoke = function(midi_msg) -- Normalize the MIDI value (0-127) to a range of 0.0 - 1.0 renoise.song().transport.record_parameter_mode=renoise.Transport.RECORD_PARAMETER_MODE_AUTOMATION local normalized_value = midi_msg.int_value / 127 - print("Received MIDI value: " .. tostring(midi_msg.int_value) .. " (normalized: " .. tostring(normalized_value) .. ")") +-- print("Received MIDI value: " .. tostring(midi_msg.int_value) .. " (normalized: " .. tostring(normalized_value) .. ")") record_midi_value(normalized_value) end @@ -1688,4 +1685,8 @@ for _, device_info in ipairs(target_devices) do 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} diff --git a/PakettiPatternEditor.lua b/PakettiPatternEditor.lua index 66b69ed..18fc487 100644 --- a/PakettiPatternEditor.lua +++ b/PakettiPatternEditor.lua @@ -1,4 +1,3 @@ - -- Function to mute or unmute the selected note column function muteUnmuteNoteColumn() -- Access the song object @@ -1601,73 +1600,6 @@ renoise.tool():add_keybinding{name="Pattern Editor:Paketti:Select Effect Column renoise.tool():add_keybinding{name="Pattern Editor:Paketti:Select Effect Column (Next)", invoke=function() nextEffectColumn() end} -function cloneAndExpandPatternToLPBDouble() -local number=nil -local numbertwo=nil -local rs=renoise.song() -write_bpm() -clonePTN() -local nol=nil - nol=renoise.song().selected_pattern.number_of_lines+renoise.song().selected_pattern.number_of_lines - renoise.song().selected_pattern.number_of_lines=nol - -number=renoise.song().transport.lpb*2 -if number == 1 then number = 2 end -if number > 128 then number=128 -renoise.song().transport.lpb=number - write_bpm() - Deselect_All() - MarkTrackMarkPattern() - MarkTrackMarkPattern() - ExpandSelection() - Deselect_All() - return end -renoise.song().transport.lpb=number - write_bpm() - Deselect_All() - MarkTrackMarkPattern() - MarkTrackMarkPattern() - ExpandSelection() - Deselect_All() - - -end - - --------------------------------------------------------------------------------------------------------------------------------------------------------- -renoise.tool():add_keybinding{name="Global:Paketti:Clone and Expand Pattern to LPB*2",invoke=function() cloneAndExpandPatternToLPBDouble() -end} - - -function cloneAndShrinkPatternToLPBHalve() -local number=nil -local numbertwo=nil -local rs=renoise.song() -write_bpm() -clonePTN() -Deselect_All() -MarkTrackMarkPattern() -MarkTrackMarkPattern() -ShrinkSelection() -Deselect_All() -local nol=nil - nol=renoise.song().selected_pattern.number_of_lines/2 - renoise.song().selected_pattern.number_of_lines=nol - -number=renoise.song().transport.lpb/2 -if number == 1 then number = 2 end -if number > 128 then number=128 -renoise.song().transport.lpb=number - write_bpm() -return end -renoise.song().transport.lpb=number - write_bpm() -end - - -renoise.tool():add_keybinding{name="Global:Paketti:Clone and Shrink Pattern to LPB/2",invoke=function() -cloneAndShrinkPatternToLPBHalve() -end} ----------------- -- Columnizer, +1 / -1 / +10 / -10 on current_row, display needed column @@ -2093,10 +2025,10 @@ function pakettiInterpolateEffectColumnParameters() renoise.app():show_status("Effect column parameters interpolated.") end -renoise.tool():add_menu_entry{name="Main Menu:Tools:Paketti..:Pattern Editor..:Interpolate Effect Column Parameters",invoke=pakettiInterpolateEffectColumnParameters} -renoise.tool():add_keybinding{name="Global:Paketti:Interpolate Effect Column Parameters",invoke=pakettiInterpolateEffectColumnParameters} -renoise.tool():add_midi_mapping{name="Paketti:Interpolate Effect Column Parameters",invoke=pakettiInterpolateEffectColumnParameters} -renoise.tool():add_menu_entry{name="Pattern Editor:Paketti..:Effect Columns..:Interpolate Effect Column Parameters",invoke=pakettiInterpolateEffectColumnParameters} +renoise.tool():add_menu_entry{name="Main Menu:Tools:Paketti..:Pattern Editor..:Interpolate Column Values (Effect)",invoke=pakettiInterpolateEffectColumnParameters} +renoise.tool():add_keybinding{name="Pattern Editor:Paketti:Interpolate Column Values (Effect)",invoke=pakettiInterpolateEffectColumnParameters} +renoise.tool():add_midi_mapping{name="Paketti:Interpolate Column Values (Effect)",invoke=pakettiInterpolateEffectColumnParameters} +renoise.tool():add_menu_entry{name="Pattern Editor:Paketti..:Effect Columns..:Interpolate Column Values (Effect)",invoke=pakettiInterpolateEffectColumnParameters} -------- -- Function to flood fill the track with the current note and instrument @@ -2768,35 +2700,68 @@ renoise.tool():add_keybinding{ ------- function PhrasingRandom() - - local song=renoise.song() - local track=song.selected_track - local line=song.selected_line - local count=track.visible_note_columns - local adjustments={-36, -24, -12, 12, 24, 36} - - for i=1,count do - local note=line.note_columns[i] - if not note.is_empty then - -- Pick a random adjustment and apply it to the note_value - local adjustment=adjustments[math.random(#adjustments)] - local new_value=note.note_value+adjustment - - -- Ensure new_value is within the 13 to 106 range - new_value=math.max(13, math.min(106, new_value)) - - -- Update the note value - note.note_value=new_value + local song = renoise.song() + local track = song.selected_track + local line = song.selected_line + local count = track.visible_note_columns + local adjustments = {-36, -24, -12, 12, 24, 36} + + -- Track if any notes were found and modified + local found_notes = false + local note_changes = {} + + for i = 1, count do + local note = line.note_columns[i] + if not note.is_empty and note.note_string ~= "OFF" and note.note_string ~= "---" then + found_notes = true + -- Store original note + local original_note = note.note_string + + -- Pick a random adjustment and apply it to the note_value + local adjustment = adjustments[math.random(#adjustments)] + local new_value = note.note_value + adjustment + + -- Ensure new_value is within the 13 to 106 range + new_value = math.max(13, math.min(106, new_value)) + + -- Update the note value + note.note_value = new_value + + -- Store the change + table.insert(note_changes, { + original = original_note, + new = note.note_string + }) end - end - end - - + end + + -- Show appropriate status message + if not found_notes then + renoise.app():show_status("There were no notes on this row, doing nothing.") + else + -- Build status message + local original_notes = {} + local new_notes = {} + for _, change in ipairs(note_changes) do + table.insert(original_notes, change.original) + table.insert(new_notes, change.new) + end + + local msg = string.format("Original Note Columns (%s) Randomized Phrasings to (%s)", + table.concat(original_notes, " "), + table.concat(new_notes, " ")) + renoise.app():show_status(msg) + end +end renoise.tool():add_keybinding{name="Pattern Editor:Paketti:Randomize Phrasing for Notes in Current Row", invoke=function() PhrasingRandom() end} renoise.tool():add_midi_mapping{name="Paketti:Randomize Phrasing for Notes in Current Row", invoke=function() PhrasingRandom() end} +renoise.tool():add_menu_entry { name = "--Pattern Editor:Paketti ChordsPlus..:Randomize Phrasing for Notes in Current Row", + invoke=function() PhrasingRandom() end} + + -------------- local function insert_random_value(mode) @@ -2941,17 +2906,19 @@ renoise.tool():add_midi_mapping{name="Paketti:Insert Random Volume to Selected R ------- -- Main function to replicate content -local function PakettiReplicateAtCursor(transpose, tracks_option, row_option) +function PakettiReplicateAtCursor(transpose, tracks_option, row_option) local song = renoise.song() local pattern = song.selected_pattern local cursor_row = song.selected_line_index local pattern_length = pattern.number_of_lines -- Check if there is content to replicate - if (cursor_row == 1 and row_option == "above_current") or (cursor_row == pattern_length and row_option == "above_and_current") then + if (cursor_row == pattern_length and row_option == "above_and_current") then renoise.app():show_status("No rows to replicate.") return end + if (cursor_row == 1 and row_option == "above_current") then + row_option = "above_and_current" end -- Determine the repeat_length and starting row based on row_option local repeat_length, start_row @@ -3285,10 +3252,90 @@ renoise.tool():add_midi_mapping{name="Paketti:Hide Current and Select Previous C - -------- +function cloneAndExpandPatternToLPBDouble() + local rs = renoise.song() + local current_pattern_length = rs.selected_pattern.number_of_lines + + -- Check if pattern length is 257 or more + if current_pattern_length >= 257 then + renoise.app():show_status("Cannot expand: Pattern length would exceed maximum") + return + end + + write_bpm() + + -- Store current pattern length before cloning + local original_length = current_pattern_length + + -- Clone the pattern + clonePTN() + + -- Set the new pattern length + local new_length = original_length * 2 + rs.selected_pattern.number_of_lines = new_length + + -- Double the LPB + local number = rs.transport.lpb * 2 + if number == 1 then number = 2 end + if number > 128 then + number = 128 + rs.transport.lpb = number + write_bpm() + Deselect_All() + MarkTrackMarkPattern() + MarkTrackMarkPattern() + ExpandSelection() + Deselect_All() + return + end + + rs.transport.lpb = number + write_bpm() + Deselect_All() + MarkTrackMarkPattern() + MarkTrackMarkPattern() + ExpandSelection() + Deselect_All() +end + +renoise.tool():add_keybinding{name="Global:Paketti:Clone and Expand Pattern to LPB*2",invoke=function() cloneAndExpandPatternToLPBDouble()end} +renoise.tool():add_menu_entry{name="--Pattern Sequencer:Paketti..:Clone and Expand Pattern to LPB*2",invoke=function() cloneAndExpandPatternToLPBDouble()end} +renoise.tool():add_menu_entry{name="--Pattern Matrix:Paketti..:Clone and Expand Pattern to LPB*2",invoke=function() cloneAndExpandPatternToLPBDouble()end} + + +function cloneAndShrinkPatternToLPBHalve() +local number=nil +local numbertwo=nil +local rs=renoise.song() +write_bpm() +clonePTN() +Deselect_All() +MarkTrackMarkPattern() +MarkTrackMarkPattern() +ShrinkSelection() +Deselect_All() +local nol=nil + nol=renoise.song().selected_pattern.number_of_lines/2 + renoise.song().selected_pattern.number_of_lines=nol + +number=renoise.song().transport.lpb/2 +if number == 1 then number = 2 end +if number > 128 then number=128 +renoise.song().transport.lpb=number +write_bpm() +return end +renoise.song().transport.lpb=number +write_bpm() +end + + +renoise.tool():add_keybinding{name="Global:Paketti:Clone and Shrink Pattern to LPB/2",invoke=function() cloneAndShrinkPatternToLPBHalve()end} +renoise.tool():add_menu_entry{name="Pattern Sequencer:Paketti..:Clone and Shrink Pattern to LPB/2",invoke=function() cloneAndShrinkPatternToLPBHalve()end} +renoise.tool():add_menu_entry{name="Pattern Matrix:Paketti..:Clone and Shrink Pattern to LPB/2",invoke=function() cloneAndShrinkPatternToLPBHalve()end} + @@ -3322,7 +3369,6 @@ renoise.tool():add_keybinding{name="Pattern Editor:Paketti:Set Pattern Length to - ---------- -- Initialize variables local last_line_index = nil @@ -4393,4 +4439,178 @@ 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} +------ +function SelectionToNewPattern() + local song = renoise.song() + local selection = song.selection_in_pattern + + -- Validate selection + if not selection then + renoise.app():show_status("No selection found in the pattern.") + return + end + + -- Calculate the selection length + local selection_length = selection.end_line - selection.start_line + 1 + if selection_length <= 0 then + renoise.app():show_status("Invalid selection length.") + return + end + + -- Clone the current sequence + local current_sequence_index = song.selected_sequence_index + local source_pattern_index = song.sequencer.pattern_sequence[current_sequence_index] + + -- Clone the sequence + song.sequencer:clone_range(current_sequence_index, current_sequence_index) + + -- Move focus to the cloned sequence + local new_sequence_index = current_sequence_index + 1 + song.selected_sequence_index = new_sequence_index + + -- Get the new pattern index + local new_pattern_index = song.sequencer.pattern_sequence[new_sequence_index] + local new_pattern = song.patterns[new_pattern_index] + + -- Resize the new pattern to match the selection + new_pattern.number_of_lines = selection_length + + -- Copy the content from the selection into the new pattern + local source_pattern = song.patterns[source_pattern_index] + for track = selection.start_track, selection.end_track do + local source_track = source_pattern.tracks[track] + local dest_track = new_pattern.tracks[track] + + for line = selection.start_line, selection.end_line do + dest_track:line(line - selection.start_line + 1):copy_from(source_track:line(line)) + end + end + + -- Show status to the user + renoise.app():show_status("Selection copied to a new pattern in the sequence.") + +Deselect_All() +end + +renoise.tool():add_menu_entry{name="--Pattern Editor:Paketti..:Create New Pattern with Selection",invoke=function() SelectionToNewPattern() end} +renoise.tool():add_keybinding{name="Pattern Editor:Paketti:Create New Pattern with Selection",invoke=function() SelectionToNewPattern() end} +--- +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 + +end + +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} + +function moveTrackLeft() + local song = renoise.song() + local current_index = song.selected_track_index + + -- Check if we're at the leftmost movable position (track 1) + if current_index <= 1 then + local track_name = song.selected_track.name + renoise.app():show_status(string.format("Track '%s' cannot be moved further to the left, doing nothing.", track_name)) + return + end + + -- Swap with the track to the left + song:swap_tracks_at(current_index, current_index - 1) + + -- Keep the moved track selected + song.selected_track_index = current_index - 1 +end + +function moveTrackRight() + local song = renoise.song() + local current_index = song.selected_track_index + local last_regular_track = song.sequencer_track_count + + -- Check if we're at the rightmost movable position (last track before master) + if current_index >= last_regular_track then + local track_name = song.selected_track.name + renoise.app():show_status(string.format("Track '%s' cannot be moved further to the right, doing nothing.", track_name)) + return + end + + -- Swap with the track to the right + song:swap_tracks_at(current_index, current_index + 1) + + -- Keep the moved track selected + song.selected_track_index = current_index + 1 +end + +-- Add keybindings +renoise.tool():add_keybinding{ + name = "Global:Paketti:Move Track Left", + invoke = moveTrackLeft +} + +renoise.tool():add_keybinding{ + name = "Global:Paketti:Move Track Right", + invoke = moveTrackRight +} + +-- Add menu entries +renoise.tool():add_menu_entry{ + name = "Pattern Editor:Paketti..:Move Track Left", + invoke = moveTrackLeft +} + +renoise.tool():add_menu_entry{ + name = "Pattern Editor:Paketti..:Move Track Right", + invoke = moveTrackRight +} + + + + + + + +function randomly_raise_selected_notes_one_octave(probability) + local song = renoise.song() + local pattern = song.selected_pattern + local selection_data = selection_in_pattern_pro() + + probability = probability or 0.5 + + if not selection_data then + return + end + + for _, track_info in ipairs(selection_data) do + local track = song.tracks[track_info.track_index] + local pattern_track = pattern.tracks[track_info.track_index] + + if #track_info.note_columns > 0 then + for line_index = song.selection_in_pattern.start_line, song.selection_in_pattern.end_line do + for _, column_index in ipairs(track_info.note_columns) do + local note_column = pattern_track:line(line_index):note_column(column_index) + + if note_column.note_value > 0 and note_column.note_value < 120 then + if math.random() < probability then + local new_note = note_column.note_value + 12 + + if new_note <= 108 then + note_column.note_value = new_note + end + end + end + end + end + end + end +end +renoise.tool():add_menu_entry { name = "Pattern Editor:Paketti..:Random Selected Notes Octave Up 25% Probability", invoke = function() randomly_raise_selected_notes_one_octave(0.25) end } +renoise.tool():add_menu_entry { name = "Pattern Editor:Paketti..:Random Selected Notes Octave Up 50% Probability", invoke = function() randomly_raise_selected_notes_one_octave(0.5) end } +renoise.tool():add_menu_entry { name = "Pattern Editor:Paketti..:Random Selected Notes Octave Up 75% Probability", invoke = function() randomly_raise_selected_notes_one_octave(0.75) end } +renoise.tool():add_keybinding { name = "Pattern Editor:Paketti..:Random Selected Notes Octave Up 25% Probability", invoke = function() randomly_raise_selected_notes_one_octave(0.25) end } +renoise.tool():add_keybinding { name = "Pattern Editor:Paketti..:Random Selected Notes Octave Up 50% Probability", invoke = function() randomly_raise_selected_notes_one_octave(0.5) end } +renoise.tool():add_keybinding { name = "Pattern Editor:Paketti..:Random Selected Notes Octave Up 75% Probability", invoke = function() randomly_raise_selected_notes_one_octave(0.75) end } diff --git a/PakettiPatternMatrix.lua b/PakettiPatternMatrix.lua index 6fcf929..ab09e32 100644 --- a/PakettiPatternMatrix.lua +++ b/PakettiPatternMatrix.lua @@ -20,9 +20,6 @@ renoise.tool():add_menu_entry{name="Pattern Matrix:Paketti..:Enable All Devices 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 diff --git a/PakettiPhraseEditor.lua b/PakettiPhraseEditor.lua index 904d2c4..aa5a663 100644 --- a/PakettiPhraseEditor.lua +++ b/PakettiPhraseEditor.lua @@ -236,7 +236,7 @@ function pakettiPhraseSettingsDialogShow() vb:valuebox { id = "lpb_valuebox", min = 1, - max = 64, + max = 256, value = preferences.pakettiPhraseInitDialog.LPB.value, width = 100, notifier = function(value) preferences.pakettiPhraseInitDialog.LPB.value = value end @@ -292,6 +292,7 @@ renoise.tool():add_keybinding {name = "Global:Paketti:Open Paketti Init Phrase D renoise.tool():add_keybinding {name = "Phrase Editor:Paketti:Open Paketti Init Phrase Dialog...", invoke = function() pakettiPhraseSettingsDialogShow() end} renoise.tool():add_menu_entry {name = "Phrase Editor:Paketti..:Open Paketti Init Phrase Dialog...", invoke = function() pakettiPhraseSettingsDialogShow() end} +renoise.tool():add_menu_entry {name = "Main Menu:Tools:Paketti..:!Preferences..:Open Paketti Init Phrase Dialog...", invoke = function() pakettiPhraseSettingsDialogShow() end} renoise.tool():add_keybinding {name = "Global:Paketti:Create New Phrase using Paketti Settings", invoke = function() pakettiInitPhraseSettingsCreateNewPhrase() end} renoise.tool():add_menu_entry {name = "Phrase Editor:Paketti..:Create New Phrase using Paketti Settings", invoke = function() pakettiInitPhraseSettingsCreateNewPhrase() end} diff --git a/PakettiPlayerProSuite.lua b/PakettiPlayerProSuite.lua index 6edd49a..744a7fd 100644 --- a/PakettiPlayerProSuite.lua +++ b/PakettiPlayerProSuite.lua @@ -848,5 +848,5 @@ end dialog = renoise.app():show_custom_dialog("Player Pro Main Dialog", dialog_content, my_PPkeyhandler_func) end -renoise.tool():add_menu_entry{name = "Pattern Editor:Paketti..:Other Trackers..:Open Player Pro Tools Dialog", invoke = pakettiPlayerProShowMainDialog} -renoise.tool():add_keybinding{name="Pattern Editor:Paketti:Open Player Pro Tools Dialog", invoke = pakettiPlayerProShowMainDialog} +renoise.tool():add_menu_entry{name = "Pattern Editor:Paketti..:Other Trackers..:Open Player Pro Tools Dialog...", invoke = pakettiPlayerProShowMainDialog} +renoise.tool():add_keybinding{name="Pattern Editor:Paketti:Open Player Pro Tools Dialog...", invoke = pakettiPlayerProShowMainDialog} diff --git a/PakettiRecorder.lua b/PakettiRecorder.lua index 8af95d0..39f26e1 100644 --- a/PakettiRecorder.lua +++ b/PakettiRecorder.lua @@ -342,14 +342,8 @@ end renoise.tool():add_keybinding{name="Global:Paketti:Simple Play Record Follow",invoke=function() simpleplayrecordfollow() end} renoise.tool():add_keybinding{name="Global:Paketti:Simple Play Record Follow (2nd)",invoke=function() simpleplayrecordfollow() end} - - -- PD use -renoise.tool():add_keybinding{name="Global:Paketti:TouchOSC Sample Recorder and Record", -invoke=function() -handle_sample_recording() -end} - +renoise.tool():add_keybinding{name="Global:Paketti:TouchOSC Sample Recorder and Record", invoke=function() handle_sample_recording() end} renoise.tool():add_keybinding{name="Global:Paketti:TouchOSC Pattern Editor", invoke=function() @@ -384,20 +378,15 @@ renoise.song().selected_instrument_index=renoise.song().selected_instrument_inde sample.beat_sync_enabled = false sample.beat_sync_mode = 2 renoise.song().selected_instrument.sample_modulation_sets[1].filter_type=preferences.pakettiLoaderFilterType.value - if preferences.pakettiPitchbendLoaderEnvelope.value then -renoise.song().selected_instrument.sample_modulation_sets[1].devices[2].is_active = true else end + if preferences.pakettiPitchbendLoaderEnvelope.value then renoise.song().selected_instrument.sample_modulation_sets[1].devices[2].is_active = true else end sample.oversample_enabled = preferences.pakettiLoaderOverSampling.value sample.autofade = preferences.pakettiLoaderAutoFade.value sample.autoseek = preferences.pakettiLoaderAutoseek.value sample.oneshot = preferences.pakettiLoaderOneshot.value sample.loop_mode = preferences.pakettiLoaderLoopMode.value sample.new_note_action = preferences.pakettiLoaderNNA.value - sample.loop_mode = 2 + sample.loop_mode = 2 sample.loop_release = preferences.pakettiLoaderLoopExit.value - - end renoise.tool():add_keybinding{name="Global:Paketti:Start/Stop Sample Recording and Pakettify",invoke=function() handle_sample_recording() end} - - diff --git a/PakettiRequests.lua b/PakettiRequests.lua index 7dd559e..0250514 100644 --- a/PakettiRequests.lua +++ b/PakettiRequests.lua @@ -1,46 +1,3 @@ --- from Jalex -function JalexAdd(number) -if renoise.song().selected_note_column_index == renoise.song().selected_track.visible_note_columns then -if renoise.song().selected_track.visible_note_columns == 12 then -renoise.song().selected_line_index=renoise.song().selected_line_index+1 -renoise.song().selected_note_column_index = 1 - -return -end - -renoise.song().selected_track.visible_note_columns = renoise.song().selected_track.visible_note_columns+1 -end - -local originalNote=renoise.song().selected_note_column.note_value -local originalInstrument=renoise.song().selected_note_column.instrument_value - -if originalNote == 120 or originalNote == 121 then -renoise.app():show_status("You are not on a note.") -return else - -if originalNote + number > 120 then -renoise.app():show_status("Cannot go higher than B-9") return end -end -renoise.song().selected_pattern.tracks[renoise.song().selected_track_index].lines[renoise.song().selected_line_index].note_columns[renoise.song().selected_note_column_index + 1].note_value = originalNote + number -renoise.song().selected_pattern.tracks[renoise.song().selected_track_index].lines[renoise.song().selected_line_index].note_columns[renoise.song().selected_note_column_index + 1].instrument_value = originalInstrument - -renoise.song().selected_note_column_index = renoise.song().selected_note_column_index +1 -end - -for i=1,12 do - renoise.tool():add_keybinding{ - name=string.format("Pattern Editor:Paketti:Chordsplus (Add %02d)", i), - invoke=function() JalexAdd(i) end - } -end - -for i=1,12 do - renoise.tool():add_keybinding{ - name=string.format("Pattern Editor:Paketti:Chordsplus (Sub %02d)", i), - invoke=function() JalexAdd(-i) end - } -end - renoise.tool():add_keybinding{ name="Pattern Editor:Paketti:Selection in Pattern to Group", invoke=function() @@ -354,12 +311,51 @@ function selectedInstrumentAllAutofadeControl(state) end end +function selectedInstrumentAllAutoseekToggle() + local instrument = renoise.song().instruments[renoise.song().selected_instrument_index] + + -- Check if the instrument and samples are valid + if not instrument or #instrument.samples == 0 then + print("No samples are available or no instrument selected.") + return + end + + -- Iterate through each sample in the instrument and toggle the autoseek setting + for i, sample in ipairs(instrument.samples) do + sample.autoseek = not sample.autoseek + end +end + +function selectedInstrumentAllAutoseekControl(state) + local instrument = renoise.song().instruments[renoise.song().selected_instrument_index] + + -- Check if the instrument and samples are valid + if not instrument or #instrument.samples == 0 then + --print("No samples are available or no instrument selected.") + return + end + + -- Convert numerical state to boolean for autoseek + local autoseekState = (state == 1) + + -- Iterate through each sample in the instrument and set the autoseek setting + for i, sample in ipairs(instrument.samples) do + sample.autoseek = autoseekState + end +end +renoise.tool():add_menu_entry{name="Sample Navigator:Paketti..:Set Selected Instrument All Autofade On",invoke=function() selectedInstrumentAllAutofadeControl(1) end} +renoise.tool():add_menu_entry{name="Sample Navigator:Paketti..:Set Selected Instrument All Autoseek On",invoke=function() selectedInstrumentAllAutoseekControl(1) end} renoise.tool():add_keybinding{name="Global:Paketti:Set Selected Instrument All Autofade On/Off",invoke=function() selectedInstrumentAllAutofadeToggle() end} renoise.tool():add_keybinding{name="Global:Paketti:Set Selected Instrument All Autofade On",invoke=function() selectedInstrumentAllAutofadeControl(1) end} renoise.tool():add_keybinding{name="Global:Paketti:Set Selected Instrument All Autofade Off",invoke=function() selectedInstrumentAllAutofadeControl(0) end} +renoise.tool():add_keybinding{name="Global:Paketti:Set Selected Instrument All Autoseek On/Off",invoke=function() selectedInstrumentAllAutoseekToggle() end} +renoise.tool():add_keybinding{name="Global:Paketti:Set Selected Instrument All Autoseek On",invoke=function() selectedInstrumentAllAutoseekControl(1) end} +renoise.tool():add_keybinding{name="Global:Paketti:Set Selected Instrument All Autoseek Off",invoke=function() selectedInstrumentAllAutoseekControl(0) end} + + ----------- function halveBeatsyncLinesAll() @@ -2186,9 +2182,9 @@ renoise.tool():add_menu_entry{name="Pattern Editor:Paketti..:Duplicate Track Dup renoise.tool():add_menu_entry{name="Mixer:Paketti..:Duplicate Track Duplicate Instrument",invoke=function() duplicateTrackDuplicateInstrument() end} renoise.tool():add_keybinding{name="Global:Paketti:Duplicate Track Duplicate Instrument",invoke=function() duplicateTrackDuplicateInstrument() end} ------------ -renoise.tool():add_keybinding{name="Pattern Editor:Paketti:Note Interpolation",invoke=function() note_interpolation() end} -renoise.tool():add_midi_mapping{name="Paketti:Note Interpolation",invoke=function() note_interpolation() end} -renoise.tool():add_menu_entry{name="Pattern Editor:Paketti..:Note Columns..:Note Interpolation",invoke=function() note_interpolation() end} +renoise.tool():add_keybinding{name="Pattern Editor:Paketti:Interpolate Notes",invoke=function() note_interpolation() end} +renoise.tool():add_midi_mapping{name="Paketti:Interpolate Notes",invoke=function() note_interpolation() end} +renoise.tool():add_menu_entry{name="Pattern Editor:Paketti..:Note Columns..:Interpolate Notes",invoke=function() note_interpolation() end} -- Main function for note interpolation function note_interpolation() @@ -2667,26 +2663,29 @@ end -- Function to move slice marker by a given amount function move_slice_marker(slice_index, amount) - if not is_slice_selected() then - debug_log("No slice selected or no slice markers available.") - return + local song = renoise.song() + local selected_instrument = song.selected_instrument + local selected_sample = selected_instrument.samples[1] + + if not selected_sample or #selected_sample.slice_markers == 0 then + debug_log("No valid sample with slice markers selected.") + return end - local sample = renoise.song().selected_instrument.samples[1] - if slice_index <= 0 or slice_index > #sample.slice_markers then + if slice_index <= 0 or slice_index > #selected_sample.slice_markers then debug_log("Invalid slice index: " .. string.format("%X", slice_index)) return end - local old_marker_pos = sample.slice_markers[slice_index] + local old_marker_pos = selected_sample.slice_markers[slice_index] local new_marker_pos = old_marker_pos + amount if new_marker_pos < 1 then new_marker_pos = 1 end - if new_marker_pos > sample.sample_buffer.number_of_frames - 1 then - new_marker_pos = sample.sample_buffer.number_of_frames - 1 + if new_marker_pos > selected_sample.sample_buffer.number_of_frames - 1 then + new_marker_pos = selected_sample.sample_buffer.number_of_frames - 1 end - sample:move_slice_marker(old_marker_pos, new_marker_pos) + selected_sample:move_slice_marker(old_marker_pos, new_marker_pos) debug_log(string.format("Moved slice marker #%X from %d to %d", slice_index, old_marker_pos, new_marker_pos)) end @@ -2844,6 +2843,8 @@ renoise.tool():add_menu_entry{name="--Sample Mappings:Paketti..:Isolate Slices o 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() @@ -2857,7 +2858,7 @@ function PakettiIsolateSlicesToInstrument() end -- Helper function to create a new instrument - local function create_new_instrument(name_suffix, index) + local function create_new_instrumentWithSlices(name_suffix, index) song:insert_instrument_at(index) song.selected_instrument_index = index renoise.app():load_instrument(preferences.pakettiDefaultDrumkitXRNI.value) @@ -2887,6 +2888,23 @@ renoise.app():load_instrument(preferences.pakettiDefaultDrumkitXRNI.value) end new_sample.sample_buffer:finalize_sample_data_changes() + + -- Copy additional sample properties + new_sample.autofade = sample.autofade + new_sample.autoseek = sample.autoseek + new_sample.loop_mode = sample.loop_mode + -- new_sample.loop_start = sample.loop_start -- i had to comment these away because they don't work + -- new_sample.loop_end = sample.loop_end + new_sample.beat_sync_mode = sample.beat_sync_mode + new_sample.beat_sync_lines = sample.beat_sync_lines + new_sample.fine_tune = sample.fine_tune + new_sample.volume = sample.volume + new_sample.panning = sample.panning + new_sample.new_note_action = sample.new_note_action + new_sample.mute_group = sample.mute_group + new_sample.new_note_action = sample.new_note_action + new_sample.oversample_enabled = sample.oversample_enabled + new_sample.interpolation_mode = sample.interpolation_mode end local sample = instrument.samples[1] @@ -2894,7 +2912,7 @@ renoise.app():load_instrument(preferences.pakettiDefaultDrumkitXRNI.value) if #sample.slice_markers > 0 then -- Create one new instrument for all slices - local new_instrument = create_new_instrument(" (Isolated Slices)", insert_index) + local new_instrument = create_new_instrumentWithSlices(" (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 @@ -2913,7 +2931,7 @@ renoise.app():load_instrument(preferences.pakettiDefaultDrumkitXRNI.value) 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) + local new_instrument = create_new_instrumentWithSlices(" (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 @@ -2929,36 +2947,13 @@ renoise.app():load_instrument(preferences.pakettiDefaultDrumkitXRNI.value) 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 -} - +renoise.tool():add_menu_entry{name="Instrument Box:Paketti..:Isolate Slices to New Instrument as Samples",invoke=PakettiIsolateSlicesToInstrument} +renoise.tool():add_menu_entry{name="Sample Navigator:Paketti..:Isolate Slices to New Instrument as Samples",invoke=PakettiIsolateSlicesToInstrument} +renoise.tool():add_menu_entry{name="Sample Editor:Paketti..:Isolate Slices to New Instrument as Samples",invoke=PakettiIsolateSlicesToInstrument} +renoise.tool():add_menu_entry{name="Sample Mappings:Paketti..:Isolate Slices to New Instrument as Samples",invoke=PakettiIsolateSlicesToInstrument} +renoise.tool():add_menu_entry{name="Main Menu:Tools:Paketti..:Instruments..:Isolate Slices to New Instrument as Samples",invoke=PakettiIsolateSlicesToInstrument} +renoise.tool():add_keybinding{name="Global:Paketti:Isolate Slices to New Instrument as Samples",invoke=PakettiIsolateSlicesToInstrument} +renoise.tool():add_midi_mapping{name="Paketti:Isolate Slices to New Instrument as Samples",invoke=PakettiIsolateSlicesToInstrument} --------- --[[ @@ -3356,7 +3351,7 @@ local MIN_SHIFT = -12 local MAX_SHIFT = 12 -- Main function to adjust instrument transpose -local function PakettiTransposeShifter(interval, scope) +function PakettiTransposeShifter(interval, scope) local song = renoise.song() -- Validate interval @@ -3685,8 +3680,6 @@ end -- Registering the function with a keybinding renoise.tool():add_keybinding{name="Global:Paketti:Populate Send Tracks for All Selected Tracks",invoke=PakettiPopulateSendTracksToSelectionInPattern} - - -- Add menu entries for the new functions under Main Menu:Tools renoise.tool():add_menu_entry{name="Main Menu:Tools:Paketti..:Pattern Editor..:Populate Send Tracks for All Tracks",invoke=PakettiPopulateSendTracksAllTracks} renoise.tool():add_menu_entry{name="Main Menu:Tools:Paketti..:Pattern Editor..:Populate Send Tracks for Selected Track",invoke=PakettiPopulateSendTracksSelectedTrack} @@ -4502,7 +4495,7 @@ function floodfill_with_selection() end -- Debug: print selection data for current track - rprint(selection_data[track_idx]) + --rprint(selection_data[track_idx]) end -- Repeat the selection data throughout the pattern @@ -4545,7 +4538,7 @@ function floodfill_with_selection() end -- Debug: print copied data - print(string.format("Copied data from track %d, row %d, col %d to row %d", track_idx, row, col_idx, target_row)) + -- print(string.format("Copied data from track %d, row %d, col %d to row %d", track_idx, row, col_idx, target_row)) end end end @@ -5615,45 +5608,45 @@ end -- Add the menu entries to the Global:Paketti section renoise.tool():add_keybinding{name="Global:Paketti:Resize all non-empty Patterns to current Pattern length",invoke = resize_all_non_empty_patterns_to_current_pattern_length} -renoise.tool():add_menu_entry{name="Pattern Editor:Paketti..:Resize all non-empty Patterns to current Pattern length",invoke = resize_all_non_empty_patterns_to_current_pattern_length} -renoise.tool():add_menu_entry{name="Pattern Sequencer:Paketti..:Resize all non-empty Patterns to current Pattern length",invoke = resize_all_non_empty_patterns_to_current_pattern_length} +renoise.tool():add_menu_entry{name="Pattern Editor:Paketti..:Resize all non-empty Patterns..:Resize all non-empty Patterns to current Pattern length",invoke = resize_all_non_empty_patterns_to_current_pattern_length} +renoise.tool():add_menu_entry{name="--Pattern Sequencer:Paketti..:Resize all non-empty Patterns..:Resize all non-empty Patterns to current Pattern length",invoke = resize_all_non_empty_patterns_to_current_pattern_length} -renoise.tool():add_menu_entry{name="Pattern Sequencer:Paketti..:Resize all non-empty Patterns to 064",invoke=function() resize_all_non_empty_patterns_to(064) end} -renoise.tool():add_menu_entry{name="Pattern Editor:Paketti..:Resize all non-empty Patterns to 064",invoke=function() resize_all_non_empty_patterns_to(064) end} -renoise.tool():add_keybinding{name="Global:Paketti:Resize all non-empty Patterns to 064",invoke=function() resize_all_non_empty_patterns_to(064) end} -renoise.tool():add_menu_entry{name="Pattern Sequencer:Paketti..:Resize all non-empty Patterns to 048",invoke=function() resize_all_non_empty_patterns_to(048) end} -renoise.tool():add_menu_entry{name="Pattern Editor:Paketti..:Resize all non-empty Patterns to 048",invoke=function() resize_all_non_empty_patterns_to(048) end} -renoise.tool():add_keybinding{name="Global:Paketti:Resize all non-empty Patterns to 048",invoke=function() resize_all_non_empty_patterns_to(048) end} -renoise.tool():add_menu_entry{name="Pattern Sequencer:Paketti..:Resize all non-empty Patterns to 032",invoke=function() resize_all_non_empty_patterns_to(032) end} -renoise.tool():add_menu_entry{name="Pattern Editor:Paketti..:Resize all non-empty Patterns to 032",invoke=function() resize_all_non_empty_patterns_to(032) end} -renoise.tool():add_keybinding{name="Global:Paketti:Resize all non-empty Patterns to 032",invoke=function() resize_all_non_empty_patterns_to(032) end} -renoise.tool():add_menu_entry{name="Pattern Sequencer:Paketti..:Resize all non-empty Patterns to 016",invoke=function() resize_all_non_empty_patterns_to(016) end} -renoise.tool():add_menu_entry{name="Pattern Editor:Paketti..:Resize all non-empty Patterns to 016",invoke=function() resize_all_non_empty_patterns_to(016) end} -renoise.tool():add_keybinding{name="Global:Paketti:Resize all non-empty Patterns to 016",invoke=function() resize_all_non_empty_patterns_to(016) end} -renoise.tool():add_menu_entry{name="Pattern Sequencer:Paketti..:Resize all non-empty Patterns to 012",invoke=function() resize_all_non_empty_patterns_to(012) end} -renoise.tool():add_menu_entry{name="Pattern Editor:Paketti..:Resize all non-empty Patterns to 012",invoke=function() resize_all_non_empty_patterns_to(12) end} renoise.tool():add_keybinding{name="Global:Paketti:Resize all non-empty Patterns to 012",invoke=function() resize_all_non_empty_patterns_to(12) end} -renoise.tool():add_menu_entry{name="Pattern Sequencer:Paketti..:Resize all non-empty Patterns to 024",invoke=function() resize_all_non_empty_patterns_to(024) end} -renoise.tool():add_menu_entry{name="Pattern Editor:Paketti..:Resize all non-empty Patterns to 024",invoke=function() resize_all_non_empty_patterns_to(024) end} +renoise.tool():add_keybinding{name="Global:Paketti:Resize all non-empty Patterns to 016",invoke=function() resize_all_non_empty_patterns_to(016) end} renoise.tool():add_keybinding{name="Global:Paketti:Resize all non-empty Patterns to 024",invoke=function() resize_all_non_empty_patterns_to(024) end} -renoise.tool():add_menu_entry{name="Pattern Sequencer:Paketti..:Resize all non-empty Patterns to 096",invoke=function() resize_all_non_empty_patterns_to(96) end} -renoise.tool():add_menu_entry{name="Pattern Editor:Paketti..:Resize all non-empty Patterns to 096",invoke=function() resize_all_non_empty_patterns_to(96) end} +renoise.tool():add_keybinding{name="Global:Paketti:Resize all non-empty Patterns to 032",invoke=function() resize_all_non_empty_patterns_to(032) end} +renoise.tool():add_keybinding{name="Global:Paketti:Resize all non-empty Patterns to 048",invoke=function() resize_all_non_empty_patterns_to(048) end} +renoise.tool():add_keybinding{name="Global:Paketti:Resize all non-empty Patterns to 064",invoke=function() resize_all_non_empty_patterns_to(064) end} renoise.tool():add_keybinding{name="Global:Paketti:Resize all non-empty Patterns to 096",invoke=function() resize_all_non_empty_patterns_to(96) end} -renoise.tool():add_menu_entry{name="Pattern Sequencer:Paketti..:Resize all non-empty Patterns to 128",invoke=function() resize_all_non_empty_patterns_to(128) end} -renoise.tool():add_menu_entry{name="Pattern Editor:Paketti..:Resize all non-empty Patterns to 128",invoke=function() resize_all_non_empty_patterns_to(128) end} renoise.tool():add_keybinding{name="Global:Paketti:Resize all non-empty Patterns to 128",invoke=function() resize_all_non_empty_patterns_to(128) end} -renoise.tool():add_menu_entry{name="Pattern Sequencer:Paketti..:Resize all non-empty Patterns to 192",invoke=function() resize_all_non_empty_patterns_to(192) end} -renoise.tool():add_menu_entry{name="Pattern Editor:Paketti..:Resize all non-empty Patterns to 192",invoke=function() resize_all_non_empty_patterns_to(192) end} renoise.tool():add_keybinding{name="Global:Paketti:Resize all non-empty Patterns to 192",invoke=function() resize_all_non_empty_patterns_to(192) end} -renoise.tool():add_menu_entry{name="Pattern Sequencer:Paketti..:Resize all non-empty Patterns to 256",invoke=function() resize_all_non_empty_patterns_to(256) end} -renoise.tool():add_menu_entry{name="Pattern Editor:Paketti..:Resize all non-empty Patterns to 256",invoke=function() resize_all_non_empty_patterns_to(256) end} renoise.tool():add_keybinding{name="Global:Paketti:Resize all non-empty Patterns to 256",invoke=function() resize_all_non_empty_patterns_to(256) end} -renoise.tool():add_menu_entry{name="Pattern Sequencer:Paketti..:Resize all non-empty Patterns to 384",invoke=function() resize_all_non_empty_patterns_to(384) end} -renoise.tool():add_menu_entry{name="Pattern Editor:Paketti..:Resize all non-empty Patterns to 384",invoke=function() resize_all_non_empty_patterns_to(384) end} renoise.tool():add_keybinding{name="Global:Paketti:Resize all non-empty Patterns to 384",invoke=function() resize_all_non_empty_patterns_to(384) end} -renoise.tool():add_menu_entry{name="Pattern Sequencer:Paketti..:Resize all non-empty Patterns to 512",invoke=function() resize_all_non_empty_patterns_to(512) end} -renoise.tool():add_menu_entry{name="Pattern Editor:Paketti..:Resize all non-empty Patterns to 512",invoke=function() resize_all_non_empty_patterns_to(512) end} renoise.tool():add_keybinding{name="Global:Paketti:Resize all non-empty Patterns to 512",invoke=function() resize_all_non_empty_patterns_to(512) end} +renoise.tool():add_menu_entry{name="Pattern Editor:Paketti..:Resize all non-empty Patterns..:Resize all non-empty Patterns to 012",invoke=function() resize_all_non_empty_patterns_to(12) end} +renoise.tool():add_menu_entry{name="Pattern Editor:Paketti..:Resize all non-empty Patterns..:Resize all non-empty Patterns to 016",invoke=function() resize_all_non_empty_patterns_to(016) end} +renoise.tool():add_menu_entry{name="Pattern Editor:Paketti..:Resize all non-empty Patterns..:Resize all non-empty Patterns to 024",invoke=function() resize_all_non_empty_patterns_to(024) end} +renoise.tool():add_menu_entry{name="Pattern Editor:Paketti..:Resize all non-empty Patterns..:Resize all non-empty Patterns to 032",invoke=function() resize_all_non_empty_patterns_to(032) end} +renoise.tool():add_menu_entry{name="Pattern Editor:Paketti..:Resize all non-empty Patterns..:Resize all non-empty Patterns to 048",invoke=function() resize_all_non_empty_patterns_to(048) end} +renoise.tool():add_menu_entry{name="Pattern Editor:Paketti..:Resize all non-empty Patterns..:Resize all non-empty Patterns to 064",invoke=function() resize_all_non_empty_patterns_to(064) end} +renoise.tool():add_menu_entry{name="Pattern Editor:Paketti..:Resize all non-empty Patterns..:Resize all non-empty Patterns to 096",invoke=function() resize_all_non_empty_patterns_to(96) end} +renoise.tool():add_menu_entry{name="Pattern Editor:Paketti..:Resize all non-empty Patterns..:Resize all non-empty Patterns to 128",invoke=function() resize_all_non_empty_patterns_to(128) end} +renoise.tool():add_menu_entry{name="Pattern Editor:Paketti..:Resize all non-empty Patterns..:Resize all non-empty Patterns to 192",invoke=function() resize_all_non_empty_patterns_to(192) end} +renoise.tool():add_menu_entry{name="Pattern Editor:Paketti..:Resize all non-empty Patterns..:Resize all non-empty Patterns to 256",invoke=function() resize_all_non_empty_patterns_to(256) end} +renoise.tool():add_menu_entry{name="Pattern Editor:Paketti..:Resize all non-empty Patterns..:Resize all non-empty Patterns to 384",invoke=function() resize_all_non_empty_patterns_to(384) end} +renoise.tool():add_menu_entry{name="Pattern Editor:Paketti..:Resize all non-empty Patterns..:Resize all non-empty Patterns to 512",invoke=function() resize_all_non_empty_patterns_to(512) end} +renoise.tool():add_menu_entry{name="Pattern Sequencer:Paketti..:Resize all non-empty Patterns..:Resize all non-empty Patterns to 012",invoke=function() resize_all_non_empty_patterns_to(012) end} +renoise.tool():add_menu_entry{name="Pattern Sequencer:Paketti..:Resize all non-empty Patterns..:Resize all non-empty Patterns to 016",invoke=function() resize_all_non_empty_patterns_to(016) end} +renoise.tool():add_menu_entry{name="Pattern Sequencer:Paketti..:Resize all non-empty Patterns..:Resize all non-empty Patterns to 024",invoke=function() resize_all_non_empty_patterns_to(024) end} +renoise.tool():add_menu_entry{name="Pattern Sequencer:Paketti..:Resize all non-empty Patterns..:Resize all non-empty Patterns to 032",invoke=function() resize_all_non_empty_patterns_to(032) end} +renoise.tool():add_menu_entry{name="Pattern Sequencer:Paketti..:Resize all non-empty Patterns..:Resize all non-empty Patterns to 048",invoke=function() resize_all_non_empty_patterns_to(048) end} +renoise.tool():add_menu_entry{name="Pattern Sequencer:Paketti..:Resize all non-empty Patterns..:Resize all non-empty Patterns to 064",invoke=function() resize_all_non_empty_patterns_to(064) end} +renoise.tool():add_menu_entry{name="Pattern Sequencer:Paketti..:Resize all non-empty Patterns..:Resize all non-empty Patterns to 096",invoke=function() resize_all_non_empty_patterns_to(96) end} +renoise.tool():add_menu_entry{name="Pattern Sequencer:Paketti..:Resize all non-empty Patterns..:Resize all non-empty Patterns to 128",invoke=function() resize_all_non_empty_patterns_to(128) end} +renoise.tool():add_menu_entry{name="Pattern Sequencer:Paketti..:Resize all non-empty Patterns..:Resize all non-empty Patterns to 192",invoke=function() resize_all_non_empty_patterns_to(192) end} +renoise.tool():add_menu_entry{name="Pattern Sequencer:Paketti..:Resize all non-empty Patterns..:Resize all non-empty Patterns to 256",invoke=function() resize_all_non_empty_patterns_to(256) end} +renoise.tool():add_menu_entry{name="Pattern Sequencer:Paketti..:Resize all non-empty Patterns..:Resize all non-empty Patterns to 384",invoke=function() resize_all_non_empty_patterns_to(384) end} +renoise.tool():add_menu_entry{name="Pattern Sequencer:Paketti..:Resize all non-empty Patterns..:Resize all non-empty Patterns to 512",invoke=function() resize_all_non_empty_patterns_to(512) end} ------- @@ -6263,163 +6256,6 @@ function wipeNoteColumn(column_number) song.patterns[song.selected_pattern_index].tracks[song.selected_track_index].lines[song.selected_line_index].note_columns[column_number].instrument_string = ".." end -function chordsplus(number1, number2, number3, number4, number5, number6) - - -- Process number1 using JalexAdd - JalexAdd(number1) - - -- Process number2 - if number2 == nil then - -- If number2 is nil, wipe columns 3, 4, 5, 6, and 7 - wipeNoteColumn(3) - wipeNoteColumn(4) - wipeNoteColumn(5) - wipeNoteColumn(6) - wipeNoteColumn(7) - renoise.song().selected_note_column_index = 1 - return - else - -- If number2 is not nil, process it using JalexAdd - JalexAdd(number2) - end - - -- Process number3 - if number3 == nil then - -- If number3 is nil, wipe columns 4, 5, 6, and 7 - wipeNoteColumn(4) - wipeNoteColumn(5) - wipeNoteColumn(6) - wipeNoteColumn(7) - renoise.song().selected_note_column_index = 1 - return - else - -- If number3 is not nil, process it using JalexAdd - JalexAdd(number3) - end - - -- Process number4 - if number4 == nil then - -- If number4 is nil, wipe columns 5, 6, and 7 - wipeNoteColumn(5) - wipeNoteColumn(6) - wipeNoteColumn(7) - renoise.song().selected_note_column_index = 1 - return - else - -- If number4 is not nil, process it using JalexAdd - JalexAdd(number4) - end - - -- Process number5 - if number5 == nil then - -- If number5 is nil, wipe columns 6 and 7 - wipeNoteColumn(6) - wipeNoteColumn(7) - renoise.song().selected_note_column_index = 1 - return - else - -- If number5 is not nil, process it using JalexAdd - JalexAdd(number5) - end - - -- Process number6 - if number6 == nil then - -- If number6 is nil, wipe columns 7 and 8 - wipeNoteColumn(7) - wipeNoteColumn(8) - renoise.song().selected_note_column_index = 1 - return - else - -- If number6 is not nil, process it using JalexAdd - JalexAdd(number6) - end - - -- Reset the selected note column index to 1 - renoise.song().selected_note_column_index = 1 -end - - - - --- List of chord progressions, reordered logically -local chord_list = { - {name="Chordsplus 3-4 (Maj)", fn=function() chordsplus(4,3) end}, - {name="Chordsplus 4-3 (Min)", fn=function() chordsplus(3,4) end}, - {name="Chordsplus 4-3-4 (Maj7)", fn=function() chordsplus(4,3,4) end}, - {name="Chordsplus 3-4-3 (Min7)", fn=function() chordsplus(3,4,3) end}, - {name="Chordsplus 4-4-3 (Maj7+5)", fn=function() chordsplus(4,4,3) end}, - {name="Chordsplus 3-5-2 (Min7+5)", fn=function() chordsplus(3,5,2) end}, - {name="Chordsplus 4-3-3 (Maj Dominant 7th)", fn=function() chordsplus(4,3,3) end}, -- MajMajor7 - {name="Chordsplus 3-4-4 (MinMaj7)", fn=function() chordsplus(3,4,4) end}, -- MinorMajor7 - {name="Chordsplus 4-3-4-3 (Maj9)", fn=function() chordsplus(4,3,4,3) end}, - {name="Chordsplus 3-4-3-3 (Min9)", fn=function() chordsplus(3,4,3,3) end}, - {name="Chordsplus 4-3-7 (Maj Added 9th)", fn=function() chordsplus(4,3,7) end}, - {name="Chordsplus 3-4-7 (Min Added 9th)", fn=function() chordsplus(3,4,7) end}, - {name="Chordsplus 4-7-3 (Maj9 Simplified)", fn=function() chordsplus(4,7,3) end}, -- Maj9 without 5th - - {name="Chordsplus 3-7-4 (Min9 Simplified)", fn=function() chordsplus(3,7,4) end}, -- Min9 without 5th - {name="Chordsplus 3-8-3 (mM9 Simplified)", fn=function() chordsplus(3,8,3) end}, -- MinorMajor9 without 5th -{name="Chordsplus 4-3-4-4 (MM9)", fn=function() chordsplus(4,3,4,4) end}, -- MajorMajor9 with Augmented 9th - {name="Chordsplus 3-4-4-3 (mM9)", fn=function() chordsplus(3,4,4,3) end}, -- MinorMajor9 - {name="Chordsplus 4-3-2-5 (Maj6 Add9)", fn=function() chordsplus(4,3,2,5) end}, -- Maj6 Add9 - {name="Chordsplus 3-4-2-5 (Min6 Add9)", fn=function() chordsplus(3,4,2,5) end}, -- Min6 Add9 - {name="Chordsplus 2-5 (Sus2)", fn=function() chordsplus(2,5) end}, - {name="Chordsplus 5-2 (Sus4)", fn=function() chordsplus(5,2) end}, - {name="Chordsplus 5-2-3 (7Sus4)", fn=function() chordsplus(5,2,3) end}, - {name="Chordsplus 4-4 (Aug5)", fn=function() chordsplus(4,4) end}, -{name="Chordsplus 4-4-2 (Aug6)", fn=function() chordsplus(4,4,2) end}, -{name="Chordsplus 4-4-3 (Aug7)", fn=function() chordsplus(4,4,3) end}, -{name="Chordsplus 4-4-4 (Aug8)", fn=function() chordsplus(4,4,4) end}, - {name="Chordsplus 4-3-3-5 (Aug9)", fn=function() chordsplus(4,3,3,5) end}, - {name="Chordsplus 4-4-7 (Aug10)", fn=function() chordsplus(4,4,7) end}, - {name="Chordsplus 4-3-3-4-4 (Aug11)", fn=function() chordsplus(4,3,3,4,4) end}, - {name="Chordsplus 12-12-12 (Octaves)", fn=function() chordsplus(12,12,12) end} -} - -local current_chord_index = 1 -- Start at the first chord - --- Function to advance to the next chord in the list -local function next_chord() - chord_list[current_chord_index].fn() -- Invoke the current chord function - renoise.app():show_status("Played: " .. chord_list[current_chord_index].name) - current_chord_index = current_chord_index + 1 - if current_chord_index > #chord_list then - current_chord_index = 1 -- Wrap back to the first chord - end -end - --- MIDI mapping handler, maps values 0-127 to the list of chords -function midi_chord_mapping(value) -if renoise.song().selected_track.visible_note_columns ~= 0 then - local chord_index = math.floor((value / 127) * (#chord_list - 1)) + 1 - if renoise.song().selected_pattern.tracks[renoise.song().selected_track_index].lines[renoise.song().selected_line_index].note_columns[renoise.song().selected_note_column_index].is_empty - then renoise.app():show_status("There was no note, doing nothing.") - return - end - - chord_list[chord_index].fn() - renoise.app():show_status("Set Basenote and Intervals to: " .. chord_list[chord_index].name) -else -renoise.app():show_status("This track does not have a Note Column. Doing nothing.") -end - -end - --- Add keybindings dynamically based on the chord list -for i, chord in ipairs(chord_list) do - renoise.tool():add_keybinding{ - name="Pattern Editor:Paketti:" .. chord.name, - invoke=chord.fn - } -end - --- Add keybinding for cycling through chords -renoise.tool():add_keybinding{ - name="Pattern Editor:Paketti:Next Chord in List", - invoke=next_chord -} - -renoise.tool():add_midi_mapping{name="Paketti:Chord Selector [0-127]",invoke=function(midi_message) midi_chord_mapping(midi_message.int_value) end} function FinderShower2(plugin) for i=2,#renoise.song().tracks[renoise.song().sequencer_track_count+1].devices do @@ -6885,8 +6721,6 @@ renoise.tool():add_midi_mapping { - - end -- Add debug print for loading and saving the preferences @@ -7602,6 +7436,419 @@ function create_row_controls(slider_set, initial_value, range, loop_default) return row, sliders_row end + +function volume_interpolation() + local song = renoise.song() + local changes_made = false + + -- Get the selection data using the pro function + local selection_data = selection_in_pattern_pro() + if not selection_data then + renoise.app():show_error("No selection in pattern!") + return + end + + -- Get pattern info + local pattern_index = song.selected_pattern_index + local pattern = song:pattern(pattern_index) + local selection = song.selection_in_pattern + local start_line = selection.start_line + local end_line = selection.end_line + + -- Ensure there is a difference between start and end lines + if start_line == end_line then + renoise.app():show_error("The selection must span at least two lines.") + return + end + + -- Iterate through each track in the selection + for _, track_info in ipairs(selection_data) do + local track_index = track_info.track_index + local track = pattern:track(track_index) + + -- Check if volume column is visible for this track + if song:track(track_index).volume_column_visible then + -- Process each selected note column in this track + for _, note_column_index in ipairs(track_info.note_columns) do + -- Get start and end note columns + local start_note = track:line(start_line):note_column(note_column_index) + local end_note = track:line(end_line):note_column(note_column_index) + + -- Get volume values, using 80 (0x50) as default when empty + local start_vol = start_note.volume_value + local end_vol = end_note.volume_value + local start_vol_empty = start_note.volume_string == ".." + local end_vol_empty = end_note.volume_string == ".." + + -- If end volume is empty, use 0x50 (80) as the target + if end_vol_empty then + end_vol = 0x50 + end + + -- Only proceed if we have a valid end volume or the end is explicitly empty (00) + if not end_note.is_empty then + -- Calculate volume difference and step + local vol_diff = end_vol - (start_vol_empty and 0x50 or start_vol) + + -- Skip if no difference to interpolate + if vol_diff ~= 0 then + changes_made = true + local steps = end_line - start_line + local step_size = vol_diff / steps + + -- Interpolate volumes between start and end lines + for i = 1, steps - 1 do + local line_index = start_line + i + local line = track:line(line_index) + local note_column = line:note_column(note_column_index) + + -- Calculate interpolated volume + local interpolated_vol = math.floor((start_vol_empty and 0x50 or start_vol) + (i * step_size)) + + -- Ensure volume stays within valid range (0x00-0x80) + interpolated_vol = math.max(0, math.min(0x80, interpolated_vol)) + + -- Only set volume if we're not on the first line or if first line already has volume + if i > 0 or not start_vol_empty then + note_column.volume_value = interpolated_vol + end + end + end + end + end + end + end + + if not changes_made then + renoise.app():show_status("No volume values to interpolate in the selection.") + end +end + +function delay_interpolation() + local song = renoise.song() + local changes_made = false + + -- Get the selection data using the pro function + local selection_data = selection_in_pattern_pro() + if not selection_data then + renoise.app():show_error("No selection in pattern!") + return + end + + -- Get pattern info + local pattern_index = song.selected_pattern_index + local pattern = song:pattern(pattern_index) + local selection = song.selection_in_pattern + local start_line = selection.start_line + local end_line = selection.end_line + + -- Ensure there is a difference between start and end lines + if start_line == end_line then + renoise.app():show_error("The selection must span at least two lines.") + return + end + + -- Iterate through each track in the selection + for _, track_info in ipairs(selection_data) do + local track_index = track_info.track_index + local track = pattern:track(track_index) + + -- Check if delay column is visible for this track + if song:track(track_index).delay_column_visible then + -- Process each selected note column in this track + for _, note_column_index in ipairs(track_info.note_columns) do + -- Get start and end note columns + local start_note = track:line(start_line):note_column(note_column_index) + local end_note = track:line(end_line):note_column(note_column_index) + + -- Get delay values, using 0 as default when empty + local start_delay = start_note.delay_value + local end_delay = end_note.delay_value + local start_delay_empty = start_note.delay_string == ".." + local end_delay_empty = end_note.delay_string == ".." + + -- If end delay is empty, use 0 as the target + if end_delay_empty then + end_delay = 0 + end + + -- Only proceed if we have a valid end delay or the end is explicitly empty (00) + if not end_note.is_empty then + -- Calculate delay difference and step + local delay_diff = end_delay - (start_delay_empty and 0 or start_delay) + + -- Skip if no difference to interpolate + if delay_diff ~= 0 then + changes_made = true + local steps = end_line - start_line + local step_size = delay_diff / steps + + -- Interpolate delays between start and end lines + for i = 1, steps - 1 do + local line_index = start_line + i + local line = track:line(line_index) + local note_column = line:note_column(note_column_index) + + -- Calculate interpolated delay + local interpolated_delay = math.floor((start_delay_empty and 0 or start_delay) + (i * step_size)) + + -- Ensure delay stays within valid range (0x00-0xFF) + interpolated_delay = math.max(0, math.min(0xFF, interpolated_delay)) + + -- Only set delay if we're not on the first line or if first line already has delay + if i > 0 or not start_delay_empty then + note_column.delay_value = interpolated_delay + end + end + end + end + end + end + end + + if not changes_made then + renoise.app():show_status("No delay values to interpolate in the selection.") + end +end + +function panning_interpolation() + local song = renoise.song() + local changes_made = false + + -- Get the selection data using the pro function + local selection_data = selection_in_pattern_pro() + if not selection_data then + renoise.app():show_error("No selection in pattern!") + return + end + + -- Get pattern info + local pattern_index = song.selected_pattern_index + local pattern = song:pattern(pattern_index) + local selection = song.selection_in_pattern + local start_line = selection.start_line + local end_line = selection.end_line + + -- Ensure there is a difference between start and end lines + if start_line == end_line then + renoise.app():show_error("The selection must span at least two lines.") + return + end + + -- Iterate through each track in the selection + for _, track_info in ipairs(selection_data) do + local track_index = track_info.track_index + local track = pattern:track(track_index) + + -- Check if panning column is visible for this track + if song:track(track_index).panning_column_visible then + -- Process each selected note column in this track + for _, note_column_index in ipairs(track_info.note_columns) do + -- Get start and end note columns + local start_note = track:line(start_line):note_column(note_column_index) + local end_note = track:line(end_line):note_column(note_column_index) + + -- Get panning values, using 0x40 (center) as default when empty + local start_pan = start_note.panning_value + local end_pan = end_note.panning_value + local start_pan_empty = start_note.panning_string == ".." + local end_pan_empty = end_note.panning_string == ".." + + -- If end panning is empty, use 0x40 (center) as the target + if end_pan_empty then + end_pan = 0x40 + end + + -- Only proceed if we have a valid end panning or the end is explicitly empty (00) + if not end_note.is_empty then + -- Calculate panning difference and step + local pan_diff = end_pan - (start_pan_empty and 0x40 or start_pan) + + -- Skip if no difference to interpolate + if pan_diff ~= 0 then + changes_made = true + local steps = end_line - start_line + local step_size = pan_diff / steps + + -- Interpolate panning between start and end lines + for i = 1, steps - 1 do + local line_index = start_line + i + local line = track:line(line_index) + local note_column = line:note_column(note_column_index) + + -- Calculate interpolated panning + local interpolated_pan = math.floor((start_pan_empty and 0x40 or start_pan) + (i * step_size)) + + -- Ensure panning stays within valid range (0x00-0x80) + interpolated_pan = math.max(0, math.min(0x80, interpolated_pan)) + + -- Only set panning if we're not on the first line or if first line already has panning + if i > 0 or not start_pan_empty then + note_column.panning_value = interpolated_pan + end + end + end + end + end + end + end + + if not changes_made then + renoise.app():show_status("No panning values to interpolate in the selection.") + end +end + +-- Add keybindings for interpolation functions +renoise.tool():add_keybinding{name="Pattern Editor:Paketti:Interpolate Column Values (Volume)", + invoke=function() volume_interpolation() end} + +renoise.tool():add_keybinding{name="Pattern Editor:Paketti:Interpolate Column Values (Delay)", + invoke=function() delay_interpolation() end} + +renoise.tool():add_keybinding{name="Pattern Editor:Paketti:Interpolate Column Values (Panning)",invoke=function() panning_interpolation() end} + +-- Add menu entries for interpolation functions +renoise.tool():add_menu_entry{name="Pattern Editor:Paketti..:Interpolate Column Values (Volume)", + invoke=function() volume_interpolation() end} + +renoise.tool():add_menu_entry{name="Pattern Editor:Paketti..:Interpolate Column Values (Delay)", + invoke=function() delay_interpolation() end} + +renoise.tool():add_menu_entry{name="Pattern Editor:Paketti..:Interpolate Column Values (Panning)", + invoke=function() panning_interpolation() end} + +-- Add MIDI mappings for interpolation functions +renoise.tool():add_midi_mapping{ + name="Paketti:Interpolate Column Values (Volume)", + invoke=function(message) + if message:is_trigger() then volume_interpolation() end + end +} + +renoise.tool():add_midi_mapping{ + name="Paketti:Interpolate Column Values (Delay)", + invoke=function(message) + if message:is_trigger() then delay_interpolation() end + end +} + +renoise.tool():add_midi_mapping{ + name="Paketti:Interpolate Column Values (Panning)", + invoke=function(message) + if message:is_trigger() then panning_interpolation() end + end +} + +function samplefx_interpolation() + local song = renoise.song() + local changes_made = false + + -- Get the selection data using the pro function + local selection_data = selection_in_pattern_pro() + if not selection_data then + renoise.app():show_error("No selection in pattern!") + return + end + + -- Get pattern info + local pattern_index = song.selected_pattern_index + local pattern = song:pattern(pattern_index) + local selection = song.selection_in_pattern + local start_line = selection.start_line + local end_line = selection.end_line + + -- Ensure there is a difference between start and end lines + if start_line == end_line then + renoise.app():show_error("The selection must span at least two lines.") + return + end + + -- Iterate through each track in the selection + for _, track_info in ipairs(selection_data) do + local track_index = track_info.track_index + local track = pattern:track(track_index) + + -- Check if sample effects column is visible for this track + if song:track(track_index).sample_effects_column_visible then + -- Process each selected note column in this track + for _, note_column_index in ipairs(track_info.note_columns) do + -- Get start and end note columns + local start_note = track:line(start_line):note_column(note_column_index) + local end_note = track:line(end_line):note_column(note_column_index) + + -- Get effect values + local start_effect_num = start_note.effect_number_value + local end_effect_num = end_note.effect_number_value + local start_effect_amt = start_note.effect_amount_value + local end_effect_amt = end_note.effect_amount_value + + -- Check if effects are empty + local start_empty = start_note.effect_number_string == ".." + local end_empty = end_note.effect_number_string == ".." + + -- Only proceed if we have a valid end effect + if not end_empty and not end_note.is_empty then + -- We'll only interpolate the amount if the effect numbers match + if start_effect_num == end_effect_num or start_empty then + local effect_num = end_effect_num + local amt_diff = end_effect_amt - (start_empty and 0 or start_effect_amt) + + -- Skip if no difference to interpolate + if amt_diff ~= 0 then + changes_made = true + local steps = end_line - start_line + local step_size = amt_diff / steps + + -- Interpolate effect amounts between start and end lines + for i = 1, steps - 1 do + local line_index = start_line + i + local line = track:line(line_index) + local note_column = line:note_column(note_column_index) + + -- Calculate interpolated amount + local interpolated_amt = math.floor((start_empty and 0 or start_effect_amt) + (i * step_size)) + + -- Ensure amount stays within valid range (0x00-0xFF) + interpolated_amt = math.max(0, math.min(0xFF, interpolated_amt)) + + -- Set the effect number and interpolated amount + note_column.effect_number_value = effect_num + note_column.effect_amount_value = interpolated_amt + end + end + end + end + end + end + end + + if not changes_made then + renoise.app():show_status("No sample effects to interpolate in the selection.") + else + renoise.app():show_status("Sample effects interpolated successfully!") + end +end + +-- Add keybinding for sample fx interpolation +renoise.tool():add_keybinding{ + name="Pattern Editor:Paketti:Interpolate Column Values (Sample FX)", + invoke=function() samplefx_interpolation() end +} + +-- Add menu entry for sample fx interpolation +renoise.tool():add_menu_entry{ + name="Pattern Editor:Paketti..:Interpolate Column Values (Sample FX)", + invoke=function() samplefx_interpolation() end +} + +-- Add MIDI mapping for sample fx interpolation +renoise.tool():add_midi_mapping{ + name="Paketti:Interpolate Column Values (Sample FX)", + invoke=function(message) + if message:is_trigger() then samplefx_interpolation() end + end +} + -- Show the GUI dialog function show_VDPdialog() if dialog and dialog.visible then @@ -8290,3 +8537,425 @@ end renoise.tool():add_keybinding{name="Global:Paketti:Wipe Random Notes",invoke=function() wipe_random_notes_with_note_offs() end} + + +-------- +-- Add this helper function at the top +function isInstrumentEmpty(instrument) + return (#instrument.samples == 0 and + not instrument.plugin_properties.plugin_loaded and + not instrument.midi_output_properties.device_name and + #instrument.sample_mappings[1].slices == 0) +end + +-- Function to reduce volume of all instruments +function reduceInstrumentsVolume(db_amount) + local song = renoise.song() + local MIN_DB = -96 -- Renoise's minimum dB level before -INF + + -- Check volumes first + for i = 1, #song.instruments do + local instrument = song.instruments[i] + if not isInstrumentEmpty(instrument) then + local current_db = math.lin2db(instrument.volume) + if (current_db - db_amount) <= MIN_DB then + renoise.app():show_status("Cannot reduce by -" .. db_amount .. "dB: would go below -96dB") + return + end + end + end + + -- Apply volume changes + local changed_count = 0 + for i = 1, #song.instruments do + local instrument = song.instruments[i] + if not isInstrumentEmpty(instrument) then + local current_db = math.lin2db(instrument.volume) + local new_db = current_db - db_amount + instrument.volume = math.db2lin(new_db) + changed_count = changed_count + 1 + end + end + + renoise.app():show_status(string.format("%d instruments volume reduced by %.1fdB", changed_count, db_amount)) +end + +renoise.tool():add_keybinding{name="Global:Paketti:Global Volume Reduce All Instruments by -4.5dB",invoke=function() reduceInstrumentsVolume(4.5) end} +renoise.tool():add_menu_entry{name="--Main Menu:Tools:Paketti..:Instruments..:Global Volume Reduce All Instruments by -4.5dB",invoke=function() reduceInstrumentsVolume(4.5) end} +renoise.tool():add_menu_entry{name="Instrument Box:Paketti..:Global Volume Reduce All Instruments by -4.5dB",invoke=function() reduceInstrumentsVolume(4.5) end} +renoise.tool():add_midi_mapping{name="Paketti:Global Volume Reduce All Instruments by -4.5dB",invoke=function(message) if message:is_trigger() then reduceInstrumentsVolume(4.5) end end} + +-- Function to reduce volume of all samples in all instruments +function reduceSamplesVolume(db_amount) + local song = renoise.song() + local MIN_DB = -96 -- Renoise's minimum dB level before -INF + + -- First check if any sample would go below MIN_DB + for i = 1, #song.instruments do + local instrument = song.instruments[i] + if instrument and #instrument.samples > 0 then + for _, sample in ipairs(instrument.samples) do + local current_db = math.lin2db(sample.volume) + if (current_db - db_amount) <= MIN_DB then + renoise.app():show_status("Cannot reduce by -" .. db_amount .. "dB: would go below -96dB") + return + end + end + end + end + + -- If we get here, it's safe to reduce all volumes + for i = 1, #song.instruments do + local instrument = song.instruments[i] + if instrument and #instrument.samples > 0 then + for _, sample in ipairs(instrument.samples) do + local current_db = math.lin2db(sample.volume) + local new_db = current_db - db_amount + sample.volume = math.db2lin(new_db) + end + end + end + + renoise.app():show_status(string.format("All samples volume reduced by %.1fdB", db_amount)) +end + +renoise.tool():add_keybinding{name="Global:Paketti:Global Volume Reduce All Samples by -4.5dB",invoke=function() reduceSamplesVolume(4.5) end} +renoise.tool():add_menu_entry{name="Main Menu:Tools:Paketti..:Instruments..:Global Volume Reduce All Samples by -4.5dB",invoke=function() reduceSamplesVolume(4.5) end} +renoise.tool():add_menu_entry{name="Instrument Box:Paketti..:Global Volume Reduce Reduce All Samples by -4.5dB",invoke=function() reduceSamplesVolume(4.5) end} +renoise.tool():add_midi_mapping{name="Paketti:Global Volume Reduce All Samples by -4.5dB",invoke=function(message) if message:is_trigger() then reduceSamplesVolume(4.5) end end} + +function show_global_volume_dialog() + local vb = renoise.ViewBuilder() + local dialog = nil + local current_db_value = 0 + local current_sample_db_value = 0 + + local value_display = vb:text{ text = "0.0 dB" } + local sample_value_display = vb:text{ text = "0.0 dB" } + local value_slider + local value_box + local sample_value_slider + local sample_value_box + + local function update_instrument_controls(new_value) + current_db_value = new_value + value_display.text = string.format("%.1f dB", new_value) + value_slider.value = new_value + value_box.value = new_value + end + + local function update_sample_controls(new_value) + current_sample_db_value = new_value + sample_value_display.text = string.format("%.1f dB", new_value) + sample_value_slider.value = new_value + sample_value_box.value = new_value + end + + value_box = vb:valuebox { + min = -96, + max = 0, + width = 90, + value = current_db_value, + tostring = function(value) return string.format("%.1f", value) end, + tonumber = function(str) return tonumber(str) or 0 end, + notifier = function(new_value) + update_instrument_controls(new_value) + end + } + + sample_value_box = vb:valuebox { + min = -96, + max = 0, + width = 90, + value = current_sample_db_value, + tostring = function(value) return string.format("%.1f", value) end, + tonumber = function(str) return tonumber(str) or 0 end, + notifier = function(new_value) + update_sample_controls(new_value) + end + } + + value_slider = vb:slider { + min = -96, + max = 0, + value = current_db_value, + width = 250, + notifier = function(new_value) + update_instrument_controls(new_value) + end + } + + sample_value_slider = vb:slider { + min = -96, + max = 0, + value = current_sample_db_value, + width = 250, + notifier = function(new_value) + update_sample_controls(new_value) + end + } + + local dialog_content = vb:column { + margin = 0, + spacing = 0, + + vb:text { text = "Instrument Volume:", width = 120 }, + vb:row { + spacing = 0, + value_box, + value_display + }, + value_slider, + + vb:text { text = "Sample/Slice Volume:", width = 120 }, + vb:row { + spacing = 0, + sample_value_box, + sample_value_display + }, + sample_value_slider, + + vb:button { + text = "Apply Volume Changes", + width = 250, + notifier = function() + if current_db_value ~= 0 then + reduceInstrumentsVolume(-current_db_value) + end + if current_sample_db_value ~= 0 then + reduceSamplesVolume(-current_sample_db_value) + end + if dialog and dialog.visible then + dialog:close() + end + end + } + } + + dialog = renoise.app():show_custom_dialog("Global Instrument/Sample Volume Adjustment",dialog_content) +end + +renoise.tool():add_menu_entry{name="Main Menu:Tools:Paketti..:Paketti Global Volume Adjustment...",invoke=function() show_global_volume_dialog() end} +renoise.tool():add_menu_entry{name="Instrument Box:Paketti..:Paketti Global Volume Adjustment...",invoke=function() show_global_volume_dialog() end} +renoise.tool():add_keybinding{name="Global:Paketti:Global Volume Adjustment...",invoke=function() show_global_volume_dialog() end} +renoise.tool():add_midi_mapping{name="Paketti:Global Volume Adjustment...",invoke=function(message) if message:is_trigger() then show_global_volume_dialog() end end} +------- +------ + +------- +function PatternMatrixCopyExpandLine(track_index, pattern_index, from_line, to_line) + local s = renoise.song() + local cur_pattern = s:pattern(pattern_index) + local cur_track = cur_pattern:track(track_index) + + print(string.format(" Expanding in pattern %d: line %d -> line %d", pattern_index, from_line, to_line)) + cur_track:line(to_line):copy_from(cur_track:line(from_line)) + cur_track:line(from_line):clear() + cur_track:line(to_line + 1):clear() +end + +function PatternMatrixCopyShrinkLine(track_index, pattern_index, from_line, to_line) + local s = renoise.song() + local cur_pattern = s:pattern(pattern_index) + local cur_track = cur_pattern:track(track_index) + + print(string.format(" Shrinking in pattern %d: line %d -> line %d", pattern_index, from_line, to_line)) + cur_track:line(to_line):copy_from(cur_track:line(from_line)) + cur_track:line(from_line):clear() + cur_track:line(from_line + 1):clear() +end + +function PatternMatrixExpandTrack(track_index, pattern_index, start_line, end_line) + local s = renoise.song() + local pattern = s:pattern(pattern_index) + + print(string.format(" Expanding track %d in pattern %d (lines %d to %d)", + track_index, pattern_index, start_line, end_line)) + + for l = end_line, start_line, -1 do + if l ~= start_line and l*2-start_line <= pattern.number_of_lines then + PatternMatrixCopyExpandLine(track_index, pattern_index, l, l*2-start_line) + end + end +end + +function PatternMatrixShrinkTrack(track_index, pattern_index, start_line, end_line) + local s = renoise.song() + local pattern = s:pattern(pattern_index) + + print(string.format(" Shrinking track %d in pattern %d (lines %d to %d)", + track_index, pattern_index, start_line, end_line)) + + for l = start_line, end_line, 2 do + if l ~= start_line then + PatternMatrixCopyShrinkLine(track_index, pattern_index, l, l/2 + start_line/2) + end + end +end + +function PatternMatrixExpand() + local song = renoise.song() + local sequencer = song.sequencer + local selected_tracks = {} + local selected_sequences = {} -- Track -> array of sequence indices + + -- First pass: collect all selected tracks and their sequence positions + for track_idx = 1, song.sequencer_track_count do + for seq_idx = 1, #sequencer.pattern_sequence do + if sequencer:track_sequence_slot_is_selected(track_idx, seq_idx) then + if not selected_tracks[track_idx] then + selected_tracks[track_idx] = true + selected_sequences[track_idx] = {} + end + table.insert(selected_sequences[track_idx], seq_idx) + end + end + end + + if next(selected_tracks) == nil then + print("No tracks selected in pattern matrix") + renoise.app():show_status("Nothing selected in pattern matrix") + return + end + + -- Second pass: process each track's selected patterns in order + for track_idx, sequences in pairs(selected_sequences) do + for _, seq_idx in ipairs(sequences) do + local pattern_index = sequencer.pattern_sequence[seq_idx] + local pattern_lines = song.patterns[pattern_index].number_of_lines + PatternMatrixExpandTrack(track_idx, pattern_index, 1, pattern_lines) + end + end +end + +function PatternMatrixShrink() + local song = renoise.song() + local sequencer = song.sequencer + local selected_tracks = {} + + print("\nPattern Matrix Selection:") + print("------------------------") + + for track_idx = 1, song.sequencer_track_count do + local track_has_selection = false + local track_selections = {} + + for seq_idx = 1, #sequencer.pattern_sequence do + if sequencer:track_sequence_slot_is_selected(track_idx, seq_idx) then + track_has_selection = true + selected_tracks[track_idx] = true + table.insert(track_selections, seq_idx) + end + end + + if track_has_selection then + print(string.format("Track %02d: Selected in sequences %s", + track_idx, + table.concat(track_selections, ", "))) + end + end + print("------------------------") + + if next(selected_tracks) == nil then + print("No tracks selected in pattern matrix") + renoise.app():show_status("Nothing selected in pattern matrix") + return + end + + print("\nProcessing Patterns:") + print("------------------------") + + for seq_idx = 1, #sequencer.pattern_sequence do + local pattern_index = sequencer.pattern_sequence[seq_idx] + local pattern_lines = song.patterns[pattern_index].number_of_lines + + for track_idx, _ in pairs(selected_tracks) do + if sequencer:track_sequence_slot_is_selected(track_idx, seq_idx) then + print(string.format("\nProcessing: Track %02d, Sequence %02d (Pattern %02d with %d lines)", + track_idx, seq_idx, pattern_index, pattern_lines)) + PatternMatrixShrinkTrack(track_idx, pattern_index, 1, pattern_lines) + end + end + end + print("------------------------") + + renoise.app():show_status("Shrank selected tracks in pattern matrix") +end + +renoise.tool():add_keybinding { name = "Pattern Matrix:Paketti..:Pattern Matrix Selection Expand", invoke = PatternMatrixExpand } +renoise.tool():add_keybinding { name = "Pattern Matrix:Paketti..:Pattern Matrix Selection Shrink", invoke = PatternMatrixShrink } +renoise.tool():add_menu_entry { name = "Pattern Matrix:Paketti..:Pattern Matrix Selection Expand", invoke = PatternMatrixExpand } +renoise.tool():add_menu_entry { name = "Pattern Matrix:Paketti..:Pattern Matrix Selection Shrink", invoke = PatternMatrixShrink } +-------- +-- Dialog state +local dialog = nil +local vb = nil + +-- Create and show the dialog +local function show_edit_step_dialog() + if dialog and dialog.visible then + return + end + + vb = renoise.ViewBuilder() + + local dialog_content = vb:row { + vb:text {text = "EditStep&Enter"}, + vb:textfield { + id = "edit_step_input", + width = 30, + active = true, + edit_mode = true, + value = tostring(renoise.song().transport.edit_step), + notifier = function(text) + local number = tonumber(text) + if number then + -- Cap the value at 64 if it's higher + if number > 64 then + number = 64 + end + -- Ensure number is not negative + if number >= 0 then + renoise.song().transport.edit_step = number + dialog:close() + end + end + end + } + } + + dialog = renoise.app():show_custom_dialog("Set EditStep&Enter",dialog_content,function() end ) + +end + +-- Key binding functions +local function key_handler(key) + if key.modifiers == "alt" then -- You can change this modifier + if key.name == "key_down" then + show_edit_step_dialog() + elseif key.name == "key_up" then + if dialog and dialog.visible then + dialog:close() + end + end + end +end + +-- Register the key handler +renoise.tool():add_keybinding { + name = "Global:Paketti:Show EditStep Dialog", + invoke = function(repeated) + if not repeated then + key_handler({name = "key_down", modifiers = "alt"}) + end + end +} + +--[[renoise.tool():add_keybinding { + name = "Global:Paketti:Hide EditStep Dialog", + invoke = function(repeated) + if not repeated then + key_handler({name = "key_up", modifiers = "alt"}) + end + end +} ]]-- diff --git a/PakettiSampleLoader.lua b/PakettiSampleLoader.lua index e69de29..c9368de 100644 --- a/PakettiSampleLoader.lua +++ b/PakettiSampleLoader.lua @@ -0,0 +1,248 @@ +-- Define render state (initialized when starting to render) +render_context = { + source_track = 0, + target_track = 0, + target_instrument = 0, + temp_file_path = "", + num_tracks_before = 0 -- Add this to keep track of the original number of tracks +} + +-- Variable to store the original solo and mute states +local track_states = {} + +-- Function to initiate rendering +function start_rendering() + local song = renoise.song() + local render_priority = "high" + local selected_track = song.selected_track + + for _, device in ipairs(selected_track.devices) do + if device.name == "#Line Input" then + render_priority = "realtime" + break + end + end + + -- Set up rendering options + local render_options = { + sample_rate = preferences.renderSampleRate.value, + bit_depth = preferences.renderBitDepth.value, + interpolation = "precise", + priority = render_priority, + start_pos = renoise.SongPos(song.selected_sequence_index, 1), + end_pos = renoise.SongPos(song.selected_sequence_index, song.patterns[song.selected_pattern_index].number_of_lines), + } + + -- Save current solo and mute states of all tracks + track_states = {} + render_context.num_tracks_before = #song.tracks -- Save the number of tracks before rendering + for i, track in ipairs(song.tracks) do + track_states[i] = { + solo_state = track.solo_state, + mute_state = track.mute_state + } + end + + -- Solo the selected track and unsolo others + for i, track in ipairs(song.tracks) do + track.solo_state = false + end + song.tracks[song.selected_track_index].solo_state = true + + -- Set render context + render_context.source_track = song.selected_track_index + render_context.target_track = render_context.source_track + 1 + render_context.target_instrument = song.selected_instrument_index + 1 + render_context.temp_file_path = os.tmpname() .. ".wav" + + -- Start rendering + local success, error_message = song:render(render_options, render_context.temp_file_path, rendering_done_callback) + if not success then + print("Rendering failed: " .. error_message) + else + -- Start a timer to monitor rendering progress + renoise.tool():add_timer(monitor_rendering, 500) + end +end + +-- Callback function that gets called when rendering is complete +function rendering_done_callback() + print("Rendering done callback started") + local song = renoise.song() + local renderTrack = render_context.source_track + local renderedTrack = renderTrack + 1 + local renderedInstrument = render_context.target_instrument + + -- Remove the monitoring timer + renoise.tool():remove_timer(monitor_rendering) + + -- First, explicitly unsolo AND unmute ALL sequencer tracks + for i = 1, song.sequencer_track_count do + if song.tracks[i] then + song.tracks[i].solo_state = false + song.tracks[i].mute_state = renoise.Track.MUTE_STATE_ACTIVE + end + end + + -- Then handle send tracks separately (starting after master track) + local send_track_start = song.sequencer_track_count + 2 -- +2 to skip master track + for i = send_track_start, send_track_start + song.send_track_count - 1 do + if song.tracks[i] then + song.tracks[i].solo_state = false + song.tracks[i].mute_state = renoise.Track.MUTE_STATE_ACTIVE + end + end + + -- Then restore the original solo and mute states only for the tracks that existed before rendering + for i = 1, render_context.num_tracks_before do + if track_states[i] then + song.tracks[i].solo_state = track_states[i].solo_state + song.tracks[i].mute_state = track_states[i].mute_state + end + end + + -- Turn All Render Track Note Columns to "Off" + for i = 1, song.tracks[renderTrack].max_note_columns do + song.tracks[renderTrack]:set_column_is_muted(i, true) + end + + if preferences.renderBypass.value == true then + for i = 2, #song.selected_track.devices do + song.selected_track.devices[i].is_active = false + end + end + + -- Collapse Render Track + song.tracks[renderTrack].collapsed = true + + -- Change Selected Track to Rendered Track + song.selected_track_index = song.selected_track_index + 1 + + -- Load default instrument (assuming this function is defined) + pakettiPreferencesDefaultInstrumentLoader() + + -- Add *Instr. Macros to Rendered Track + local new_instrument = song:instrument(song.selected_instrument_index) + + -- Load Sample into New Instrument Sample Buffer + new_instrument.samples[1].sample_buffer:load_from(render_context.temp_file_path) + os.remove(render_context.temp_file_path) + + -- Set the selected_instrument_index to the newly created instrument + song.selected_instrument_index = renderedInstrument - 1 + + -- Insert New Track Next to Render Track + song:insert_track_at(renderedTrack) + local renderName = song.tracks[renderTrack].name + + -- Ensure we are editing the correct pattern + local selected_pattern_index = song.selected_pattern_index + local pattern_track = song.patterns[selected_pattern_index]:track(renderedTrack) + + -- Place the note in the new track + pattern_track:line(1).note_columns[1].note_string = "C-4" + pattern_track:line(1).note_columns[1].instrument_value = song.selected_instrument_index - 1 + + -- Add *Instr. Macros to selected Track (assuming this function is defined) + loadnative("Audio/Effects/Native/*Instr. Macros") + song.selected_track.devices[2].is_maximized = false + + -- Rename Sample Slot to Render Track + new_instrument.samples[1].name = renderName .. " (Rendered)" + + -- Select New Track + print(renderedTrack .. " this was the track but is it really the track?") + song.selected_track_index = renderedTrack + + -- Rename New Track using Render Track Name + song.tracks[renderedTrack].name = renderName .. " (Rendered)" + new_instrument.name = renderName .. " (Rendered)" + new_instrument.samples[1].autofade = true + + if song.transport.edit_mode then + song.transport.edit_mode = false + song.transport.edit_mode = true + else + song.transport.edit_mode = true + song.transport.edit_mode = false + end + renoise.song().selected_track.mute_state=1 +end + +-- Function to monitor rendering progress +function monitor_rendering() + if renoise.song().rendering then + local progress = renoise.song().rendering_progress + print("Rendering in progress: " .. (progress * 100) .. "% complete") + else + -- Remove the monitoring timer once rendering is complete or if it wasn't started + renoise.tool():remove_timer(monitor_rendering) + print("Rendering not in progress or already completed.") + end +end + +-- Function to handle rendering for a group track +function render_group_track() + local song = renoise.song() + local group_track_index = song.selected_track_index + local group_track = song:track(group_track_index) + + -- First verify we have a valid group track + if not group_track or group_track.type ~= renoise.Track.TRACK_TYPE_GROUP then + renoise.app():show_status("Selected track is not a group track") + return + end + + -- Save current solo and mute states + track_states = {} + render_context.num_tracks_before = #song.tracks + for i, track in ipairs(song.tracks) do + track_states[i] = { + solo_state = track.solo_state, + mute_state = track.mute_state + } + end + + -- Unsolo all tracks and solo just the group track + for i, track in ipairs(song.tracks) do + track.solo_state = false + end + group_track.solo_state = true + + -- Start rendering + start_rendering() +end + +function pakettiCleanRenderSelection() + local song = renoise.song() + local renderTrack = song.selected_track_index + local renderedTrack = renderTrack + 1 + local renderedInstrument = song.selected_instrument_index + 1 + + -- Print the initial selected_instrument_index + print("Initial selected_instrument_index: " .. song.selected_instrument_index) + + -- Create New Instrument + song:insert_instrument_at(renderedInstrument) + + -- Select New Instrument + song.selected_instrument_index = renderedInstrument + + -- Print the selected_instrument_index after creating new instrument + print("selected_instrument_index after creating new instrument: " .. song.selected_instrument_index) + + -- Check if the selected track is a group track + if song:track(renderTrack).type == renoise.Track.TRACK_TYPE_GROUP then + -- Render the group track + render_group_track() + else + start_rendering() + end +end + +-- Menu entries and keybindings +renoise.tool():add_menu_entry{name="--Main Menu:Tools:Paketti..:Clean Render Selected Track/Group", invoke = function() pakettiCleanRenderSelection() end} +renoise.tool():add_menu_entry{name="--Pattern Editor:Paketti..:Clean Render Selected Track/Group", invoke = function() pakettiCleanRenderSelection() end} +renoise.tool():add_keybinding{name="Pattern Editor:Paketti:Clean Render Selected Track/Group", invoke = function() pakettiCleanRenderSelection() end} +renoise.tool():add_menu_entry{name="--Mixer:Paketti..:Clean Render Selected Track/Group", invoke = function() pakettiCleanRenderSelection() end} +renoise.tool():add_keybinding{name="Mixer:Paketti:Clean Render Selected Track/Group", invoke = function() pakettiCleanRenderSelection() end} diff --git a/PakettiSamples.lua b/PakettiSamples.lua index 64df5b7..8a56340 100644 --- a/PakettiSamples.lua +++ b/PakettiSamples.lua @@ -5,8 +5,6 @@ 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 = {"*.*"} @@ -1413,237 +1411,6 @@ renoise.tool():add_menu_entry{name="--Sample Navigator:Paketti..:Wipe Song Retai -------- -- TODO: Make one that renders the whole thing and then mutes all the tracks and 0G01 --- Define render state (initialized when starting to render) -render_context = { - source_track = 0, - target_track = 0, - target_instrument = 0, - temp_file_path = "", - num_tracks_before = 0 -- Add this to keep track of the original number of tracks -} - --- Variable to store the original solo and mute states -local track_states = {} - --- Function to initiate rendering -function start_rendering() - local song = renoise.song() - local render_priority = "high" - local selected_track = song.selected_track - - for _, device in ipairs(selected_track.devices) do - if device.name == "#Line Input" then - render_priority = "realtime" - break - end - end - - -- Set up rendering options - local render_options = { - sample_rate = preferences.renderSampleRate.value, - bit_depth = preferences.renderBitDepth.value, - interpolation = "precise", - priority = render_priority, - start_pos = renoise.SongPos(song.selected_sequence_index, 1), - end_pos = renoise.SongPos(song.selected_sequence_index, song.patterns[song.selected_pattern_index].number_of_lines), - } - - -- Save current solo and mute states of all tracks - track_states = {} - render_context.num_tracks_before = #song.tracks -- Save the number of tracks before rendering - for i, track in ipairs(song.tracks) do - track_states[i] = { - solo_state = track.solo_state, - mute_state = track.mute_state - } - end - - -- Solo the selected track and unsolo others - for i, track in ipairs(song.tracks) do - track.solo_state = false - end - song.tracks[song.selected_track_index].solo_state = true - - -- Set render context - render_context.source_track = song.selected_track_index - render_context.target_track = render_context.source_track + 1 - render_context.target_instrument = song.selected_instrument_index + 1 - render_context.temp_file_path = os.tmpname() .. ".wav" - - -- Start rendering - local success, error_message = song:render(render_options, render_context.temp_file_path, rendering_done_callback) - if not success then - print("Rendering failed: " .. error_message) - else - -- Start a timer to monitor rendering progress - renoise.tool():add_timer(monitor_rendering, 500) - end -end - --- Callback function that gets called when rendering is complete -function rendering_done_callback() - local song = renoise.song() - local renderTrack = render_context.source_track - local renderedTrack = renderTrack + 1 - local renderedInstrument = render_context.target_instrument - - -- Remove the monitoring timer - renoise.tool():remove_timer(monitor_rendering) - - -- Restore the original solo and mute states only for the tracks that existed before rendering - for i = 1, render_context.num_tracks_before do - if track_states[i] then - song.tracks[i].solo_state = track_states[i].solo_state - song.tracks[i].mute_state = track_states[i].mute_state - end - end - - -- Turn All Render Track Note Columns to "Off" - for i = 1, song.tracks[renderTrack].max_note_columns do - song.tracks[renderTrack]:set_column_is_muted(i, true) - end - - if preferences.renderBypass.value == true then - for i = 2, #song.selected_track.devices do - song.selected_track.devices[i].is_active = false - end - end - - -- Collapse Render Track - song.tracks[renderTrack].collapsed = true - - -- Change Selected Track to Rendered Track - song.selected_track_index = song.selected_track_index + 1 - - -- Load default instrument (assuming this function is defined) - pakettiPreferencesDefaultInstrumentLoader() - - -- Add *Instr. Macros to Rendered Track - local new_instrument = song:instrument(song.selected_instrument_index) - - -- Load Sample into New Instrument Sample Buffer - new_instrument.samples[1].sample_buffer:load_from(render_context.temp_file_path) - os.remove(render_context.temp_file_path) - - -- Set the selected_instrument_index to the newly created instrument - song.selected_instrument_index = renderedInstrument - 1 - - -- Insert New Track Next to Render Track - song:insert_track_at(renderedTrack) - local renderName = song.tracks[renderTrack].name - - -- Ensure we are editing the correct pattern - local selected_pattern_index = song.selected_pattern_index - local pattern_track = song.patterns[selected_pattern_index]:track(renderedTrack) - - -- Place the note in the new track - pattern_track:line(1).note_columns[1].note_string = "C-4" - pattern_track:line(1).note_columns[1].instrument_value = song.selected_instrument_index - 1 - - -- Add *Instr. Macros to selected Track (assuming this function is defined) - loadnative("Audio/Effects/Native/*Instr. Macros") - song.selected_track.devices[2].is_maximized = false - - -- Rename Sample Slot to Render Track - new_instrument.samples[1].name = renderName .. " (Rendered)" - - -- Select New Track - print(renderedTrack .. " this was the track but is it really the track?") - song.selected_track_index = renderedTrack - - -- Rename New Track using Render Track Name - song.tracks[renderedTrack].name = renderName .. " (Rendered)" - new_instrument.name = renderName .. " (Rendered)" - new_instrument.samples[1].autofade = true - - if song.transport.edit_mode then - song.transport.edit_mode = false - song.transport.edit_mode = true - else - song.transport.edit_mode = true - song.transport.edit_mode = false - end - renoise.song().selected_track.mute_state=1 -end - --- Function to monitor rendering progress -function monitor_rendering() - if renoise.song().rendering then - local progress = renoise.song().rendering_progress - print("Rendering in progress: " .. (progress * 100) .. "% complete") - else - -- Remove the monitoring timer once rendering is complete or if it wasn't started - renoise.tool():remove_timer(monitor_rendering) - print("Rendering not in progress or already completed.") - end -end - --- Function to handle rendering for a group track -function render_group_track() - local song = renoise.song() - local group_track_index = song.selected_track_index - local group_track = song:track(group_track_index) - - -- Get the member track indices - local child_track_indices = group_track.members - - -- Save current solo and mute states - track_states = {} - render_context.num_tracks_before = #song.tracks -- Save the number of tracks before rendering - for i, track in ipairs(song.tracks) do - track_states[i] = { - solo_state = track.solo_state, - mute_state = track.mute_state - } - end - - -- Unsolo all tracks - for i, track in ipairs(song.tracks) do - track.solo_state = false - end - - -- Solo each track in the group - for _, idx in ipairs(child_track_indices) do - song.tracks[idx].solo_state = true - end - - -- Start rendering - start_rendering() -end - -function pakettiCleanRenderSelection() - local song = renoise.song() - local renderTrack = song.selected_track_index - local renderedTrack = renderTrack + 1 - local renderedInstrument = song.selected_instrument_index + 1 - - -- Print the initial selected_instrument_index - print("Initial selected_instrument_index: " .. song.selected_instrument_index) - - -- Create New Instrument - song:insert_instrument_at(renderedInstrument) - - -- Select New Instrument - song.selected_instrument_index = renderedInstrument - - -- Print the selected_instrument_index after creating new instrument - print("selected_instrument_index after creating new instrument: " .. song.selected_instrument_index) - - -- Check if the selected track is a group track - if song:track(renderTrack).type == renoise.Track.TRACK_TYPE_GROUP then - -- Render the group track - render_group_track() - else - start_rendering() - end -end - --- Menu entries and keybindings -renoise.tool():add_menu_entry{name="--Main Menu:Tools:Paketti..:Clean Render Selected Track/Group", invoke = function() pakettiCleanRenderSelection() end} -renoise.tool():add_menu_entry{name="--Pattern Editor:Paketti..:Clean Render Selected Track/Group", invoke = function() pakettiCleanRenderSelection() end} -renoise.tool():add_keybinding{name="Pattern Editor:Paketti:Clean Render Selected Track/Group", invoke = function() pakettiCleanRenderSelection() end} -renoise.tool():add_menu_entry{name="--Mixer:Paketti..:Clean Render Selected Track/Group", invoke = function() pakettiCleanRenderSelection() end} -renoise.tool():add_keybinding{name="Mixer:Paketti:Clean Render Selected Track/Group", invoke = function() pakettiCleanRenderSelection() end} ------ -- Define render state (initialized when starting to render) @@ -1847,7 +1614,7 @@ function pakettiCleanRenderSelectionLPB() end end -renoise.tool():add_menu_entry{name="Main Menu:Tools:Paketti..:Clean Render Selected Track/Group LPB*2", invoke = function() pakettiCleanRenderSelectionLPB() end} +renoise.tool():add_menu_entry{name="Main Menu:Tools:Paketti..:Pattern Editor..:Clean Render Selected Track/Group LPB*2", invoke = function() pakettiCleanRenderSelectionLPB() end} renoise.tool():add_menu_entry{name="Pattern Editor:Paketti..:Clean Render Selected Track/Group LPB*2", invoke = function() pakettiCleanRenderSelectionLPB() end} renoise.tool():add_menu_entry{name="Pattern Editor:Paketti..:Clean Render Seamless Selected Track/Group", invoke = function() PakettiSeamlessCleanRenderSelection() end} renoise.tool():add_menu_entry{name="Mixer:Paketti..:Clean Render Selected Track/Group LPB*2", invoke = function() pakettiCleanRenderSelectionLPB() end} @@ -2818,8 +2585,8 @@ function CleanRenderAndSaveSample(format) end -- Menu entries and keybindings -renoise.tool():add_menu_entry{name="Main Menu:Tools:Paketti..:Clean Render and Save Selected Track/Group as .WAV", invoke=function() CleanRenderAndSaveSelection("WAV") end} -renoise.tool():add_menu_entry{name="Main Menu:Tools:Paketti..:Clean Render and Save Selected Track/Group as .FLAC", invoke=function() CleanRenderAndSaveSelection("FLAC") end} +renoise.tool():add_menu_entry{name="Main Menu:Tools:Paketti..:Pattern Editor..:Clean Render and Save Selected Track/Group as .WAV", invoke=function() CleanRenderAndSaveSelection("WAV") end} +renoise.tool():add_menu_entry{name="Main Menu:Tools:Paketti..:Pattern Editor..:Clean Render and Save Selected Track/Group as .FLAC", invoke=function() CleanRenderAndSaveSelection("FLAC") end} renoise.tool():add_menu_entry{name="Pattern Editor:Paketti..:Clean Render and Save Selected Track/Group as .WAV", invoke=function() CleanRenderAndSaveSelection("WAV") end} renoise.tool():add_menu_entry{name="Pattern Editor:Paketti..:Clean Render and Save Selected Track/Group as .FLAC", invoke=function() CleanRenderAndSaveSelection("FLAC") end} renoise.tool():add_menu_entry{name="Mixer:Paketti..:Clean Render and Save Selected Track/Group as .WAV", invoke=function() CleanRenderAndSaveSelection("WAV") end} @@ -3130,7 +2897,7 @@ function PakettiSeamlessCleanRenderSelection() end -- Menu and keybinding for rendering -renoise.tool():add_menu_entry{name="Main Menu:Tools:Paketti..:Clean Render Seamless Selected Track/Group", invoke = function() PakettiSeamlessCleanRenderSelection() end} +renoise.tool():add_menu_entry{name="Main Menu:Tools:Paketti..:Pattern Editor..:Clean Render Seamless Selected Track/Group", invoke = function() PakettiSeamlessCleanRenderSelection() end} renoise.tool():add_keybinding{name="Pattern Editor:Paketti:Clean Render Seamless Selected Track/Group", invoke = function() PakettiSeamlessCleanRenderSelection() end} renoise.tool():add_keybinding{name="Mixer:Paketti:Clean Render Seamless Selected Track/Group", invoke = function() PakettiSeamlessCleanRenderSelection() end} @@ -3187,7 +2954,7 @@ renoise.tool():add_keybinding{name="Global:Paketti:Eight 120-fy",invoke=function function PakettiFillPitchStepperRandom() local device = renoise.song().selected_instrument.sample_modulation_sets[1].devices[1] if device == nil then renoise.app():show_status("There is no Pitch Stepper modulation device in this instrument, doing nothing.") return end - + renoise.song().selected_instrument.sample_modulation_sets[1].pitch_range=12 -- Check if the device is "Pitch Stepper" if device.name == "Pitch Stepper" then -- Clear existing points @@ -3276,7 +3043,8 @@ function PakettiFillPitchStepper() } device.points=points_data - + renoise.song().selected_instrument.sample_modulation_sets[1].pitch_range=12 + renoise.app():show_status("Pitch Stepper points filled successfully.") else renoise.app():show_status("Selected device is not a Pitch Stepper.") end end @@ -3969,9 +3737,9 @@ function PakettiUserDefinedSamplesShowDialog() end -- Add menu entry to show the dialog -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} +renoise.tool():add_menu_entry{name = "Main Menu:Tools:Paketti..:Paketti User-Defined Sample Folders...",invoke=PakettiUserDefinedSamplesShowDialog} +renoise.tool():add_menu_entry{name = "Sample Editor:Paketti..:User-Defined Sample Folders...",invoke=PakettiUserDefinedSamplesShowDialog} +renoise.tool():add_keybinding{name = "Global:Paketti:User-Defined Sample Folders...",invoke=PakettiUserDefinedSamplesShowDialog} ------ @@ -4037,4 +3805,214 @@ renoise.tool():add_midi_mapping{name="Paketti:Duplicate Selected Sample at -12 t 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} +-------- +-- Function to set overlap mode +function setOverlapMode(mode) + local instrument=renoise.song().selected_instrument + if instrument and mode>=0 and mode<=2 then + instrument.sample_mapping_overlap_mode=mode + renoise.app():show_status("Overlap Mode set to: "..mode) + else + renoise.app():show_status("Invalid instrument or mode") + end +end + +-- Function to cycle through overlap modes +function overlayModeCycle() + local instrument=renoise.song().selected_instrument + if not instrument then + renoise.app():show_status("No selected instrument to cycle overlap mode") + return + end + local current_mode=instrument.sample_mapping_overlap_mode or 0 + instrument.sample_mapping_overlap_mode=(current_mode+1)%3 + renoise.app():show_status("Overlap Mode set to: "..instrument.sample_mapping_overlap_mode) +end + +-- Add menu entries +renoise.tool():add_menu_entry{name="--Main Menu:Tools:Paketti..:Instruments..:Cycle Overlap Mode",invoke=overlayModeCycle} +renoise.tool():add_menu_entry{name="Main Menu:Tools:Paketti..:Instruments..:Set Overlap Mode 0 (Play All)",invoke=function() setOverlapMode(0) end} +renoise.tool():add_menu_entry{name="Main Menu:Tools:Paketti..:Instruments..:Set Overlap Mode 1 (Cycle)",invoke=function() setOverlapMode(1) end} +renoise.tool():add_menu_entry{name="Main Menu:Tools:Paketti..:Instruments..:Set Overlap Mode 2 (Random)",invoke=function() setOverlapMode(2) end} +renoise.tool():add_menu_entry{name="Sample Mappings:Paketti..:Cycle Overlap Mode",invoke=overlayModeCycle} +renoise.tool():add_menu_entry{name="Sample Mappings:Paketti..:Set Overlap Mode 0 (Play All)",invoke=function() setOverlapMode(0) end} +renoise.tool():add_menu_entry{name="Sample Mappings:Paketti..:Set Overlap Mode 1 (Cycle)",invoke=function() setOverlapMode(1) end} +renoise.tool():add_menu_entry{name="Sample Mappings:Paketti..:Set Overlap Mode 2 (Random)",invoke=function() setOverlapMode(2) end} + +-- Add MIDI mappings +renoise.tool():add_midi_mapping{name="Paketti:Cycle Overlap Mode",invoke=function(message) if message:is_trigger() then overlayModeCycle() end end} +renoise.tool():add_midi_mapping{name="Paketti:Set Overlap Mode 0 (Play All)",invoke=function(message) if message:is_trigger() then setOverlapMode(0) end end} +renoise.tool():add_midi_mapping{name="Paketti:Set Overlap Mode 1 (Cycle)",invoke=function(message) if message:is_trigger() then setOverlapMode(1) end end} +renoise.tool():add_midi_mapping{name="Paketti:Set Overlap Mode 2 (Random)",invoke=function(message) if message:is_trigger() then setOverlapMode(2) end end} + +-- Add key bindings +renoise.tool():add_keybinding{name="Global:Paketti:Cycle Overlap Mode",invoke=overlayModeCycle} +renoise.tool():add_keybinding{name="Global:Paketti:Set Overlap Mode 0 (Play All)",invoke=function() setOverlapMode(0) end} +renoise.tool():add_keybinding{name="Global:Paketti:Set Overlap Mode 1 (Cycle)",invoke=function() setOverlapMode(1) end} +renoise.tool():add_keybinding{name="Global:Paketti:Set Overlap Mode 2 (Random)",invoke=function() setOverlapMode(2) 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 PakettiDuplicateInstrumentSamplesWithTranspose(transpose_amount) + local song = renoise.song() + local instrument = song.selected_instrument + + if not instrument then + renoise.app():show_status("No instrument selected.") + return + end + + if #instrument.samples == 0 then + renoise.app():show_status("No samples in instrument.") + return + end + + -- Check ALL samples for slice markers + for _, sample in ipairs(instrument.samples) do + if #sample.slice_markers > 0 then + renoise.app():show_status("Cannot duplicate: Instrument contains sliced samples.") + return + end + end + + -- Find original samples (those without "PakettiProcessed" in name) + local original_samples = {} + for i, sample in ipairs(instrument.samples) do + if not sample.name:match("PakettiProcessed[%+%-]%d+") then + table.insert(original_samples, {index = i, sample = sample}) + end + end + + if #original_samples == 0 then + renoise.app():show_status("No original samples found to duplicate.") + return + end + -- Count existing processed sets and find original samples + local processed_sets = 0 + local seen_transposes = {} + for i, sample in ipairs(instrument.samples) do + if sample.name:match("PakettiProcessed[%+%-]%d+") then + local transpose = sample.name:match("PakettiProcessed([%+%-]%d+)") + if not seen_transposes[transpose] then + seen_transposes[transpose] = true + processed_sets = processed_sets + 1 + end + end + end + + -- Calculate volume reduction (gradual curve to -9dB at 6 sets) + local new_total_sets = processed_sets + 1 + local max_sets = 6 + local max_reduction = -9 + local db_reduction = (max_reduction * math.min(new_total_sets, max_sets)) / max_sets + -- Convert from dB to linear scale for the new volume + local new_volume = math.pow(10, db_reduction/20) + instrument.volume = new_volume + + -- Store original mappings + local original_mappings = {} + for _, sample_data in ipairs(original_samples) do + local sample = sample_data.sample + original_mappings[sample_data.index] = { + base_note = sample.sample_mapping.base_note, + note_range = sample.sample_mapping.note_range, + velocity_range = sample.sample_mapping.velocity_range + } + end + + -- First, create all new sample slots and store the info we need + local new_samples = {} + for _, sample_data in ipairs(original_samples) do + local new_sample = instrument:insert_sample_at(#instrument.samples + 1) + -- Set volume to absolute zero before doing anything else + new_sample.volume = 0 + + table.insert(new_samples, { + sample = new_sample, + original = sample_data.sample, + target_volume = sample_data.sample.volume, + mapping = original_mappings[sample_data.index] + }) + end + + -- Now copy all samples while they're muted + for _, sample_info in ipairs(new_samples) do + local new_sample = sample_info.sample + new_sample:copy_from(sample_info.original) + new_sample.transpose = sample_info.original.transpose + transpose_amount + + new_sample.sample_mapping.base_note = sample_info.mapping.base_note + new_sample.sample_mapping.note_range = sample_info.mapping.note_range + new_sample.sample_mapping.velocity_range = sample_info.mapping.velocity_range + + new_sample.name = sample_info.original.name .. " PakettiProcessed" .. + (transpose_amount >= 0 and "+" or "") .. transpose_amount + end + + -- Finally, after ALL copies are complete, restore volumes + for _, sample_info in ipairs(new_samples) do + sample_info.sample.volume = sample_info.target_volume + end + + renoise.app():show_status(string.format("Duplicated %d samples with transpose %d", + #original_samples, transpose_amount)) +end + +renoise.tool():add_keybinding{name="Global:Paketti:Duplicate All Samples at -36 Transpose",invoke=function() PakettiDuplicateInstrumentSamplesWithTranspose(-36) end} +renoise.tool():add_keybinding{name="Global:Paketti:Duplicate All Samples at -24 Transpose",invoke=function() PakettiDuplicateInstrumentSamplesWithTranspose(-24) end} +renoise.tool():add_keybinding{name="Global:Paketti:Duplicate All Samples at -12 Transpose",invoke=function() PakettiDuplicateInstrumentSamplesWithTranspose(-12) end} +renoise.tool():add_keybinding{name="Global:Paketti:Duplicate All Samples at +12 Transpose",invoke=function() PakettiDuplicateInstrumentSamplesWithTranspose(12) end} +renoise.tool():add_keybinding{name="Global:Paketti:Duplicate All Samples at +24 Transpose",invoke=function() PakettiDuplicateInstrumentSamplesWithTranspose(24) end} +renoise.tool():add_keybinding{name="Global:Paketti:Duplicate All Samples at +36 Transpose",invoke=function() PakettiDuplicateInstrumentSamplesWithTranspose(36) end} + +renoise.tool():add_menu_entry{name="--Sample Mappings:Paketti..:Duplicate All Samples at -36 Transpose",invoke=function() PakettiDuplicateInstrumentSamplesWithTranspose(-36) end} +renoise.tool():add_menu_entry{name="Sample Mappings:Paketti..:Duplicate All Samples at -24 Transpose",invoke=function() PakettiDuplicateInstrumentSamplesWithTranspose(-24) end} +renoise.tool():add_menu_entry{name="Sample Mappings:Paketti..:Duplicate All Samples at -12 Transpose",invoke=function() PakettiDuplicateInstrumentSamplesWithTranspose(-12) end} +renoise.tool():add_menu_entry{name="Sample Mappings:Paketti..:Duplicate All Samples at +12 Transpose",invoke=function() PakettiDuplicateInstrumentSamplesWithTranspose(12) end} +renoise.tool():add_menu_entry{name="Sample Mappings:Paketti..:Duplicate All Samples at +24 Transpose",invoke=function() PakettiDuplicateInstrumentSamplesWithTranspose(24) end} +renoise.tool():add_menu_entry{name="Sample Mappings:Paketti..:Duplicate All Samples at +36 Transpose",invoke=function() PakettiDuplicateInstrumentSamplesWithTranspose(36) end} + +renoise.tool():add_menu_entry{name="--Sample Navigator:Paketti..:Duplicate All Samples at -36 Transpose",invoke=function() PakettiDuplicateInstrumentSamplesWithTranspose(-36) end} +renoise.tool():add_menu_entry{name="Sample Navigator:Paketti..:Duplicate All Samples at -24 Transpose",invoke=function() PakettiDuplicateInstrumentSamplesWithTranspose(-24) end} +renoise.tool():add_menu_entry{name="Sample Navigator:Paketti..:Duplicate All Samples at -12 Transpose",invoke=function() PakettiDuplicateInstrumentSamplesWithTranspose(-12) end} +renoise.tool():add_menu_entry{name="Sample Navigator:Paketti..:Duplicate All Samples at +12 Transpose",invoke=function() PakettiDuplicateInstrumentSamplesWithTranspose(12) end} +renoise.tool():add_menu_entry{name="Sample Navigator:Paketti..:Duplicate All Samples at +24 Transpose",invoke=function() PakettiDuplicateInstrumentSamplesWithTranspose(24) end} +renoise.tool():add_menu_entry{name="Sample Navigator:Paketti..:Duplicate All Samples at +36 Transpose",invoke=function() PakettiDuplicateInstrumentSamplesWithTranspose(36) end} + +renoise.tool():add_menu_entry{name="--Instrument Box:Paketti..:Duplicate All Samples at -36 Transpose",invoke=function() PakettiDuplicateInstrumentSamplesWithTranspose(-36) end} +renoise.tool():add_menu_entry{name="Instrument Box:Paketti..:Duplicate All Samples at -24 Transpose",invoke=function() PakettiDuplicateInstrumentSamplesWithTranspose(-24) end} +renoise.tool():add_menu_entry{name="Instrument Box:Paketti..:Duplicate All Samples at -12 Transpose",invoke=function() PakettiDuplicateInstrumentSamplesWithTranspose(-12) end} +renoise.tool():add_menu_entry{name="Instrument Box:Paketti..:Duplicate All Samples at +12 Transpose",invoke=function() PakettiDuplicateInstrumentSamplesWithTranspose(12) end} +renoise.tool():add_menu_entry{name="Instrument Box:Paketti..:Duplicate All Samples at +24 Transpose",invoke=function() PakettiDuplicateInstrumentSamplesWithTranspose(24) end} +renoise.tool():add_menu_entry{name="Instrument Box:Paketti..:Duplicate All Samples at +36 Transpose",invoke=function() PakettiDuplicateInstrumentSamplesWithTranspose(36) end} diff --git a/PakettiSandbox.lua b/PakettiSandbox.lua new file mode 100644 index 0000000..ed5e288 --- /dev/null +++ b/PakettiSandbox.lua @@ -0,0 +1,345 @@ +-- Function to check if values exceed Renoise limits and adjust if needed +function adjustValuesForRenoiseLimits(F, K) + local max_lpb = 256 -- Renoise's maximum LPB + local max_pattern_length = 512 -- Renoise's maximum pattern length + local original_F, original_K = F, K + local divided = false + + -- Keep dividing by 2 until within limits + while (F * K > max_lpb) or (F * K * 4 > max_pattern_length) do + F = F / 2 + K = K / 2 + divided = true + end + + if divided then + local choice = renoise.app():show_prompt( + "Time Signature Warning", + string.format("Time signature %d/%d exceeds Renoise limits. Would you like to:\n" .. + "- Use reduced values (%d/%d)\n" .. + "- Enter a new time signature", + original_F, original_K, math.floor(F), math.floor(K)), + {"Use Reduced", "New Time Signature"} + ) + + if choice == "New Time Signature" then + return nil -- Signal that we need new input + end + end + + return math.floor(F), math.floor(K) +end + +-- Function to configure time signature settings +function configureTimeSignature(F, K) + local song = renoise.song() + + -- Check and adjust values if they exceed limits + local adjusted_F, adjusted_K = adjustValuesForRenoiseLimits(F, K) + + if not adjusted_F then + -- User chose to enter new values + renoise.app():show_status("Please select a different time signature") + return + end + + -- Apply the adjusted values + F, K = adjusted_F, adjusted_K + + -- Calculate new values + local new_lpb = F * K + local new_pattern_length = F * K * 4 + + -- Apply new values (BPM stays unchanged) + song.transport.lpb = new_lpb + song.selected_pattern.number_of_lines = new_pattern_length + + -- Get master track + local master_track_index = song.sequencer_track_count + 1 + local master_track = song:track(master_track_index) + local pattern = song.selected_pattern + local master_track_pattern = pattern:track(master_track_index) + local first_line = master_track_pattern:line(1) + + print("\n=== Debug Info ===") + print("Visible effect columns:", master_track.visible_effect_columns) + + -- Find first empty effect column or create one if needed + local found_empty_column = false + local column_to_use = nil + + if master_track.visible_effect_columns == 0 then + print("No effect columns visible, creating first one") + master_track.visible_effect_columns = 1 + found_empty_column = true + column_to_use = 1 + else + -- Check existing effect columns for an empty one + print("Checking existing effect columns:") + for i = 1, master_track.visible_effect_columns do + local effect_column = first_line:effect_column(i) + print(string.format("Column %d: number_string='%s', amount_string='%s'", + i, effect_column.number_string, effect_column.amount_string)) + + -- Check if both number and amount are "00" or empty + if (effect_column.number_string == "" or effect_column.number_string == "00") and + (effect_column.amount_string == "" or effect_column.amount_string == "00") then + print("Found empty column at position", i) + found_empty_column = true + column_to_use = i + break + end + end + end + + -- If no empty column found among visible ones and we haven't reached the maximum, add a new one + if not found_empty_column and master_track.visible_effect_columns < 8 then + print("No empty columns found, adding new column at position", master_track.visible_effect_columns + 1) + master_track.visible_effect_columns = master_track.visible_effect_columns + 1 + found_empty_column = true + column_to_use = master_track.visible_effect_columns + end + + if not found_empty_column then + print("No empty columns available and can't add more") + renoise.app():show_status("All Effect Columns on Master Track first row are filled, doing nothing.") + return + end + + print("Using column:", column_to_use) + print("=== End Debug ===\n") + + -- Write LPB command to the found empty column + first_line:effect_column(column_to_use).number_string = "ZL" + first_line:effect_column(column_to_use).amount_string = string.format("%02X", new_lpb) + + -- Show confirmation message + local message = string.format( + "Time signature %d/%d configured: LPB=%d, Pattern Length=%d (BPM unchanged)", + F, K, new_lpb, new_pattern_length + ) + print(message) -- Print to console + renoise.app():show_status(message) +end + + +-- Function to show custom time signature dialog +function showTimeSignatureDialog() + local vb = renoise.ViewBuilder() + + local DIALOG_MARGIN = renoise.ViewBuilder.DEFAULT_DIALOG_MARGIN + local CONTENT_SPACING = renoise.ViewBuilder.DEFAULT_CONTROL_SPACING + + local function createPresetButton(text, F, K) + return vb:button { + text = text, + width = 60, + notifier = function() + vb.views.numerator.value = F + vb.views.denominator.value = K + renoise.app().window.active_middle_frame = 1 + end + } + end + + -- Declare updatePreview function before using it + local function updatePreview() + local F = tonumber(vb.views.numerator.value) or 0 + local K = tonumber(vb.views.denominator.value) or 0 + local lpb = F * K + local pattern_length = F * K * 4 + local current_bpm = renoise.song().transport.bpm + + local warning = "" + if lpb > 256 or pattern_length > 512 then + warning = "\n\nWARNING: CANNOT USE THESE VALUES!\nEXCEEDS RENOISE LIMITS!" + end + + vb.views.preview_text.text = string.format( + "BPM: %d\n" .. + "LPB: %d\n" .. + "Pattern Length: %d%s", + current_bpm, lpb, pattern_length, warning + ) + vb.views.preview_text.style = "strong" + renoise.app().window.active_middle_frame = 1 + end + + local function printTimeSignatureInfo() + local current_bpm = renoise.song().transport.bpm + + print("\n=== AVAILABLE TIME SIGNATURES ===") + print("Current preset buttons:") + local presets = { + {4,4}, {3,4}, {7,8}, {7,4}, {7,9}, + {2,5}, {3,5}, {8,5}, {9,5}, {8,10}, + {9,10}, {7,5}, {7,10}, {7,7}, {6,7}, {7,6} + } + + for _, sig in ipairs(presets) do + local F, K = sig[1], sig[2] + local lpb = F * K + local pattern_length = F * K * 4 + print(string.format("%d/%d: LPB=%d, Pattern Length=%d, BPM=%d", + F, K, lpb, pattern_length, current_bpm)) + end + + print("\n=== ALL POSSIBLE COMBINATIONS ===") + for F = 1, 20 do + for K = 1, 20 do + local lpb = F * K + local pattern_length = F * K * 4 + local warning = "" + if lpb > 256 then warning = warning .. " [EXCEEDS LPB LIMIT]" end + if pattern_length > 512 then warning = warning .. " [EXCEEDS PATTERN LENGTH LIMIT]" end + + if warning ~= "" then + print(string.format("%d/%d: LPB=%d, Pattern Length=%d, BPM=%d%s", + F, K, lpb, pattern_length, current_bpm, warning)) + else + print(string.format("%d/%d: LPB=%d, Pattern Length=%d, BPM=%d", + F, K, lpb, pattern_length, current_bpm)) + end + end + end + end + + local dialog_content = vb:column { + margin = DIALOG_MARGIN, + spacing = CONTENT_SPACING, + + vb:horizontal_aligner { + mode = "center", + vb:row { + spacing = CONTENT_SPACING, + vb:text { text = "Rows per Beat:" }, + vb:valuebox { + id = "numerator", + width = 70, + min = 1, + max = 20, + value = 4, + notifier = function() updatePreview() end + }, + vb:text { text = "Beats per Pattern:" }, + vb:valuebox { + id = "denominator", + width = 70, + min = 1, + max = 20, + value = 4, + notifier = function() updatePreview() end + } + } + }, + + vb:space { height = 10 }, + + -- Common time signatures grid + vb:column { + style = "group", + margin = DIALOG_MARGIN, + spacing = CONTENT_SPACING, + + vb:text { text = "Presets:" }, + + -- Common time signatures first + vb:row { + spacing = CONTENT_SPACING, + createPresetButton("4/4", 4, 4), + createPresetButton("3/4", 3, 4), + createPresetButton("5/4", 5, 4), + createPresetButton("6/8", 6, 8), + createPresetButton("9/8", 9, 8) + }, + -- Septuple meters + vb:row { + spacing = CONTENT_SPACING, + createPresetButton("7/4", 7, 4), + createPresetButton("7/8", 7, 8), + createPresetButton("7/9", 7, 9), + createPresetButton("7/5", 7, 5), + createPresetButton("7/6", 7, 6) + }, + -- Other time signatures + vb:row { + spacing = CONTENT_SPACING, + createPresetButton("2/5", 2, 5), + createPresetButton("3/5", 3, 5), + createPresetButton("8/5", 8, 5), + createPresetButton("9/5", 9, 5), + createPresetButton("7/7", 7, 7) + }, + vb:row { + spacing = CONTENT_SPACING, + createPresetButton("8/10", 8, 10), + createPresetButton("9/10", 9, 10), + createPresetButton("7/10", 7, 10), + createPresetButton("3/18", 3, 18), + createPresetButton("4/14", 4, 14) + }, + vb:column { + id = "preview", + -- style = "group", + -- margin = DIALOG_MARGIN, + + vb:text { + id = "preview_text", + text = string.format( + "BPM: %d\nLPB: %d\nPattern Length: %d", + renoise.song().transport.bpm, + renoise.song().transport.lpb, + renoise.song().selected_pattern.number_of_lines + ) + }} + }, + + vb:horizontal_aligner { + mode = "center", + vb:button { + text = "Apply", + width = 90, + notifier = function() + local F = tonumber(vb.views.numerator.value) + local K = tonumber(vb.views.denominator.value) + + if not F or not K or F <= 0 or K <= 0 then + renoise.app():show_warning("Please enter valid positive numbers") + return + end + + configureTimeSignature(F, K) + end + } + } + } + + printTimeSignatureInfo() -- Add this before showing the dialog + + updatePreview() -- Initial preview update + + local dialog = renoise.app():show_custom_dialog( + "Beat Structure Editor", + dialog_content, + TimeSignatureDialogKeyHandler + ) + + -- Set initial focus to pattern editor + renoise.app().window.active_middle_frame = 1 +end + +-- Add key handler function (moved to before usage) +function TimeSignatureDialogKeyHandler(dialog, key) + local closer = preferences.pakettiDialogClose.value + if key.modifiers == "" and key.name == closer then + dialog:close() + dialog = nil + return nil + else + return key + end +end + +-- Add menu entries for common time signatures +renoise.tool():add_menu_entry {name = "Main Menu:Tools:Paketti..:Paketti Beat Structure Editor...", invoke = showTimeSignatureDialog} +renoise.tool():add_menu_entry {name = "--Pattern Matrix:Paketti..:Paketti Beat Structure Editor...", invoke = showTimeSignatureDialog} diff --git a/PakettiStacker.lua b/PakettiStacker.lua new file mode 100644 index 0000000..d6a95bc --- /dev/null +++ b/PakettiStacker.lua @@ -0,0 +1,518 @@ +function returnpe() + renoise.app().window.active_middle_frame=renoise.ApplicationWindow.MIDDLE_FRAME_PATTERN_EDITOR +end + +renoise.tool():add_menu_entry{name="Sample Navigator:Paketti..:Set Instrument Transpose -24",invoke=function() renoise.song().selected_instrument.transpose=renoise.song().selected_instrument.transpose-24 end} +renoise.tool():add_menu_entry{name="Sample Navigator:Paketti..:Set Instrument Transpose -12",invoke=function() renoise.song().selected_instrument.transpose=renoise.song().selected_instrument.transpose-12 end} +renoise.tool():add_menu_entry{name="Sample Navigator:Paketti..:Set Instrument Transpose 0",invoke=function() renoise.song().selected_instrument.transpose=0 end} +renoise.tool():add_menu_entry{name="Sample Navigator:Paketti..:Set Instrument Transpose +12",invoke=function() renoise.song().selected_instrument.transpose=renoise.song().selected_instrument.transpose+12 end} +renoise.tool():add_menu_entry{name="Sample Navigator:Paketti..:Set Instrument Transpose +24",invoke=function() renoise.song().selected_instrument.transpose=renoise.song().selected_instrument.transpose+24 end} + +-- Function to set loop mode for all samples in the selected instrument +local function set_loop_mode_for_selected_instrument(loop_mode) + local song = renoise.song() + local instrument = song.selected_instrument + + if not instrument then + renoise.app():show_status("No instrument selected.") + return + end + + local samples = instrument.samples + local num_samples = #samples + + if num_samples < 1 then + renoise.app():show_status("No samples in the selected instrument.") + return + end + + -- Create a lookup table for human-readable loop mode names + local loop_mode_names = { + [renoise.Sample.LOOP_MODE_OFF] = "Off", + [renoise.Sample.LOOP_MODE_FORWARD] = "Forward", + [renoise.Sample.LOOP_MODE_REVERSE] = "Reverse", + [renoise.Sample.LOOP_MODE_PING_PONG] = "PingPong" + } + + for i = 1, num_samples do + samples[i].loop_mode = loop_mode + end + + + local mode_name = loop_mode_names[loop_mode] or "Unknown" + renoise.app():show_status("Loop mode set to " .. mode_name .. " for " .. num_samples .. " samples.") + returnpe() +end +-- Menu entries for setting loop modes +renoise.tool():add_menu_entry{name="Sample Navigator:Paketti..:Set Loop Mode to Off",invoke=function() set_loop_mode_for_selected_instrument(renoise.Sample.LOOP_MODE_OFF) end} +renoise.tool():add_menu_entry{name="Sample Navigator:Paketti..:Set Loop Mode to Forward",invoke=function() set_loop_mode_for_selected_instrument(renoise.Sample.LOOP_MODE_FORWARD) end} +renoise.tool():add_menu_entry{name="Sample Navigator:Paketti..:Set Loop Mode to PingPong",invoke=function() set_loop_mode_for_selected_instrument(renoise.Sample.LOOP_MODE_PING_PONG) end} +renoise.tool():add_menu_entry{name="Sample Navigator:Paketti..:Set Loop Mode to Reverse",invoke=function() set_loop_mode_for_selected_instrument(renoise.Sample.LOOP_MODE_REVERSE) end} + +-- Fix velocity mappings of all samples in the selected instrument and disable vel->vol +local function fix_sample_velocity_mappings() + local song = renoise.song() + local instrument = song.selected_instrument + + if not instrument then + renoise.app():show_status("No instrument selected.") + return + end + + -- Check if the instrument has slices + if instrument.samples[1].slice_markers ~= nil then + renoise.app():show_status("Slices detected, isolating slices to individual instruments.") + PakettiIsolateSlicesToInstrument() + end + local instrument = renoise.song().selected_instrument + local samples = instrument.samples + local num_samples = #samples + + if num_samples < 1 then + renoise.app():show_status("No samples found in the selected instrument.") + return + end + + -- Define the velocity range (01 to 127) + local velocity_min = 1 + local velocity_max = 127 + local velocity_step = math.floor((velocity_max - velocity_min + 1) / num_samples) + + -- Base note and note range to apply to all samples + local base_note = 48 -- Default to C-4 + local note_range = {base_note, base_note} -- Restrict to a single key + + for i = 1, num_samples do + local sample = samples[i] + local start_velocity = velocity_min + (i - 1) * velocity_step + local end_velocity = start_velocity + velocity_step - 1 + + -- Adjust for the last sample to ensure it ends exactly at 127 + if i == num_samples then + end_velocity = velocity_max + end + + -- Disable vel->vol + sample.sample_mapping.map_velocity_to_volume = false + + -- Update sample mapping + sample.sample_mapping.base_note = base_note + sample.sample_mapping.note_range = note_range + sample.sample_mapping.velocity_range = {start_velocity, end_velocity} + end + + renoise.app():show_status("Velocity mappings updated, vel->vol set to OFF for " .. num_samples .. " samples.") +end + +function jump_to_pattern_segment(segment_number) + local song = renoise.song() + song.transport.follow_player = false + local pattern_length = song.selected_pattern.number_of_lines + local segment = math.floor(pattern_length / 8) + song.selected_line_index = segment * (segment_number - 1) + 1 -- Added +1 to start from first row + returnpe() +end +-- Write notes with ramp-up velocities (01 to 127) +function write_velocity_ramp_up() + local song = renoise.song() + local pattern = song.selected_pattern + local start_line_index = song.selected_line_index + local patterntrack = pattern.tracks[renoise.song().selected_track_index] + local line_index = song.selected_line_index + local instrument_index = song.selected_instrument_index + + if not song.selected_note_column then + renoise.app():show_status("No note column selected.") + return + end + + -- Get unique velocity ranges + local velocity_ranges = {} + local samples = renoise.song().selected_instrument.samples + for _, sample in ipairs(samples) do + local range_key = table.concat(sample.sample_mapping.velocity_range, "-") + velocity_ranges[range_key] = sample.sample_mapping.velocity_range + end + + -- Convert to array and sort by lower velocity bound + local unique_ranges = {} + for _, range in pairs(velocity_ranges) do + table.insert(unique_ranges, range) + end + table.sort(unique_ranges, function(a, b) return a[1] < b[1] end) + + local num_ranges = #unique_ranges + if num_ranges < 1 then + renoise.app():show_status("No velocity mappings found.") + return + end + + local base_note = 48 -- C-4 + + -- Write notes using the actual velocity ranges + for i, range in ipairs(unique_ranges) do + local velocity = range[1] -- Use the lower bound of each range + local line = patterntrack:line(line_index + i - 1) + local note_col = line.note_columns[1] + + note_col.note_value = base_note + note_col.instrument_value = instrument_index - 1 + note_col.volume_value = velocity + end + + -- Create selection + song.selection_in_pattern = { + start_line = start_line_index, + end_line = start_line_index + num_ranges - 1, + start_track = song.selected_track_index, + end_track = song.selected_track_index, + start_column = 1, + end_column = 1 + } + + renoise.app():show_status("Ramp-up velocities written based on " .. num_ranges .. " unique velocity ranges.") +end +-- Write notes with ramp-down velocities starting from the last sample's upper velocity bound + + + +-- Write notes with ramp-down velocities starting from the last sample's lower velocity bound +function write_velocity_ramp_down() + local song = renoise.song() + local pattern = song.selected_pattern + local patterntrack = pattern.tracks[renoise.song().selected_track_index] + local start_line_index = song.selected_line_index -- Store starting line for selection + local instrument_index = song.selected_instrument_index + + if not song.selected_note_column then + renoise.app():show_status("No note column selected.") + return + end + + -- Get unique velocity ranges + local velocity_ranges = {} + local samples = renoise.song().selected_instrument.samples + for _, sample in ipairs(samples) do + local range_key = table.concat(sample.sample_mapping.velocity_range, "-") + velocity_ranges[range_key] = sample.sample_mapping.velocity_range + end + + -- Convert to array and sort by lower velocity bound (descending) + local unique_ranges = {} + for _, range in pairs(velocity_ranges) do + table.insert(unique_ranges, range) + end + table.sort(unique_ranges, function(a, b) return a[1] > b[1] end) + + local num_ranges = #unique_ranges + if num_ranges < 1 then + renoise.app():show_status("No velocity mappings found.") + return + end + + local base_note = 48 + + -- Write notes using the actual velocity ranges in descending order + for i, range in ipairs(unique_ranges) do + local velocity = range[1] -- Use the lower bound of each range + local line = patterntrack:line(start_line_index + i - 1) + local note_col = line.note_columns[1] + + note_col.note_value = base_note + note_col.instrument_value = instrument_index - 1 + note_col.volume_value = velocity + end + + -- Create selection + song.selection_in_pattern = { + start_line = start_line_index, + end_line = start_line_index + num_ranges - 1, + start_track = song.selected_track_index, + end_track = song.selected_track_index, + start_column = 1, + end_column = 1 + } + + renoise.app():show_status("Ramp-down velocities written based on " .. num_ranges .. " unique velocity ranges.") +end + +-- Write notes with random velocities, respecting the last sample's velocity range +function write_random_velocity_notes() + local song = renoise.song() + local pattern = song.selected_pattern + local patterntrack = pattern.tracks[renoise.song().selected_track_index] + local start_line_index = song.selected_line_index -- Store starting line for selection + local instrument_index = song.selected_instrument_index + + if not song.selected_note_column then + renoise.app():show_status("No note column selected.") + return + end + + -- Get unique velocity ranges + local velocity_ranges = {} + local samples = renoise.song().selected_instrument.samples + for _, sample in ipairs(samples) do + local range_key = table.concat(sample.sample_mapping.velocity_range, "-") + velocity_ranges[range_key] = sample.sample_mapping.velocity_range + end + + -- Convert to array + local unique_ranges = {} + for _, range in pairs(velocity_ranges) do + table.insert(unique_ranges, range) + end + + local num_ranges = #unique_ranges + if num_ranges < 1 then + renoise.app():show_status("No velocity mappings found.") + return + end + + local base_note = 48 + + -- Write notes with random velocities within the available ranges + for i, range in ipairs(unique_ranges) do + local velocity = range[1] -- Use the lower bound of each range + local line = patterntrack:line(start_line_index + i - 1) + local note_col = line.note_columns[1] + + note_col.note_value = base_note + note_col.instrument_value = instrument_index - 1 + note_col.volume_value = velocity + end + + -- Create selection + song.selection_in_pattern = { + start_line = start_line_index, + end_line = start_line_index + num_ranges - 1, + start_track = song.selected_track_index, + end_track = song.selected_track_index, + start_column = 1, + end_column = 1 + } + + renoise.app():show_status("Random velocities written based on " .. num_ranges .. " unique velocity ranges.") +end + +renoise.tool():add_keybinding{name="Global:Paketti:Stack All Samples in Instrument with Velocity Mapping Split",invoke=function() fix_sample_velocity_mappings() end} +renoise.tool():add_menu_entry{name="Sample Navigator:Paketti..:Stack All Samples in Instrument with Velocity Mapping Split",invoke=function() fix_sample_velocity_mappings() end} +renoise.tool():add_menu_entry{name="Sample Mappings:Paketti..:Stack All Samples in Instrument with Velocity Mapping Split",invoke=function() fix_sample_velocity_mappings() end} +renoise.tool():add_keybinding{name="Global:Paketti:Write Velocity Ramp Up for Stacked Instrument",invoke=function() write_velocity_ramp_up() end} +renoise.tool():add_keybinding{name="Global:Paketti:Write Velocity Ramp Down for Stacked Instrument",invoke=function() write_velocity_ramp_down() end} +renoise.tool():add_keybinding{name="Global:Paketti:Write Velocity Random for Stacked Instrument",invoke=function() write_random_velocity_notes() end} +renoise.tool():add_menu_entry{name="Pattern Editor:Paketti..:Write Velocity Ramp Up for Stacked Instrument",invoke=function() write_velocity_ramp_up() end} +renoise.tool():add_menu_entry{name="Pattern Editor:Paketti..:Write Velocity Ramp Down for Stacked Instrument",invoke=function() write_velocity_ramp_down() end} +renoise.tool():add_menu_entry{name="Pattern Editor:Paketti..:Write Velocity Random for Stacked Instrument",invoke=function() write_random_velocity_notes() end} + +-- +function Stackerkeyhandlerfunc(dialog,key) +local closer = preferences.pakettiDialogClose.value + if key.modifiers == "" and key.name == closer then + dialog:close() + dialog=nil + return nil + else + return key + end +end + +function on_switch_changed(selected_value) + local instrument = renoise.song().selected_instrument + local num_samples = #instrument.samples + + -- Check if the first sample has slices + local has_slices = false + if num_samples > 0 and instrument.samples[1].slice_markers ~= nil then + has_slices = #instrument.samples[1].slice_markers > 0 + end + + if has_slices then + -- Already have slices + --f wipeslices() + if selected_value ~= "OFF" then + slicerough(selected_value) + renoise.app():show_status("Slices updated to " .. tostring(selected_value) .. " divisions.") + else + renoise.app():show_status("Slices cleared. No further slicing performed.") + end + else + -- No slices currently + if num_samples == 1 then + -- Single sample, no slices + if selected_value ~= "OFF" then + slicerough(selected_value) + renoise.app():show_status("Sample sliced into " .. tostring(selected_value) .. " divisions.") + else + renoise.app():show_status("Slice function is OFF. No slicing performed.") + end + else + -- Multiple samples, no slices + renoise.app():show_status("Multiple samples detected. No slicing performed.") + end + end +end + +function showStackingDialog(proceed_with_stacking, on_switch_changed, PakettiIsolateSlicesToInstrument) + local vb = renoise.ViewBuilder() + local dialog = nil + + local switch_values = {"OFF", "2", "4", "8", "16", "32", "64", "128"} + local switch_index = 1 -- Default to "OFF" + + -- Function to close the dialog + local function close_dialog() + if dialog then + dialog:close() + dialog = nil + end + end + + -- Dialog Content Definition + local dialog_content = vb:column { + vb:row{vb:button{text="Browse",notifier=function() pitchBendMultipleSampleLoader() end}}, + vb:row {vb:text {text = "Set Slice Count",width=100,style = "strong",font = "bold"}, +vb:switch { + id="wipeslice", + items = switch_values, + width = 250, + value = switch_index, + notifier = function(index) + local selected_value = switch_values[index] + if selected_value ~= "OFF" then + -- Do not revert to OFF here. Just call on_switch_changed. + on_switch_changed(tonumber(selected_value)) + renoise.app().window.active_middle_frame=renoise.ApplicationWindow.MIDDLE_FRAME_INSTRUMENT_SAMPLE_EDITOR + else + wipeslices() + on_switch_changed("OFF") + end + end}}, + vb:row{vb:button { + text = "Proceed with Stacking", + notifier = function() + proceed_with_stacking() + returnpe() end}}, + + vb:row {vb:text {text = "Stack Ramp",width=100,font = "bold",style = "strong",}, + vb:button {text = "Up",notifier = function() write_velocity_ramp_up() + returnpe() end}, + vb:button { + text = "Down", + notifier = function() write_velocity_ramp_down() + returnpe() end}, + vb:button { + text = "Random", + notifier = function() write_random_velocity_notes() + returnpe() end}}, +vb:row{vb:text{text="Set Loop Mode",width=100, style="strong",font="bold"}, +vb:button{text="Off",notifier=function() set_loop_mode_for_selected_instrument(renoise.Sample.LOOP_MODE_OFF) end}, +vb:button{text="Forward",notifier=function() set_loop_mode_for_selected_instrument(renoise.Sample.LOOP_MODE_FORWARD) end}, +vb:button{text="PingPong",notifier=function() set_loop_mode_for_selected_instrument(renoise.Sample.LOOP_MODE_PING_PONG) end}, +vb:button{text="Reverse",notifier=function() set_loop_mode_for_selected_instrument(renoise.Sample.LOOP_MODE_REVERSE)end } + +}, +vb:row{vb:text{text="PitchStepper",width=100,font="bold",style="strong"}, +vb:button{text="+12 -12",width=50,notifier=function() PakettiFillPitchStepper() end}, +vb:button{text="+24 -24",width=50,notifier=function() PakettiFillPitchStepperTwoOctaves() end}, +vb:button{text="0",width=50,notifier=function() PakettiClearPitchStepper() end}, +}, +vb:row{ +vb:text{text="Instrument Pitch",width=100,font="bold",style="strong"}, +vb:switch { + width = 250, + id = "instrument_pitch", + items = {"-24", "-12", "0", "+12", "+24"}, + value = 3, + notifier = function(index) + -- Convert the selected index to the corresponding pitch value + local pitch_values = {-24, -12, 0, 12, 24} + local selected_pitch = pitch_values[index] -- Lua uses 1-based indexing for tables + + -- Update the instrument transpose + renoise.song().selected_instrument.transpose = selected_pitch + end +}}, +vb:row{ + vb:button{ + text = "Follow Pattern", + notifier = function() + if renoise.song().transport.follow_player then + renoise.song().transport.follow_player = false + else + renoise.song().transport.follow_player = true + end + returnpe() end}, + vb:button{text = "1/8", notifier = function() jump_to_pattern_segment(1) end}, + vb:button{text = "2/8", notifier = function() jump_to_pattern_segment(2) end}, + vb:button{text = "3/8", notifier = function() jump_to_pattern_segment(3) end}, + vb:button{text = "4/8", notifier = function() jump_to_pattern_segment(4) end}, + vb:button{text = "5/8", notifier = function() jump_to_pattern_segment(5) end}, + vb:button{text = "6/8", notifier = function() jump_to_pattern_segment(6) end}, + vb:button{text = "7/8", notifier = function() jump_to_pattern_segment(7) end}, + vb:button{text = "8/8", notifier = function() jump_to_pattern_segment(8) end}}} + -- Show the dialog + dialog = renoise.app():show_custom_dialog("Paketti Stacker", dialog_content,Stackerkeyhandlerfunc) +end + + function proceed_with_stacking() + PakettiIsolateSlicesToInstrument() + + local instrument = renoise.song().selected_instrument + local samples = instrument.samples + local num_samples = #samples + + -- Define the velocity range (1 to 127) + local velocity_min = 1 + local velocity_max = 127 + local velocity_step = math.floor((velocity_max - velocity_min + 1) / num_samples) + + -- Base note and note range to apply to all samples + local base_note = 48 -- Default to C-4 + local note_range = {0, 119} -- Restrict to a single key + + for i = 1, num_samples do + local sample = samples[i] + local start_velocity = velocity_min + (i - 1) * velocity_step + local end_velocity = start_velocity + velocity_step - 1 + + if i == num_samples then + end_velocity = velocity_max + end + + sample.sample_mapping.map_velocity_to_volume = false + + sample.sample_mapping.base_note = base_note + sample.sample_mapping.note_range = note_range + sample.sample_mapping.velocity_range = {start_velocity, end_velocity} + end + --showStackingDialog(proceed_with_stacking, on_switch_changed, PakettiIsolateSlicesToInstrument) +end + +function LoadSliceIsolateStack() + -- Initial Operations + pitchBendMultipleSampleLoader() + renoise.app().window.active_middle_frame = renoise.ApplicationWindow.MIDDLE_FRAME_INSTRUMENT_SAMPLE_EDITOR +-- renoise.app():show_status("Velocity mappings updated, vel->vol set to OFF for " .. num_samples .. " samples.") + + renoise.song().selected_line_index = 1 +showStackingDialog(proceed_with_stacking, on_switch_changed, PakettiIsolateSlicesToInstrument) + set_loop_mode_for_selected_instrument(renoise.Sample.LOOP_MODE_FORWARD) + -- selectedInstrumentAllAutoseekControl(1) -- this shouldn't be included in the mix. + selectedInstrumentAllAutofadeControl(1) + setSelectedInstrumentInterpolation(4) + loadnative("Audio/Effects/Native/*Instr. Macros") + renoise.app():show_status("The Slices have been turned to Samples. The Samples have been Stacked together. The Velocity controls the Sample Selection. The Pattern now has a ramp up for the samples.") + end + +renoise.tool():add_keybinding {name = "Global:Paketti:Load&Slice&Isolate&Stack Sample",invoke = function() LoadSliceIsolateStack() end} +renoise.tool():add_keybinding{name="Global:Paketti:Paketti Stacker Dialog...",invoke=function() + showStackingDialog(proceed_with_stacking, on_switch_changed, PakettiIsolateSlicesToInstrument) end} +renoise.tool():add_menu_entry{name="Main Menu:Tools:Paketti..:Paketti Stacker...",invoke=function() + showStackingDialog(proceed_with_stacking, on_switch_changed, PakettiIsolateSlicesToInstrument) end} +renoise.tool():add_menu_entry{name="Instrument Box:Paketti..:Paketti Stacker Dialog...",invoke=function() + showStackingDialog(proceed_with_stacking, on_switch_changed, PakettiIsolateSlicesToInstrument) end} +renoise.tool():add_menu_entry{name="Sample Navigator:Paketti..:Paketti Stacker Dialog...",invoke=function() + showStackingDialog(proceed_with_stacking, on_switch_changed, PakettiIsolateSlicesToInstrument) end} +renoise.tool():add_menu_entry{name="Pattern Editor:Paketti..:Paketti Stacker Dialog...",invoke=function() + showStackingDialog(proceed_with_stacking, on_switch_changed, PakettiIsolateSlicesToInstrument) end} diff --git a/PakettiStretch.lua b/PakettiStretch.lua new file mode 100644 index 0000000..e6272ca --- /dev/null +++ b/PakettiStretch.lua @@ -0,0 +1,1530 @@ +-- At the very start of the file +local view_switch +local write_to_master = false -- State for master track writing +local vb=renoise.ViewBuilder() +local step_size = 1 +local fill_all = true + +-- Declare variables first +local step_slider +local step_stepper + +-- Helper Functions (all defined before usage) +local function set_view_frame(vb) + renoise.app().window.active_middle_frame = + vb.views.switchmode and + (vb.views.switchmode.value == 1 and 1 or -- Pattern Editor + vb.views.switchmode.value == 2 and 5 or -- Sample Editor + vb.views.switchmode.value == 3 and 6) -- Modulation Matrix + or 1 -- Default to Pattern Editor if switchmode doesn't exist +end + +-- Add this new function +local function fill_pattern_with_steps(pattern_index, instrument_index, use_512, note_value, reverse_s, step_size, fill_all) + local song = renoise.song() + local pattern = song.patterns[pattern_index] + local track = pattern:track(song.selected_track_index) + local base_length = 256 + + -- Set pattern length + pattern.number_of_lines = use_512 and 512 or 256 + + -- Function to fill a 256-line segment + local function fill_segment(start_line) + -- Calculate total number of steps + local total_steps = math.floor(base_length / step_size) + + for i = 1, base_length do + local current_line = start_line + i - 1 + local should_fill = fill_all or ((i-1) % step_size == 0) + + if should_fill then + -- Calculate step position (0 to total_steps-1) + local step_position = math.floor((i-1) / step_size) + + -- Calculate S-value (ensure it stays within 0-255) + local s_value + if reverse_s then + -- For reverse, start at 255 and step down + s_value = math.max(0, math.min(255, 255 - (step_position * (255 / (total_steps - 1))))) + else + -- For normal, start at 0 and step up + s_value = math.max(0, math.min(255, step_position * (255 / (total_steps - 1)))) + end + + -- Debug print + print(string.format("Line %d: Step %d of %d, S-value: %d", i, step_position, total_steps, s_value)) + + track:line(current_line).note_columns[1].note_value = note_value + track:line(current_line).note_columns[1].instrument_value = instrument_index + track:line(current_line).effect_columns[1].number_string = "0S" + track:line(current_line).effect_columns[1].amount_value = math.floor(s_value) + else + track:line(current_line).note_columns[1].note_value = 121 + track:line(current_line).note_columns[1].instrument_value = 255 + track:line(current_line).effect_columns[1].number_string = "00" + track:line(current_line).effect_columns[1].amount_value = 0 + end + end + end + + fill_segment(1) + if use_512 then + fill_segment(257) + end +end + + + +local function ensure_master_track_effects() + local song = renoise.song() + local master_track_index = song.sequencer_track_count + 1 + local master_track = song:track(master_track_index) + + if master_track.visible_effect_columns < 2 then + master_track.visible_effect_columns = 2 + end +end + +local function write_tempo_commands(bpm, lpb, from_line) + if not write_to_master then return end + + local song = renoise.song() + local master_track_index = song.sequencer_track_count + 1 + local pattern = song.patterns[song.selected_pattern_index] + local master_track = pattern:track(master_track_index) + local start_line = from_line or 1 + + -- Convert BPM to hex for ZT + local zt_value = math.min(255, math.floor(bpm)) + -- Convert LPB to hex for ZL + local zl_value = math.min(255, math.floor(lpb)) + + -- Write from current line to end of pattern + for i = start_line, pattern.number_of_lines do + master_track:line(i).effect_columns[1].number_string = "ZT" + master_track:line(i).effect_columns[1].amount_value = zt_value + master_track:line(i).effect_columns[2].number_string = "ZL" + master_track:line(i).effect_columns[2].amount_value = zl_value + end +end + +local function check_and_set_uniform_note() + local song = renoise.song() + local pattern = song.patterns[current_pattern_index] + local track = pattern:track(song.selected_track_index) + local length = pattern.number_of_lines + + local first_note = track:line(1).note_columns[1].note_value + if first_note == 121 then return end -- Skip if first note is OFF + + -- Check if all notes are the same + for i = 2, length do + local current_note = track:line(i).note_columns[1].note_value + if current_note ~= first_note and current_note ~= 121 then -- 121 is note OFF + return -- Notes are different, exit + end + end + + -- If we get here, all notes are the same (excluding OFFs) + note_slider.value = first_note +end + +local function check_and_set_envelope_status(vb) + -- First check if vb exists and has views + if not vb or not vb.views or not vb.views.envelope_checkbox then + return false + end + + -- Safely get song object + local song = nil + pcall(function() song = renoise.song() end) + if not song then + return false + end + + -- Rest of the function with safe checks + if not song.selected_instrument then + return false + end + + local instrument = song.selected_instrument + if not instrument.sample_modulation_sets or + #instrument.sample_modulation_sets == 0 or + not instrument.sample_modulation_sets[1] or + not instrument.sample_modulation_sets[1].devices or + not instrument.sample_modulation_sets[1].devices[3] then + return false + end + + local device = instrument.sample_modulation_sets[1].devices[3] + if not device or device.name ~= "Volume AHDSR" then + return false + end + + if device.enabled then + vb.views.envelope_checkbox.value = true + return true + end + + return false +end + +local function update_timing_displays() + -- Safely get song object + local song = nil + pcall(function() song = renoise.song() end) + if not song then + return + end + + local bpm = song.transport.bpm + local lpb = song.transport.lpb + local lines_per_sec = (bpm * lpb) / 60 + local ms_per_line = 1000 / lines_per_sec + + if lines_per_sec_display then + lines_per_sec_display.text = string.format("%.2f", lines_per_sec) + end + if ms_per_line_display then + ms_per_line_display.text = string.format("%.2f", ms_per_line) + end +end + +local function calculate_timing_values(slider_value) + -- Convert 0-1000 to 0-1 range + local normalized = slider_value / 1000 + + -- Calculate total range of possible speeds + local min_speed = 20 * 1 -- Slowest: 20 BPM at LPB 1 + local max_speed = 256 * 256 -- Fastest: 256 BPM at LPB 256 + + -- Calculate target speed using exponential scaling + local target_speed = min_speed * math.pow(max_speed/min_speed, normalized) + + -- Start with LPB 1 and calculate required BPM + local lpb = 1 + local bpm = target_speed + + -- While BPM is too high, double LPB and halve BPM + while bpm > 256 and lpb < 256 do + lpb = lpb * 2 + bpm = bpm / 2 + end + + -- Ensure we stay within limits + bpm = math.max(20, math.min(256, bpm)) + lpb = math.max(1, math.min(256, lpb)) + + -- Snap LPB to powers of 2 + local common_lpbs = {1, 2, 4, 8, 16, 32, 64, 128, 256} + local snap_threshold = 0.1 -- 10% tolerance + + for _, common_lpb in ipairs(common_lpbs) do + if math.abs(lpb - common_lpb) / lpb < snap_threshold then + lpb = common_lpb + break + end + end + + return math.floor(bpm), lpb +end + +-- Helper function to fill pattern with ONLY effects (not touching notes) +local function fill_pattern(pattern_index, instrument_index, use_512, note_value, reverse_s) + fill_pattern_with_steps(pattern_index, instrument_index, use_512, note_value, reverse_s, step_size, fill_all) +end + +-- Key handler function +local function Timekeyhandlerfunc(dialog, key) + if key.name == "esc" then + dialog:close() + end + return key +end + +-- Dialog creation and pattern manipulation for timestretching +local function create_timestretch_dialog() + local song = renoise.song() + local selected_track = song:track(song.selected_track_index) + render_context.source_track = song.selected_track_index -- Store the track index + local original_seq_pos = song.selected_sequence_index -- Store original position + + -- Check if we're on a proper note track and switch to first track if not + if selected_track.type ~= renoise.Track.TRACK_TYPE_SEQUENCER then + song.selected_track_index = 1 -- Switch to first track which is always a sequencer track + end + + local current_pattern_index = song.sequencer:pattern(song.selected_sequence_index) + local current_pattern = song.patterns[current_pattern_index] + + -- Ensure pattern is at least 256 rows + if current_pattern.number_of_lines < 256 then + current_pattern.number_of_lines = 256 + end + + local current_pattern_length = current_pattern.number_of_lines + local vb = renoise.ViewBuilder() + + -- 1. Declare ALL variables we'll need upfront + local note_slider + local pattern_512_mode + local record_mode + local reverse_checkbox + local bpm_slider + local lpb_slider + local bpm_display + local lpb_display + local note_display + local instrument_index_display + local instrument_name_text + local lines_per_sec_display + local ms_per_line_display + local lpb_stepper + local note_stepper + local step_slider + local step_display + local fill_all_checkbox + + -- Declare these variables before creating the row + local scale_value_text = vb:text { -- Create the text elements first + width = 40, + text = "1.00" + } + + local release_time_text = vb:text { -- Create the text elements first + width = 50, + text = "480ms" + } + + -- 2. Create basic displays + bpm_display = vb:text { + width = 50, + text = tostring(song.transport.bpm) + } + lpb_display = vb:text {width = 30, text = tostring(song.transport.lpb)} + note_display = vb:text {width = 50, text = "C-4", style="strong", font="bold"} + + -- Add integer step valueboxes next to the displays + lpb_stepper = vb:valuebox { + min = -1, + max = 1, + value = 0, + width = 30, + tonumber = function(str) + return math.floor(tonumber(str) or 0) + end, + tostring = function(value) + return tostring(value) + end, + notifier = function(new_value) + local current_lpb = song.transport.lpb + local new_lpb = math.max(1, math.min(256, current_lpb + new_value)) + song.transport.lpb = new_lpb + lpb_display.text = tostring(new_lpb) + lpb_slider.value = new_lpb + update_timing_displays() + if write_to_master then + write_tempo_commands(song.transport.bpm, new_lpb, + song.transport.playing and song.transport.playback_pos.line or 1) + end + lpb_stepper.value = 0 -- Reset the stepper + end + } + + note_stepper = vb:valuebox { + min = -1, + max = 1, + value = 0, + width = 30, + tonumber = function(str) + return math.floor(tonumber(str) or 0) + end, + tostring = function(value) + return tostring(value) + end, + notifier = function(new_value) + local current_note = note_slider.value + local new_note = math.max(0, math.min(119, current_note + new_value)) + update_note_value(new_note) + note_stepper.value = 0 -- Reset the stepper + end + } + + -- 3. Create instrument controls + instrument_index_display = vb:valuebox { + min = 0, + max = 254, + value = song.selected_instrument_index - 1, + width = 50, + tostring = function(value) return string.format("%02X", value) end, + tonumber = function(str) return tonumber(str, 16) end, + notifier = function(new_value) + -- Update all notes in the pattern with the new instrument value + local pattern = song.patterns[current_pattern_index] + local track = pattern:track(song.selected_track_index) + + for i = 1, pattern.number_of_lines do + local note_column = track:line(i).note_columns[1] + if note_column.note_value ~= 121 then -- Only update if there's a note + note_column.instrument_value = new_value + end + end + + -- Update selected instrument in Renoise + song.selected_instrument_index = new_value + 1 + + -- Update instrument name display + instrument_name_text.text = song.instruments[new_value + 1].name + end + } + + instrument_name_text = vb:text { + text = song.instruments[song.selected_instrument_index].name, + width = 200, + style = "strong", + font = "bold" + } + + -- 5. Pattern fill function + local function fill_pattern(pattern_index, instrument_index, use_512, note_value, reverse_s) + local song = renoise.song() + local pattern = song.patterns[pattern_index] + local track = pattern:track(song.selected_track_index) + local length = use_512 and 512 or 256 + + -- Set pattern length + pattern.number_of_lines = length + + -- Only modify effect columns, preserve notes + for i = 1, length do + local s_value + if reverse_s then + s_value = math.floor(255 - ((i - 1) % 256) * 255 / 255) -- SFF to S00 + else + s_value = math.floor(((i - 1) % 256) * 255 / 255) -- S00 to SFF + end + + track:line(i).effect_columns[1].number_string = "0S" + track:line(i).effect_columns[1].amount_value = s_value + end + end + + -- 6. Create checkboxes + pattern_512_mode = vb:checkbox { + value = current_pattern_length == 512, + width = 20, + notifier = function(new_value) + print("512 Mode - New value:", new_value) + print("Current step_size:", step_size) + print("Current fill_all:", fill_all) + + local song = renoise.song() + local pattern = song.patterns[current_pattern_index] + + if new_value and pattern.number_of_lines ~= 512 then + -- Store the note from line 255 before expanding + local note_255 = pattern:track(song.selected_track_index):line(255).note_columns[1].note_value + local inst_255 = pattern:track(song.selected_track_index):line(255).note_columns[1].instrument_value + + -- Set pattern length + pattern.number_of_lines = 512 + + -- Fill lines 256-512 with the same note + for i = 256, 512 do + pattern:track(song.selected_track_index):line(i).note_columns[1].note_value = note_255 + pattern:track(song.selected_track_index):line(i).note_columns[1].instrument_value = inst_255 + end + end + + -- Fill pattern with effects using current step_size and fill_all settings + fill_pattern_with_steps(current_pattern_index, + instrument_index_display.value, + new_value, + note_slider.value, + reverse_checkbox.value, + step_size, + fill_all) + set_view_frame(vb) + end + } + + record_mode = vb:checkbox { + value = false, + width = 20 + } + + reverse_checkbox = vb:checkbox { + value = false, + width = 20, + notifier = function(new_value) + print("Reverse - New value:", new_value) + print("Current step_size:", step_size) + print("Current fill_all:", fill_all) + + fill_pattern_with_steps(current_pattern_index, + instrument_index_display.value, + pattern_512_mode.value, + note_slider.value, + new_value, + step_size, + fill_all) + set_view_frame(vb) + end + } + + -- In the dialog content creation + view_switch = vb:switch { + width = 300, + items = {"Pattern Editor", "Sample Editor", "Modulation Matrix"}, + value = 1, + notifier = function(new_value) + -- 1 = Pattern Editor + -- 2 = Sample Editor + -- 3 = Modulation Matrix + if new_value == 1 then + renoise.app().window.active_middle_frame = 1 -- Pattern Editor + elseif new_value == 2 then + renoise.app().window.active_middle_frame = 5 -- Sample Editor + else + renoise.app().window.active_middle_frame = 6 -- Modulation Matrix + end + end + } + + -- 7. Create note slider + note_slider = vb:slider { + min = 0, + max = 119, + value = 48, + width = 300, + steps = {1, 12}, -- Small steps = 1, large steps = 12 (one octave) + notifier = function(new_value) + new_value = math.floor(new_value) -- Ensure whole number + local song = renoise.song() + new_value = math.floor(new_value) + + local pattern = song.patterns[current_pattern_index] + local track = pattern:track(song.selected_track_index) + + if record_mode.value and song.transport.playing then + -- Record mode ON: Write from current position downward + local start_line = song.transport.playback_pos.line + for i = start_line, pattern.number_of_lines do + if fill_all or ((i-1) % step_size == 0) then + track:line(i).note_columns[1].note_value = new_value + track:line(i).note_columns[1].instrument_value = instrument_index_display.value + end + end + else + -- Record mode OFF: Write to ALL rows or step rows + for i = 1, pattern.number_of_lines do + if fill_all or ((i-1) % step_size == 0) then + track:line(i).note_columns[1].note_value = new_value + track:line(i).note_columns[1].instrument_value = instrument_index_display.value + end + end + end + + -- Update note display + local note = new_value % 12 + local octave = math.floor(new_value / 12) + local note_names = {"C-", "C#", "D-", "D#", "E-", "F-", "F#", "G-", "G#", "A-", "A#", "B-"} + note_display.text = note_names[note + 1] .. tostring(octave) + + -- Always ensure playback + song.transport.playing = true + song.transport.loop_pattern = true + song.transport.follow_player = true + set_view_frame(vb) + end + } + + -- Function to update timing displays + local function update_timing_displays() + local bpm = song.transport.bpm + local lpb = song.transport.lpb + local lines_per_sec = (bpm * lpb) / 60 + local ms_per_line = 1000 / lines_per_sec + + lines_per_sec_display.text = string.format("%.2f", lines_per_sec) + ms_per_line_display.text = string.format("%.2f", ms_per_line) + end + + -- Create BPM and LPB sliders (add these before the dialog content creation) + bpm_slider = vb:slider { + min = 20, + max = 256, + value = math.min(256, song.transport.bpm), + width = 300, + steps = {1, 10}, -- Small steps = 1, large steps = 10 + notifier = function(new_value) + new_value = math.floor(new_value) -- Ensure whole number + song.transport.bpm = new_value + bpm_display.text = tostring(new_value) + update_timing_displays() + if write_to_master then + write_tempo_commands(new_value, song.transport.lpb, + song.transport.playing and song.transport.playback_pos.line or 1) + end + end + } + + lpb_slider = vb:slider { + min = 1, + max = 256, + value = math.min(256, song.transport.lpb), + width = 300, + steps = {1, 16}, -- Small steps = 1, large steps = 16 + notifier = function(new_value) + new_value = math.floor(new_value) -- Ensure whole number + song.transport.lpb = new_value + lpb_display.text = tostring(new_value) + update_timing_displays() + if write_to_master then + write_tempo_commands(song.transport.bpm, new_value, + song.transport.playing and song.transport.playback_pos.line or 1) + end + end + } + + -- Create BPM buttons array + local bpm_buttons = {} + for bpm = 50, 900, 50 do + table.insert(bpm_buttons, vb:button { + text = tostring(bpm), + width = 30, + notifier = function() + song.transport.bpm = bpm + bpm_display.text = tostring(bpm) + end + }) + end + + -- Create step controls + local step_values = {1,2,3,4,6,8,12,16,24,32,48,64} + step_display = vb:text { width = 40, text = "1" } + + step_slider = vb:slider { + min = 1, + max = 12, -- 12 steps total + value = 1, + width = 200, + notifier = function(new_value) + -- Force to nearest integer + new_value = math.max(1, math.min(12, math.floor(new_value + 0.5))) + print("Step Slider - Value:", new_value) + print("Corresponding step_value:", step_values[new_value]) + + step_size = step_values[new_value] + step_display.text = tostring(step_size) + + fill_pattern_with_steps(current_pattern_index, + instrument_index_display.value, + pattern_512_mode.value, + note_slider.value, + reverse_checkbox.value, + step_size, + fill_all) + end + } + + -- Create the stepper + step_stepper = vb:valuebox { + min = 1, + max = 12, + value = 1, + width = 30, + notifier = function(new_value) + step_slider.value = new_value + end + } + + fill_all_checkbox = vb:checkbox { + value = true, + width = 20, + notifier = function(new_value) + fill_all = new_value + -- Refill pattern with new fill_all setting + fill_pattern_with_steps(current_pattern_index, + instrument_index_display.value, + pattern_512_mode.value, + note_slider.value, + reverse_checkbox.value, + step_size, + fill_all) + end + } + + -- Create timing displays after other displays + lines_per_sec_display = vb:text { + width = 50, + text = "0.00", + style = "strong", + font = "bold" + } + + ms_per_line_display = vb:text { + width = 50, + text = "0.00", + style = "strong", + font = "bold" + } + + -- Add function to update timing displays + local function update_timing_displays() + local bpm = song.transport.bpm + local lpb = song.transport.lpb + local lines_per_sec = (bpm * lpb) / 60 + local ms_per_line = 1000 / lines_per_sec + + lines_per_sec_display.text = string.format("%.2f", lines_per_sec) + ms_per_line_display.text = string.format("%.2f", ms_per_line) + end + + -- Store the switch as a variable so we can access it throughout the dialog + local view_switch + + -- Define the update_note_value function BEFORE creating the dialog content + local function update_note_value(new_value) + -- Clamp the note value between 0 and 119 (C-0 to B-9) + new_value = math.max(0, math.min(119, new_value)) + + local song = renoise.song() + local pattern = song.patterns[current_pattern_index] + local track = pattern:track(song.selected_track_index) + + if record_mode.value and song.transport.playing then + -- Record mode ON: Write from current position downward + local start_line = song.transport.playback_pos.line + for i = start_line, pattern.number_of_lines do + if fill_all or ((i-1) % step_size == 0) then + track:line(i).note_columns[1].note_value = new_value + track:line(i).note_columns[1].instrument_value = instrument_index_display.value + end + end + else + -- Record mode OFF: Write to ALL rows or step rows + for i = 1, pattern.number_of_lines do + if fill_all or ((i-1) % step_size == 0) then + track:line(i).note_columns[1].note_value = new_value + track:line(i).note_columns[1].instrument_value = instrument_index_display.value + end + end + end + note_slider.value = new_value + set_view_frame(vb) + end + + -- At the start of dialog creation, before creating other UI elements + local master_write_checkbox = vb:checkbox { + value = write_to_master, + width = 20, + notifier = function(new_value) + write_to_master = new_value + if new_value then + ensure_master_track_effects() + -- Write current values immediately + write_tempo_commands(song.transport.bpm, song.transport.lpb) + end + end + } + + -- Create dialog content + local dialog_content = vb:column { + -- Instrument row + vb:row { + instrument_index_display, + instrument_name_text + }, + + -- Pattern type and checkboxes row + vb:row { + pattern_512_mode, + vb:text { text = "512 rows mode", font = "bold" }, + vb:space { width = 20 }, + record_mode, + vb:text { text = "Record notes below cursor", font = "bold" }, + vb:space { width = 20 }, + reverse_checkbox, + vb:text { text = "Reversed", font = "bold" } + }, + + -- BPM row + vb:row { + vb:text { text = "BPM", width = 85, style = "strong", font = "bold" }, + bpm_slider, + bpm_display + }, + + -- BPM buttons row + vb:row { + spacing = 2, + unpack(bpm_buttons) + }, + + -- LPB row with preset buttons + vb:row { + vb:text { text = "LPB", width = 85, style = "strong", font = "bold" }, + lpb_slider, + lpb_display, + vb:space { width = 10 }, + vb:button { text = "2", width = 30, notifier = function() song.transport.lpb = 2 lpb_display.text = "2" lpb_slider.value = 2 end }, + vb:button { text = "4", width = 30, notifier = function() song.transport.lpb = 4 lpb_display.text = "4" lpb_slider.value = 4 end }, + vb:button { text = "8", width = 30, notifier = function() song.transport.lpb = 8 lpb_display.text = "8" lpb_slider.value = 8 end }, + vb:button { text = "16", width = 30, notifier = function() song.transport.lpb = 16 lpb_display.text = "16" lpb_slider.value = 16 end }, + vb:button { text = "32", width = 30, notifier = function() song.transport.lpb = 32 lpb_display.text = "32" lpb_slider.value = 32 end }, + vb:button { text = "64", width = 30, notifier = function() song.transport.lpb = 64 lpb_display.text = "64" lpb_slider.value = 64 end }, + vb:button { text = "128", width = 30, notifier = function() song.transport.lpb = 128 lpb_display.text = "128" lpb_slider.value = 128 end } + }, + + -- ComboTempo row + vb:row { + vb:text { text = "ComboTempo", width = 85, style = "strong", font = "bold" }, + vb:slider { + min = 0, + max = 1000, + value = 500, + width = 555, + notifier = function(new_value) + -- Calculate BPM and LPB values + local bpm, lpb = calculate_timing_values(new_value) + + -- Update transport values (these will be clamped automatically) + song.transport.lpb = lpb + song.transport.bpm = bpm + + -- Update slider values (ensure within valid ranges) + lpb_slider.value = math.min(256, math.max(1, lpb)) + bpm_slider.value = math.min(256, math.max(20, bpm)) + + -- Update displays + lpb_display.text = tostring(lpb) + bpm_display.text = tostring(bpm) + update_timing_displays() + + -- Ensure playback + song.transport.playing = true + song.transport.loop_pattern = true + song.transport.follow_player = true + + -- Write to master if enabled + if write_to_master then + write_tempo_commands(bpm, lpb, + song.transport.playing and song.transport.playback_pos.line or 1) + end + + set_view_frame(vb) + end + } + }, + + -- Lines/sec and ms/line row + vb:row { + vb:text { text = "Lines/sec:", style = "strong", font = "bold" }, + lines_per_sec_display, + vb:text { text = "ms/line:", style = "strong", font = "bold" }, + ms_per_line_display + }, + + -- Note row + vb:row { + vb:text { text = "Note", width = 85, style = "strong", font = "bold" }, + note_slider, + note_display, + vb:button { + text = "-24", + width = 40, + notifier = function() + update_note_value(note_slider.value - 24) + end + }, + vb:button { + text = "-12", + width = 40, + notifier = function() + update_note_value(note_slider.value - 12) + end + }, + vb:button { + text = "C-4", + width = 40, + notifier = function() + update_note_value(48) -- C-4 is note value 48 + end + }, + vb:button { + text = "+12", + width = 40, + notifier = function() + update_note_value(note_slider.value + 12) + end + }, + vb:button { + text = "+24", + width = 40, + notifier = function() + update_note_value(note_slider.value + 24) + end + } + }, + + -- Render buttons row + vb:row { + vb:button { + text = "Render", + width = 100, + notifier = function() + local current_bpm = song.transport.bpm + render_context.current_bpm = current_bpm + StrRender() + song.selected_sequence_index = original_seq_pos + set_view_frame(vb) + end + } + }, + + vb:row { + vb:text { text = "Force View:", width = 85, style = "strong", font = "bold" }, + vb:switch { + id = "switchmode", -- Give it a proper ID + width = 354, + items = {"Pattern Editor", "Sample Editor", "Modulation Matrix"}, + value = 1, + notifier = function(new_value) + -- 1 = Pattern Editor + -- 2 = Sample Editor + -- 3 = Modulation Matrix + if new_value == 1 then + renoise.app().window.active_middle_frame = 1 -- Pattern Editor + elseif new_value == 2 then + renoise.app().window.active_middle_frame = 5 -- Sample Editor + else + renoise.app().window.active_middle_frame = 6 -- Modulation Matrix + end + end + } + }, + + vb:row { + vb:checkbox { + id = "envelope_checkbox", + value = false, + width = 20, + notifier = function(new_value) + local instrument = renoise.song().selected_instrument + + -- Check if sample modulation sets exist + if not instrument.sample_modulation_sets or #instrument.sample_modulation_sets == 0 then + renoise.app():show_status("Please Pakettify the Instrument to enable envelopes") + vb.views.envelope_checkbox.value = false + return + end + + -- Check if device exists and is Volume AHDSR + local device = instrument.sample_modulation_sets[1].devices[3] + if not device or device.name ~= "Volume AHDSR" then + renoise.app():show_status("Please Pakettify the Instrument to enable envelopes") + vb.views.envelope_checkbox.value = false + return + end + + if new_value then + renoise.song().selected_sample.new_note_action = 2 + device.operator = 3 + device.enabled = true + device.parameters[8].value = 1 + device.parameters[3].value = 0 + device.parameters[4].value = 1 + + -- Convert initial Release slider value (480ms) to 0-1 range + local initial_ms = 480 + local renoise_value = initial_ms / 20000 + renoise_value = math.max(0, math.min(1, renoise_value)) + + device.parameters[5].value = renoise_value + + -- Check if loop mode is OFF and set it to ON + if renoise.song().selected_sample.loop_mode == 1 then + renoise.song().selected_sample.loop_mode = 2 + end + else + renoise.song().selected_sample.new_note_action = 1 + if renoise.song().selected_sample.loop_mode == 2 then + renoise.song().selected_sample.loop_mode = 1 + end + device.operator = 1 + device.enabled = false + end + end + }, + vb:text { text = "Enable Envelopes", font = "bold" }, + vb:space { width = 10 }, + + -- Release Value scaling slider (0.00-1.00) + vb:text { text = "Scale:", font = "bold" }, + vb:slider { + min = 0, + max = 100, + value = 100, + width = 100, + notifier = function(new_value) + local scaled_value = new_value / 100 + renoise.song().selected_instrument.sample_modulation_sets[1].devices[3].parameters[8].value = scaled_value + scale_value_text.text = string.format("%.2f", scaled_value) + end + }, + scale_value_text, + + vb:space { width = 10 }, + + -- Release Time slider + vb:text { text = "Release:", font = "bold" }, + vb:slider { + min = 0, + max = 100, + value = 20, + width = 300, + notifier = function(new_value) + local instrument = renoise.song().selected_instrument + + -- Check if sample modulation sets exist + if not instrument.sample_modulation_sets or #instrument.sample_modulation_sets == 0 then + renoise.app():show_status("Please Pakettify the Instrument in order to use this feature. Doing nothing for now.") + return + end + + -- Check if device exists and is Volume AHDSR + local device = instrument.sample_modulation_sets[1].devices[3] + if not device or device.name ~= "Volume AHDSR" then + renoise.app():show_status("Please Pakettify the Instrument in order to use this feature. Doing nothing for now.") + return + end + + -- Enable envelope checkbox if not already enabled + vb.views.envelope_checkbox.value = true + + -- Enable envelope if not already enabled + if not device.enabled then + renoise.song().selected_sample.new_note_action = 2 + if renoise.song().selected_sample.loop_mode == 1 then + renoise.song().selected_sample.loop_mode = 2 else return end + device.operator = 3 + device.enabled = true + device.parameters[3].value = 0 + device.parameters[4].value = 1 + device.parameters[8].value = 1 + end + + -- Convert 0-100 to 0-1 + local renoise_value = new_value / 100 + + -- Set the device parameter + device.parameters[5].value = renoise_value + + -- Use device's own string formatting for display + release_time_text.text = device.parameters[5].value_string + end + }, + release_time_text, + vb:space { width = 10 }, + vb:button { + text = "Pakettify", + width = 60, + notifier = function() + PakettiInjectDefaultXRNI() + -- Update the instrument index display + instrument_index_display.value = renoise.song().selected_instrument_index - 1 + -- Update the instrument name display + instrument_name_text.text = renoise.song().instruments[renoise.song().selected_instrument_index].name + end + } + }, + + vb:row { + master_write_checkbox, + vb:text { text = "Write to Master Track", font = "bold" } + }, + + vb:row { + vb:text { text = "Step Size:", width = 85, style = "strong", font = "bold" }, + step_slider, + step_display, + vb:text { text = "Fill All", font = "bold" }, + fill_all_checkbox + } + } + + -- Initial update of timing displays + update_timing_displays() + + -- Function to check if pattern has content + local function pattern_is_empty(pattern_index) + local song = renoise.song() + local pattern = song.patterns[pattern_index] + local track = pattern:track(song.selected_track_index) + + -- Check first line for sample offset or notes + local first_line = track:line(1) + if first_line.effect_columns[1].number_string == "0S" or + first_line.note_columns[1].note_value ~= 121 then -- 121 is empty note + return false + end + + -- Check a few more lines to be sure + for i = 1, 4 do + local line = track:line(i) + if line.effect_columns[1].number_string == "0S" or + line.note_columns[1].note_value ~= 121 then + return false + end + end + + return true + end + + -- At the end of create_timestretch_dialog(), before showing the dialog + if pattern_is_empty(current_pattern_index) then + -- Fill with default note (C-4) and sample offsets + local default_note = 48 -- C-4 + local pattern = song.patterns[current_pattern_index] + local track = pattern:track(song.selected_track_index) + + -- Fill notes and sample offsets + for i = 1, pattern.number_of_lines do + -- Set note + track:line(i).note_columns[1].note_value = default_note + track:line(i).note_columns[1].instrument_value = instrument_index_display.value + + -- Set sample offset + local s_value = math.floor(((i - 1) % 256) * 255 / 255) -- S00 to SFF + track:line(i).effect_columns[1].number_string = "0S" + track:line(i).effect_columns[1].amount_value = s_value + end + + -- Update note slider to match + note_slider.value = default_note + end + + -- Show dialog + renoise.app():show_custom_dialog("Paketti Timestretch Dialog", dialog_content, Timekeyhandlerfunc) + + set_view_frame(vb) +end + +renoise.tool():add_menu_entry{ + name = "Main Menu:Tools:Paketti Timestretch Dialog...", + invoke = create_timestretch_dialog +} + +render_context = { + source_track = 0, + target_track = 0, + target_instrument = 0, + temp_file_path = "", + num_tracks_before = 0, + current_bpm = 0, + on_render_complete = nil +} + +-- Variable to store the original solo and mute states +local track_states = {} + +-- Function to initiate rendering +function Strstart_rendering() + local song = renoise.song() + print("AT Strstart_rendering BEFORE SET - Transport BPM:", song.transport.bpm) + print("AT Strstart_rendering BEFORE SET - Context BPM:", render_context.current_bpm) + + local render_priority = "high" + local selected_track = song.selected_track + + for _, device in ipairs(selected_track.devices) do + if device.name == "#Line Input" then + render_priority = "realtime" + break + end + end + + -- Explicitly set the BPM to the captured value before rendering + song.transport.bpm = render_context.current_bpm + print("AT Strstart_rendering AFTER SET - Transport BPM:", song.transport.bpm) + + -- Set up rendering options + local render_options = { + sample_rate = preferences.renderSampleRate.value, + bit_depth = preferences.renderBitDepth.value, + interpolation = "precise", + priority = render_priority, + start_pos = renoise.SongPos(song.selected_sequence_index, 1), + end_pos = renoise.SongPos(song.selected_sequence_index, song.patterns[song.selected_pattern_index].number_of_lines), + } + + -- Save current solo and mute states of all tracks + track_states = {} + render_context.num_tracks_before = #song.tracks -- Save the number of tracks before rendering + for i, track in ipairs(song.tracks) do + track_states[i] = { + solo_state = track.solo_state, + mute_state = track.mute_state + } + end + + -- Solo the selected track and unsolo others + for i, track in ipairs(song.tracks) do + track.solo_state = false + end + song.tracks[song.selected_track_index].solo_state = true + + -- Set render context + render_context.source_track = song.selected_track_index + render_context.target_track = render_context.source_track + 1 + render_context.target_instrument = song.selected_instrument_index + 1 + render_context.temp_file_path = os.tmpname() .. ".wav" + + -- Start rendering + local success, error_message = song:render(render_options, render_context.temp_file_path, Strrendering_done_callback) + if not success then + print("Rendering failed: " .. error_message) + else + -- Start a timer to monitor rendering progress + renoise.tool():add_timer(Strmonitor_rendering, 500) + end +end + +-- Callback function that gets called when rendering is complete +function Strrendering_done_callback() + local song = renoise.song() + + -- Remove any reference to target_track = source_track + 1 + render_context.target_track = render_context.source_track -- Stay on same track + + -- Get the captured BPM + local bpm = render_context.current_bpm + + -- Get the current note from the pattern + local pattern = song.patterns[song.selected_pattern_index] + local track = pattern:track(song.selected_track_index) + local note_val = track:line(1).note_columns[1].note_value + local note = note_val % 12 + local octave = math.floor(note_val / 12) + local note_names = {"C-", "C#", "D-", "D#", "E-", "F-", "F#", "G-", "G#", "A-", "A#", "B-"} + + -- Format: "BPM note" + local renderName = string.format("%dBPM %dLPB %s%d", bpm, song.transport.lpb, note_names[note + 1], octave) + + -- Restore the original solo and mute states + for i = 1, render_context.num_tracks_before do + if track_states[i] then + song.tracks[i].solo_state = track_states[i].solo_state + song.tracks[i].mute_state = track_states[i].mute_state + end + end + + -- Load default instrument + pakettiPreferencesDefaultInstrumentLoader() + + -- Add *Instr. Macros to Rendered Track + local new_instrument = song:instrument(song.selected_instrument_index) + + -- Load Sample into New Instrument Sample Buffer + new_instrument.samples[1].sample_buffer:load_from(render_context.temp_file_path) + os.remove(render_context.temp_file_path) + + -- Only rename the instrument and its sample, not the track + new_instrument.samples[1].name = renderName + new_instrument.name = renderName + new_instrument.samples[1].autofade = true + + -- Add *Instr. Macros to selected Track + loadnative("Audio/Effects/Native/*Instr. Macros") + song.selected_track.devices[2].is_maximized = false + + if song.transport.edit_mode then + song.transport.edit_mode = false + song.transport.edit_mode = true + else + song.transport.edit_mode = true + song.transport.edit_mode = false + end + renoise.song().selected_track.mute_state = 1 +end + +-- Function to monitor rendering progress +function Strmonitor_rendering() + if renoise.song().rendering then + local progress = renoise.song().rendering_progress + print("Rendering in progress: " .. (progress * 100) .. "% complete") + else + -- Remove the monitoring timer once rendering is complete or if it wasn't started + renoise.tool():remove_timer(Strmonitor_rendering) + print("Rendering not in progress or already completed.") + end +end + +-- Function to handle rendering for a group track +function Strrender_group_track() + local song = renoise.song() + local group_track_index = song.selected_track_index + local group_track = song:track(group_track_index) + + -- Get the member track indices + local child_track_indices = group_track.members + + -- Save current solo and mute states + track_states = {} + render_context.num_tracks_before = #song.tracks -- Save the number of tracks before rendering + for i, track in ipairs(song.tracks) do + track_states[i] = { + solo_state = track.solo_state, + mute_state = track.mute_state + } + end + + -- Unsolo all tracks + for i, track in ipairs(song.tracks) do + track.solo_state = false + end + + -- Solo each track in the group + for _, idx in ipairs(child_track_indices) do + song.tracks[idx].solo_state = true + end + + -- Start rendering + Strstart_rendering() +end + +function StrRender() + local song = renoise.song() + local renderTrack = render_context.source_track -- This is set when we start working with the track + local renderedInstrument = song.selected_instrument_index + 1 + + print("AT StrRender - Transport BPM:", song.transport.bpm) + print("AT StrRender - Context BPM:", render_context.current_bpm) + + -- Select the correct track before rendering + song.selected_track_index = renderTrack + + -- Create New Instrument + song:insert_instrument_at(renderedInstrument) + song.selected_instrument_index = renderedInstrument + + -- Check if the selected track is a group track + if song:track(renderTrack).type == renoise.Track.TRACK_TYPE_GROUP then + Strrender_group_track() + else + Strstart_rendering() + end +end + +-- Improved time resolution calculation +local function calculate_timing_values(slider_value) + -- Convert 0-1000 to 0-1 range + local normalized = slider_value / 1000 + + -- Use exponential scaling for more natural progression + local min_timing = math.log(20 * 1) -- Slowest: 20 BPM, LPB 1 + local max_timing = math.log(256 * 256) -- Fastest: 256 BPM, LPB 256 + local target = math.exp(min_timing + (max_timing - min_timing) * normalized) + + -- Find optimal LPB/BPM combination + local lpb = 1 + local bpm = target + + -- Prefer changing LPB over BPM values + while bpm > 256 and lpb < 256 do + lpb = lpb * 2 + bpm = bpm / 2 + end + + -- Snap to common musical values when close + local common_lpbs = {1, 2, 4, 8, 16, 32, 64, 128, 256} + local snap_threshold = 0.1 -- 10% tolerance + + for _, common_lpb in ipairs(common_lpbs) do + if math.abs(lpb - common_lpb) / lpb < snap_threshold then + lpb = common_lpb + break + end + end + + return math.floor(bpm), lpb +end + +-- Add a function to check if rendering is in progress +local function is_rendering() + return renoise.song().rendering +end + +-- Add a function to wait until rendering is complete +local function wait_for_render_complete(callback) + if is_rendering() then + renoise.tool():add_timer(function() + wait_for_render_complete(callback) + end, 0.1) + else + callback() + end +end + +-- At the top of the file, add this helper function for cleaner code +local function get_view_frame() + local mode = (vb.views.switchmode and vb.views.switchmode.value or 1) + if mode == 1 then + return 1 -- Pattern Editor + elseif mode == 2 then + return 5 -- Sample Editor + else + return 6 -- Modulation Matrix + end +end + +-- Function to ensure master track has enough effect columns +local function ensure_master_track_effects() + local song = renoise.song() + local master_track_index = song.sequencer_track_count + 1 + local master_track = song:track(master_track_index) + + if master_track.visible_effect_columns < 2 then + master_track.visible_effect_columns = 2 + end +end + +-- Function to write tempo commands to master track +local function write_tempo_commands(bpm, lpb, from_line) + if not write_to_master then return end + + local song = renoise.song() + local master_track_index = song.sequencer_track_count + 1 + local pattern = song.patterns[song.selected_pattern_index] + local master_track = pattern:track(master_track_index) + local start_line = from_line or 1 + + -- Convert BPM to hex for ZT + local zt_value = math.min(255, math.floor(bpm)) + -- Convert LPB to hex for ZL + local zl_value = math.min(255, math.floor(lpb)) + + -- Write from current line to end of pattern + for i = start_line, pattern.number_of_lines do + master_track:line(i).effect_columns[1].number_string = "ZT" + master_track:line(i).effect_columns[1].amount_value = zt_value + master_track:line(i).effect_columns[2].number_string = "ZL" + master_track:line(i).effect_columns[2].amount_value = zl_value + end +end + +-- Add checkbox for master track writing +local master_write_checkbox = vb:checkbox { + value = write_to_master, + width = 20, + notifier = function(new_value) + write_to_master = new_value + if new_value then + ensure_master_track_effects() + -- Write current values immediately + write_tempo_commands(song.transport.bpm, song.transport.lpb) + end + end +} + +-- Add this function to check and set envelope status +local function check_and_set_envelope_status(vb) + -- First check if vb exists and has views + if not vb or not vb.views or not vb.views.envelope_checkbox then + return false + end + + -- Safely get song object + local song = nil + pcall(function() song = renoise.song() end) + if not song then + return false + end + + -- Rest of the function with safe checks + if not song.selected_instrument then + return false + end + + local instrument = song.selected_instrument + if not instrument.sample_modulation_sets or + #instrument.sample_modulation_sets == 0 or + not instrument.sample_modulation_sets[1] or + not instrument.sample_modulation_sets[1].devices or + not instrument.sample_modulation_sets[1].devices[3] then + return false + end + + local device = instrument.sample_modulation_sets[1].devices[3] + if not device or device.name ~= "Volume AHDSR" then + return false + end + + if device.enabled then + vb.views.envelope_checkbox.value = true + return true + end + + return false +end + +-- Modify the envelope checkbox creation +vb:checkbox { + id = "envelope_checkbox", + value = false, + width = 20, + notifier = function(new_value) + local instrument = renoise.song().selected_instrument + + -- Check if sample modulation sets exist + if not instrument.sample_modulation_sets or #instrument.sample_modulation_sets == 0 then + renoise.app():show_status("Please Pakettify the Instrument to enable envelopes") + vb.views.envelope_checkbox.value = false + return + end + + -- Check if device exists and is Volume AHDSR + local device = instrument.sample_modulation_sets[1].devices[3] + if not device or device.name ~= "Volume AHDSR" then + renoise.app():show_status("Please Pakettify the Instrument to enable envelopes") + vb.views.envelope_checkbox.value = false + return + end + + if new_value then + renoise.song().selected_sample.new_note_action = 2 + device.operator = 3 + device.enabled = true + device.parameters[8].value = 1 + device.parameters[3].value = 0 + device.parameters[4].value = 1 + + -- Convert initial Release slider value (480ms) to 0-1 range + local initial_ms = 480 + local renoise_value = initial_ms / 20000 + renoise_value = math.max(0, math.min(1, renoise_value)) + + device.parameters[5].value = renoise_value + + -- Check if loop mode is OFF and set it to ON + if renoise.song().selected_sample.loop_mode == 1 then + renoise.song().selected_sample.loop_mode = 2 + end + else + renoise.song().selected_sample.new_note_action = 1 + if renoise.song().selected_sample.loop_mode == 2 then + renoise.song().selected_sample.loop_mode = 1 + end + device.operator = 1 + device.enabled = false + end + end +} + +-- In dialog creation, after creating the checkbox +check_and_set_envelope_status(vb) + + + \ No newline at end of file diff --git a/PakettiTkna.lua b/PakettiTkna.lua index 48fea3c..dd37040 100644 --- a/PakettiTkna.lua +++ b/PakettiTkna.lua @@ -233,6 +233,20 @@ function apply_selected_routing(selected_index) end end +function my_keyhandler_func(dialog, key) + -- Check for specific keys to handle in the dialog + local closer = preferences.pakettiDialogClose.value + if key.modifiers == "" and key.name == closer then +dialog:close() +dialog=nil + renoise.app().window.active_middle_frame = renoise.ApplicationWindow.MIDDLE_FRAME_PATTERN_EDITOR + +return nil +else + return key +end +end + -- Function to open a dialog with the list of available output routings using a popup function showAvailableRoutings() local selected_track_index = renoise.song().selected_track_index @@ -250,7 +264,7 @@ function showAvailableRoutings() margin = 10, spacing = 5, vb:text { - text = "Select Output Routing:" + text = "Select Output Routing for Selected Track:" }, vb:popup { id = "popup_output_routings", @@ -281,9 +295,12 @@ function showAvailableRoutings() } -- Show the dialog - dialog = renoise.app():show_custom_dialog("Output Routings", dialog_content, my_keyhandler_func) + dialog = renoise.app():show_custom_dialog("Output Routing for Selected Track", dialog_content, my_keyhandler_func) end + + + function simpleOutputRoute(output) -- Get the selected track from the current song local track = renoise.song().tracks[renoise.song().selected_track_index] @@ -412,7 +429,7 @@ end renoise.tool():add_keybinding{name="Global:Paketti:Toggle Sequence Selection to Loop",invoke=function() SequenceSelectionToLoop() end} -- Adding a menu entry for the function -renoise.tool():add_menu_entry{name="Pattern Sequencer:Paketti..:Toggle Sequence Selection to Loop",invoke=function() SequenceSelectionToLoop() end} +renoise.tool():add_menu_entry{name="Pattern Sequencer:Paketti..:Sequences/Sections..:Toggle Sequence Selection to Loop",invoke=function() SequenceSelectionToLoop() end} renoise.tool():add_keybinding{name="Global:Paketti:Toggle Sequence Selection (All) On/Off",invoke=function() local sequencerCount=#renoise.song().sequencer.pattern_sequence @@ -423,7 +440,6 @@ renoise.song().sequencer.selection_range={1,#renoise.song().sequencer.pattern_se end } - function tknaUnselectSequenceSelection() renoise.song().sequencer.selection_range={} end @@ -949,8 +965,8 @@ renoise.tool():add_keybinding{name="Global:Paketti:Set Current Section as Schedu renoise.tool():add_keybinding{name="Global:Paketti:Add Current Section to Scheduled Sequences",invoke=tknaAddCurrentSectionToScheduledSequences} -- Adding menu entries for the functions -renoise.tool():add_menu_entry{name="Pattern Sequencer:Paketti..:Set Current Section as Scheduled Sequence",invoke=tknaSetCurrentSectionAsScheduledSequence} -renoise.tool():add_menu_entry{name="Pattern Sequencer:Paketti..:Add Current Section to Scheduled Sequences",invoke=tknaAddCurrentSectionToScheduledSequences} +renoise.tool():add_menu_entry{name="Pattern Sequencer:Paketti..:Sequences/Sections..:Set Current Section as Scheduled Sequence",invoke=tknaSetCurrentSectionAsScheduledSequence} +renoise.tool():add_menu_entry{name="Pattern Sequencer:Paketti..:Sequences/Sections..:Add Current Section to Scheduled Sequences",invoke=tknaAddCurrentSectionToScheduledSequences} -- Adding MIDI mappings for the functions renoise.tool():add_midi_mapping{name="Paketti:Set Current Section as Scheduled Sequence",invoke=tknaSetCurrentSectionAsScheduledSequence} @@ -1080,8 +1096,8 @@ renoise.tool():add_keybinding{name="Global:Paketti:Section Loop (Next)",invoke=e renoise.tool():add_keybinding{name="Global:Paketti:Section Loop (Previous)",invoke=expandSectionLoopPrevious} -- Adding menu entry for the functions -renoise.tool():add_menu_entry{name="Pattern Sequencer:Paketti..:Section Loop (Next)",invoke=expandSectionLoopNext} -renoise.tool():add_menu_entry{name="Pattern Sequencer:Paketti..:Section Loop (Previous)",invoke=expandSectionLoopPrevious} +renoise.tool():add_menu_entry{name="Pattern Sequencer:Paketti..:Sequences/Sections..:Section Loop (Next)",invoke=expandSectionLoopNext} +renoise.tool():add_menu_entry{name="Pattern Sequencer:Paketti..:Sequences/Sections..:Section Loop (Previous)",invoke=expandSectionLoopPrevious} -- Adding MIDI mapping for the functions renoise.tool():add_midi_mapping{name="Paketti:Section Loop (Next)",invoke=expandSectionLoopNext} @@ -1147,8 +1163,8 @@ renoise.tool():add_keybinding{name="Global:Paketti:Sequence Selection (Next)",in renoise.tool():add_keybinding{name="Global:Paketti:Sequence Selection (Previous)",invoke=tknaSequenceSelectionMinusOne} -- Adding menu entry for the functions -renoise.tool():add_menu_entry{name="Pattern Sequencer:Paketti..:Sequence Selection (Next)",invoke=tknaSequenceSelectionPlusOne} -renoise.tool():add_menu_entry{name="Pattern Sequencer:Paketti..:Sequence Selection (Previous)",invoke=tknaSequenceSelectionMinusOne} +renoise.tool():add_menu_entry{name="Pattern Sequencer:Paketti..:Sequences/Sections..:Sequence Selection (Next)",invoke=tknaSequenceSelectionPlusOne} +renoise.tool():add_menu_entry{name="Pattern Sequencer:Paketti..:Sequences/Sections..:Sequence Selection (Previous)",invoke=tknaSequenceSelectionMinusOne} -- Adding MIDI mapping for the functions renoise.tool():add_midi_mapping{name="Paketti:Sequence Selection (Next)",invoke=tknaSequenceSelectionPlusOne} @@ -1213,8 +1229,8 @@ renoise.tool():add_keybinding{name="Global:Paketti:Sequence Loop Selection (Next renoise.tool():add_keybinding{name="Global:Paketti:Sequence Loop Selection (Previous)",invoke=tknaSequenceLoopSelectionPrevious} -- Adding menu entries for the functions -renoise.tool():add_menu_entry{name="Pattern Sequencer:Paketti..:Sequence Loop Selection (Next)",invoke=tknaSequenceLoopSelectionNext} -renoise.tool():add_menu_entry{name="Pattern Sequencer:Paketti..:Sequence Loop Selection (Previous)",invoke=tknaSequenceLoopSelectionPrevious} +renoise.tool():add_menu_entry{name="Pattern Sequencer:Paketti..:Sequences/Sections..:Sequence Loop Selection (Next)",invoke=tknaSequenceLoopSelectionNext} +renoise.tool():add_menu_entry{name="Pattern Sequencer:Paketti..:Sequences/Sections..:Sequence Loop Selection (Previous)",invoke=tknaSequenceLoopSelectionPrevious} -- Adding MIDI mappings for the functions renoise.tool():add_midi_mapping{name="Paketti:Sequence Loop Selection (Next)",invoke=tknaSequenceLoopSelectionNext} diff --git a/PakettiTupletGenerator.lua b/PakettiTupletGenerator.lua new file mode 100644 index 0000000..d635c30 --- /dev/null +++ b/PakettiTupletGenerator.lua @@ -0,0 +1,386 @@ +local function calculate_delay(position, total_notes, ticks_per_line) + -- Calculate actual delay values (0-255) + local delay = math.floor((position - 1) * 255 / total_notes) + return delay +end + +local function generate_pattern(note_count, row_count, delays_only) + local pattern = {} + + -- Initialize empty pattern + for i = 1, row_count do + pattern[i] = "--- --" + end + + if note_count == 1 then + pattern[1] = delays_only and "-- --" or "C-4 --" + + elseif note_count == 2 then + pattern[1] = delays_only and "-- --" or "C-4 --" + pattern[math.floor(row_count/2) + 1] = delays_only and "-- --" or "C-4 --" + + elseif note_count == 3 then + pattern[1] = delays_only and "-- --" or "C-4 --" + local d1 = calculate_delay(3, 3, 12) + local d2 = calculate_delay(2, 3, 12) + pattern[3] = delays_only and string.format("-- %02X", d1) or string.format("C-4 %02X", d1) + pattern[6] = delays_only and string.format("-- %02X", d2) or string.format("C-4 %02X", d2) + + elseif note_count == 4 then + local spacing = math.floor(row_count/4) + for i = 0, 3 do + pattern[1 + (i * spacing)] = delays_only and "-- --" or "C-4 --" + end + + elseif note_count == 5 then + pattern[1] = delays_only and "-- --" or "C-4 --" + for i = 2, 5 do + local delay = calculate_delay(i, 5, 12) + local row = math.floor((i-1) * row_count/5) + 1 + pattern[row] = delays_only and string.format("-- %02X", delay) or string.format("C-4 %02X", delay) + end + + elseif note_count == 6 then + pattern[1] = delays_only and "-- --" or "C-4 --" + for i = 2, 3 do + local delay = calculate_delay(i, 3, 12) + pattern[i] = delays_only and string.format("-- %02X", delay) or string.format("C-4 %02X", delay) + end + pattern[5] = delays_only and "-- --" or "C-4 --" + for i = 2, 3 do + local delay = calculate_delay(i, 3, 12) + pattern[i+4] = delays_only and string.format("-- %02X", delay) or string.format("C-4 %02X", delay) + end + + elseif note_count == 7 then + pattern[1] = delays_only and "-- --" or "C-4 --" + for i = 2, 7 do + local delay = calculate_delay(i, 7, 12) + pattern[i] = delays_only and string.format("-- %02X", delay) or string.format("C-4 %02X", delay) + end + + elseif note_count == 8 then + local spacing = math.floor(row_count/8) + for i = 0, 7 do + pattern[1 + (i * spacing)] = delays_only and "-- --" or "C-4 --" + end + end + + return table.concat(pattern, "\n") +end + +local function apply_to_pattern(pattern_text, row_count, views) + local song = renoise.song() + local pattern = song.selected_pattern + local track = song.selected_track_index + local line = song.selected_line_index + local instrument = song.selected_instrument_index + + -- Ensure delay column is visible + if not song.tracks[track].delay_column_visible then + song.tracks[track].delay_column_visible = true + end + + -- Set selection in pattern + local end_line = math.min(line + (row_count - 1), 512) -- Ensure we don't exceed 512 + song.selection_in_pattern = { + start_track = track, + end_track = track, + start_column = 1, + end_column = 1, + start_line = line, + end_line = end_line + } + + -- Clear the selected area first + for i = line, end_line do -- Use end_line here too + local note_col = pattern.tracks[track]:line(i).note_columns[1] + note_col:clear() + end + + -- Split pattern text into lines + local lines = {} + for s in pattern_text:gmatch("[^\r\n]+") do + table.insert(lines, s) + end + + -- Apply each line to the pattern + for i, line_text in ipairs(lines) do + local delay = line_text:match("C%-4%s+(%x+)") or line_text:match("%-%-+%s+(%x+)") + local note_col = pattern.tracks[track]:line(line + i - 1).note_columns[1] + + if line_text:find("C%-4") then + note_col.note_string = "C-4" + note_col.instrument_value = instrument - 1 + end + + if delay then + note_col.delay_value = tonumber(delay, 16) + end + end + + -- Jump to below selection if enabled, with wrapping + if views.jump_below.value then + local new_line = line + row_count + -- Pattern lines are 1-based indexing, wrap if exceeding pattern length + if new_line > pattern.number_of_lines then + new_line = 1 + end + song.selected_line_index = new_line + end + + renoise.app().window.active_middle_frame = renoise.ApplicationWindow.MIDDLE_FRAME_PATTERN_EDITOR +end + +local function show_tuplet_dialog() + local vb = renoise.ViewBuilder() + + local function validate_and_generate() + local row_count = math.max(1, tonumber(vb.views.row_count.value) or 1) + local note_count = math.max(1, tonumber(vb.views.note_count.value) or 1) + local delays_only = vb.views.delays_only.value + + -- Cap note count between 1 and row count + note_count = math.min(row_count, math.max(1, note_count)) + + -- Update the displayed values if they were invalid + vb.views.row_count.value = tostring(row_count) + vb.views.note_count.value = tostring(note_count) + + -- Generate pattern with delays_only parameter + local pattern = generate_pattern(note_count, row_count, delays_only) + vb.views.pattern_view.text = pattern + + -- Auto-print if enabled and switch value changes + if vb.views.auto_print.value then + apply_to_pattern(pattern, row_count, vb.views) + end + end + + local dialog_content = vb:column { + vb:horizontal_aligner { + -- Left side inputs with aligned labels + vb:column { + vb:horizontal_aligner { + vb:text { + text = "Note Count:", + width = 100, + }, + vb:textfield { + id = "note_count", + value = "3", + width = 50, + notifier = function(value) + validate_and_generate() + renoise.app().window.active_middle_frame = renoise.ApplicationWindow.MIDDLE_FRAME_PATTERN_EDITOR + end + } + }, + vb:horizontal_aligner { + vb:text { + text = "Row Count:", + width = 100, + }, + vb:textfield { + id = "row_count", + value = "8", + width = 50, + notifier = function(value) + validate_and_generate() + renoise.app().window.active_middle_frame = renoise.ApplicationWindow.MIDDLE_FRAME_PATTERN_EDITOR + end + } + }, + vb:horizontal_aligner { + vb:text { + text = "Ticks per Line:", + width = 100, + }, + vb:textfield { + id = "ticks", + value = "12", + width = 50, + } + }, + vb:horizontal_aligner { + vb:text { + text = "Highlight:", + width = 100, + }, + vb:textfield { + id = "highlight", + value = "8", + width = 50, + } + } + }, + + -- Right side pattern view + vb:column { + vb:text { + id = "pattern_view", + font = "mono", + text = generate_pattern(3, 8) + } + } + }, + + -- Bottom buttons + vb:horizontal_aligner { + vb:button { + text = "Print", + width = 60, + notifier = function() + local row_count = tonumber(vb.views.row_count.value) or 8 + apply_to_pattern(vb.views.pattern_view.text, row_count, vb.views) + renoise.app().window.active_middle_frame = renoise.ApplicationWindow.MIDDLE_FRAME_PATTERN_EDITOR + end + } + }, + + vb:horizontal_aligner { + vb:checkbox { + id = "auto_print", + value = true, + notifier = function() + renoise.app().window.active_middle_frame = renoise.ApplicationWindow.MIDDLE_FRAME_PATTERN_EDITOR + end + }, + vb:text { + text = "Print when switch changes" + } + }, + + vb:switch { + id = "tuplet_switch", + width = 500, + items = {"Single", "Quarter", "Triplets", "Eighth", "Quintuplets", "Sextuplets", "Septuplets", "Sixteenth"}, + value = 3, + notifier = function(index) + local note_counts = {1, 2, 3, 4, 5, 6, 7, 8} + vb.views.note_count.value = tostring(note_counts[index]) + local row_count = math.max(1, tonumber(vb.views.row_count.value) or 1) + local note_count = note_counts[index] + local delays_only = vb.views.delays_only.value + local pattern = generate_pattern(note_count, row_count, delays_only) + vb.views.pattern_view.text = pattern + + -- Always update the selection + local song = renoise.song() + local line = song.selected_line_index + local end_line = math.min(line + (row_count - 1), 512) -- Ensure we don't exceed 512 + + song.selection_in_pattern = { + start_track = song.selected_track_index, + end_track = song.selected_track_index, + start_column = 1, + end_column = 1, + start_line = line, + end_line = end_line + } + + if vb.views.auto_print.value then + apply_to_pattern(pattern, row_count, vb.views) + if vb.views.auto_flood.value then + floodfill_with_selection() + end + end + renoise.app().window.active_middle_frame = renoise.ApplicationWindow.MIDDLE_FRAME_PATTERN_EDITOR + end + }, + + vb:horizontal_aligner { + vb:checkbox { + id = "delays_only", + value = false, + notifier = function() + -- Instead of trying to call the notifier directly, + -- we should replicate the switch's logic here + local note_counts = {1, 2, 3, 4, 5, 6, 7, 8} + local current_switch_value = vb.views.tuplet_switch.value + local note_count = note_counts[current_switch_value] + local row_count = math.max(1, tonumber(vb.views.row_count.value) or 1) + local delays_only = vb.views.delays_only.value + + local pattern = generate_pattern(note_count, row_count, delays_only) + vb.views.pattern_view.text = pattern + + if vb.views.auto_print.value then + apply_to_pattern(pattern, row_count, vb.views) + if vb.views.auto_flood.value then + floodfill_with_selection() + end + end + renoise.app().window.active_middle_frame = renoise.ApplicationWindow.MIDDLE_FRAME_PATTERN_EDITOR + end + }, + vb:text { + text = "Print Delay Values Only" + } + }, + + vb:horizontal_aligner { + vb:checkbox { + id = "auto_flood", + value = false, + notifier = function() + renoise.app().window.active_middle_frame = renoise.ApplicationWindow.MIDDLE_FRAME_PATTERN_EDITOR + end + }, + vb:text { + text = "Auto flood fill after printing" + } + }, + + vb:horizontal_aligner { + vb:checkbox { + id = "jump_below", + value = false, + notifier = function() + renoise.app().window.active_middle_frame = renoise.ApplicationWindow.MIDDLE_FRAME_PATTERN_EDITOR + end + }, + vb:text { + text = "Jump to below selection" + } + } + } + + local function Tupletkeyhandler_func(dialog, key) + local closer = preferences.pakettiDialogClose.value + if key.modifiers == "" and key.name == closer then + dialog:close() + renoise.app().window.active_middle_frame = renoise.ApplicationWindow.MIDDLE_FRAME_PATTERN_EDITOR + return + end + + -- Allow other keys to pass through to the pattern editor + return key + end + + local dialog = renoise.app():show_custom_dialog( + "Paketti Tuplet Writer", + dialog_content, + Tupletkeyhandler_func + ) + + -- Set focus to note count field + vb.views.note_count.active = true + vb.views.note_count.edit_mode = true +end + +-- Menu entries at the end of the script +renoise.tool():add_menu_entry { + name = "Main Menu:Tools:Paketti..:Xperimental/Work in Progress:Paketti Tuplet Writer...", + invoke = function() + show_tuplet_dialog() + end +} + +renoise.tool():add_keybinding { + name = "Global:Tools:Paketti Tuplet Writer", + invoke = function() + show_tuplet_dialog() + end +} + diff --git a/PakettiWavetabler.lua b/PakettiWavetabler.lua new file mode 100644 index 0000000..8dab7ad --- /dev/null +++ b/PakettiWavetabler.lua @@ -0,0 +1,223 @@ +-- Function to combine multiple sample buffers into wavetable and set loop points +function combine_samples_into_wavetable_with_loop(samples) + if #samples == 0 then + renoise.app():show_status("No samples provided to combine") + return nil + end + + -- Get properties from first sample for reference + local first_sample = samples[1] + local sample_rate = first_sample.sample_buffer.sample_rate + local bit_depth = first_sample.sample_buffer.bit_depth + local frames_per_sample = first_sample.sample_buffer.number_of_frames + local total_frames = frames_per_sample * #samples + + -- Store the original single cycle length + local loop_length = frames_per_sample + + -- Create new sample buffer for the wavetable + local instrument = renoise.song().selected_instrument + local new_sample = instrument:insert_sample_at(1) + local wavetable_buffer = new_sample.sample_buffer + + -- Create the combined sample data buffer + wavetable_buffer:create_sample_data(sample_rate, bit_depth, 1, total_frames) + wavetable_buffer:prepare_sample_data_changes() + + -- Copy each sample's data into the wavetable buffer + for i, sample in ipairs(samples) do + local start_frame = (i-1) * frames_per_sample + 1 + for frame = 1, frames_per_sample do + local value = sample.sample_buffer:sample_data(1, frame) + wavetable_buffer:set_sample_data(1, start_frame + frame - 1, value) + end + end + + wavetable_buffer:finalize_sample_data_changes() + + -- Set loop points based on original single cycle length + new_sample.loop_start = 1 + new_sample.loop_end = loop_length + + return new_sample +end + +-- Function to load specified number of random AKWF samples and create wavetable with proper loop points +function create_random_akwf_wavetable_with_loop(num_samples) + -- Default to 64 if no number specified + num_samples = num_samples or 64 + + -- Reference the existing AKWF file loading code + local valid_extensions = { ".wav" } + + local function is_valid_audio_file(filename) + for _, ext in ipairs(valid_extensions) do + if filename:lower():match(ext .. "$") then + return true + end + end + return false + end + + -- Get the AKWF folder path from the tool's bundle path + local tool_path = renoise.tool().bundle_path + local akwf_path = tool_path .. "AKWF/" + + -- Read and parse the akwf.txt file that contains all sample paths + local akwf_list_path = akwf_path .. "akwf.txt" + local akwf_file = io.open(akwf_list_path, "r") + if not akwf_file then + renoise.app():show_status("Could not find AKWF sample list") + return + end + + -- Read all AKWF file paths + local wav_files = {} + for line in akwf_file:lines() do + if is_valid_audio_file(line) then + table.insert(wav_files, akwf_path .. line) + end + end + akwf_file:close() + + if #wav_files == 0 then + renoise.app():show_status("No AKWF samples found") + return + end + + -- Create temporary instrument to hold our samples + local temp_instrument = renoise.song():insert_instrument_at(renoise.song().selected_instrument_index) + local collected_samples = {} + + -- Load specified number of random samples + for i = 1, num_samples do + local random_index = math.random(1, #wav_files) + local selected_file = wav_files[random_index] + + local sample = temp_instrument:insert_sample_at(i) + if sample.sample_buffer:load_from(selected_file) then + table.insert(collected_samples, sample) + end + end + + -- Combine all samples into wavetable + local wavetable = combine_samples_into_wavetable_with_loop(collected_samples) + + -- Delete all samples except the first one (our wavetable) + for i = #temp_instrument.samples, 2, -1 do + temp_instrument:delete_sample_at(i) + end + + if wavetable then + wavetable.name = "AKWF Wavetable (Looped)" + wavetable.loop_mode = renoise.Sample.LOOP_MODE_FORWARD + renoise.app():show_status(string.format("Created looped AKWF wavetable from %d random samples", num_samples)) + end +end + +-- Regular version (full sample loop) +renoise.tool():add_keybinding{name = "Global:Paketti:Create Random AKWF Wavetable (032)", invoke = function() create_random_akwf_wavetable(32) end} +renoise.tool():add_keybinding{name = "Global:Paketti:Create Random AKWF Wavetable (064)", invoke = function() create_random_akwf_wavetable(64) end} +renoise.tool():add_keybinding{name = "Global:Paketti:Create Random AKWF Wavetable (128)", invoke = function() create_random_akwf_wavetable(128) end} +renoise.tool():add_keybinding{name = "Global:Paketti:Create Random AKWF Wavetable (256)", invoke = function() create_random_akwf_wavetable(256) end} + +renoise.tool():add_menu_entry{name = "Instrument Box:Paketti..:Create Random AKWF Wavetable (032)", invoke = function() create_random_akwf_wavetable(32) end} +renoise.tool():add_menu_entry{name = "Instrument Box:Paketti..:Create Random AKWF Wavetable (064)", invoke = function() create_random_akwf_wavetable(64) end} +renoise.tool():add_menu_entry{name = "Instrument Box:Paketti..:Create Random AKWF Wavetable (128)", invoke = function() create_random_akwf_wavetable(128) end} +renoise.tool():add_menu_entry{name = "Instrument Box:Paketti..:Create Random AKWF Wavetable (256)", invoke = function() create_random_akwf_wavetable(256) end} + +-- Single-cycle loop version +renoise.tool():add_keybinding{name = "Global:Paketti:Create Random AKWF Wavetable (032,loop)", invoke = function() create_random_akwf_wavetable_with_loop(32) end} +renoise.tool():add_keybinding{name = "Global:Paketti:Create Random AKWF Wavetable (064,loop)", invoke = function() create_random_akwf_wavetable_with_loop(64) end} +renoise.tool():add_keybinding{name = "Global:Paketti:Create Random AKWF Wavetable (128,loop)", invoke = function() create_random_akwf_wavetable_with_loop(128) end} +renoise.tool():add_keybinding{name = "Global:Paketti:Create Random AKWF Wavetable (256,loop)", invoke = function() create_random_akwf_wavetable_with_loop(256) end} + +renoise.tool():add_menu_entry{name = "Instrument Box:Paketti..:Create Random AKWF Wavetable (032,loop)", invoke = function() create_random_akwf_wavetable_with_loop(32) end} +renoise.tool():add_menu_entry{name = "Instrument Box:Paketti..:Create Random AKWF Wavetable (064,loop)", invoke = function() create_random_akwf_wavetable_with_loop(64) end} +renoise.tool():add_menu_entry{name = "Instrument Box:Paketti..:Create Random AKWF Wavetable (128,loop)", invoke = function() create_random_akwf_wavetable_with_loop(128) end} +renoise.tool():add_menu_entry{name = "Instrument Box:Paketti..:Create Random AKWF Wavetable (256,loop)", invoke = function() create_random_akwf_wavetable_with_loop(256) end} + +-- Function to calculate and set loop points for a specific cycle index +function set_loop_points_for_cycle(sample, cycle_index) + if not sample or not sample.sample_buffer then return end + + local frames_per_cycle = sample.loop_end - sample.loop_start + 1 + local total_frames = sample.sample_buffer.number_of_frames + local num_cycles = math.floor(total_frames / frames_per_cycle) + + -- Ensure cycle_index is within bounds + cycle_index = math.max(1, math.min(cycle_index, num_cycles)) + + local new_start = 1 + (cycle_index - 1) * frames_per_cycle + local new_end = new_start + frames_per_cycle - 1 + + sample.loop_start = new_start + sample.loop_end = new_end + + renoise.app():show_status(string.format("Loop cycle: %d/%d", cycle_index, num_cycles)) +end + +-- Function to move to next/previous cycle +function move_loop_cycle(offset) + local sample = renoise.song().selected_sample + if not sample or not sample.sample_buffer then return end + + local frames_per_cycle = sample.loop_end - sample.loop_start + 1 + local current_cycle = math.floor(sample.loop_start / frames_per_cycle) + 1 + + set_loop_points_for_cycle(sample, current_cycle + offset) +end + +-- Function to set cycle from MIDI CC value (0-127) +function set_cycle_from_midi(midi_value) + local sample = renoise.song().selected_sample + if not sample or not sample.sample_buffer then return end + + local frames_per_cycle = sample.loop_end - sample.loop_start + 1 + local total_frames = sample.sample_buffer.number_of_frames + local num_cycles = math.floor(total_frames / frames_per_cycle) + + -- Map MIDI value (0-127) to cycle index (1-num_cycles) + local cycle_index = math.floor((midi_value / 127) * num_cycles) + 1 + set_loop_points_for_cycle(sample, cycle_index) +end + +-- Add keybindings +renoise.tool():add_keybinding{ + name = "Global:Paketti:Next Wavetable Cycle", + invoke = function() move_loop_cycle(1) end +} +renoise.tool():add_keybinding{ + name = "Global:Paketti:Previous Wavetable Cycle", + invoke = function() move_loop_cycle(-1) end +} + +-- Add MIDI mappings +renoise.tool():add_midi_mapping{ + name = "Paketti:Next Wavetable Cycle", + invoke = function(message) + if message.boolean_value then + move_loop_cycle(1) + end + end +} + +renoise.tool():add_midi_mapping{ + name = "Paketti:Previous Wavetable Cycle", + invoke = function(message) + if message.boolean_value then + move_loop_cycle(-1) + end + end +} + +-- Add MIDI CC mapping +renoise.tool():add_midi_mapping{ + name = "Paketti:Select Wavetable Cycle [Set]", + invoke = function(message) + if message.is_value then + set_cycle_from_midi(message.value) + end + end +} + diff --git a/main.lua b/main.lua index c6dcdaa..0c09136 100644 --- a/main.lua +++ b/main.lua @@ -1,11 +1,9 @@ -local rx = require 'rx' +local init_time = os.clock() function formatDigits(digits, number) return string.format("%0" .. digits .. "d", number) end - - function selection_in_pattern_pro() local song = renoise.song() @@ -83,43 +81,123 @@ function selection_in_pattern_pro() return result end -require "Paketti0G01_Loader" -require "PakettiKeyBindings" -require "PakettiThemeSelector" -require "PakettieSpeak" -require "base64float" -require "PakettiAutomation" -require "PakettiAudioProcessing" -require "PakettiBeatDetect" -require "PakettiControls" -require "PakettiDeviceChains" -require "PakettiDynamicViews" -require "PakettiEightOneTwenty" -require "PakettiGater" -require "PakettiImpulseTracker" -require "PakettiInstrumentBox" -require "PakettiLoaders" -require "PakettiLoadDevices" -require "PakettiLoadPlugins" -require "PakettiMainMenuEntries" -require "PakettiMidi" -require "PakettiMidiPopulator" -require "PakettiPatternEditor" -require "PakettiPatternEditorCheatSheet" -require "PakettiPatternMatrix" -require "PakettiPatternSequencer" -require "PakettiPhraseEditor" -require "PakettiOctaMEDSuite" -require "PakettiPlayerProSuite" -require "PakettiSampleLoader" -require "PakettiSamples" -require "PakettiTkna" -require "PakettiRecorder" -require "PakettiColuga" -require "PakettiRequests" -require "PakettiExperimental_Verify" +function timed_require(module_name) + local start_time = os.clock() + + -- Count lines in the file + local line_count = 0 + local file_path = renoise.tool().bundle_path .. module_name .. ".lua" + local file = io.open(file_path, "r") + if file then + for _ in file:lines() do + line_count = line_count + 1 + end + file:close() + end + + -- Require the module and time it + require(module_name) + local elapsed = (os.clock() - start_time) * 1000 -- convert to milliseconds + + print(string.format("%s, %d lines, %.2f ms", module_name, line_count, elapsed)) +end +print ("---------------------") + +local renoise_version = tonumber(string.match(renoise.RENOISE_VERSION, "(%d+%.%d+)")) + + + + + + +if renoise_version == 2.8 then +--December 15, 2011, Renoise 2.8 only +--esaruoho +function EZMaximizeSpectrum() + local s=renoise.song() + local t=s.transport + local w=renoise.app().window + if t.playing==false then + t.playing=true end + + w.disk_browser_is_expanded=true + w.active_upper_frame=4 + w.upper_frame_is_visible=true + w.lower_frame_is_visible=false + renoise.app():show_status("Current BPM: " .. t.bpm .. " Current LPB: " .. t.lpb .. ". You are feeling fine. Playback started.") + end + + renoise.tool():add_keybinding{name="Global:Paketti:EZ Maximize Spectrum",invoke=function() EZMaximizeSpectrum() end} + renoise.tool():add_menu_entry{name="Main Menu:Tools:Paketti..:EZ Maximize Spectrum",invoke=function() EZMaximizeSpectrum() end} + renoise.tool():add_menu_entry{name="Mixer:EZ Maximize Spectrum",invoke=function() EZMaximizeSpectrum() end} + renoise.tool():add_menu_entry{name="Pattern Editor:Paketti..:EZ Maximize Spectrum",invoke=function() EZMaximizeSpectrum() end} +end + +timed_require("rx") -- 2318 lines, 2.00 ms +timed_require("Paketti0G01_Loader") -- 857 lines, 4.00 ms +--if renoise_version >= 3.4 then ]]-- +timed_require("PakettieSpeak") -- 930 lines, 4.00 ms +timed_require("PakettiPlayerProSuite") -- 852 lines, 3.00 ms +--else +-- print("PakettieSpeak and PakettiPlayerProSuite require Renoise v3.4 or higher") +--end +timed_require("PakettiChordsPlus") + + + + +-- Quick loads (under 1ms) +timed_require("PakettiSampleLoader") -- 0 lines, 0.00 ms +timed_require("PakettiCustomization") -- 61 lines, 0.50 ms +timed_require("PakettiDeviceChains") -- 85 lines, 0.00 ms +timed_require("base64float") -- 203 lines, 0.00 ms +timed_require("PakettiLoadDevices") -- 496 lines, 1.00 ms +timed_require("PakettiSandbox") -- 352 lines, 0.50 ms +timed_require("PakettiTupletGenerator") -- 386 lines, 0.50 ms +timed_require("PakettiLoadPlugins") -- 534 lines, 0.50 ms +timed_require("PakettiPatternSequencer") -- 47 lines, 0.50 ms +timed_require("PakettiPatternMatrix") -- 176 lines, 0.50 ms +timed_require("PakettiInstrumentBox") -- 280 lines, 0.50 ms +timed_require("PakettiColuga") -- 854 lines, 1.00 ms +timed_require("PakettiStretch") -- 925 lines, 1.50 ms +timed_require("PakettiBeatDetect") -- 396 lines, 1.00 ms +timed_require("PakettiStacker") -- 518 lines, 1.00 ms +timed_require("PakettiRecorder") -- 403 lines, 1.00 ms + +-- Light loads (>1ms) +timed_require("PakettiControls") -- 544 lines, 1.00 ms +timed_require("PakettiKeyBindings") -- 1443 lines, 2.00 ms +timed_require("PakettiPhraseEditor") -- 461 lines, 1.00 ms +timed_require("PakettiOctaMEDSuite") -- 601 lines, 1.00 ms +timed_require("PakettiWavetabler") -- 223 lines, 0.50 ms +timed_require("PakettiAudioProcessing") -- 1538 lines, 1.50 ms +timed_require("PakettiPatternEditorCheatSheet") -- 953 lines, 1.00 ms +timed_require("PakettiThemeSelector") -- 516 lines, 4.50 ms + +-- Medium loads (2-5ms) +timed_require("PakettiMidiPopulator") -- 531 lines, 1.00 ms +timed_require("PakettiImpulseTracker") -- 2112 lines, 2.00 ms +timed_require("PakettiGater") -- 1233 lines, 2.50 ms +timed_require("PakettiAutomation") -- 2776 lines, 3.50 ms +timed_require("PakettiMainMenuEntries") -- 383 lines, 4.50 ms +timed_require("PakettiMidi") -- 1692 lines, 5.50 ms +timed_require("PakettiDynamicViews") -- 703 lines, 9.00 ms + +-- Heavy loads (5ms+) +timed_require("PakettiEightOneTwenty") -- 1457 lines, 4.50 ms +timed_require("PakettiSamples") -- 4249 lines, 6.00 ms +timed_require("PakettiExperimental_Verify") -- 4543 lines, 8.50 ms +timed_require("PakettiLoaders") -- 3137 lines, 9.00 ms + +-- Extra heavy (10ms+) +timed_require("PakettiPatternEditor") -- 4583 lines, 11.50 ms +timed_require("PakettiTkna") -- 1495 lines, 23.00 ms +timed_require("PakettiRequests") -- 9168 lines, 127.00 ms + +print(string.format("Total load time: %.3f seconds", os.clock() - init_time)) + ------------------------------------------------ local themes_path = renoise.tool().bundle_path .. "Themes/" local themes = os.filenames(themes_path, "*.xrnc") @@ -193,11 +271,10 @@ function startup() else end end - if not renoise.tool().app_new_document_observable:has_notifier(startup) then renoise.tool().app_new_document_observable:add_notifier(startup) else renoise.tool().app_new_document_observable:remove_notifier(startup) end ---------- +-------- -- Debug print function dbug(msg) local base_types = { @@ -211,5 +288,3 @@ end _AUTO_RELOAD_DEBUG = true - - diff --git a/preferences.xml b/preferences.xml index 9502be5..3088aa6 100644 --- a/preferences.xml +++ b/preferences.xml @@ -51,12 +51,12 @@ - 1.0 + 2 - 1.0 + 15 1.0 false - 1.0 + 0.0 false true 1.0 @@ -67,8 +67,8 @@ - 188.1293706293707 - 87.377622377622373 + 118.58391608391619 + 14.265734265734274 false true false @@ -84,6 +84,14 @@ XO (AU) Audio/Generators/AU/aumu:xAXO:xlnA + + XO (VST) + Audio/Generators/VST/XO + + + XO (VST3) + Audio/Generators/VST3/ABCDEF019182FAEB786C6E417841584F + esc @@ -105,9 +113,9 @@ 1.0 - 4 + 64 false - + Phrase 01 false 0.0 64 @@ -183,13 +191,13 @@ - + /Users/esaruoho/Library/Mobile Documents/com~apple~CloudDocs/Renoise/Tools/org.lackluster.Paketti.xrnx/DeviceChains/ /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//Slot09.xrnt /Users/esaruoho/Library/Mobile Documents/com~apple~CloudDocs/Renoise/Tools/org.lackluster.Paketti.xrnx/DeviceChains//Slot02.xrnt @@ -202,10 +210,11 @@ <No Theme Selected> + Mono Blue (dblue) false false - + Mono Blue (dblue) 32 diff --git a/preferencesDynamicView.xml b/preferencesDynamicView.xml index b6d7f24..d8193cf 100644 --- a/preferencesDynamicView.xml +++ b/preferencesDynamicView.xml @@ -15,15 +15,15 @@ false false false - true + false 1.0 - 1.0 + 2 1.0 false false false false - false + true 1.0 1.0 1.0