├── .gitignore
├── .gitmodules
├── LICENSE
├── README.md
├── Snippets
├── Classes.lua
├── Files&Bits.lua
├── Instruments.lua
├── Midi.lua
├── Osc.lua
├── PatternIterator.lua
├── SampleBuffer.lua
├── Sockets.lua
└── TrackAutomation.lua
├── Tools
├── com.renoise.AutoMate.xrnx
│ ├── changelog.md
│ ├── classes
│ │ ├── AutoMate.lua
│ │ ├── AutoMateClip.lua
│ │ ├── AutoMateGenerator.lua
│ │ ├── AutoMateGenerators.lua
│ │ ├── AutoMateLibrary.lua
│ │ ├── AutoMateLibraryUI.lua
│ │ ├── AutoMatePrefs.lua
│ │ ├── AutoMatePreset.lua
│ │ ├── AutoMatePresetManager.lua
│ │ ├── AutoMateSandbox.lua
│ │ ├── AutoMateSandboxArgument.lua
│ │ ├── AutoMateSandboxManager.lua
│ │ ├── AutoMateSandboxUI.lua
│ │ ├── AutoMateUI.lua
│ │ └── AutoMateUserData.lua
│ ├── docs
│ │ ├── AutoMate_class_diagram.uml
│ │ └── ClassDiagram.png
│ ├── images
│ │ ├── AutomationList_Active.bmp
│ │ ├── AutomationList_Empty.bmp
│ │ ├── AutomationList_None.bmp
│ │ ├── AutomationList_Unknown - Copy.bmp
│ │ ├── AutomationList_Unknown.bmp
│ │ ├── add.bmp
│ │ ├── copy.bmp
│ │ ├── delete.bmp
│ │ ├── refresh.bmp
│ │ ├── rename.bmp
│ │ └── reveal_folder.bmp
│ ├── main.lua
│ ├── manifest.xml
│ └── userdata
│ │ └── generators
│ │ ├── Linear Ramp.lua
│ │ └── Sine Curve.lua
├── com.renoise.CreateTool.xrnx
│ ├── LICENSE
│ ├── formbuilder.lua
│ ├── images
│ │ ├── info.bmp
│ │ └── link-icon.bmp
│ ├── main.lua
│ ├── manifest.xml
│ ├── templates
│ │ └── main.lua
│ ├── zip.exe
│ ├── zip.lua
│ └── zip.txt
├── com.renoise.CustomPatternNavigation.xrnx
│ ├── main.lua
│ └── manifest.xml
├── com.renoise.CustomWave.xrnx
│ ├── gui.lua
│ ├── main.lua
│ ├── manifest.xml
│ └── operators.lua
├── com.renoise.Duplex.xrnx
│ ├── Docs
│ │ ├── Applications.md
│ │ ├── Applications
│ │ │ ├── Automateable.md
│ │ │ ├── Effect.md
│ │ │ ├── GridPie.md
│ │ │ ├── Hydra.md
│ │ │ ├── Instrument.md
│ │ │ ├── Keyboard.md
│ │ │ ├── Matrix.md
│ │ │ ├── Metronome.md
│ │ │ ├── MidiActions.md
│ │ │ ├── Mixer.md
│ │ │ ├── Mlrx.md
│ │ │ ├── Navigator.md
│ │ │ ├── NotesOnWheels.md
│ │ │ ├── PatternCursor.md
│ │ │ ├── PatternSequence.md
│ │ │ ├── Recorder.md
│ │ │ ├── Repeater.md
│ │ │ ├── RoamingDSP.md
│ │ │ ├── Rotate.md
│ │ │ ├── StepSequencer.md
│ │ │ ├── SwitchConfiguration.md
│ │ │ ├── TrackSelector.md
│ │ │ ├── Transport.md
│ │ │ └── XYPad.md
│ │ ├── Concepts.md
│ │ ├── Configurations.md
│ │ ├── Controllers.md
│ │ ├── Controlmaps.md
│ │ ├── FAQ.md
│ │ ├── GettingStarted.md
│ │ ├── Images
│ │ │ ├── Config_launchpad_stepsequencer.png
│ │ │ ├── Duplex_browser.png
│ │ │ ├── Duplex_device_config_midi.png
│ │ │ ├── Duplex_device_config_osc.png
│ │ │ ├── Duplex_menu.png
│ │ │ ├── Duplex_options.png
│ │ │ ├── Duplex_signal_flow.png
│ │ │ ├── GridPie_on_launchpad.png
│ │ │ ├── Keyboard_devices.png
│ │ │ ├── Keyboard_sample_mappings.png
│ │ │ ├── Keyboard_scale_harmonic.gif
│ │ │ ├── Keyboard_scale_isomorphic.gif
│ │ │ ├── Recorder_on_launchpad.png
│ │ │ ├── Repeater_on_remote_sl.png
│ │ │ ├── XYPad_communication.gif
│ │ │ ├── XYPad_devices.png
│ │ │ ├── XYPad_roaming.gif
│ │ │ ├── automation_mode_interleave.gif
│ │ │ ├── automation_mode_punch_in.gif
│ │ │ └── mlrx_on_monome.gif
│ │ ├── Installation.md
│ │ └── Resources.md
│ ├── Duplex.lua
│ ├── Duplex
│ │ ├── Application.lua
│ │ ├── Applications
│ │ │ ├── Effect.lua
│ │ │ ├── GridPie.lua
│ │ │ ├── Hydra.lua
│ │ │ ├── Instrument.lua
│ │ │ ├── Keyboard.lua
│ │ │ ├── Keyboard
│ │ │ │ ├── GridLayout.lua
│ │ │ │ └── Layouts
│ │ │ │ │ ├── HarmonicLayout.lua
│ │ │ │ │ ├── HarmonicWrapped.lua
│ │ │ │ │ ├── IsomorphicLayout.lua
│ │ │ │ │ └── PianoLayout.lua
│ │ │ ├── Matrix.lua
│ │ │ ├── Metronome.lua
│ │ │ ├── MidiActions.lua
│ │ │ ├── MidiActions
│ │ │ │ └── Bindings.lua
│ │ │ ├── Mixer.lua
│ │ │ ├── Mlrx.lua
│ │ │ ├── Mlrx
│ │ │ │ ├── Mlrx_group.lua
│ │ │ │ ├── Mlrx_note.lua
│ │ │ │ ├── Mlrx_pos.lua
│ │ │ │ ├── Mlrx_settings.lua
│ │ │ │ ├── Mlrx_track.lua
│ │ │ │ └── Mlrx_view.lua
│ │ │ ├── Navigator.lua
│ │ │ ├── NotesOnWheels.lua
│ │ │ ├── PatternCursor.lua
│ │ │ ├── PatternSequence.lua
│ │ │ ├── Recorder.lua
│ │ │ ├── Repeater.lua
│ │ │ ├── Rotate.lua
│ │ │ ├── StepSequencer.lua
│ │ │ ├── SwitchConfiguration.lua
│ │ │ ├── TrackSelector.lua
│ │ │ ├── Transport.lua
│ │ │ └── XYPad.lua
│ │ ├── Automateable.lua
│ │ ├── Browser.lua
│ │ ├── BrowserProcess.lua
│ │ ├── Canvas.lua
│ │ ├── CanvasPoint.lua
│ │ ├── ControlMap.lua
│ │ ├── Controllers
│ │ │ ├── APC20
│ │ │ │ ├── APC20.bmp
│ │ │ │ ├── APC20.lua
│ │ │ │ ├── Configurations
│ │ │ │ │ ├── GridPieNavigatorTransportMixer.lua
│ │ │ │ │ ├── MatrixNavigatorTransportMixer.lua
│ │ │ │ │ ├── XYPadNavigatorTransportMixer.lua
│ │ │ │ │ └── XYPad_Repeater.lua
│ │ │ │ └── Controlmaps
│ │ │ │ │ ├── APC20.xml
│ │ │ │ │ └── APC20_XYPad_Repeater.xml
│ │ │ ├── APC40
│ │ │ │ ├── APC40.bmp
│ │ │ │ ├── APC40.lua
│ │ │ │ ├── Configurations
│ │ │ │ │ ├── GridPieEffectNavigatorTransportMixer.lua
│ │ │ │ │ ├── MatrixEffectNavigatorTransportMixer.lua
│ │ │ │ │ ├── XYPadEffectNavigatorTransportMixer.lua
│ │ │ │ │ └── XYPad_Repeater.lua
│ │ │ │ └── Controlmaps
│ │ │ │ │ ├── APC40.xml
│ │ │ │ │ ├── APC40_XYPad_Repeater.xml
│ │ │ │ │ └── Copy of APC40.xml
│ │ │ ├── Akai-MPK225
│ │ │ │ ├── Configurations
│ │ │ │ │ └── MPK225.lua
│ │ │ │ └── Controlmaps
│ │ │ │ │ └── MPK225.xml
│ │ │ ├── Akai-MPK49
│ │ │ │ ├── Akai-MPK49.bmp
│ │ │ │ ├── Akai-MPK49.lua
│ │ │ │ ├── Configurations
│ │ │ │ │ └── MixerTransport.lua
│ │ │ │ └── Controlmaps
│ │ │ │ │ └── Akai-MPK49.xml
│ │ │ ├── AkaiLPD8
│ │ │ │ ├── AkaiLPD8.bmp
│ │ │ │ ├── AkaiLPD8.lua
│ │ │ │ ├── Configurations
│ │ │ │ │ ├── Effect.lua
│ │ │ │ │ ├── GridPie.lua
│ │ │ │ │ ├── Keypads.lua
│ │ │ │ │ ├── Mixer.lua
│ │ │ │ │ ├── NOW.lua
│ │ │ │ │ └── XYPad.lua
│ │ │ │ ├── Controlmaps
│ │ │ │ │ ├── AkaiLPD8.xml
│ │ │ │ │ ├── AkaiLPD8_GridPie.xml
│ │ │ │ │ ├── AkaiLPD8_Keypad.xml
│ │ │ │ │ ├── AkaiLPD8_NOW.xml
│ │ │ │ │ └── AkaiLPD8_XYPad.xml
│ │ │ │ └── Presets
│ │ │ │ │ └── AkaiLPD8.preset
│ │ │ ├── BCD-3000
│ │ │ │ ├── Configurations
│ │ │ │ │ └── BDC-3000-Empty.lua
│ │ │ │ └── Controlmaps
│ │ │ │ │ └── BCD-3000.xml
│ │ │ ├── BCF-2000
│ │ │ │ ├── BCF-2000.bmp
│ │ │ │ ├── BCF-2000.lua
│ │ │ │ ├── Configurations
│ │ │ │ │ ├── BCF2000_Effect-NRPN.lua
│ │ │ │ │ ├── BCF2000_Effect.lua
│ │ │ │ │ ├── BCF2000_Mixer-NRPN.lua
│ │ │ │ │ ├── BCF2000_Mixer.lua
│ │ │ │ │ ├── BCF2000_NotesOnWheels.lua
│ │ │ │ │ └── BCF2000_Recorder.lua
│ │ │ │ ├── Controlmaps
│ │ │ │ │ ├── BCF-2000-NRPN.xml
│ │ │ │ │ ├── BCF-2000.xml
│ │ │ │ │ ├── BCF-2000_Effect-NRPN.xml
│ │ │ │ │ └── BCF-2000_Effect.xml
│ │ │ │ └── Presets
│ │ │ │ │ └── BCF-2000-NRPN.syx
│ │ │ ├── BCR-2000
│ │ │ │ ├── BCR-2000.bmp
│ │ │ │ ├── BCR-2000.lua
│ │ │ │ ├── Configurations
│ │ │ │ │ ├── BCR2000_MixerEffect-NRPN.lua
│ │ │ │ │ ├── BCR2000_MixerEffect.lua
│ │ │ │ │ ├── BCR2000_NotesOnWheels.lua
│ │ │ │ │ └── BCR2000_RecorderEffect.lua
│ │ │ │ ├── Controlmaps
│ │ │ │ │ ├── BCR-2000-NRPN.xml
│ │ │ │ │ ├── BCR-2000.xml
│ │ │ │ │ └── BCR-2000_NOW.xml
│ │ │ │ └── Presets
│ │ │ │ │ └── BCR-2000-NRPN.syx
│ │ │ ├── Custombuilt
│ │ │ │ ├── Configurations
│ │ │ │ │ ├── Matrix_Demo.lua
│ │ │ │ │ ├── MidiActions_Demo.lua
│ │ │ │ │ ├── NotesOnWheels.lua
│ │ │ │ │ ├── NotesOnWheelsCompact.lua
│ │ │ │ │ ├── RControl_TrackSelector.lua
│ │ │ │ │ └── UISlider_Demo.lua
│ │ │ │ ├── Controlmaps
│ │ │ │ │ ├── Matrix.xml
│ │ │ │ │ ├── MidiActions.xml
│ │ │ │ │ ├── NOW_Controller.xml
│ │ │ │ │ ├── NOW_Controller_compact.xml
│ │ │ │ │ ├── R-control.xml
│ │ │ │ │ └── UISlider_Demo.xml
│ │ │ │ ├── Custombuilt.lua
│ │ │ │ ├── NOW_Controller.bmp
│ │ │ │ └── R-control.bmp
│ │ │ ├── KONTROL49
│ │ │ │ ├── Configurations
│ │ │ │ │ ├── Effect.lua
│ │ │ │ │ ├── GridPie.lua
│ │ │ │ │ └── Mixer.lua
│ │ │ │ ├── Controlmaps
│ │ │ │ │ ├── KONTROL49.xml
│ │ │ │ │ └── KONTROL49_GridPie.xml
│ │ │ │ ├── KONTROL49.bmp
│ │ │ │ ├── KONTROL49.lua
│ │ │ │ └── Presets
│ │ │ │ │ ├── KONTROL49.k4d
│ │ │ │ │ └── KONTROL49.k4s
│ │ │ ├── Launch-Control-XL
│ │ │ │ ├── Configurations
│ │ │ │ │ ├── 01_Mutes.lua
│ │ │ │ │ ├── 02_Solos.lua
│ │ │ │ │ ├── 03_Transport.lua
│ │ │ │ │ └── Default.lua
│ │ │ │ ├── Controlmaps
│ │ │ │ │ ├── 01_Mutes.xml
│ │ │ │ │ ├── 02_Solos.xml
│ │ │ │ │ ├── 03_Transport.xml
│ │ │ │ │ └── Default.xml
│ │ │ │ ├── Launch-Control-XL.bmp
│ │ │ │ └── Launch-Control-XL.lua
│ │ │ ├── Launchpad
│ │ │ │ ├── Configurations
│ │ │ │ │ ├── LaunchPad_GridPie.lua
│ │ │ │ │ ├── LaunchPad_GridPieFull.lua
│ │ │ │ │ ├── Launchpad_Drumpads.lua
│ │ │ │ │ ├── Launchpad_Effect.lua
│ │ │ │ │ ├── Launchpad_Keyboard.lua
│ │ │ │ │ ├── Launchpad_Matrix.lua
│ │ │ │ │ ├── Launchpad_Mixer.lua
│ │ │ │ │ ├── Launchpad_MixerMatrix.lua
│ │ │ │ │ ├── Launchpad_Mlrx.lua
│ │ │ │ │ ├── Launchpad_MuteGrid.lua
│ │ │ │ │ ├── Launchpad_Recorder.lua
│ │ │ │ │ ├── Launchpad_Sequencer.lua
│ │ │ │ │ └── Launchpad_XYPad.lua
│ │ │ │ ├── Controlmaps
│ │ │ │ │ ├── Launchpad-Recorder.xml
│ │ │ │ │ ├── Launchpad.xml
│ │ │ │ │ ├── Launchpad_Drumpads.xml
│ │ │ │ │ ├── Launchpad_Effect.xml
│ │ │ │ │ ├── Launchpad_GridPie.xml
│ │ │ │ │ ├── Launchpad_GridPieFull.xml
│ │ │ │ │ ├── Launchpad_Keyboard.xml
│ │ │ │ │ ├── Launchpad_Matrix.xml
│ │ │ │ │ ├── Launchpad_MatrixMixer.xml
│ │ │ │ │ ├── Launchpad_Mixer.xml
│ │ │ │ │ ├── Launchpad_Mlrx.xml
│ │ │ │ │ ├── Launchpad_Recorder.xml
│ │ │ │ │ ├── Launchpad_Split2.xml
│ │ │ │ │ ├── Launchpad_StepSequencer.xml
│ │ │ │ │ ├── Launchpad_VerticalSplit.xml
│ │ │ │ │ └── Launchpad_XYPad.xml
│ │ │ │ ├── Launchpad.bmp
│ │ │ │ └── Launchpad.lua
│ │ │ ├── LaunchpadMiniMK3
│ │ │ │ ├── Configurations
│ │ │ │ │ ├── LaunchpadMiniMK3_GridPie.lua
│ │ │ │ │ ├── LaunchpadMiniMK3_Recorder.lua
│ │ │ │ │ └── LaunchpadMiniMK3_Sequencer.lua
│ │ │ │ ├── Controlmaps
│ │ │ │ │ ├── LaunchpadMiniMK3_GridPie.xml
│ │ │ │ │ ├── LaunchpadMiniMK3_Recorder.xml
│ │ │ │ │ └── LaunchpadMiniMK3_StepSequencer.xml
│ │ │ │ ├── LaunchpadMiniMK3.bmp
│ │ │ │ └── LaunchpadMiniMK3.lua
│ │ │ ├── LividBase
│ │ │ │ ├── Configurations
│ │ │ │ │ └── LividBase-MixerMatrix.lua
│ │ │ │ ├── Controlmaps
│ │ │ │ │ └── LividBase.xml
│ │ │ │ └── LividBase.lua
│ │ │ ├── MIDI-Fighter-Twister
│ │ │ │ ├── Configurations
│ │ │ │ │ └── MF_Twister_Effects.lua
│ │ │ │ ├── Controlmaps
│ │ │ │ │ └── MF_Twister.xml
│ │ │ │ └── Thumbnail.bmp
│ │ │ ├── MIDI-Keyboard
│ │ │ │ ├── Configurations
│ │ │ │ │ ├── MIDI-Key_GridPie.lua
│ │ │ │ │ ├── MIDI-Key_Keyboard.lua
│ │ │ │ │ └── MIDI-Key_TripleStack.lua
│ │ │ │ ├── Controlmaps
│ │ │ │ │ ├── MIDI-Key_GridPie.xml
│ │ │ │ │ ├── MIDI-Key_Keyboard.xml
│ │ │ │ │ └── MIDI-Key_TripleStack.xml
│ │ │ │ ├── MIDI-Keyboard.bmp
│ │ │ │ └── MIDI-Keyboard.lua
│ │ │ ├── MPD24
│ │ │ │ ├── Configurations
│ │ │ │ │ └── MatrixMixerEffects.lua
│ │ │ │ ├── Controlmaps
│ │ │ │ │ └── MPD24.xml
│ │ │ │ ├── MPD24.bmp
│ │ │ │ └── MPD24.lua
│ │ │ ├── MPD26
│ │ │ │ ├── Configurations
│ │ │ │ │ └── MixerMatrixEffectsTransport.lua
│ │ │ │ ├── Controlmaps
│ │ │ │ │ └── MPD26-Generic.xml
│ │ │ │ ├── MPD26.bmp
│ │ │ │ └── MPD26.lua
│ │ │ ├── MPD32
│ │ │ │ ├── Configurations
│ │ │ │ │ ├── MixerMatrixEffectsTransport.lua
│ │ │ │ │ └── PerformancePads.lua
│ │ │ │ ├── Controlmaps
│ │ │ │ │ ├── MPD32.xml
│ │ │ │ │ └── MPD32_Pads.xml
│ │ │ │ ├── MPD32.bmp
│ │ │ │ └── MPD32.lua
│ │ │ ├── Mackie-Control
│ │ │ │ ├── Configurations
│ │ │ │ │ ├── Mackie_MixerTransport.lua
│ │ │ │ │ └── Mackie_RecorderTransport.lua
│ │ │ │ ├── Controlmaps
│ │ │ │ │ └── Mackie-Control.xml
│ │ │ │ ├── Mackie-Control.bmp
│ │ │ │ └── Mackie-Control.lua
│ │ │ ├── Monome
│ │ │ │ ├── Configurations
│ │ │ │ │ ├── m128_GridPie.lua
│ │ │ │ │ ├── m128_Keyboard.lua
│ │ │ │ │ ├── m128_KeyboardSingle.lua
│ │ │ │ │ ├── m128_MatrixEffect.lua
│ │ │ │ │ ├── m128_MixerTransport.lua
│ │ │ │ │ ├── m128_Mlrx.lua
│ │ │ │ │ ├── m128_Performance.lua
│ │ │ │ │ ├── m128_RecorderMatrix.lua
│ │ │ │ │ ├── m128_RecorderMixer.lua
│ │ │ │ │ ├── m128_StepSequencer.lua
│ │ │ │ │ ├── m128_XYPad.lua
│ │ │ │ │ ├── m64_GridPie.lua
│ │ │ │ │ ├── m64_Matrix.lua
│ │ │ │ │ ├── m64_MixerTransport.lua
│ │ │ │ │ ├── m64_Recorder.lua
│ │ │ │ │ └── m64_StepSequencer.lua
│ │ │ │ ├── Controlmaps
│ │ │ │ │ ├── Monome128.xml
│ │ │ │ │ ├── Monome128_GridPie.xml
│ │ │ │ │ ├── Monome128_Keyboard.xml
│ │ │ │ │ ├── Monome128_KeyboardSingle.xml
│ │ │ │ │ ├── Monome128_MatrixEffect.xml
│ │ │ │ │ ├── Monome128_Mixer.xml
│ │ │ │ │ ├── Monome128_Mlrx.xml
│ │ │ │ │ ├── Monome128_Performance.xml
│ │ │ │ │ ├── Monome128_RecorderMatrix.xml
│ │ │ │ │ ├── Monome128_RecorderMixer.xml
│ │ │ │ │ ├── Monome128_StepSequencer.xml
│ │ │ │ │ ├── Monome128_XYPad.xml
│ │ │ │ │ ├── Monome64.xml
│ │ │ │ │ ├── Monome64_GridPie.xml
│ │ │ │ │ ├── Monome64_Matrix.xml
│ │ │ │ │ ├── Monome64_Mixer.xml
│ │ │ │ │ ├── Monome64_Recorder.xml
│ │ │ │ │ └── Monome64_StepSequencer.xml
│ │ │ │ ├── Monome.bmp
│ │ │ │ ├── Monome.lua
│ │ │ │ └── README.md
│ │ │ ├── Nocturn
│ │ │ │ ├── Configurations
│ │ │ │ │ ├── Nocturn_Effect.lua
│ │ │ │ │ ├── Nocturn_Hydra.lua
│ │ │ │ │ ├── Nocturn_Mixer.lua
│ │ │ │ │ ├── Nocturn_MixerTransport.lua
│ │ │ │ │ ├── Nocturn_Navigator.lua
│ │ │ │ │ ├── Nocturn_NotesOnWheels.lua
│ │ │ │ │ ├── Nocturn_Recorder.lua
│ │ │ │ │ ├── Nocturn_TrackSelector.lua
│ │ │ │ │ └── Nocturn_XYPad.lua
│ │ │ │ ├── Controlmaps
│ │ │ │ │ └── Nocturn.xml
│ │ │ │ ├── Nocturn.bmp
│ │ │ │ ├── Nocturn.lua
│ │ │ │ └── Presets
│ │ │ │ │ └── Nocturn.automap
│ │ │ ├── Ohm64
│ │ │ │ ├── Configurations
│ │ │ │ │ ├── MixerMatrixEffects.lua
│ │ │ │ │ ├── MixerMatrixEffectsSwitch.lua
│ │ │ │ │ ├── SequencerNavigatorMixerEffects.lua
│ │ │ │ │ └── SequencerNavigatorMixerEffectsSwitch.lua
│ │ │ │ ├── Controlmaps
│ │ │ │ │ └── Ohm64.xml
│ │ │ │ ├── Ohm64.bmp
│ │ │ │ └── Ohm64.lua
│ │ │ ├── OhmRGB
│ │ │ │ ├── Configurations
│ │ │ │ │ ├── MixerMatrixEffects.lua
│ │ │ │ │ └── SequencerNavigatorMixerEffects.lua
│ │ │ │ ├── Controlmaps
│ │ │ │ │ └── OhmRGB.xml
│ │ │ │ ├── OhmRGB.bmp
│ │ │ │ └── OhmRGB.lua
│ │ │ ├── Oxygen88
│ │ │ │ ├── Configurations
│ │ │ │ │ └── O88-Cursor.lua
│ │ │ │ └── Controlmaps
│ │ │ │ │ └── Oxygen88.xml
│ │ │ ├── QuNeo
│ │ │ │ ├── Configurations
│ │ │ │ │ └── QuNeo_test.lua
│ │ │ │ ├── Controlmaps
│ │ │ │ │ └── QuNeo_default.xml
│ │ │ │ ├── QuNeo.lua
│ │ │ │ ├── quneo.bmp
│ │ │ │ ├── renoise.quneopreset
│ │ │ │ └── renoise_new2.quneopreset
│ │ │ ├── Remote-SL-MKII
│ │ │ │ ├── Configurations
│ │ │ │ │ ├── MixerEffectsTransport.lua
│ │ │ │ │ ├── MixerRecorderTransport.lua
│ │ │ │ │ ├── NOWMixerTransport.lua
│ │ │ │ │ ├── Remote_MidiActions.lua
│ │ │ │ │ ├── Remote_Repeater.lua
│ │ │ │ │ └── Remote_XYPad.lua
│ │ │ │ ├── Controlmaps
│ │ │ │ │ └── Remote-SL-MKII.xml
│ │ │ │ ├── Presets
│ │ │ │ │ └── Remote-SL-MKII.automap
│ │ │ │ ├── Remote-SL-MKII.bmp
│ │ │ │ └── Remote-SL-MKII.lua
│ │ │ ├── TouchOSC
│ │ │ │ ├── Configurations
│ │ │ │ │ ├── HandsetKeys.lua
│ │ │ │ │ ├── MixerRecorderMatrix.lua
│ │ │ │ │ ├── TouchOSC_KeyPad.lua
│ │ │ │ │ └── TouchOSC_iPad.lua
│ │ │ │ ├── Controlmaps
│ │ │ │ │ ├── TouchOSC.xml
│ │ │ │ │ ├── TouchOSC_KeyPad.xml
│ │ │ │ │ ├── TouchOSC_Keys.xml
│ │ │ │ │ └── TouchOSC_iPad.xml
│ │ │ │ ├── Presets
│ │ │ │ │ └── Duplex_iPad_performance.touchosc
│ │ │ │ ├── TouchOSC.bmp
│ │ │ │ └── TouchOSC.lua
│ │ │ ├── ZoomR16
│ │ │ │ ├── Configurations
│ │ │ │ │ └── Transport.lua
│ │ │ │ ├── Controlmaps
│ │ │ │ │ └── ZoomR16.xml
│ │ │ │ └── ZoomR16.lua
│ │ │ ├── microKONTROL
│ │ │ │ ├── Configurations
│ │ │ │ │ ├── Effect.lua
│ │ │ │ │ └── Mixer.lua
│ │ │ │ ├── Controlmaps
│ │ │ │ │ └── microKONTROL.xml
│ │ │ │ ├── Presets
│ │ │ │ │ ├── microKONTROL.mkd
│ │ │ │ │ └── microKONTROL.mks
│ │ │ │ ├── microKONTROL.bmp
│ │ │ │ └── microKONTROL.lua
│ │ │ ├── nanoKONTROL
│ │ │ │ ├── Configurations
│ │ │ │ │ └── MixerTransport.lua
│ │ │ │ ├── Controlmaps
│ │ │ │ │ └── nanoKONTROL.xml
│ │ │ │ ├── nanoKONTROL.bmp
│ │ │ │ └── nanoKONTROL.lua
│ │ │ ├── nanoKONTROL2
│ │ │ │ ├── Configurations
│ │ │ │ │ ├── MixerTransport.lua
│ │ │ │ │ ├── NotesOnWheels.lua
│ │ │ │ │ ├── RecorderTransport.lua
│ │ │ │ │ └── StepSequencerTransport.lua
│ │ │ │ ├── Controlmaps
│ │ │ │ │ ├── nanoKONTROL2.xml
│ │ │ │ │ └── nanoKONTROL2_Seq.xml
│ │ │ │ ├── nanoKONTROL2.bmp
│ │ │ │ └── nanoKONTROL2.lua
│ │ │ └── unknown.bmp
│ │ ├── Device.lua
│ │ ├── Display.lua
│ │ ├── Globals.lua
│ │ ├── Message.lua
│ │ ├── MessageStream.lua
│ │ ├── MidiDevice.lua
│ │ ├── Options.lua
│ │ ├── OscDevice.lua
│ │ ├── OscVoiceMgr.lua
│ │ ├── Preferences.lua
│ │ ├── RoamingDSP.lua
│ │ ├── StateController.lua
│ │ ├── UIButton.lua
│ │ ├── UIButtonStrip.lua
│ │ ├── UIComponent.lua
│ │ ├── UIKey.lua
│ │ ├── UILabel.lua
│ │ ├── UILed.lua
│ │ ├── UIPad.lua
│ │ ├── UISlider.lua
│ │ ├── UISpinner.lua
│ │ ├── WidgetHooks.lua
│ │ └── WidgetKeyboard.lua
│ ├── README.md
│ ├── changelog.md
│ ├── config.ld
│ ├── main.lua
│ └── manifest.xml
├── com.renoise.EpicArpeggiator.xrnx
│ ├── documentation
│ │ └── Epic Arpeggiator V3.0.pdf
│ ├── env_presets
│ │ ├── -empty-.xml
│ │ ├── EA25_0_3_8_5_3_points.xml
│ │ ├── EA25_0_4_7_9_freeform.xml
│ │ ├── EA25_1_3_7_regular.xml
│ │ ├── EA30_0_4_7_9_tape_deck_fuckup.xml
│ │ ├── EA30_BDF#GA.xml
│ │ ├── EA30_DEGAB.xml
│ │ ├── EA30_DFGAC.xml
│ │ ├── EA30_DGEBC.xml
│ │ ├── EA30_Ringmod_arp_bass.xml
│ │ ├── EA30_delay_example.xml
│ │ ├── EA30_pacman.xml
│ │ ├── EA30_robocop.xml
│ │ ├── EA30_semi_pacman.xml
│ │ └── EA30_the_korgis_EGTLS.xml
│ ├── envelope_processing.lua
│ ├── globals.lua
│ ├── gui_controls.lua
│ ├── gui_envelope_arp.lua
│ ├── gui_init.lua
│ ├── gui_miscelaneous.lua
│ ├── gui_pattern_arp.lua
│ ├── gui_tool_options.lua
│ ├── images
│ │ ├── tab_env_profile.png
│ │ ├── tab_envelope_arp.png
│ │ ├── tab_envelope_arp_armed.png
│ │ ├── tab_ins_volume.png
│ │ ├── tab_note_matrix.png
│ │ ├── tab_note_octave.png
│ │ ├── tab_note_profile.png
│ │ ├── tab_options.png
│ │ ├── tab_pattern_arp.png
│ │ ├── tab_pattern_arp_armed.png
│ │ ├── tab_pool_area.png
│ │ └── tab_presets.png
│ ├── main.lua
│ ├── manifest.xml
│ ├── midi_control.lua
│ ├── midi_device.lua
│ ├── pattern_processing.lua
│ ├── preset_manager.lua
│ ├── presets
│ │ ├── EA20_0_1_5_random.xml
│ │ ├── EA20_0_2_5_random.xml
│ │ ├── EA20_0_3_7_random.xml
│ │ ├── EA20_5th avenue tripping.xml
│ │ ├── EA20_Brazilian_0_2_5 (p-size_48).xml
│ │ ├── EA20_Caribbean soul (p-size_48).xml
│ │ └── _empty_.xml
│ ├── scale.lua
│ ├── scale_finder_ea.lua
│ ├── tone_matrix.lua
│ └── undo_management.lua
├── com.renoise.ExampleTool.xrnx
│ ├── icon.png
│ ├── main.lua
│ └── manifest.xml
├── com.renoise.ExampleToolGui.xrnx
│ ├── Bitmaps
│ │ ├── MiniPiano.bmp
│ │ ├── RenoiseLua.bmp
│ │ └── RenoiseLua.png
│ ├── main.lua
│ └── manifest.xml
├── com.renoise.ExampleToolSlicedProcess.xrnx
│ ├── main.lua
│ ├── manifest.xml
│ └── process_slicer.lua
├── com.renoise.FindAndReplace.xrnx
│ ├── main.lua
│ └── manifest.xml
├── com.renoise.GridPie.xrnx
│ ├── main.lua
│ ├── manifest.xml
│ └── toolbox.lua
├── com.renoise.IRCclient.xrnx
│ ├── globals.lua
│ ├── gui.lua
│ ├── main.lua
│ └── manifest.xml
├── com.renoise.MidiConvert.xrnx
│ ├── Midi.lua
│ ├── ProcessSlicer.lua
│ ├── README.md
│ ├── export.lua
│ ├── import.lua
│ ├── main.lua
│ ├── manifest.xml
│ └── toolbox.lua
├── com.renoise.MidiPerformer.xrnx
│ ├── main.lua
│ ├── manifest.xml
│ └── source
│ │ ├── MP_HelpDlg.lua
│ │ ├── MP_Instrument.lua
│ │ ├── MP_OptionsDlg.lua
│ │ ├── MP_Prefs.lua
│ │ ├── MP_UI.lua
│ │ └── MidiPerformer.lua
├── com.renoise.Nibbles.xrnx
│ ├── Bitmaps
│ │ ├── cell_black.bmp
│ │ ├── cell_grid.bmp
│ │ ├── cell_renlogo.bmp
│ │ ├── cell_snake.bmp
│ │ ├── cell_wall1.bmp
│ │ ├── cell_wall2.bmp
│ │ ├── cell_wall3.bmp
│ │ └── nibbles.bmp
│ ├── ft_levels.lua
│ ├── main.lua
│ └── manifest.xml
├── com.renoise.Noodletrap.xrnx
│ ├── README.md
│ ├── classes
│ │ ├── NTrap.lua
│ │ ├── NTrapEvent.lua
│ │ ├── NTrapPrefs.lua
│ │ └── NTrapUI.lua
│ ├── main.lua
│ └── manifest.xml
├── com.renoise.NotesRandomizer.xrnx
│ ├── gui.lua
│ ├── main.lua
│ ├── manifest.xml
│ └── randomizer.lua
├── com.renoise.NotesStrum.xrnx
│ ├── main.lua
│ └── manifest.xml
├── com.renoise.PatternRotate.xrnx
│ ├── main.lua
│ ├── manifest.xml
│ └── pattern_line_tools.lua
├── com.renoise.PhraseMate.xrnx
│ ├── README.md
│ ├── main.lua
│ ├── manifest.xml
│ ├── manual
│ │ ├── collect_capture_all_replace.png
│ │ ├── phrase_control.png
│ │ ├── smart_write.png
│ │ ├── tab_prefs.png
│ │ ├── tab_presets.png
│ │ ├── tab_props.png
│ │ ├── tab_read.png
│ │ ├── tab_write.png
│ │ └── tab_zxx.png
│ └── source
│ │ ├── PhraseMate.lua
│ │ ├── PhraseMateExportDialog.lua
│ │ ├── PhraseMatePrefs.lua
│ │ ├── PhraseMateSmartDialog.lua
│ │ └── PhraseMateUI.lua
├── com.renoise.Rubberband.xrnx
│ ├── Makefile
│ ├── bin
│ │ ├── osx
│ │ │ ├── COPYING
│ │ │ ├── README.txt
│ │ │ ├── SOURCE.txt
│ │ │ └── rubberband
│ │ └── win32
│ │ │ ├── COPYING
│ │ │ ├── README.txt
│ │ │ ├── SOURCE.txt
│ │ │ └── rubberband.exe
│ ├── main.lua
│ └── manifest.xml
├── com.renoise.ScaleMate.xrnx
│ ├── README.md
│ ├── main.lua
│ ├── manifest.xml
│ └── source
│ │ ├── ScaleMate.lua
│ │ ├── ScaleMate_Prefs.lua
│ │ └── ScaleMate_UI.lua
├── com.renoise.SelectionShaper.xrnx
│ ├── images
│ │ ├── RM-saw.bmp
│ │ ├── RM-sine.bmp
│ │ ├── RM-square.bmp
│ │ ├── RM-tri.bmp
│ │ ├── arrow-left.bmp
│ │ ├── arrow-right.bmp
│ │ ├── center-amplify.bmp
│ │ ├── center-fade.bmp
│ │ ├── copy.bmp
│ │ ├── fade-in.bmp
│ │ ├── fade-out.bmp
│ │ ├── random.png
│ │ ├── random_small.bmp
│ │ ├── resize_expand.png
│ │ ├── resize_shrink.png
│ │ ├── shift-minus1.bmp
│ │ ├── shift-minus24.bmp
│ │ ├── shift-plus1.bmp
│ │ ├── shift-plus24.bmp
│ │ ├── wave-noise-brown.bmp
│ │ ├── wave-noise-pink.bmp
│ │ ├── wave-noise-violet.bmp
│ │ ├── wave-noise-white.bmp
│ │ ├── wave-noise.bmp
│ │ ├── wave-saw.bmp
│ │ ├── wave-sine.bmp
│ │ ├── wave-sine2.bmp
│ │ ├── wave-square.bmp
│ │ ├── wave-tri.bmp
│ │ ├── whole-amplify.bmp
│ │ └── whole-fade.bmp
│ ├── main.lua
│ ├── manifest.xml
│ └── source
│ │ ├── gui_util.lua
│ │ ├── ssk.lua
│ │ ├── ssk_config.lua
│ │ ├── ssk_dialog_create.lua
│ │ ├── ssk_generator.lua
│ │ ├── ssk_gui.lua
│ │ ├── ssk_gui_keyzone.lua
│ │ ├── ssk_gui_sampleprops.lua
│ │ ├── ssk_modify.lua
│ │ ├── ssk_prefs.lua
│ │ └── ssk_selection.lua
├── com.renoise.SliceMate.xrnx
│ ├── README.md
│ ├── changelog.md
│ ├── docs
│ │ ├── slicemate-workflow-sxx-edited.gif
│ │ ├── slicemate-workflow-sxx-root.gif
│ │ └── splash_big.png
│ ├── main.lua
│ ├── manifest.xml
│ └── source
│ │ ├── SliceMate.lua
│ │ ├── SliceMate_Prefs.lua
│ │ ├── SliceMate_UI.lua
│ │ └── icons
│ │ ├── detach.bmp
│ │ └── warning.bmp
├── com.renoise.Sononymph.xrnx
│ ├── README.md
│ ├── docs
│ │ ├── screenshot.png
│ │ └── splash-large.png
│ ├── main.lua
│ ├── manifest.xml
│ └── source
│ │ ├── App.lua
│ │ ├── AppPrefs.lua
│ │ ├── AppUI.lua
│ │ ├── AppUIAbout.lua
│ │ └── icons
│ │ ├── detach.bmp
│ │ ├── logo.png
│ │ └── warning.bmp
├── com.renoise.Soundcloud.xrnx
│ ├── bin
│ │ ├── osx
│ │ │ └── readme.txt
│ │ └── win
│ │ │ └── readme.txt
│ ├── main.lua
│ └── manifest.xml
├── com.renoise.TempoTap.xrnx
│ ├── main.lua
│ └── manifest.xml
├── com.renoise.ToggleDSPs.xrnx
│ ├── main.lua
│ └── manifest.xml
├── com.renoise.ToolUpdater.xrnx
│ ├── images
│ │ └── link-icon.bmp
│ ├── main.lua
│ └── manifest.xml
├── com.renoise.UpdateChecker.xrnx
│ ├── main.lua
│ └── manifest.xml
├── com.renoise.VoiceRunner.xrnx
│ ├── README.md
│ ├── changelog.md
│ ├── main.lua
│ ├── manifest.xml
│ ├── manual
│ │ ├── screenshot.png
│ │ ├── voice-runner-demo.gif
│ │ └── voice-runner-navigation.gif
│ ├── source
│ │ ├── VR.lua
│ │ ├── VR_Prefs.lua
│ │ ├── VR_Template.lua
│ │ └── VR_UI.lua
│ └── userdata
│ │ └── templates
│ │ ├── ColumnOctaves.lua
│ │ ├── Default.lua
│ │ ├── GMKit Small.lua
│ │ ├── Octave C4.lua
│ │ └── gmkit_full - Copy.lua_
├── com.renoise.Xrni-Merger.xrnx
│ ├── main.lua
│ └── manifest.xml
├── com.renoise.ZeroCrossings.xrnx
│ ├── main.lua
│ └── manifest.xml
├── com.renoise.cLib.xrnx
│ ├── README.md
│ ├── main.lua
│ ├── manifest.xml
│ ├── source
│ │ └── TestRunner.lua
│ └── unit_tests
│ │ ├── Test-cConvert.lua
│ │ ├── Test-cFilesystem.lua
│ │ ├── Test-cLib.lua
│ │ ├── Test-cNumber.lua
│ │ ├── Test-cObservable.lua
│ │ ├── Test-cParseXML.lua
│ │ ├── Test-cReflection.lua
│ │ ├── Test-cTable.lua
│ │ └── example_preferences.xml
├── com.renoise.vLib.xrnx
│ ├── README.md
│ ├── main.lua
│ └── manifest.xml
├── com.renoise.vLibBoilerPlate.xrnx
│ ├── README.md
│ ├── main.lua
│ ├── manifest.xml
│ └── source
│ │ ├── vLibBoilerPlate_Prefs.lua
│ │ └── vLibBoilerPlate_UI.lua
├── com.renoise.xCleaner.xrnx
│ ├── README.md
│ ├── main.lua
│ ├── manifest.xml
│ └── source
│ │ ├── xCleaner.lua
│ │ └── xCleanerUI.lua
├── com.renoise.xLib.xrnx
│ ├── README.md
│ ├── main.lua
│ ├── manifest.xml
│ ├── source
│ │ └── TestRunner.lua
│ └── unit_tests
│ │ ├── Test-xAudioDeviceAutomation.lua
│ │ ├── Test-xBlockLoop.lua
│ │ ├── Test-xCursorPos.lua
│ │ ├── Test-xEffectColumn.lua
│ │ ├── Test-xInstrument.lua
│ │ ├── Test-xKeyZone.lua
│ │ ├── Test-xLine.lua
│ │ ├── Test-xLinePattern.lua
│ │ ├── Test-xMidiInput.lua
│ │ ├── Test-xMidiMessage.lua
│ │ ├── Test-xNoteColumn.lua
│ │ ├── Test-xOscDevice.lua
│ │ ├── Test-xOscMessage.lua
│ │ ├── Test-xOscPattern.lua
│ │ ├── Test-xPatternSequencer.lua
│ │ ├── Test-xPersistentSettings.lua
│ │ ├── Test-xSample.lua
│ │ ├── Test-xSampleBuffer.lua
│ │ ├── Test-xScale.lua
│ │ ├── Test-xSequencerSelection.lua
│ │ ├── Test-xSongPos.lua
│ │ ├── Test-xVoiceManager.lua
│ │ ├── example_preferences.xml
│ │ └── example_preferences_output.xml
├── com.renoise.xRules.xrnx
│ ├── README.md
│ ├── main.lua
│ ├── manifest.xml
│ ├── rulesets
│ │ ├── examples
│ │ │ ├── Aftertouch - CC.lua
│ │ │ ├── Automapping.lua
│ │ │ ├── BCR2000 Test.lua
│ │ │ ├── Fixed Channel #.lua
│ │ │ ├── Launchpad Feedback.lua
│ │ │ ├── MIDIToTracks.lua
│ │ │ ├── Mackie Protocol.lua
│ │ │ ├── MonomeSerial.lua
│ │ │ ├── OSC-Only Test.lua
│ │ │ ├── Osc.js.lua
│ │ │ ├── Routing test.lua
│ │ │ ├── Set MIDI-out port.lua
│ │ │ ├── Sysex, MMC.lua
│ │ │ ├── TouchOSC.lua
│ │ │ └── xStream iControls.lua
│ │ └── test
│ │ │ ├── A very long name for which I am not sure there is room enough.lua
│ │ │ ├── Borked table.lua
│ │ │ ├── Broken rule.lua
│ │ │ ├── Empty.lua
│ │ │ ├── Not a ruleset.lua
│ │ │ ├── Syntax error.lua
│ │ │ └── mmmmmmmmmmmmmmmmmmmmmmmmmmmmmm.lua
│ └── source
│ │ ├── icons
│ │ ├── key_small.bmp
│ │ ├── logo-disabled.png
│ │ ├── logo.png
│ │ ├── midi_small.bmp
│ │ ├── osc_small.bmp
│ │ └── save.bmp
│ │ ├── xRulesApp.lua
│ │ ├── xRulesAppDialogCreate.lua
│ │ ├── xRulesAppDialogExport.lua
│ │ ├── xRulesAppDialogHelp.lua
│ │ ├── xRulesAppDialogPrefs.lua
│ │ ├── xRulesAppPrefs.lua
│ │ ├── xRulesUI.lua
│ │ ├── xRulesUIAction.lua
│ │ ├── xRulesUICondition.lua
│ │ └── xRulesUIEditor.lua
├── com.renoise.xStream.xrnx
│ ├── README.md
│ ├── changelog.md
│ ├── docs
│ │ ├── about_models.md
│ │ ├── code_editor.md
│ │ ├── coding_intro.md
│ │ ├── events_userdata.md
│ │ ├── example_models.md
│ │ ├── favorites.md
│ │ ├── file_formats.md
│ │ ├── images
│ │ │ ├── argument_editor.png
│ │ │ ├── argument_list.png
│ │ │ ├── argument_tabbed.png
│ │ │ ├── arguments.png
│ │ │ ├── callback_dialog.png
│ │ │ ├── callback_dialog_data.png
│ │ │ ├── callback_dialog_events.png
│ │ │ ├── code_editor.png
│ │ │ ├── euclidean.gif
│ │ │ ├── favorites_grid.png
│ │ │ ├── global_toolbar.png
│ │ │ ├── model_toolbar.png
│ │ │ ├── options_general.png
│ │ │ ├── options_midi.png
│ │ │ ├── options_output.png
│ │ │ ├── options_streaming.png
│ │ │ ├── preset_bank.png
│ │ │ ├── preset_list.png
│ │ │ ├── presets.png
│ │ │ └── screenshot.png
│ │ ├── introduction.md
│ │ ├── known_limitations.md
│ │ ├── lua_reference.md
│ │ ├── main_toolbar.md
│ │ ├── model_arguments.md
│ │ ├── model_data.md
│ │ ├── model_events.md
│ │ ├── options.md
│ │ ├── preset_bank.md
│ │ ├── shortcuts_and_mappings.md
│ │ └── user_interface.md
│ ├── main.lua
│ ├── manifest.xml
│ ├── source
│ │ ├── icons
│ │ │ ├── add.bmp
│ │ │ ├── bind_or_poll.bmp
│ │ │ ├── delete.bmp
│ │ │ ├── delete_small.bmp
│ │ │ ├── lock.bmp
│ │ │ ├── logo.png
│ │ │ ├── maximize.bmp
│ │ │ ├── minimize.bmp
│ │ │ ├── move_down.bmp
│ │ │ ├── move_up.bmp
│ │ │ ├── open.bmp
│ │ │ ├── pin.png
│ │ │ ├── preset_bank.bmp
│ │ │ ├── presets.bmp
│ │ │ ├── refresh.bmp
│ │ │ ├── rename.bmp
│ │ │ ├── reveal_folder.bmp
│ │ │ ├── save.bmp
│ │ │ ├── save_as.bmp
│ │ │ ├── stack_input_a.bmp
│ │ │ ├── stack_input_b.bmp
│ │ │ ├── stack_input_c.bmp
│ │ │ ├── stack_input_d.bmp
│ │ │ ├── stack_input_none.bmp
│ │ │ ├── stack_input_patt - Copy.bmp
│ │ │ ├── stack_input_patt.bmp
│ │ │ ├── stack_output_none.bmp
│ │ │ ├── stack_output_pass_on.bmp
│ │ │ ├── stack_output_patt.bmp
│ │ │ ├── transport_play.bmp
│ │ │ ├── transport_record.bmp
│ │ │ ├── transport_stop.bmp
│ │ │ └── update.bmp
│ │ ├── xStream.lua
│ │ ├── xStreamArg.lua
│ │ ├── xStreamArgs.lua
│ │ ├── xStreamArgsTab.lua
│ │ ├── xStreamFavorite.lua
│ │ ├── xStreamFavorites.lua
│ │ ├── xStreamModel.lua
│ │ ├── xStreamModels.lua
│ │ ├── xStreamPrefs.lua
│ │ ├── xStreamPresets.lua
│ │ ├── xStreamProcess.lua
│ │ ├── xStreamUI.lua
│ │ ├── xStreamUIArgsEditor.lua
│ │ ├── xStreamUIArgsPanel.lua
│ │ ├── xStreamUICallbackCreate.lua
│ │ ├── xStreamUIFavorites.lua
│ │ ├── xStreamUIGlobalToolbar.lua
│ │ ├── xStreamUILuaEditor.lua
│ │ ├── xStreamUIModelCreate.lua
│ │ ├── xStreamUIModelToolbar.lua
│ │ ├── xStreamUIOptions.lua
│ │ ├── xStreamUIPresetPanel.lua
│ │ └── xStreamUserData.lua
│ └── userdata
│ │ └── models
│ │ ├── Args-Binding.lua
│ │ ├── Args-Controls.lua
│ │ ├── Args-Events.lua
│ │ ├── Args-Polling.lua
│ │ ├── Args-Tabbed.lua
│ │ ├── Arpeggiator.lua
│ │ ├── ChordMemory.lua
│ │ ├── ColumnEraser.lua
│ │ ├── ColumnMixer.lua
│ │ ├── Convergence.lua
│ │ ├── Demo-Automation.lua
│ │ ├── Demo-FX-Commands.lua
│ │ ├── Demo-Increment.lua
│ │ ├── Demo-Notes-Scales.lua
│ │ ├── Demo-Periodic output.lua
│ │ ├── Demo-RandomNotes.lua
│ │ ├── Demo-Read-Write.lua
│ │ ├── Demo-Scheduling.lua
│ │ ├── Demo-Transpose.lua
│ │ ├── Demo-xLine Basics.lua
│ │ ├── Euclidean Rhythms v1.2.lua
│ │ ├── Euclidean Rhythms.lua
│ │ ├── ExpDelay.lua
│ │ ├── Granular.lua
│ │ ├── LFO test.lua
│ │ ├── Note-shuffle.lua
│ │ ├── Progress
│ │ └── Euclidean Rhythms 2.lua
│ │ ├── Qxx Shuffle.lua
│ │ ├── Random increase.lua
│ │ ├── RandomScale.lua
│ │ ├── Sequencer4.lua
│ │ ├── Test
│ │ └── Syntax Error.lua
│ │ ├── VoiceMgr - Live.lua
│ │ └── VoiceMgr - Pattern.lua
├── exclude.list
└── howto-package.txt
└── Xtra
└── ToolScanner
├── README.txt
├── functions.php
├── run.php
└── scanner.php
/.gitignore:
--------------------------------------------------------------------------------
1 | # OS generated files
2 | .DS_Store
3 | .DS_Store?
4 | ._*
5 | .Spotlight-V100
6 | .Trashes
7 | ehthumbs.db
8 | Thumbs.db
9 | desktop.ini
10 |
11 | # Tool generated files
12 | preferences.xml
13 | Libraries/remdebug/Win32/controller_gui.ini
14 |
15 | # IDE generated files
16 | settings.json
17 |
18 | # Binary files
19 | Tools/com.renoise.Soundcloud.xrnx/bin/osx/Share on SoundCloud.app/
20 | Tools/com.renoise.Soundcloud.xrnx/bin/win/Share on SoundCloud.exe
21 | Tools/com.renoise.xStream.xrnx/favorites.xml
22 | Tools/com.renoise.xStream.xrnx/userdata/favorites.xml
23 |
24 | Tools/com.renoise.AutoMate.xrnx/userdata/library/
25 |
--------------------------------------------------------------------------------
/LICENSE:
--------------------------------------------------------------------------------
1 | MIT License
2 |
3 | Copyright (c) 2024 by the renoise authors
4 |
5 | Permission is hereby granted, free of charge, to any person obtaining a copy
6 | of this software and associated documentation files (the "Software"), to deal
7 | in the Software without restriction, including without limitation the rights
8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9 | copies of the Software, and to permit persons to whom the Software is
10 | furnished to do so, subject to the following conditions:
11 |
12 | The above copyright notice and this permission notice shall be included in all
13 | copies or substantial portions of the Software.
14 |
15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21 | SOFTWARE.
22 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | ## Renoise Tools
2 |
3 | This site contains various complete scripting tools written by the Renoise team. The existing tools may help you to get more info about how your tools could be done.
4 |
5 | Please note: Most of the tools are outdated and no longer maintained, so this repository exists mainly as inspiration for new tools.
6 |
7 | Please have a look at the [Renoise Tools Page](http://tools.renoise.com/) for more current tools.
8 |
9 | ### Renoise Scripting Documentation
10 |
11 | If you want to create your own tools, please read the [Renoise Scripting Development Book](https://renoise.github.io/xrnx).
12 |
13 | This book is highly recommended for anyone who wants to get into all this Renoise scripting. Please read it first to get an overview of what's needed to develop tools for Renoise. It contains an introduction, some tutorials and the full API documentation.
14 |
15 | ### Need more help?
16 |
17 | For any questions regarding the Lua API or this repository, please have a look at the [Renoise Scripting Development Forum](https://forum.renoise.com/c/renoise-tool-development).
18 |
--------------------------------------------------------------------------------
/Snippets/Files&Bits.lua:
--------------------------------------------------------------------------------
1 | --[[============================================================================
2 | Files&Bits.lua
3 | ============================================================================]]--
4 |
5 | error("do not run this file. read and copy/paste from it only...")
6 |
7 |
8 | -- reading integer numbers or raw bytes from a file
9 |
10 | local function read_word(file)
11 | local bytes = file:read(2)
12 | if (not bytes or #bytes < 2) then
13 | return nil
14 | else
15 | return bit.bor(bytes:byte( 1),
16 | bit.lshift(bytes:byte(2), 8))
17 | end
18 | end
19 |
20 | local function read_dword(file)
21 | local bytes = file:read(4)
22 | if (not bytes or #bytes < 4) then
23 | return nil
24 | else
25 | return bit.bor(bytes:byte(1),
26 | bit.lshift(bytes:byte(2), 8),
27 | bit.lshift(bytes:byte(3), 16),
28 | bit.lshift(bytes:byte(4), 24))
29 | end
30 | end
31 |
32 | -- and so on (adapt as needed to mess with endianess!) ...
33 |
34 | local file = io.open("some_binary_file.bin", "rb")
35 |
36 | local bytes = file:read(512)
37 |
38 | if (not bytes or #bytes < 512) then
39 | print("unexpected end of file")
40 | else
41 | for i = 1, #bytes do
42 | print(bytes:byte(i))
43 | end
44 | end
45 |
46 | print(read_word(file) or "unexpected end of file")
47 | print(read_dword(file) or "unexpected end of file")
48 |
49 |
50 | -- more bit manipulation? -> See "bit" in "Lua.Standard.API.lua"
51 |
52 |
--------------------------------------------------------------------------------
/Tools/com.renoise.AutoMate.xrnx/changelog.md:
--------------------------------------------------------------------------------
1 | # AutoMate
2 |
3 | ## 0.57
4 |
5 | - Preset Library (persistent storage of device/parameter presets)
6 | - Basic Generators (WIP)
7 | - Use lower DSP/Envelope in Renoise to track the selected parameter
8 | - Don't enable Cut/Copy/Clear actions when no automation is available
9 | - Change default options (scope and selected tab) in preferences
10 | - Disable flick buttons when scope is 'Whole Song'
11 | - Status readout (redirected to status bar when GUI is not visible)
12 | - [Fix] vLib/vTable: row styling not reset on updates (stuck highlights)
13 |
14 | ## 0.55
15 |
16 | - Add Cut action
17 | - Add keybindings for all basic actions (Cut,Copy,Paste,Clear), in all scopes
18 |
19 | ## 0.5
20 |
21 | - Initial version
22 |
23 |
24 |
--------------------------------------------------------------------------------
/Tools/com.renoise.AutoMate.xrnx/classes/AutoMatePreset.lua:
--------------------------------------------------------------------------------
1 | --[[===============================================================================================
2 | -- AutoMate.lua
3 | ===============================================================================================]]--
4 |
5 | --[[--
6 |
7 | Base class for an AutoMate preset (`AutoMateClip`, `AutoMateGenerator`, etc.)
8 | .
9 |
10 | The class species just a single property, 'name', which is checked when loading presets.
11 | See also: `AutoMatePresetManager`
12 |
13 | --]]
14 |
15 | --=================================================================================================
16 |
17 | class 'AutoMatePreset' (cPersistence)
18 |
19 | AutoMatePreset.__PERSISTENCE = {
20 | "name",
21 | }
22 |
23 | ---------------------------------------------------------------------------------------------------
24 |
25 | function AutoMatePreset:__init()
26 | TRACE("AutoMatePreset:__init()")
27 |
28 | self.name = nil
29 |
30 | end
31 |
32 |
33 |
34 |
35 |
--------------------------------------------------------------------------------
/Tools/com.renoise.AutoMate.xrnx/classes/AutoMateUserData.lua:
--------------------------------------------------------------------------------
1 | --[[===============================================================================================
2 | AutoMateUserData
3 | ===============================================================================================]]--
4 | --[[
5 |
6 | Methods for handling the userdata folder
7 |
8 | #
9 |
10 | ]]
11 |
12 | --=================================================================================================
13 |
14 | class 'AutoMateUserData'
15 |
16 |
17 | -- location of main userdata folder
18 | -- (can overridden by custom folder defined in preferences)
19 | AutoMateUserData.DEFAULT_ROOT = renoise.tool().bundle_path .. "/userdata/"
20 | AutoMateUserData.USERDATA_ROOT = AutoMateUserData.DEFAULT_ROOT
21 |
22 | -- userdata subfolders
23 | AutoMateUserData.LIBRARY_FOLDER = "library/"
24 | AutoMateUserData.GENERATORS_FOLDER = "generators/"
25 | AutoMateUserData.TRANSFORMERS_FOLDER = "transformers/"
26 |
27 | ---------------------------------------------------------------------------------------------------
28 | -- [Static] Copy files from old to new folder
29 | -- @return boolean, true when files were copied
30 | -- @return string, error message when failed
31 |
32 | function AutoMateUserData.migrate_to_folder(old_path,new_path)
33 | TRACE("AutoMateUserData.migrate_to_folder(old_path,new_path)",old_path,new_path)
34 |
35 | local success,err = cFilesystem.copy_folder(old_path,new_path)
36 | if not success then
37 | return false,err
38 | end
39 |
40 | return true
41 |
42 | end
43 |
--------------------------------------------------------------------------------
/Tools/com.renoise.AutoMate.xrnx/docs/ClassDiagram.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/renoise/tools/5e52df1e80f5e1963da66f98a01dc31d15db943b/Tools/com.renoise.AutoMate.xrnx/docs/ClassDiagram.png
--------------------------------------------------------------------------------
/Tools/com.renoise.AutoMate.xrnx/images/AutomationList_Active.bmp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/renoise/tools/5e52df1e80f5e1963da66f98a01dc31d15db943b/Tools/com.renoise.AutoMate.xrnx/images/AutomationList_Active.bmp
--------------------------------------------------------------------------------
/Tools/com.renoise.AutoMate.xrnx/images/AutomationList_Empty.bmp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/renoise/tools/5e52df1e80f5e1963da66f98a01dc31d15db943b/Tools/com.renoise.AutoMate.xrnx/images/AutomationList_Empty.bmp
--------------------------------------------------------------------------------
/Tools/com.renoise.AutoMate.xrnx/images/AutomationList_None.bmp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/renoise/tools/5e52df1e80f5e1963da66f98a01dc31d15db943b/Tools/com.renoise.AutoMate.xrnx/images/AutomationList_None.bmp
--------------------------------------------------------------------------------
/Tools/com.renoise.AutoMate.xrnx/images/AutomationList_Unknown - Copy.bmp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/renoise/tools/5e52df1e80f5e1963da66f98a01dc31d15db943b/Tools/com.renoise.AutoMate.xrnx/images/AutomationList_Unknown - Copy.bmp
--------------------------------------------------------------------------------
/Tools/com.renoise.AutoMate.xrnx/images/AutomationList_Unknown.bmp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/renoise/tools/5e52df1e80f5e1963da66f98a01dc31d15db943b/Tools/com.renoise.AutoMate.xrnx/images/AutomationList_Unknown.bmp
--------------------------------------------------------------------------------
/Tools/com.renoise.AutoMate.xrnx/images/add.bmp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/renoise/tools/5e52df1e80f5e1963da66f98a01dc31d15db943b/Tools/com.renoise.AutoMate.xrnx/images/add.bmp
--------------------------------------------------------------------------------
/Tools/com.renoise.AutoMate.xrnx/images/copy.bmp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/renoise/tools/5e52df1e80f5e1963da66f98a01dc31d15db943b/Tools/com.renoise.AutoMate.xrnx/images/copy.bmp
--------------------------------------------------------------------------------
/Tools/com.renoise.AutoMate.xrnx/images/delete.bmp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/renoise/tools/5e52df1e80f5e1963da66f98a01dc31d15db943b/Tools/com.renoise.AutoMate.xrnx/images/delete.bmp
--------------------------------------------------------------------------------
/Tools/com.renoise.AutoMate.xrnx/images/refresh.bmp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/renoise/tools/5e52df1e80f5e1963da66f98a01dc31d15db943b/Tools/com.renoise.AutoMate.xrnx/images/refresh.bmp
--------------------------------------------------------------------------------
/Tools/com.renoise.AutoMate.xrnx/images/rename.bmp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/renoise/tools/5e52df1e80f5e1963da66f98a01dc31d15db943b/Tools/com.renoise.AutoMate.xrnx/images/rename.bmp
--------------------------------------------------------------------------------
/Tools/com.renoise.AutoMate.xrnx/images/reveal_folder.bmp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/renoise/tools/5e52df1e80f5e1963da66f98a01dc31d15db943b/Tools/com.renoise.AutoMate.xrnx/images/reveal_folder.bmp
--------------------------------------------------------------------------------
/Tools/com.renoise.AutoMate.xrnx/manifest.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | AutoMate
4 | com.renoise.AutoMate
5 | 0.55
6 | 5
7 | danoise (bjorn@renoise.com)
8 | Automation
9 | AutoMate can copy/move automation between devices and parameters. Launch it from the Tools menu, or specify your own keyboard shortcuts (search for "AutoMate" in keyboard prefs).
10 |
11 |
12 |
13 |
14 |
--------------------------------------------------------------------------------
/Tools/com.renoise.AutoMate.xrnx/userdata/generators/Linear Ramp.lua:
--------------------------------------------------------------------------------
1 | --[[===========================================================================
2 | AutoMateGenerator (http://www.example.com)
3 | ===========================================================================]]--
4 |
5 | return {
6 | ["__type"] = "AutoMateGenerator",
7 | ["__version"] = 0,
8 | ["name"] = "Linear Curve",
9 | ["arguments"] = {
10 | {
11 | ["__type"] = "AutoMateSandboxArgument",
12 | ["name"] = "density",
13 | ["value"] = 1,
14 | ["value_min"] = -512,
15 | ["value_max"] = 256,
16 | ["value_quantum"] = 0,
17 | ["display_as"] = "valuebox",
18 | },
19 | {
20 | ["__type"] = "AutoMateSandboxArgument",
21 | ["name"] = "from",
22 | ["value"] = 0,
23 | ["value_min"] = 0,
24 | ["value_max"] = 1,
25 | ["value_quantum"] = 0,
26 | ["display_as"] = "minislider",
27 | },
28 | {
29 | ["__type"] = "AutoMateSandboxArgument",
30 | ["name"] = "to",
31 | ["value"] = 1,
32 | ["value_min"] = 0,
33 | ["value_max"] = 1,
34 | ["value_quantum"] = 0,
35 | ["display_as"] = "minislider",
36 | }
37 | },
38 | ["callback"] = [[
39 | ---------------------------------------------------------
40 | -- determine value
41 | ---------------------------------------------------------
42 | local val = (1/number_of_points) * (index-1)
43 | point.value = cLib.scale_value(val,0,1,args.from,args.to)
44 | ]]
45 |
46 | }
--------------------------------------------------------------------------------
/Tools/com.renoise.CreateTool.xrnx/images/info.bmp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/renoise/tools/5e52df1e80f5e1963da66f98a01dc31d15db943b/Tools/com.renoise.CreateTool.xrnx/images/info.bmp
--------------------------------------------------------------------------------
/Tools/com.renoise.CreateTool.xrnx/images/link-icon.bmp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/renoise/tools/5e52df1e80f5e1963da66f98a01dc31d15db943b/Tools/com.renoise.CreateTool.xrnx/images/link-icon.bmp
--------------------------------------------------------------------------------
/Tools/com.renoise.CreateTool.xrnx/manifest.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | 5
4 | com.renoise.CreateTool
5 | 11.02
6 | Bantai
7 | Create Tool
8 | Development
9 | A wizard to help you setup the basic structure for a new Tool. There is also an Export to XRNX file feature.
10 |
11 | Look in the File menu of the Scripting Editor.
12 | http://tools.renoise.com/tools/create-tool
13 |
14 |
--------------------------------------------------------------------------------
/Tools/com.renoise.CreateTool.xrnx/zip.exe:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/renoise/tools/5e52df1e80f5e1963da66f98a01dc31d15db943b/Tools/com.renoise.CreateTool.xrnx/zip.exe
--------------------------------------------------------------------------------
/Tools/com.renoise.CustomPatternNavigation.xrnx/manifest.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | 5
4 | com.renoise.CustomPatternNavigation
5 | 2.32
6 | Vincent Voois [ http://tinyurl.com/vvrns ] & Angel Draganov
7 | Custom Pattern Navigation
8 | Pattern Editor
9 | Adds keybindings to jump an arbitrary amount of lines in the Pattern Editor. When activated, two new key binding entries will show up in 'Pattern Editor', 'Navigation':
10 | 'Custom Jump Lines Up' and Custom Jump Lines Down. Those keybindings can then be configured with in the 'Tools' menu.
11 | http://tools.renoise.com
12 |
13 |
--------------------------------------------------------------------------------
/Tools/com.renoise.CustomWave.xrnx/manifest.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | 5
4 | com.renoise.CustomWave
5 | 0.92
6 | Fabio Napodano | It-Alien (it-alien@renoise.com)
7 | Custom Wave Synth
8 | Sample Editor
9 | A sample generator which allows you to create complex new short, looped samples, using up
10 | to 6 oscillators and oscillator modulation.
11 |
12 | A note range can be defined in order to create multisampled instruments.
13 |
14 | Creates a menu entry 'Generate Custom Wave' in the sample editor's context menu (right click on an empty sample wave form).
15 | http://tools.renoise.com
16 |
17 |
--------------------------------------------------------------------------------
/Tools/com.renoise.Duplex.xrnx/Docs/Applications/Automateable.md:
--------------------------------------------------------------------------------
1 | # Duplex.Applications.Automateable
2 |
3 | < Back to [Applications](../Applications.md)
4 |
5 | ## About
6 |
7 | Automateable is a class that other applications can choose to extend. This makes it easy to create an application with built-in automation-recording.
8 |
9 |
10 | You can specify how automation is recorded via the `record_method` option.
11 | _Please be aware that Automateable only records automation while edit mode is enabled in Renoise_.
12 |
13 | These are the available modes:
14 |
15 | **Punch-in** : clears automation ahead of the current position
16 | 
17 |
18 | **Interleave** : inserts automation without clearing values
19 | 
20 |
21 |
22 | ## High-resolution mode
23 |
24 | From the Duplex tool menu you can choose between low-res (1 value per line) or high-resolution automation.
25 | Automateable will use whichever option you have selected.
26 |
27 | ## Default options
28 |
29 | > Can be overridden in [configurations](../Configurations.md)
30 |
31 | | Name | Description |
32 | | ------------- |---------------|
33 | |`record_method`|Determine if/how to record automation|
34 |
35 |
36 | ## Changelog
37 |
38 | 1.01
39 | - First release
--------------------------------------------------------------------------------
/Tools/com.renoise.Duplex.xrnx/Docs/Applications/Metronome.md:
--------------------------------------------------------------------------------
1 | # Duplex.Applications.Metronome
2 |
3 | < Back to [Applications](../Applications.md)
4 |
5 | ## About
6 |
7 | Metronome is a sample application, meant to demonstrate how to write an application with Duplex.
8 | It demonstrates how to listen for events within Renoise and produce a proper response on the controller (bi-directional communication).
9 |
10 | To read the whole tutorial, visit [this topic](http://forum.renoise.com/index.php?/topic/30577-duplex-how-to-create-a-new-duplex-application/) on the Renoise forum.
11 |
12 | ## Available mappings
13 |
14 | | Name | Description |
15 | | -----------|---------------|
16 | | `toggle` | Metronome: toggle on/off |
17 |
18 | ## Available options
19 |
20 | *This application has no options.*
21 |
22 | ## Changelog
23 |
24 | 1.01
25 | - Tool-dev: use cLib/xLib libraries
26 |
27 | 0.xx
28 | - Initial release
29 |
--------------------------------------------------------------------------------
/Tools/com.renoise.Duplex.xrnx/Docs/Images/Config_launchpad_stepsequencer.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/renoise/tools/5e52df1e80f5e1963da66f98a01dc31d15db943b/Tools/com.renoise.Duplex.xrnx/Docs/Images/Config_launchpad_stepsequencer.png
--------------------------------------------------------------------------------
/Tools/com.renoise.Duplex.xrnx/Docs/Images/Duplex_browser.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/renoise/tools/5e52df1e80f5e1963da66f98a01dc31d15db943b/Tools/com.renoise.Duplex.xrnx/Docs/Images/Duplex_browser.png
--------------------------------------------------------------------------------
/Tools/com.renoise.Duplex.xrnx/Docs/Images/Duplex_device_config_midi.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/renoise/tools/5e52df1e80f5e1963da66f98a01dc31d15db943b/Tools/com.renoise.Duplex.xrnx/Docs/Images/Duplex_device_config_midi.png
--------------------------------------------------------------------------------
/Tools/com.renoise.Duplex.xrnx/Docs/Images/Duplex_device_config_osc.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/renoise/tools/5e52df1e80f5e1963da66f98a01dc31d15db943b/Tools/com.renoise.Duplex.xrnx/Docs/Images/Duplex_device_config_osc.png
--------------------------------------------------------------------------------
/Tools/com.renoise.Duplex.xrnx/Docs/Images/Duplex_menu.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/renoise/tools/5e52df1e80f5e1963da66f98a01dc31d15db943b/Tools/com.renoise.Duplex.xrnx/Docs/Images/Duplex_menu.png
--------------------------------------------------------------------------------
/Tools/com.renoise.Duplex.xrnx/Docs/Images/Duplex_options.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/renoise/tools/5e52df1e80f5e1963da66f98a01dc31d15db943b/Tools/com.renoise.Duplex.xrnx/Docs/Images/Duplex_options.png
--------------------------------------------------------------------------------
/Tools/com.renoise.Duplex.xrnx/Docs/Images/Duplex_signal_flow.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/renoise/tools/5e52df1e80f5e1963da66f98a01dc31d15db943b/Tools/com.renoise.Duplex.xrnx/Docs/Images/Duplex_signal_flow.png
--------------------------------------------------------------------------------
/Tools/com.renoise.Duplex.xrnx/Docs/Images/GridPie_on_launchpad.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/renoise/tools/5e52df1e80f5e1963da66f98a01dc31d15db943b/Tools/com.renoise.Duplex.xrnx/Docs/Images/GridPie_on_launchpad.png
--------------------------------------------------------------------------------
/Tools/com.renoise.Duplex.xrnx/Docs/Images/Keyboard_devices.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/renoise/tools/5e52df1e80f5e1963da66f98a01dc31d15db943b/Tools/com.renoise.Duplex.xrnx/Docs/Images/Keyboard_devices.png
--------------------------------------------------------------------------------
/Tools/com.renoise.Duplex.xrnx/Docs/Images/Keyboard_sample_mappings.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/renoise/tools/5e52df1e80f5e1963da66f98a01dc31d15db943b/Tools/com.renoise.Duplex.xrnx/Docs/Images/Keyboard_sample_mappings.png
--------------------------------------------------------------------------------
/Tools/com.renoise.Duplex.xrnx/Docs/Images/Keyboard_scale_harmonic.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/renoise/tools/5e52df1e80f5e1963da66f98a01dc31d15db943b/Tools/com.renoise.Duplex.xrnx/Docs/Images/Keyboard_scale_harmonic.gif
--------------------------------------------------------------------------------
/Tools/com.renoise.Duplex.xrnx/Docs/Images/Keyboard_scale_isomorphic.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/renoise/tools/5e52df1e80f5e1963da66f98a01dc31d15db943b/Tools/com.renoise.Duplex.xrnx/Docs/Images/Keyboard_scale_isomorphic.gif
--------------------------------------------------------------------------------
/Tools/com.renoise.Duplex.xrnx/Docs/Images/Recorder_on_launchpad.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/renoise/tools/5e52df1e80f5e1963da66f98a01dc31d15db943b/Tools/com.renoise.Duplex.xrnx/Docs/Images/Recorder_on_launchpad.png
--------------------------------------------------------------------------------
/Tools/com.renoise.Duplex.xrnx/Docs/Images/Repeater_on_remote_sl.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/renoise/tools/5e52df1e80f5e1963da66f98a01dc31d15db943b/Tools/com.renoise.Duplex.xrnx/Docs/Images/Repeater_on_remote_sl.png
--------------------------------------------------------------------------------
/Tools/com.renoise.Duplex.xrnx/Docs/Images/XYPad_communication.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/renoise/tools/5e52df1e80f5e1963da66f98a01dc31d15db943b/Tools/com.renoise.Duplex.xrnx/Docs/Images/XYPad_communication.gif
--------------------------------------------------------------------------------
/Tools/com.renoise.Duplex.xrnx/Docs/Images/XYPad_devices.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/renoise/tools/5e52df1e80f5e1963da66f98a01dc31d15db943b/Tools/com.renoise.Duplex.xrnx/Docs/Images/XYPad_devices.png
--------------------------------------------------------------------------------
/Tools/com.renoise.Duplex.xrnx/Docs/Images/XYPad_roaming.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/renoise/tools/5e52df1e80f5e1963da66f98a01dc31d15db943b/Tools/com.renoise.Duplex.xrnx/Docs/Images/XYPad_roaming.gif
--------------------------------------------------------------------------------
/Tools/com.renoise.Duplex.xrnx/Docs/Images/automation_mode_interleave.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/renoise/tools/5e52df1e80f5e1963da66f98a01dc31d15db943b/Tools/com.renoise.Duplex.xrnx/Docs/Images/automation_mode_interleave.gif
--------------------------------------------------------------------------------
/Tools/com.renoise.Duplex.xrnx/Docs/Images/automation_mode_punch_in.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/renoise/tools/5e52df1e80f5e1963da66f98a01dc31d15db943b/Tools/com.renoise.Duplex.xrnx/Docs/Images/automation_mode_punch_in.gif
--------------------------------------------------------------------------------
/Tools/com.renoise.Duplex.xrnx/Docs/Images/mlrx_on_monome.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/renoise/tools/5e52df1e80f5e1963da66f98a01dc31d15db943b/Tools/com.renoise.Duplex.xrnx/Docs/Images/mlrx_on_monome.gif
--------------------------------------------------------------------------------
/Tools/com.renoise.Duplex.xrnx/Docs/Resources.md:
--------------------------------------------------------------------------------
1 | # Links and Resources
2 |
3 | ## Bug Reports and Support
4 |
5 | Duplex has a [dedicated topic on the Renoise forum](http://forum.renoise.com/index.php?/topic/27886-duplex-beta-versions/), where you can get support.
6 |
7 | ## List of Supported Controllers
8 |
9 | We [maintain a list of supported controllers](https://docs.google.com/spreadsheet/ccc?key=0AkXQ8SxsnmZKdHZwTVVkUnh0WUxfOEtYblhMbWp6R3c&hl=en#gid=0) as a Google spreadsheet.
10 | If your controller is not listed there, please create a new topic on the [Renoise forum](http://forum.renoise.com/).
11 |
12 | ## Source Code and Documentation
13 | The source code for Duplex is located on our [official source code repository](https://github.com/renoise/xrnx/tree/master/Tools/com.renoise.Duplex.xrnx) (github).
14 | The [luadoc reference](https://renoise.github.io/luadocs/duplex/index.html) offers a compact overview of the framework and its classes.
15 |
16 | ## HOW-TO Guides
17 | [How To Create A New Duplex Application](http://forum.renoise.com/index.php/topic/30577-how-to-create-a-new-duplex-application/) (Renoise Forum)
18 | [How To Start Editing Duplex Files](http://forum.renoise.com/index.php/topic/28284-how-to-start-editing-duplex-files/) (Renoise Forum)
19 |
20 |
21 | #
22 |
23 | > < Previous - [Frequently Asked Questions](FAQ.md)
--------------------------------------------------------------------------------
/Tools/com.renoise.Duplex.xrnx/Duplex/Controllers/APC20/APC20.bmp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/renoise/tools/5e52df1e80f5e1963da66f98a01dc31d15db943b/Tools/com.renoise.Duplex.xrnx/Duplex/Controllers/APC20/APC20.bmp
--------------------------------------------------------------------------------
/Tools/com.renoise.Duplex.xrnx/Duplex/Controllers/APC40/APC40.bmp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/renoise/tools/5e52df1e80f5e1963da66f98a01dc31d15db943b/Tools/com.renoise.Duplex.xrnx/Duplex/Controllers/APC40/APC40.bmp
--------------------------------------------------------------------------------
/Tools/com.renoise.Duplex.xrnx/Duplex/Controllers/Akai-MPK49/Akai-MPK49.bmp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/renoise/tools/5e52df1e80f5e1963da66f98a01dc31d15db943b/Tools/com.renoise.Duplex.xrnx/Duplex/Controllers/Akai-MPK49/Akai-MPK49.bmp
--------------------------------------------------------------------------------
/Tools/com.renoise.Duplex.xrnx/Duplex/Controllers/Akai-MPK49/Akai-MPK49.lua:
--------------------------------------------------------------------------------
1 | --[[----------------------------------------------------------------------------
2 | -- Duplex.Akai-MPK49
3 | ----------------------------------------------------------------------------]]--
4 |
5 | --[[
6 |
7 | Inheritance: MidiDevice > Device
8 |
9 | A generic MidiDevice class
10 |
11 | --]]
12 |
--------------------------------------------------------------------------------
/Tools/com.renoise.Duplex.xrnx/Duplex/Controllers/AkaiLPD8/AkaiLPD8.bmp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/renoise/tools/5e52df1e80f5e1963da66f98a01dc31d15db943b/Tools/com.renoise.Duplex.xrnx/Duplex/Controllers/AkaiLPD8/AkaiLPD8.bmp
--------------------------------------------------------------------------------
/Tools/com.renoise.Duplex.xrnx/Duplex/Controllers/AkaiLPD8/AkaiLPD8.lua:
--------------------------------------------------------------------------------
1 | --[[----------------------------------------------------------------------------
2 | -- Duplex.AkaiLPD8
3 | ----------------------------------------------------------------------------]]--
4 |
5 | --[[
6 |
7 | Inheritance: MidiDevice > Device
8 |
9 | A generic MidiDevice class
10 |
11 | --]]
12 |
13 |
14 |
15 |
--------------------------------------------------------------------------------
/Tools/com.renoise.Duplex.xrnx/Duplex/Controllers/AkaiLPD8/Configurations/Effect.lua:
--------------------------------------------------------------------------------
1 | --[[----------------------------------------------------------------------------
2 | -- Duplex.AkaiLPD8
3 | ----------------------------------------------------------------------------]]--
4 |
5 | duplex_configurations:insert {
6 | -- configuration properties
7 | name = "Effects",
8 | pinned = true,
9 | -- device properties
10 | device = {
11 | display_name = "AkaiLPD8",
12 | device_port_in = "MIDIIN2 (AkaiLPD8)",
13 | device_port_out = "MIDIOUT2 (AkaiLPD8)",
14 | control_map = "Controllers/AkaiLPD8/Controlmaps/AkaiLPD8.xml",
15 | thumbnail = "Controllers/AkaiLPD8/AkaiLPD8.bmp",
16 | protocol = DEVICE_PROTOCOL.MIDI
17 | },
18 | applications = {
19 | Effect = {
20 | mappings = {
21 | parameters = {
22 | group_name= "Knobs",
23 | },
24 | device_prev = {
25 | group_name = "Pads",
26 | index = 1
27 | },
28 | device_next = {
29 | group_name = "Pads",
30 | index = 2
31 | },
32 | preset_prev = {
33 | group_name = "Pads",
34 | index = 3
35 | },
36 | preset_next = {
37 | group_name = "Pads",
38 | index = 4
39 | },
40 | page = {
41 | group_name = "Pads",
42 | index = 5
43 | },
44 | }
45 | }
46 | }
47 | }
--------------------------------------------------------------------------------
/Tools/com.renoise.Duplex.xrnx/Duplex/Controllers/AkaiLPD8/Configurations/GridPie.lua:
--------------------------------------------------------------------------------
1 | --[[----------------------------------------------------------------------------
2 | -- Duplex.AkaiLPD8
3 | ----------------------------------------------------------------------------]]--
4 |
5 | duplex_configurations:insert {
6 | -- configuration properties
7 | name = "GridPie",
8 | pinned = true,
9 | -- device properties
10 | device = {
11 | display_name = "AkaiLPD8",
12 | device_port_in = "MIDIIN2 (AkaiLPD8)",
13 | device_port_out = "MIDIOUT2 (AkaiLPD8)",
14 | control_map = "Controllers/AkaiLPD8/Controlmaps/AkaiLPD8_GridPie.xml",
15 | thumbnail = "Controllers/AkaiLPD8/AkaiLPD8.bmp",
16 | protocol = DEVICE_PROTOCOL.MIDI
17 | },
18 | applications = {
19 | GridPie = {
20 | mappings = {
21 | grid = {
22 | group_name = "Pads",
23 | },
24 | v_slider = {
25 | group_name = "Knobs",
26 | index = 1
27 | },
28 | h_slider = {
29 | group_name = "Knobs",
30 | index = 2
31 | },
32 | },
33 | options = {
34 | -- keep at minimum step size
35 | v_step = 2,
36 | h_step = 2,
37 | }
38 | },
39 |
40 | }
41 | }
--------------------------------------------------------------------------------
/Tools/com.renoise.Duplex.xrnx/Duplex/Controllers/AkaiLPD8/Configurations/Keypads.lua:
--------------------------------------------------------------------------------
1 | --[[----------------------------------------------------------------------------
2 | -- Duplex.AkaiLPD8
3 | ----------------------------------------------------------------------------]]--
4 |
5 | duplex_configurations:insert {
6 | -- configuration properties
7 | name = "Keyboard",
8 | pinned = true,
9 | -- device properties
10 | device = {
11 | display_name = "AkaiLPD8",
12 | device_port_in = "MIDIIN2 (AkaiLPD8)",
13 | device_port_out = "MIDIOUT2 (AkaiLPD8)",
14 | control_map = "Controllers/AkaiLPD8/Controlmaps/AkaiLPD8_Keypad.xml",
15 | thumbnail = "Controllers/AkaiLPD8/AkaiLPD8.bmp",
16 | protocol = DEVICE_PROTOCOL.MIDI
17 | },
18 | applications = {
19 | Keyboard = {
20 | mappings = {
21 | key_grid = {
22 | group_name = "Pads",
23 | },
24 | },
25 | options = {
26 | },
27 | hidden_options = { -- display minimal set of options
28 | "channel_pressure","pitch_bend","release_type","button_width","button_height"
29 | },
30 | },
31 |
32 | }
33 | }
--------------------------------------------------------------------------------
/Tools/com.renoise.Duplex.xrnx/Duplex/Controllers/AkaiLPD8/Configurations/Mixer.lua:
--------------------------------------------------------------------------------
1 | --[[----------------------------------------------------------------------------
2 | -- Duplex.AkaiLPD8
3 | ----------------------------------------------------------------------------]]--
4 |
5 | duplex_configurations:insert {
6 | -- configuration properties
7 | name = "Mixer",
8 | pinned = true,
9 | -- device properties
10 | device = {
11 | display_name = "AkaiLPD8",
12 | device_port_in = "MIDIIN2 (AkaiLPD8)",
13 | device_port_out = "MIDIOUT2 (AkaiLPD8)",
14 | control_map = "Controllers/AkaiLPD8/Controlmaps/AkaiLPD8.xml",
15 | thumbnail = "Controllers/AkaiLPD8/AkaiLPD8.bmp",
16 | protocol = DEVICE_PROTOCOL.MIDI
17 | },
18 | applications = {
19 | Mixer = {
20 | mappings = {
21 | mute = {
22 | group_name = "Pads",
23 | },
24 | levels = {
25 | group_name = "Knobs",
26 | },
27 | },
28 | options = {
29 | pre_post = 2,
30 | }
31 | }
32 | }
33 | }
--------------------------------------------------------------------------------
/Tools/com.renoise.Duplex.xrnx/Duplex/Controllers/AkaiLPD8/Configurations/XYPad.lua:
--------------------------------------------------------------------------------
1 | --[[----------------------------------------------------------------------------
2 | -- Duplex.AkaiLPD8
3 | ----------------------------------------------------------------------------]]--
4 |
5 | duplex_configurations:insert {
6 | -- configuration properties
7 | name = "XYPad",
8 | pinned = true,
9 | -- device properties
10 | device = {
11 | display_name = "AkaiLPD8",
12 | device_port_in = "MIDIIN2 (AkaiLPD8)",
13 | device_port_out = "MIDIOUT2 (AkaiLPD8)",
14 | control_map = "Controllers/AkaiLPD8/Controlmaps/AkaiLPD8_XYPad.xml",
15 | thumbnail = "Controllers/AkaiLPD8/AkaiLPD8.bmp",
16 | protocol = DEVICE_PROTOCOL.MIDI
17 | },
18 | applications = {
19 | XYPad = {
20 | mappings = {
21 | x_slider = {
22 | group_name = "Pads_X",
23 | index = 1,
24 | orientation = ORIENTATION.HORIZONTAL
25 | },
26 | y_slider = {
27 | group_name = "Pads_Y",
28 | index = 1,
29 | orientation = ORIENTATION.HORIZONTAL
30 | }
31 | },
32 | }
33 | }
34 | }
--------------------------------------------------------------------------------
/Tools/com.renoise.Duplex.xrnx/Duplex/Controllers/AkaiLPD8/Presets/AkaiLPD8.preset:
--------------------------------------------------------------------------------
1 | 240 71 127 117 97 0 58 1 0 36 0 114 0 37 1 115 0 38 2 116 0 39 3 117 0 40 4 110 0 41 5 111 0 42 6 112 0 43 7 113 0 21 0 127 22 0 127 23 0 127 24 0 127 25 0 127 26 0 127 27 0 127 28 0 127 247
--------------------------------------------------------------------------------
/Tools/com.renoise.Duplex.xrnx/Duplex/Controllers/BCD-3000/Configurations/BDC-3000-Empty.lua:
--------------------------------------------------------------------------------
1 | --[[----------------------------------------------------------------------------
2 | -- Duplex.APC40
3 | ----------------------------------------------------------------------------]]--
4 |
5 | duplex_configurations:insert {
6 |
7 | -- configuration properties
8 | name = "Empty",
9 | pinned = true,
10 |
11 | -- device properties
12 | device = {
13 | class_name = nil,
14 | display_name = "BCD-3000",
15 | device_port_in = "",
16 | device_port_out = "",
17 | control_map = "Controllers/BCD-3000/Controlmaps/BCD-3000.xml",
18 | thumbnail = "",
19 | protocol = DEVICE_PROTOCOL.MIDI,
20 | },
21 |
22 | applications = {
23 | }
24 | }
25 |
--------------------------------------------------------------------------------
/Tools/com.renoise.Duplex.xrnx/Duplex/Controllers/BCF-2000/BCF-2000.bmp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/renoise/tools/5e52df1e80f5e1963da66f98a01dc31d15db943b/Tools/com.renoise.Duplex.xrnx/Duplex/Controllers/BCF-2000/BCF-2000.bmp
--------------------------------------------------------------------------------
/Tools/com.renoise.Duplex.xrnx/Duplex/Controllers/BCF-2000/BCF-2000.lua:
--------------------------------------------------------------------------------
1 | --[[----------------------------------------------------------------------------
2 | -- Duplex.BCF2000
3 | ----------------------------------------------------------------------------]]--
4 |
5 | -- default configuration of the BCF-2000
6 |
7 | --==============================================================================
8 |
9 | class "BCF2000" (MidiDevice)
10 |
11 | function BCF2000:__init(display_name, message_stream, port_in, port_out)
12 | TRACE("BCF2000:__init", display_name, message_stream, port_in, port_out)
13 |
14 | MidiDevice.__init(self, display_name, message_stream, port_in, port_out)
15 |
16 | -- the BCF can not handle looped back messages correctly, so we disable
17 | -- sending back messages we got from the BCF, in order to break feedback loops...
18 | -- self.loopback_received_messages = false
19 |
20 |
21 | end
22 |
23 |
24 |
--------------------------------------------------------------------------------
/Tools/com.renoise.Duplex.xrnx/Duplex/Controllers/BCF-2000/Presets/BCF-2000-NRPN.syx:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/renoise/tools/5e52df1e80f5e1963da66f98a01dc31d15db943b/Tools/com.renoise.Duplex.xrnx/Duplex/Controllers/BCF-2000/Presets/BCF-2000-NRPN.syx
--------------------------------------------------------------------------------
/Tools/com.renoise.Duplex.xrnx/Duplex/Controllers/BCR-2000/BCR-2000.bmp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/renoise/tools/5e52df1e80f5e1963da66f98a01dc31d15db943b/Tools/com.renoise.Duplex.xrnx/Duplex/Controllers/BCR-2000/BCR-2000.bmp
--------------------------------------------------------------------------------
/Tools/com.renoise.Duplex.xrnx/Duplex/Controllers/BCR-2000/BCR-2000.lua:
--------------------------------------------------------------------------------
1 | --[[----------------------------------------------------------------------------
2 | -- Duplex.BCR2000
3 | ----------------------------------------------------------------------------]]--
4 |
5 | -- default configuration of the BCR-2000
6 |
7 | --==============================================================================
8 |
9 | class "BCR2000" (MidiDevice)
10 |
11 | function BCR2000:__init(display_name, message_stream, port_in, port_out)
12 | TRACE("BCR2000:__init", display_name, message_stream, port_in, port_out)
13 |
14 | MidiDevice.__init(self, display_name, message_stream, port_in, port_out)
15 |
16 | -- the BCR can not handle looped back messages correctly, so we disable
17 | -- sending back messages we got from the BCR, in order to break feedback loops...
18 | --self.loopback_received_messages = false
19 |
20 | end
21 |
22 |
23 |
--------------------------------------------------------------------------------
/Tools/com.renoise.Duplex.xrnx/Duplex/Controllers/BCR-2000/Presets/BCR-2000-NRPN.syx:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/renoise/tools/5e52df1e80f5e1963da66f98a01dc31d15db943b/Tools/com.renoise.Duplex.xrnx/Duplex/Controllers/BCR-2000/Presets/BCR-2000-NRPN.syx
--------------------------------------------------------------------------------
/Tools/com.renoise.Duplex.xrnx/Duplex/Controllers/Custombuilt/Configurations/RControl_TrackSelector.lua:
--------------------------------------------------------------------------------
1 | --[[----------------------------------------------------------------------------
2 | -- Duplex.Custombuilt
3 | ----------------------------------------------------------------------------]]--
4 |
5 | -- setup "TrackSelector" for the imaginary "R-Control" device
6 |
7 | duplex_configurations:insert {
8 |
9 | -- configuration properties
10 | name = "TrackSelector",
11 | pinned = true,
12 |
13 | -- device properties
14 | device = {
15 | display_name = "R-control",
16 | device_port_in = "",
17 | device_port_out = "",
18 | control_map = "Controllers/Custombuilt/Controlmaps/R-control.xml",
19 | thumbnail = "Controllers/Custombuilt/R-control.bmp",
20 | protocol = DEVICE_PROTOCOL.MIDI
21 | },
22 |
23 | applications = {
24 | TrackSelector = {
25 | mappings = {
26 | select_first = {
27 | group_name = "Switches",
28 | index = 5,
29 | },
30 | select_sends = {
31 | group_name = "Switches",
32 | index = 7,
33 | },
34 | select_track = {
35 | group_name = "Master",
36 | },
37 | },
38 | },
39 | }
40 | }
41 |
42 |
--------------------------------------------------------------------------------
/Tools/com.renoise.Duplex.xrnx/Duplex/Controllers/Custombuilt/Custombuilt.lua:
--------------------------------------------------------------------------------
1 | --[[----------------------------------------------------------------------------
2 | -- Duplex.Custombuilt
3 | ----------------------------------------------------------------------------]]--
4 |
5 | --[[
6 |
7 | Various custom 'devices' for demonstration purposes
8 |
9 | --]]
10 |
11 | --==============================================================================
12 |
13 | class "Custombuilt" (MidiDevice)
14 |
15 | function Custombuilt:__init(...)
16 | TRACE("Custombuilt:__init", ...)
17 |
18 | MidiDevice.__init(self, ...)
19 |
20 | -- this device has a color-space with 16 degrees of RGB
21 | self.colorspace = {16, 16, 16}
22 |
23 | end
24 |
--------------------------------------------------------------------------------
/Tools/com.renoise.Duplex.xrnx/Duplex/Controllers/Custombuilt/NOW_Controller.bmp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/renoise/tools/5e52df1e80f5e1963da66f98a01dc31d15db943b/Tools/com.renoise.Duplex.xrnx/Duplex/Controllers/Custombuilt/NOW_Controller.bmp
--------------------------------------------------------------------------------
/Tools/com.renoise.Duplex.xrnx/Duplex/Controllers/Custombuilt/R-control.bmp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/renoise/tools/5e52df1e80f5e1963da66f98a01dc31d15db943b/Tools/com.renoise.Duplex.xrnx/Duplex/Controllers/Custombuilt/R-control.bmp
--------------------------------------------------------------------------------
/Tools/com.renoise.Duplex.xrnx/Duplex/Controllers/KONTROL49/Configurations/Effect.lua:
--------------------------------------------------------------------------------
1 | --[[----------------------------------------------------------------------------
2 | -- Duplex.KONTROL49
3 | ----------------------------------------------------------------------------]]--
4 |
5 | duplex_configurations:insert {
6 |
7 | -- configuration properties
8 | name = "Effect",
9 | pinned = true,
10 |
11 | -- device properties
12 | device = {
13 | display_name = "KONTROL49",
14 | device_port_in = "MIDIIN2 (KONTROL49)",
15 | device_port_out = "MIDIOUT2 (KONTROL49)",
16 | control_map = "Controllers/KONTROL49/Controlmaps/KONTROL49.xml",
17 | thumbnail = "Controllers/KONTROL49/KONTROL49.bmp",
18 | protocol = DEVICE_PROTOCOL.MIDI
19 | },
20 |
21 | applications = {
22 | Effect = {
23 | mappings = {
24 | parameters = {
25 | group_name= "Encoders"
26 | },
27 | device = {
28 | group_name = "Pads B"
29 | },
30 | param_prev = {
31 | group_name = "Switches",
32 | index = 1,
33 | },
34 | param_next = {
35 | group_name = "Switches",
36 | index = 2,
37 | },
38 |
39 | }
40 | }
41 | }
42 | }
43 |
44 |
--------------------------------------------------------------------------------
/Tools/com.renoise.Duplex.xrnx/Duplex/Controllers/KONTROL49/Configurations/Mixer.lua:
--------------------------------------------------------------------------------
1 | --[[----------------------------------------------------------------------------
2 | -- Duplex.KONTROL49
3 | ----------------------------------------------------------------------------]]--
4 |
5 | duplex_configurations:insert {
6 |
7 | -- configuration properties
8 | name = "Mixer",
9 | pinned = true,
10 |
11 | -- device properties
12 | device = {
13 | display_name = "KONTROL49",
14 | device_port_in = "MIDIIN2 (KONTROL49)",
15 | device_port_out = "MIDIOUT2 (KONTROL49)",
16 | control_map = "Controllers/KONTROL49/Controlmaps/KONTROL49.xml",
17 | thumbnail = "Controllers/KONTROL49/KONTROL49.bmp",
18 | protocol = DEVICE_PROTOCOL.MIDI
19 | },
20 |
21 | applications = {
22 | Mixer = {
23 | mappings = {
24 | mute = {
25 | group_name = "Pads A"
26 | },
27 | solo = {
28 | group_name = "Pads B"
29 | },
30 | panning = {
31 | group_name = "Encoders"
32 | },
33 | levels = {
34 | group_name = "Sliders"
35 | },
36 | page = {
37 | group_name = "Switches"
38 | }
39 | },
40 | options = {
41 | pre_post = 2,
42 | follow_track = 1, -- "Follow track enabled"
43 | }
44 | }
45 | }
46 | }
47 |
48 |
--------------------------------------------------------------------------------
/Tools/com.renoise.Duplex.xrnx/Duplex/Controllers/KONTROL49/KONTROL49.bmp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/renoise/tools/5e52df1e80f5e1963da66f98a01dc31d15db943b/Tools/com.renoise.Duplex.xrnx/Duplex/Controllers/KONTROL49/KONTROL49.bmp
--------------------------------------------------------------------------------
/Tools/com.renoise.Duplex.xrnx/Duplex/Controllers/KONTROL49/KONTROL49.lua:
--------------------------------------------------------------------------------
1 | --[[----------------------------------------------------------------------------
2 | -- Duplex.KONTROL49
3 | ----------------------------------------------------------------------------]]--
4 |
5 | --[[
6 |
7 | Inheritance: MidiDevice > Device
8 |
9 | A generic MidiDevice class
10 |
11 | --]]
12 |
--------------------------------------------------------------------------------
/Tools/com.renoise.Duplex.xrnx/Duplex/Controllers/KONTROL49/Presets/KONTROL49.k4d:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/renoise/tools/5e52df1e80f5e1963da66f98a01dc31d15db943b/Tools/com.renoise.Duplex.xrnx/Duplex/Controllers/KONTROL49/Presets/KONTROL49.k4d
--------------------------------------------------------------------------------
/Tools/com.renoise.Duplex.xrnx/Duplex/Controllers/KONTROL49/Presets/KONTROL49.k4s:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/renoise/tools/5e52df1e80f5e1963da66f98a01dc31d15db943b/Tools/com.renoise.Duplex.xrnx/Duplex/Controllers/KONTROL49/Presets/KONTROL49.k4s
--------------------------------------------------------------------------------
/Tools/com.renoise.Duplex.xrnx/Duplex/Controllers/Launch-Control-XL/Launch-Control-XL.bmp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/renoise/tools/5e52df1e80f5e1963da66f98a01dc31d15db943b/Tools/com.renoise.Duplex.xrnx/Duplex/Controllers/Launch-Control-XL/Launch-Control-XL.bmp
--------------------------------------------------------------------------------
/Tools/com.renoise.Duplex.xrnx/Duplex/Controllers/Launchpad/Configurations/Launchpad_MuteGrid.lua:
--------------------------------------------------------------------------------
1 | duplex_configurations:insert {
2 | -- configuration properties
3 | name = "MuteGrid + Navigator + Matrix",
4 | pinned = true,
5 | -- device properties
6 | device = {
7 | class_name = "Launchpad",
8 | display_name = "Launchpad",
9 | device_port_in = "Launchpad",
10 | device_port_out = "Launchpad",
11 | control_map = "Controllers/Launchpad/Controlmaps/Launchpad_Mixer.xml",
12 | thumbnail = "Controllers/Launchpad/Launchpad.bmp",
13 | protocol = DEVICE_PROTOCOL.MIDI,
14 | },
15 | applications = {
16 | Mixer = {
17 | mappings = {
18 | mute = {
19 | group_name = "Grid", -- this is where the grid is assigned
20 | },
21 | },
22 | options = {
23 | follow_track = 2, -- track follow is disabled
24 | },
25 | palette = {
26 | normal_mute_on = {
27 | color={0xff,0x00,0x00}
28 | },
29 | }
30 | },
31 | Navigator = {
32 | mappings = {
33 | blockpos = {
34 | group_name = "Controls",
35 | orientation = ORIENTATION.HORIZONTAL,
36 | }
37 | }
38 | },
39 | Matrix = {
40 | mappings = {
41 | triggers = {
42 | group_name = "Triggers",
43 | --orientation = ORIENTATION.HORIZONTAL,
44 | },
45 | },
46 | options = {
47 | sequence_mode = 2,
48 | },
49 | },
50 | }
51 | }
--------------------------------------------------------------------------------
/Tools/com.renoise.Duplex.xrnx/Duplex/Controllers/Launchpad/Launchpad.bmp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/renoise/tools/5e52df1e80f5e1963da66f98a01dc31d15db943b/Tools/com.renoise.Duplex.xrnx/Duplex/Controllers/Launchpad/Launchpad.bmp
--------------------------------------------------------------------------------
/Tools/com.renoise.Duplex.xrnx/Duplex/Controllers/LaunchpadMiniMK3/LaunchpadMiniMK3.bmp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/renoise/tools/5e52df1e80f5e1963da66f98a01dc31d15db943b/Tools/com.renoise.Duplex.xrnx/Duplex/Controllers/LaunchpadMiniMK3/LaunchpadMiniMK3.bmp
--------------------------------------------------------------------------------
/Tools/com.renoise.Duplex.xrnx/Duplex/Controllers/MIDI-Fighter-Twister/Configurations/MF_Twister_Effects.lua:
--------------------------------------------------------------------------------
1 | --[[----------------------------------------------------------------------------
2 | -- Duplex.MIDI-Fighter-Twister
3 | ----------------------------------------------------------------------------]]--
4 |
5 | duplex_configurations:insert {
6 |
7 | -- configuration properties
8 | name = "Effects",
9 | pinned = true,
10 |
11 | -- device properties
12 | device = {
13 | --class_name = "",
14 | device_port_in = "",
15 | device_port_out = "",
16 | thumbnail = "Controllers/MIDI-Fighter-Twister/Thumbnail.bmp",
17 | display_name = "MIDI-Fighter Twister",
18 | control_map = "Controllers/MIDI-Fighter-Twister/Controlmaps/MF_Twister.xml",
19 | protocol = DEVICE_PROTOCOL.MIDI
20 | },
21 |
22 | applications = {
23 | Effect = {
24 | mappings = {
25 | parameters = {
26 | group_name = "Encoder*",
27 | index = 1,
28 | },
29 |
30 | },
31 | },
32 |
33 | }
34 | }
35 |
36 |
37 |
--------------------------------------------------------------------------------
/Tools/com.renoise.Duplex.xrnx/Duplex/Controllers/MIDI-Fighter-Twister/Thumbnail.bmp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/renoise/tools/5e52df1e80f5e1963da66f98a01dc31d15db943b/Tools/com.renoise.Duplex.xrnx/Duplex/Controllers/MIDI-Fighter-Twister/Thumbnail.bmp
--------------------------------------------------------------------------------
/Tools/com.renoise.Duplex.xrnx/Duplex/Controllers/MIDI-Keyboard/Controlmaps/MIDI-Key_Keyboard.xml:
--------------------------------------------------------------------------------
1 |
2 | Basic MIDI-Keyboard layout
3 | Renoise Team
4 | This is a generic four-octave MIDI-Keyboard with pitch-bend, mod-wheel and channel pressure support
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
--------------------------------------------------------------------------------
/Tools/com.renoise.Duplex.xrnx/Duplex/Controllers/MIDI-Keyboard/MIDI-Keyboard.bmp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/renoise/tools/5e52df1e80f5e1963da66f98a01dc31d15db943b/Tools/com.renoise.Duplex.xrnx/Duplex/Controllers/MIDI-Keyboard/MIDI-Keyboard.bmp
--------------------------------------------------------------------------------
/Tools/com.renoise.Duplex.xrnx/Duplex/Controllers/MIDI-Keyboard/MIDI-Keyboard.lua:
--------------------------------------------------------------------------------
1 | --[[----------------------------------------------------------------------------
2 | -- Duplex.MIDI-Keyboard
3 | ----------------------------------------------------------------------------]]--
4 |
5 | --[[
6 |
7 | Inheritance: MidiDevice > Device
8 |
9 | --]]
10 |
11 | --==============================================================================
12 |
13 | class "MidiKeyboard" (MidiDevice)
14 |
15 | function MidiKeyboard:__init(display_name, message_stream, port_in, port_out)
16 | TRACE("MidiKeyboard:__init", display_name, message_stream, port_in, port_out)
17 |
18 | MidiDevice.__init(self, display_name, message_stream, port_in, port_out)
19 |
20 | -- disable sending back messages
21 | self.loopback_received_messages = false
22 |
23 | end
24 |
25 |
26 |
--------------------------------------------------------------------------------
/Tools/com.renoise.Duplex.xrnx/Duplex/Controllers/MPD24/Configurations/MatrixMixerEffects.lua:
--------------------------------------------------------------------------------
1 | --[[----------------------------------------------------------------------------
2 | -- Duplex.MPD24
3 | ----------------------------------------------------------------------------]]--
4 |
5 | duplex_configurations:insert {
6 |
7 | -- configuration properties
8 | name = "Mixer + Matrix + Effects",
9 | pinned = true,
10 |
11 | -- device properties
12 | device = {
13 | class_name = nil,
14 | display_name = "MPD24",
15 | device_port_in = "Akai MPD24 (Port 1)",
16 | device_port_out = "Akai MPD24 (Port 1)",
17 | control_map = "Controllers/MPD24/Controlmaps/MPD24.xml",
18 | thumbnail = "Controllers/MPD24/MPD24.bmp",
19 | protocol = DEVICE_PROTOCOL.MIDI
20 | },
21 |
22 | applications = {
23 | Mixer = {
24 | mappings = {
25 | levels = {
26 | group_name = "Faders",
27 | }
28 | }
29 | },
30 | Matrix = {
31 | mappings = {
32 | matrix = {
33 | group_name = "Pads",
34 | }
35 | }
36 | },
37 | Effect = {
38 | mappings = {
39 | parameters = {
40 | group_name= "Knobs",
41 | }
42 | }
43 | }
44 | }
45 | }
46 |
--------------------------------------------------------------------------------
/Tools/com.renoise.Duplex.xrnx/Duplex/Controllers/MPD24/MPD24.bmp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/renoise/tools/5e52df1e80f5e1963da66f98a01dc31d15db943b/Tools/com.renoise.Duplex.xrnx/Duplex/Controllers/MPD24/MPD24.bmp
--------------------------------------------------------------------------------
/Tools/com.renoise.Duplex.xrnx/Duplex/Controllers/MPD24/MPD24.lua:
--------------------------------------------------------------------------------
1 | --[[----------------------------------------------------------------------------
2 | -- Duplex.MPD24
3 | ----------------------------------------------------------------------------]]--
4 |
5 | --[[
6 |
7 | Inheritance: MidiDevice > Device
8 |
9 | A generic MidiDevice class
10 |
11 | --]]
12 |
--------------------------------------------------------------------------------
/Tools/com.renoise.Duplex.xrnx/Duplex/Controllers/MPD26/MPD26.bmp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/renoise/tools/5e52df1e80f5e1963da66f98a01dc31d15db943b/Tools/com.renoise.Duplex.xrnx/Duplex/Controllers/MPD26/MPD26.bmp
--------------------------------------------------------------------------------
/Tools/com.renoise.Duplex.xrnx/Duplex/Controllers/MPD26/MPD26.lua:
--------------------------------------------------------------------------------
1 | --[[----------------------------------------------------------------------------
2 | -- Duplex.MPD26
3 | ----------------------------------------------------------------------------]]--
4 |
5 | --[[
6 |
7 | Inheritance: MidiDevice > Device
8 |
9 | A generic MidiDevice class
10 |
11 | --]]
12 |
--------------------------------------------------------------------------------
/Tools/com.renoise.Duplex.xrnx/Duplex/Controllers/MPD32/MPD32.bmp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/renoise/tools/5e52df1e80f5e1963da66f98a01dc31d15db943b/Tools/com.renoise.Duplex.xrnx/Duplex/Controllers/MPD32/MPD32.bmp
--------------------------------------------------------------------------------
/Tools/com.renoise.Duplex.xrnx/Duplex/Controllers/MPD32/MPD32.lua:
--------------------------------------------------------------------------------
1 | --[[----------------------------------------------------------------------------
2 | -- Duplex.MPD32
3 | ----------------------------------------------------------------------------]]--
4 |
5 | --[[
6 |
7 | Inheritance: MidiDevice > Device
8 |
9 | A generic MidiDevice class
10 |
11 | --]]
12 |
--------------------------------------------------------------------------------
/Tools/com.renoise.Duplex.xrnx/Duplex/Controllers/Mackie-Control/Mackie-Control.bmp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/renoise/tools/5e52df1e80f5e1963da66f98a01dc31d15db943b/Tools/com.renoise.Duplex.xrnx/Duplex/Controllers/Mackie-Control/Mackie-Control.bmp
--------------------------------------------------------------------------------
/Tools/com.renoise.Duplex.xrnx/Duplex/Controllers/Mackie-Control/Mackie-Control.lua:
--------------------------------------------------------------------------------
1 | --[[----------------------------------------------------------------------------
2 | -- Duplex.Mackie-Control
3 | ----------------------------------------------------------------------------]]--
4 |
5 | --[[
6 |
7 | Inheritance: Mackie-Control > MidiDevice > Device
8 |
9 | A generic class for devices that support the Mackie-control protocol
10 |
11 | --]]
12 |
13 | --==============================================================================
14 |
15 | class "MackieControl" (MidiDevice)
16 |
17 | function MackieControl:__init(display_name, message_stream, port_in, port_out)
18 | TRACE("MackieControl:__init", display_name, message_stream, port_in, port_out)
19 |
20 | MidiDevice.__init(self, display_name, message_stream, port_in, port_out)
21 |
22 | self.allow_zero_velocity_note_on = true
23 |
24 |
25 | end
26 |
27 |
28 |
--------------------------------------------------------------------------------
/Tools/com.renoise.Duplex.xrnx/Duplex/Controllers/Monome/Configurations/m128_Keyboard.lua:
--------------------------------------------------------------------------------
1 | --[[----------------------------------------------------------------------------
2 | -- Duplex.Monome
3 | ----------------------------------------------------------------------------]]--
4 |
5 | duplex_configurations:insert {
6 |
7 | -- configuration properties
8 | name = "Keyboard",
9 | pinned = true,
10 |
11 | -- device properties
12 | device = {
13 | class_name = "Monome",
14 | display_name = "Monome 128",
15 | device_prefix = "/duplex",
16 | device_address = "127.0.0.1",
17 | device_port_in = "8002",
18 | device_port_out = "8082",
19 | control_map = "Controllers/Monome/Controlmaps/Monome128_Keyboard.xml",
20 | thumbnail = "Controllers/Monome/Monome.bmp",
21 | protocol = DEVICE_PROTOCOL.OSC,
22 | },
23 | applications = {
24 | KeyBoard = {
25 | application = "Keyboard",
26 | mappings = {
27 | key_grid = {
28 | group_name = "Grid"
29 | }
30 | },
31 | palette = {
32 |
33 | }
34 | },
35 | KeyPads = {
36 | application = "Keyboard",
37 | mappings = {
38 | key_grid = {
39 | group_name = "KeyPads"
40 | }
41 | },
42 | options = {
43 | button_width = 2,
44 | button_height = 2,
45 | }
46 | },
47 |
48 | }
49 | }
50 |
51 |
--------------------------------------------------------------------------------
/Tools/com.renoise.Duplex.xrnx/Duplex/Controllers/Monome/Configurations/m128_KeyboardSingle.lua:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/renoise/tools/5e52df1e80f5e1963da66f98a01dc31d15db943b/Tools/com.renoise.Duplex.xrnx/Duplex/Controllers/Monome/Configurations/m128_KeyboardSingle.lua
--------------------------------------------------------------------------------
/Tools/com.renoise.Duplex.xrnx/Duplex/Controllers/Monome/Configurations/m64_Matrix.lua:
--------------------------------------------------------------------------------
1 | --[[----------------------------------------------------------------------------
2 | -- Duplex.Monome
3 | ----------------------------------------------------------------------------]]--
4 |
5 | duplex_configurations:insert {
6 |
7 | -- configuration properties
8 | name = "Matrix",
9 | pinned = true,
10 |
11 | -- device properties
12 | device = {
13 | class_name = "Monome",
14 | display_name = "Monome 64",
15 | device_prefix = "/duplex",
16 | device_address = "127.0.0.1",
17 | device_port_in = "8002",
18 | device_port_out = "8082",
19 | control_map = "Controllers/Monome/Controlmaps/Monome64_Matrix.xml",
20 | thumbnail = "Controllers/Monome/Monome.bmp",
21 | protocol = DEVICE_PROTOCOL.OSC,
22 |
23 | },
24 | applications = {
25 | Matrix = {
26 | mappings = {
27 | matrix = {
28 | group_name = "Grid1",
29 | },
30 | triggers = {
31 | group_name = "TrigControls",
32 | },
33 | prev_seq_page = {
34 | group_name = "Controls",
35 | index = 1,
36 | },
37 | next_seq_page = {
38 | group_name = "Controls",
39 | index = 2,
40 | },
41 | track = {
42 | group_name = "Controls",
43 | index = 3,
44 | }
45 | }
46 | }
47 | }
48 | }
49 |
50 |
--------------------------------------------------------------------------------
/Tools/com.renoise.Duplex.xrnx/Duplex/Controllers/Monome/Monome.bmp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/renoise/tools/5e52df1e80f5e1963da66f98a01dc31d15db943b/Tools/com.renoise.Duplex.xrnx/Duplex/Controllers/Monome/Monome.bmp
--------------------------------------------------------------------------------
/Tools/com.renoise.Duplex.xrnx/Duplex/Controllers/Nocturn/Configurations/Nocturn_Mixer.lua:
--------------------------------------------------------------------------------
1 | --[[----------------------------------------------------------------------------
2 | -- Duplex.Nocturn
3 | ----------------------------------------------------------------------------]]--
4 |
5 | duplex_configurations:insert {
6 |
7 | -- configuration properties
8 | name = "Mixer",
9 | pinned = true,
10 |
11 | -- device properties
12 | device = {
13 | class_name = nil,
14 | display_name = "Nocturn Automap",
15 | device_port_in = "Automap MIDI",
16 | device_port_out = "Automap MIDI",
17 | control_map = "Controllers/Nocturn/Controlmaps/Nocturn.xml",
18 | thumbnail = "Controllers/Nocturn/Nocturn.bmp",
19 | protocol = DEVICE_PROTOCOL.MIDI
20 | },
21 |
22 | applications = {
23 | Mixer = {
24 | mappings = {
25 | levels = {
26 | group_name = "Encoders",
27 | },
28 | mute = {
29 | group_name = "Pots",
30 | },
31 | master = {
32 | group_name = "XFader",
33 | },
34 | }
35 | }
36 | }
37 | }
38 |
--------------------------------------------------------------------------------
/Tools/com.renoise.Duplex.xrnx/Duplex/Controllers/Nocturn/Configurations/Nocturn_Navigator.lua:
--------------------------------------------------------------------------------
1 | --[[----------------------------------------------------------------------------
2 | -- Duplex.Nocturn
3 | ----------------------------------------------------------------------------]]--
4 |
5 | -- setup Navigator on the buttons, leave sliders/crossfader unassigned
6 |
7 | duplex_configurations:insert {
8 |
9 | -- configuration properties
10 | name = "Navigator",
11 | pinned = true,
12 |
13 | -- device properties
14 | device = {
15 | class_name = nil,
16 | display_name = "Nocturn Automap",
17 | device_port_in = "Automap MIDI",
18 | device_port_out = "Automap MIDI",
19 | control_map = "Controllers/Nocturn/Controlmaps/Nocturn.xml",
20 | thumbnail = "Controllers/Nocturn/Nocturn.bmp",
21 | protocol = DEVICE_PROTOCOL.MIDI
22 | },
23 |
24 | applications = {
25 | Navigator = {
26 | mappings = {
27 | blockpos = {
28 | group_name= "Pots",
29 | orientation = ORIENTATION.HORIZONTAL,
30 | },
31 | },
32 | }
33 | }
34 | }
35 |
--------------------------------------------------------------------------------
/Tools/com.renoise.Duplex.xrnx/Duplex/Controllers/Nocturn/Configurations/Nocturn_Recorder.lua:
--------------------------------------------------------------------------------
1 | --[[----------------------------------------------------------------------------
2 | -- Duplex.Nocturn
3 | ----------------------------------------------------------------------------]]--
4 |
5 | duplex_configurations:insert {
6 |
7 | -- configuration properties
8 | name = "Recorder",
9 | pinned = true,
10 |
11 | -- device properties
12 | device = {
13 | class_name = nil,
14 | display_name = "Nocturn Automap",
15 | device_port_in = "Automap MIDI",
16 | device_port_out = "Automap MIDI",
17 | control_map = "Controllers/Nocturn/Controlmaps/Nocturn.xml",
18 | thumbnail = "Controllers/Nocturn/Nocturn.bmp",
19 | protocol = DEVICE_PROTOCOL.MIDI
20 | },
21 |
22 | applications = {
23 | Recorder = {
24 | mappings = {
25 | recorders = {
26 | group_name = "Pots",
27 | },
28 | sliders = {
29 | group_name = "Encoders",
30 | },
31 | },
32 | options = {
33 | --writeahead = 1,
34 | --loop_mode = 2,
35 | --beat_sync = 1,
36 | --trigger_mode = 1,
37 | }
38 | }
39 | }
40 | }
41 |
--------------------------------------------------------------------------------
/Tools/com.renoise.Duplex.xrnx/Duplex/Controllers/Nocturn/Configurations/Nocturn_TrackSelector.lua:
--------------------------------------------------------------------------------
1 | --[[----------------------------------------------------------------------------
2 | -- Duplex.Nocturn
3 | ----------------------------------------------------------------------------]]--
4 |
5 | duplex_configurations:insert {
6 |
7 | -- configuration properties
8 | name = "TrackSelector",
9 | pinned = true,
10 |
11 | -- device properties
12 | device = {
13 | class_name = nil,
14 | display_name = "Nocturn Automap",
15 | device_port_in = "Automap MIDI",
16 | device_port_out = "Automap MIDI",
17 | control_map = "Controllers/Nocturn/Controlmaps/Nocturn.xml",
18 | thumbnail = "Controllers/Nocturn/Nocturn.bmp",
19 | protocol = DEVICE_PROTOCOL.MIDI
20 | },
21 |
22 | applications = {
23 | TrackSelector = {
24 | mappings = {
25 | select_track = {
26 | group_name= "Pots",
27 | index = 1,
28 | },
29 | },
30 | }
31 | }
32 | }
33 |
34 |
--------------------------------------------------------------------------------
/Tools/com.renoise.Duplex.xrnx/Duplex/Controllers/Nocturn/Configurations/Nocturn_XYPad.lua:
--------------------------------------------------------------------------------
1 | --[[----------------------------------------------------------------------------
2 | -- Duplex.Nocturn
3 | ----------------------------------------------------------------------------]]--
4 |
5 | duplex_configurations:insert {
6 |
7 | -- configuration properties
8 | name = "XYPad",
9 | pinned = true,
10 |
11 | -- device properties
12 | device = {
13 | class_name = nil,
14 | display_name = "Nocturn Automap",
15 | device_port_in = "Automap MIDI",
16 | device_port_out = "Automap MIDI",
17 | control_map = "Controllers/Nocturn/Controlmaps/Nocturn.xml",
18 | thumbnail = "Controllers/Nocturn/Nocturn.bmp",
19 | protocol = DEVICE_PROTOCOL.MIDI
20 | },
21 |
22 | applications = {
23 | XYPad = {
24 | mappings = {
25 | x_slider = {
26 | group_name = "Encoders",
27 | index = 1,
28 | },
29 | y_slider = {
30 | group_name = "Encoders",
31 | index = 2,
32 | },
33 | },
34 | options = {
35 | }
36 | }
37 | }
38 | }
39 |
--------------------------------------------------------------------------------
/Tools/com.renoise.Duplex.xrnx/Duplex/Controllers/Nocturn/Nocturn.bmp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/renoise/tools/5e52df1e80f5e1963da66f98a01dc31d15db943b/Tools/com.renoise.Duplex.xrnx/Duplex/Controllers/Nocturn/Nocturn.bmp
--------------------------------------------------------------------------------
/Tools/com.renoise.Duplex.xrnx/Duplex/Controllers/Nocturn/Nocturn.lua:
--------------------------------------------------------------------------------
1 | --[[----------------------------------------------------------------------------
2 | -- Duplex.Nocturn
3 | ----------------------------------------------------------------------------]]--
4 |
5 | --[[
6 |
7 | Inheritance: MidiDevice > Device
8 |
9 | A generic MidiDevice class
10 |
11 | --]]
12 |
--------------------------------------------------------------------------------
/Tools/com.renoise.Duplex.xrnx/Duplex/Controllers/Ohm64/Ohm64.bmp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/renoise/tools/5e52df1e80f5e1963da66f98a01dc31d15db943b/Tools/com.renoise.Duplex.xrnx/Duplex/Controllers/Ohm64/Ohm64.bmp
--------------------------------------------------------------------------------
/Tools/com.renoise.Duplex.xrnx/Duplex/Controllers/Ohm64/Ohm64.lua:
--------------------------------------------------------------------------------
1 | --[[----------------------------------------------------------------------------
2 | -- Duplex.Ohm64
3 | ----------------------------------------------------------------------------]]--
4 |
5 | --[[
6 |
7 | Inheritance: Ohm64 > MidiDevice > Device
8 |
9 | A device-specific class
10 |
11 | --]]
12 |
13 |
14 | --==============================================================================
15 |
16 | class "Ohm64" (MidiDevice)
17 |
18 | function Ohm64:__init(display_name, message_stream, port_in, port_out)
19 | TRACE("Ohm64:__init", display_name, message_stream, port_in, port_out)
20 |
21 | MidiDevice.__init(self, display_name, message_stream, port_in, port_out)
22 |
23 | -- setup a monochrome colorspace for the OHM
24 | self.colorspace = {1}
25 | end
26 |
27 |
--------------------------------------------------------------------------------
/Tools/com.renoise.Duplex.xrnx/Duplex/Controllers/OhmRGB/OhmRGB.bmp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/renoise/tools/5e52df1e80f5e1963da66f98a01dc31d15db943b/Tools/com.renoise.Duplex.xrnx/Duplex/Controllers/OhmRGB/OhmRGB.bmp
--------------------------------------------------------------------------------
/Tools/com.renoise.Duplex.xrnx/Duplex/Controllers/Oxygen88/Configurations/O88-Cursor.lua:
--------------------------------------------------------------------------------
1 | --[[----------------------------------------------------------------------------
2 | -- Duplex.Controllers.Oxygen88
3 | ----------------------------------------------------------------------------]]--
4 |
5 | duplex_configurations:insert {
6 |
7 | -- configuration properties
8 | name = "TestPad",
9 | pinned = true,
10 |
11 | -- device properties
12 | device = {
13 | class_name = nil,
14 | display_name = "Oxygen88",
15 | device_port_in = "none",
16 | device_port_out = "none",
17 | control_map = "Controllers/Oxygen88/Controlmaps/Oxygen88.xml",
18 | --thumbnail = nil,
19 | protocol = DEVICE_PROTOCOL.MIDI,
20 | },
21 |
22 | applications = {
23 |
24 | PatternCursor = {
25 | mappings = {
26 | prev_line_editstep = {
27 | group_name = "PrevNext",
28 | index = 1,
29 | },
30 | next_line_editstep = {
31 | group_name = "PrevNext",
32 | index = 2,
33 | }
34 | }
35 | },
36 |
37 | }
38 | }
39 |
40 |
--------------------------------------------------------------------------------
/Tools/com.renoise.Duplex.xrnx/Duplex/Controllers/QuNeo/quneo.bmp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/renoise/tools/5e52df1e80f5e1963da66f98a01dc31d15db943b/Tools/com.renoise.Duplex.xrnx/Duplex/Controllers/QuNeo/quneo.bmp
--------------------------------------------------------------------------------
/Tools/com.renoise.Duplex.xrnx/Duplex/Controllers/Remote-SL-MKII/Configurations/Remote_XYPad.lua:
--------------------------------------------------------------------------------
1 |
2 | duplex_configurations:insert {
3 |
4 | -- configuration properties
5 | name = "XYPad",
6 | pinned = true,
7 |
8 | -- device properties
9 | device = {
10 | class_name = nil,
11 | display_name = "Remote SL MKII Automap",
12 | device_port_in = "Automap MIDI",
13 | device_port_out = "Automap MIDI",
14 | control_map = "Controllers/Remote-SL-MKII/Controlmaps/Remote-SL-MKII.xml",
15 | thumbnail = "Controllers/Remote-SL-MKII/Remote-SL-MKII.bmp",
16 | protocol = DEVICE_PROTOCOL.MIDI
17 | },
18 |
19 | applications = {
20 | XYPad = {
21 | mappings = {
22 | xy_pad = {
23 | group_name = "XYPad",
24 | index = 1
25 | },
26 | }
27 | },
28 | Keyboard_PitchBend = {
29 | application = "Keyboard",
30 | mappings = {
31 | pitch_bend = {
32 | group_name = "PB",
33 | index = 1,
34 | },
35 | },
36 | options = {
37 | pitch_bend = "Route to CC#41" -- Route to CC#41, as 0-40 are being used
38 | },
39 | hidden_options = { -- hide all options but "pitch_bend"
40 | "instr_index","track_index","velocity_mode","keyboard_mode","base_volume","channel_pressure","release_type","button_width","button_height","base_octave","upper_note","lower_note",
41 | },
42 | },
43 | }
44 | }
45 |
--------------------------------------------------------------------------------
/Tools/com.renoise.Duplex.xrnx/Duplex/Controllers/Remote-SL-MKII/Remote-SL-MKII.bmp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/renoise/tools/5e52df1e80f5e1963da66f98a01dc31d15db943b/Tools/com.renoise.Duplex.xrnx/Duplex/Controllers/Remote-SL-MKII/Remote-SL-MKII.bmp
--------------------------------------------------------------------------------
/Tools/com.renoise.Duplex.xrnx/Duplex/Controllers/Remote-SL-MKII/Remote-SL-MKII.lua:
--------------------------------------------------------------------------------
1 | --[[----------------------------------------------------------------------------
2 | -- Duplex.Remote-SL-MKII
3 | ----------------------------------------------------------------------------]]--
4 |
5 | --[[
6 |
7 | Inheritance: MidiDevice > Device
8 |
9 | A generic MidiDevice class
10 |
11 | --]]
12 |
--------------------------------------------------------------------------------
/Tools/com.renoise.Duplex.xrnx/Duplex/Controllers/TouchOSC/Configurations/HandsetKeys.lua:
--------------------------------------------------------------------------------
1 | --[[----------------------------------------------------------------------------
2 | -- Duplex.TouchOSC
3 | ----------------------------------------------------------------------------]]--
4 |
5 | duplex_configurations:insert {
6 |
7 | -- configuration properties
8 | name = "Handset - keys",
9 | pinned = true,
10 |
11 | -- device properties
12 | device = {
13 | class_name = "TouchOSC",
14 | display_name = "TouchOSC",
15 | device_prefix = nil,
16 | device_address = "10.0.0.2",
17 | device_port_in = "8001",
18 | device_port_out = "8081",
19 | control_map = "Controllers/TouchOSC/Controlmaps/TouchOSC_Keys.xml",
20 | thumbnail = "Controllers/TouchOSC/TouchOSC.bmp",
21 | protocol = DEVICE_PROTOCOL.OSC,
22 | },
23 |
24 | applications = {
25 | Keyboard1 = {
26 | application = "Keyboard",
27 | mappings = {
28 | keys = {
29 | group_name = "Keyboard1",
30 | }
31 | }
32 | },
33 | Keyboard2 = {
34 | application = "Keyboard",
35 | mappings = {
36 | keys = {
37 | group_name = "Keyboard2",
38 | }
39 | }
40 | },
41 | }
42 | }
43 |
44 |
--------------------------------------------------------------------------------
/Tools/com.renoise.Duplex.xrnx/Duplex/Controllers/TouchOSC/Presets/Duplex_iPad_performance.touchosc:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/renoise/tools/5e52df1e80f5e1963da66f98a01dc31d15db943b/Tools/com.renoise.Duplex.xrnx/Duplex/Controllers/TouchOSC/Presets/Duplex_iPad_performance.touchosc
--------------------------------------------------------------------------------
/Tools/com.renoise.Duplex.xrnx/Duplex/Controllers/TouchOSC/TouchOSC.bmp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/renoise/tools/5e52df1e80f5e1963da66f98a01dc31d15db943b/Tools/com.renoise.Duplex.xrnx/Duplex/Controllers/TouchOSC/TouchOSC.bmp
--------------------------------------------------------------------------------
/Tools/com.renoise.Duplex.xrnx/Duplex/Controllers/TouchOSC/TouchOSC.lua:
--------------------------------------------------------------------------------
1 | --[[----------------------------------------------------------------------------
2 | -- Duplex.TouchOSC
3 | ----------------------------------------------------------------------------]]--
4 |
5 | --[[
6 |
7 | Inheritance: TouchOSC > OscDevice > Device
8 |
9 | A device-specific class
10 |
11 |
12 | --]]
13 |
14 |
15 | --==============================================================================
16 |
17 | class "TouchOSC" (OscDevice)
18 |
19 | function TouchOSC:__init(name, message_stream,prefix,address,port_in,port_out)
20 | TRACE("TouchOSC:__init", name, message_stream,prefix,address,port_in,port_out)
21 |
22 | OscDevice.__init(self, name, message_stream,prefix,address,port_in,port_out)
23 |
24 | -- this device has a monochrome color-space
25 | self.colorspace = {1, 1, 1}
26 |
27 | -- bundle messages (recommended for wireless devices)
28 | self.bundle_messages = true
29 |
30 | end
31 |
32 |
33 |
--------------------------------------------------------------------------------
/Tools/com.renoise.Duplex.xrnx/Duplex/Controllers/ZoomR16/Configurations/Transport.lua:
--------------------------------------------------------------------------------
1 | --[[----------------------------------------------------------------------------
2 | -- Duplex.ZoomR16
3 | ----------------------------------------------------------------------------]]--
4 |
5 | duplex_configurations:insert {
6 |
7 | -- configuration properties
8 | name = "Transport",
9 | pinned = true,
10 |
11 | -- device properties
12 | device = {
13 | class_name = "ZoomR16",
14 | display_name = "ZoomR16",
15 | device_port_in = "ZOOM R16_24 Audio Interface",
16 | device_port_out = "ZOOM R16_24 Audio Interface",
17 | control_map = "Controllers/ZoomR16/Controlmaps/ZoomR16.xml",
18 | --thumbnail = "",
19 | protocol = DEVICE_PROTOCOL.MIDI
20 | },
21 |
22 | applications = {
23 | Transport = {
24 | mappings = {
25 | stop_playback = {
26 | group_name = "Buttons",
27 | index = 1,
28 | },
29 | start_playback = {
30 | group_name = "Buttons",
31 | index = 2,
32 | },
33 |
34 | }
35 | },
36 |
37 | }
38 | }
39 |
--------------------------------------------------------------------------------
/Tools/com.renoise.Duplex.xrnx/Duplex/Controllers/ZoomR16/Controlmaps/ZoomR16.xml:
--------------------------------------------------------------------------------
1 |
2 | Zoom R16
3 | Cylab
4 | Controlmap for Zoom R16
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
--------------------------------------------------------------------------------
/Tools/com.renoise.Duplex.xrnx/Duplex/Controllers/ZoomR16/ZoomR16.lua:
--------------------------------------------------------------------------------
1 | --[[----------------------------------------------------------------------------
2 | -- Duplex.ZoomR16
3 | ----------------------------------------------------------------------------]]--
4 |
5 | --[[
6 |
7 | Inheritance: ZoomR16 > MidiDevice > Device
8 |
9 | A device-specific class
10 |
11 | --]]
12 |
13 |
14 | --==============================================================================
15 |
16 | class "ZoomR16" (MidiDevice)
17 |
18 | function ZoomR16:__init(display_name, message_stream, port_in, port_out)
19 | TRACE("ZoomR16:__init", display_name, message_stream, port_in, port_out)
20 |
21 | MidiDevice.__init(self, display_name, message_stream, port_in, port_out)
22 |
23 | end
24 |
25 |
26 |
--------------------------------------------------------------------------------
/Tools/com.renoise.Duplex.xrnx/Duplex/Controllers/microKONTROL/Configurations/Effect.lua:
--------------------------------------------------------------------------------
1 | --[[----------------------------------------------------------------------------
2 | -- Duplex.microKONTROL
3 | ----------------------------------------------------------------------------]]--
4 |
5 | duplex_configurations:insert {
6 |
7 | -- configuration properties
8 | name = "Effect",
9 | pinned = true,
10 |
11 | -- device properties
12 | device = {
13 | display_name = "microKONTROL",
14 | device_port_in = "MIDIIN2 (microKONTROL)",
15 | device_port_out = "MIDIOUT2 (microKONTROL)",
16 | control_map = "Controllers/microKONTROL/Controlmaps/microKONTROL.xml",
17 | thumbnail = "Controllers/microKONTROL/microKONTROL.bmp",
18 | protocol = DEVICE_PROTOCOL.MIDI
19 | },
20 |
21 | applications = {
22 | Effect = {
23 | mappings = {
24 | parameters = {
25 | group_name= "Encoders"
26 | },
27 | device = {
28 | group_name = "Pads B"
29 | },
30 | param_prev = {
31 | group_name = "Joystick",
32 | index = 1,
33 | },
34 | param_next = {
35 | group_name = "Joystick",
36 | index = 2,
37 | },
38 | }
39 | }
40 | }
41 | }
42 |
--------------------------------------------------------------------------------
/Tools/com.renoise.Duplex.xrnx/Duplex/Controllers/microKONTROL/Configurations/Mixer.lua:
--------------------------------------------------------------------------------
1 | --[[----------------------------------------------------------------------------
2 | -- Duplex.microKONTROL
3 | ----------------------------------------------------------------------------]]--
4 |
5 | duplex_configurations:insert {
6 |
7 | -- configuration properties
8 | name = "Mixer",
9 | pinned = true,
10 |
11 | -- device properties
12 | device = {
13 | display_name = "microKONTROL",
14 | device_port_in = "MIDIIN2 (microKONTROL)",
15 | device_port_out = "MIDIOUT2 (microKONTROL)",
16 | control_map = "Controllers/microKONTROL/Controlmaps/microKONTROL.xml",
17 | thumbnail = "Controllers/microKONTROL/microKONTROL.bmp",
18 | protocol = DEVICE_PROTOCOL.MIDI
19 | },
20 |
21 | applications = {
22 | Mixer = {
23 | mappings = {
24 | mute = {
25 | group_name = "Pads A"
26 | },
27 | solo = {
28 | group_name = "Pads B"
29 | },
30 | panning = {
31 | group_name = "Encoders"
32 | },
33 | levels = {
34 | group_name = "Sliders"
35 | },
36 | page = {
37 | group_name = "Joystick"
38 | }
39 | },
40 | options = {
41 | pre_post = 2
42 | }
43 | }
44 | }
45 | }
46 |
47 |
--------------------------------------------------------------------------------
/Tools/com.renoise.Duplex.xrnx/Duplex/Controllers/microKONTROL/Presets/microKONTROL.mkd:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/renoise/tools/5e52df1e80f5e1963da66f98a01dc31d15db943b/Tools/com.renoise.Duplex.xrnx/Duplex/Controllers/microKONTROL/Presets/microKONTROL.mkd
--------------------------------------------------------------------------------
/Tools/com.renoise.Duplex.xrnx/Duplex/Controllers/microKONTROL/Presets/microKONTROL.mks:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/renoise/tools/5e52df1e80f5e1963da66f98a01dc31d15db943b/Tools/com.renoise.Duplex.xrnx/Duplex/Controllers/microKONTROL/Presets/microKONTROL.mks
--------------------------------------------------------------------------------
/Tools/com.renoise.Duplex.xrnx/Duplex/Controllers/microKONTROL/microKONTROL.bmp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/renoise/tools/5e52df1e80f5e1963da66f98a01dc31d15db943b/Tools/com.renoise.Duplex.xrnx/Duplex/Controllers/microKONTROL/microKONTROL.bmp
--------------------------------------------------------------------------------
/Tools/com.renoise.Duplex.xrnx/Duplex/Controllers/microKONTROL/microKONTROL.lua:
--------------------------------------------------------------------------------
1 | --[[----------------------------------------------------------------------------
2 | -- Duplex.microKONTROL
3 | ----------------------------------------------------------------------------]]--
4 |
5 | --[[
6 |
7 | Inheritance: MidiDevice > Device
8 |
9 | A generic MidiDevice class
10 |
11 | --]]
12 |
--------------------------------------------------------------------------------
/Tools/com.renoise.Duplex.xrnx/Duplex/Controllers/nanoKONTROL/nanoKONTROL.bmp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/renoise/tools/5e52df1e80f5e1963da66f98a01dc31d15db943b/Tools/com.renoise.Duplex.xrnx/Duplex/Controllers/nanoKONTROL/nanoKONTROL.bmp
--------------------------------------------------------------------------------
/Tools/com.renoise.Duplex.xrnx/Duplex/Controllers/nanoKONTROL/nanoKONTROL.lua:
--------------------------------------------------------------------------------
1 | --[[----------------------------------------------------------------------------
2 | -- Duplex.NanoKontrol
3 | ----------------------------------------------------------------------------]]--
4 |
5 | --[[
6 |
7 | Inheritance: NanoKontrol > MidiDevice > Device
8 |
9 | A device-specific class
10 |
11 | --]]
12 |
13 |
14 | --==============================================================================
15 |
16 | class "NanoKontrol" (MidiDevice)
17 |
18 | function NanoKontrol:__init(display_name, message_stream, port_in, port_out)
19 | TRACE("NanoKontrol:__init", display_name, message_stream, port_in, port_out)
20 |
21 | MidiDevice.__init(self, display_name, message_stream, port_in, port_out)
22 |
23 | self.loopback_received_messages = false
24 | end
25 |
26 |
27 |
--------------------------------------------------------------------------------
/Tools/com.renoise.Duplex.xrnx/Duplex/Controllers/nanoKONTROL2/nanoKONTROL2.bmp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/renoise/tools/5e52df1e80f5e1963da66f98a01dc31d15db943b/Tools/com.renoise.Duplex.xrnx/Duplex/Controllers/nanoKONTROL2/nanoKONTROL2.bmp
--------------------------------------------------------------------------------
/Tools/com.renoise.Duplex.xrnx/Duplex/Controllers/nanoKONTROL2/nanoKONTROL2.lua:
--------------------------------------------------------------------------------
1 | --[[----------------------------------------------------------------------------
2 | -- Duplex.NanoKontrol2
3 | ----------------------------------------------------------------------------]]--
4 |
5 | --[[
6 |
7 | Inheritance: NanoKontrol > MidiDevice > Device
8 |
9 | A device-specific class
10 |
11 | --]]
12 |
13 | --==============================================================================
14 |
15 | class "NanoKontrol2" (MidiDevice)
16 |
17 | function NanoKontrol2:__init(display_name, message_stream, port_in, port_out)
18 | TRACE("NanoKontrol2:__init", display_name, message_stream, port_in, port_out)
19 |
20 | MidiDevice.__init(self, display_name, message_stream, port_in, port_out)
21 |
22 |
23 | end
24 |
25 |
26 |
--------------------------------------------------------------------------------
/Tools/com.renoise.Duplex.xrnx/Duplex/Controllers/unknown.bmp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/renoise/tools/5e52df1e80f5e1963da66f98a01dc31d15db943b/Tools/com.renoise.Duplex.xrnx/Duplex/Controllers/unknown.bmp
--------------------------------------------------------------------------------
/Tools/com.renoise.Duplex.xrnx/Duplex/UILabel.lua:
--------------------------------------------------------------------------------
1 | --[[============================================================================
2 | -- Duplex.UILabel
3 | -- Inheritance: UIComponent > UILabel
4 | ============================================================================]]--
5 |
6 | --[[--
7 | UILabel is a component designed for basic text display
8 |
9 | --]]
10 |
11 | --==============================================================================
12 |
13 |
14 | class 'UILabel' (UIComponent)
15 |
16 | --------------------------------------------------------------------------------
17 |
18 | --- Initialize the UILabel class
19 | -- @param app (@{Duplex.Application})
20 | -- @param map[opt] (table) mapping properties
21 |
22 | function UILabel:__init(app,map)
23 | TRACE("UILabel:__init()",app,map)
24 |
25 | self._text = nil
26 |
27 | UIComponent.__init(self,app,map)
28 |
29 | end
30 |
31 | --------------------------------------------------------------------------------
32 |
33 | function UILabel:set_text(str_text)
34 | TRACE("UILabel:_set_text()",str_text)
35 |
36 | str_text = tostring(str_text)
37 |
38 | if (str_text ~= self._text) then
39 | self._text = str_text
40 | local point = CanvasPoint()
41 | point.val = str_text
42 | self.canvas:write(point,1,1)
43 | self:invalidate()
44 | end
45 |
46 | end
47 |
48 | --------------------------------------------------------------------------------
49 |
--------------------------------------------------------------------------------
/Tools/com.renoise.Duplex.xrnx/README.md:
--------------------------------------------------------------------------------
1 | # Duplex
2 |
3 | *MIDI/OSC controller framework for Renoise.*
4 |
5 | Duplex is a collection of scripts that you install as a single Renoise tool. The scripts can run on a wide range of hardware, and works together to offer full, bi-directional control of the Renoise mixer/effects/pattern matrix. But Duplex is also about the weird and wonderful stuff, like custom-built sequencers and performance tools.
6 |
7 | What makes Duplex special is the strong focus on bi-directional communication. In practice, this will ensure that your controller is always in sync with Renoise, no matter if you change a value on screen, or via your controller. Duplex is also highly configurable and encourages 'hacking via configuration files'.
8 |
9 | ## [Installation](Docs/Installation.md)
10 |
11 | ## [Getting Started](Docs/GettingStarted.md)
12 |
13 | ## [Bundled Applications](Docs/Applications.md)
14 |
15 | ## [Devices & Troubleshooting](Docs/Controllers.md)
16 |
17 | ## [Custom Configurations](Docs/Configurations.md)
18 |
19 | ## [Control-Map Reference](Docs/Controlmaps.md)
20 |
21 | ## [Frequently Asked Questions](Docs/FAQ.md)
22 |
23 | ## [Links and Resources](Docs/Resources.md)
24 |
25 |
--------------------------------------------------------------------------------
/Tools/com.renoise.Duplex.xrnx/config.ld:
--------------------------------------------------------------------------------
1 | project = 'Duplex'
2 | description = 'Duplex Framework'
3 | full_description = [[
4 | Documentation of the Duplex framework, its classes and applications
5 | ]]
6 | file = {'com.renoise.Duplex.xrnx',exclude = {'Duplex/Application.lua'}}
7 | no_summary = false
8 | no_return_or_parms = false
9 | format = 'markdown'
10 | new_type("mapping","Mappings")
11 |
--------------------------------------------------------------------------------
/Tools/com.renoise.Duplex.xrnx/manifest.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | 5.0
4 | com.renoise.Duplex
5 | 1.07
6 | danoise [bjorn.nesby@googlemail.com]
7 | Duplex Browser
8 | Midi Controllers, OSC Controllers
9 | Duplex is a collection of scripts that can run on a wide range of hardware, and offer full, bi-directional control of the Renoise mixer/effects/pattern matrix. Creates a new menu 'Duplex' in the global 'Tools' menu.
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/Tools/com.renoise.EpicArpeggiator.xrnx/documentation/Epic Arpeggiator V3.0.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/renoise/tools/5e52df1e80f5e1963da66f98a01dc31d15db943b/Tools/com.renoise.EpicArpeggiator.xrnx/documentation/Epic Arpeggiator V3.0.pdf
--------------------------------------------------------------------------------
/Tools/com.renoise.EpicArpeggiator.xrnx/env_presets/EA25_1_3_7_regular.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | 3.00
4 | 1,3,7
5 | 3
6 | -12
7 | false
8 | 1
9 | 1
10 | 0,4,8
11 | 2
12 |
13 |
--------------------------------------------------------------------------------
/Tools/com.renoise.EpicArpeggiator.xrnx/images/tab_env_profile.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/renoise/tools/5e52df1e80f5e1963da66f98a01dc31d15db943b/Tools/com.renoise.EpicArpeggiator.xrnx/images/tab_env_profile.png
--------------------------------------------------------------------------------
/Tools/com.renoise.EpicArpeggiator.xrnx/images/tab_envelope_arp.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/renoise/tools/5e52df1e80f5e1963da66f98a01dc31d15db943b/Tools/com.renoise.EpicArpeggiator.xrnx/images/tab_envelope_arp.png
--------------------------------------------------------------------------------
/Tools/com.renoise.EpicArpeggiator.xrnx/images/tab_envelope_arp_armed.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/renoise/tools/5e52df1e80f5e1963da66f98a01dc31d15db943b/Tools/com.renoise.EpicArpeggiator.xrnx/images/tab_envelope_arp_armed.png
--------------------------------------------------------------------------------
/Tools/com.renoise.EpicArpeggiator.xrnx/images/tab_ins_volume.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/renoise/tools/5e52df1e80f5e1963da66f98a01dc31d15db943b/Tools/com.renoise.EpicArpeggiator.xrnx/images/tab_ins_volume.png
--------------------------------------------------------------------------------
/Tools/com.renoise.EpicArpeggiator.xrnx/images/tab_note_matrix.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/renoise/tools/5e52df1e80f5e1963da66f98a01dc31d15db943b/Tools/com.renoise.EpicArpeggiator.xrnx/images/tab_note_matrix.png
--------------------------------------------------------------------------------
/Tools/com.renoise.EpicArpeggiator.xrnx/images/tab_note_octave.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/renoise/tools/5e52df1e80f5e1963da66f98a01dc31d15db943b/Tools/com.renoise.EpicArpeggiator.xrnx/images/tab_note_octave.png
--------------------------------------------------------------------------------
/Tools/com.renoise.EpicArpeggiator.xrnx/images/tab_note_profile.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/renoise/tools/5e52df1e80f5e1963da66f98a01dc31d15db943b/Tools/com.renoise.EpicArpeggiator.xrnx/images/tab_note_profile.png
--------------------------------------------------------------------------------
/Tools/com.renoise.EpicArpeggiator.xrnx/images/tab_options.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/renoise/tools/5e52df1e80f5e1963da66f98a01dc31d15db943b/Tools/com.renoise.EpicArpeggiator.xrnx/images/tab_options.png
--------------------------------------------------------------------------------
/Tools/com.renoise.EpicArpeggiator.xrnx/images/tab_pattern_arp.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/renoise/tools/5e52df1e80f5e1963da66f98a01dc31d15db943b/Tools/com.renoise.EpicArpeggiator.xrnx/images/tab_pattern_arp.png
--------------------------------------------------------------------------------
/Tools/com.renoise.EpicArpeggiator.xrnx/images/tab_pattern_arp_armed.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/renoise/tools/5e52df1e80f5e1963da66f98a01dc31d15db943b/Tools/com.renoise.EpicArpeggiator.xrnx/images/tab_pattern_arp_armed.png
--------------------------------------------------------------------------------
/Tools/com.renoise.EpicArpeggiator.xrnx/images/tab_pool_area.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/renoise/tools/5e52df1e80f5e1963da66f98a01dc31d15db943b/Tools/com.renoise.EpicArpeggiator.xrnx/images/tab_pool_area.png
--------------------------------------------------------------------------------
/Tools/com.renoise.EpicArpeggiator.xrnx/images/tab_presets.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/renoise/tools/5e52df1e80f5e1963da66f98a01dc31d15db943b/Tools/com.renoise.EpicArpeggiator.xrnx/images/tab_presets.png
--------------------------------------------------------------------------------
/Tools/com.renoise.EpicArpeggiator.xrnx/manifest.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | Epic Arpeggiator
4 | com.renoise.EpicArpeggiator
5 | 2.94
6 | 3.0
7 | Vincent Voois [ http://tinyurl.com/vvrns ]
8 | Pattern Editor
9 | Create new note sequences with a note matrix GUI and a lot of other very powerful arpeggiator features. Can be found in the 'Tools' menu as 'Epic Arpeggiator...'.
10 |
11 | http://tools.renoise.com
12 |
13 |
14 |
15 |
--------------------------------------------------------------------------------
/Tools/com.renoise.EpicArpeggiator.xrnx/midi_device.lua:
--------------------------------------------------------------------------------
1 | --[[============================================================================
2 | mididevice.lua
3 | ============================================================================]]--
4 |
5 | class "MidiDumper"
6 | function MidiDumper:__init(device_name)
7 | self.device_name = device_list[selected_device]
8 | end
9 |
10 | function MidiDumper:start()
11 | self.device = renoise.Midi.create_input_device(
12 | self.device_name,
13 | { self, MidiDumper.midi_callback },
14 | { MidiDumper.sysex_callback, self }
15 | )
16 | opened_device = self.device
17 | end
18 |
19 | function MidiDumper:stop()
20 | -- For some reason self.device turns nil here....
21 | -- Solved it by using selected_device as a global
22 | -- substitute.
23 | if opened_device then
24 | opened_device:close()
25 | opened_device = nil
26 | end
27 | end
28 |
29 |
30 | function MidiDumper:midi_callback(message)
31 | -- print(("%s: MidiDumper got MIDI %X %X %X"):format(
32 | -- self.device_name, message[1], message[2], message[3]))
33 | process_messages(message)
34 | end
35 |
36 | function MidiDumper:sysex_callback(message)
37 | print(("%s: MidiDumper got SYSEX with %d bytes"):format(
38 | self.device_name, #message))
39 | end
40 |
41 |
--------------------------------------------------------------------------------
/Tools/com.renoise.ExampleTool.xrnx/icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/renoise/tools/5e52df1e80f5e1963da66f98a01dc31d15db943b/Tools/com.renoise.ExampleTool.xrnx/icon.png
--------------------------------------------------------------------------------
/Tools/com.renoise.ExampleTool.xrnx/manifest.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | 6
4 | com.renoise.ExampleTool
5 | 1.0
6 | taktik [taktik@renoise.com]
7 | Renoise Scripting Tool Example
8 | Tool Development
9 | A XRNX tool which describes step by step and in depth how to create Renoise XRNX tools. Please have a look at the source files of this tool (manifest.xml and main.lua) for more info. Also creates a new menu 'Example Tool' in the global 'Tools' menu.
10 | http://scripting.renoise.com
11 | icon.png
12 | Windows, Mac, Linux
13 |
14 |
--------------------------------------------------------------------------------
/Tools/com.renoise.ExampleToolGui.xrnx/Bitmaps/MiniPiano.bmp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/renoise/tools/5e52df1e80f5e1963da66f98a01dc31d15db943b/Tools/com.renoise.ExampleToolGui.xrnx/Bitmaps/MiniPiano.bmp
--------------------------------------------------------------------------------
/Tools/com.renoise.ExampleToolGui.xrnx/Bitmaps/RenoiseLua.bmp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/renoise/tools/5e52df1e80f5e1963da66f98a01dc31d15db943b/Tools/com.renoise.ExampleToolGui.xrnx/Bitmaps/RenoiseLua.bmp
--------------------------------------------------------------------------------
/Tools/com.renoise.ExampleToolGui.xrnx/Bitmaps/RenoiseLua.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/renoise/tools/5e52df1e80f5e1963da66f98a01dc31d15db943b/Tools/com.renoise.ExampleToolGui.xrnx/Bitmaps/RenoiseLua.png
--------------------------------------------------------------------------------
/Tools/com.renoise.ExampleToolGui.xrnx/manifest.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | 6
4 | com.renoise.ExampleToolGui
5 | 1.0
6 | taktik [taktik@renoise.com]
7 | Renoise ViewBuilder API Example
8 | Tool Development
9 | A XRNX tool which describes step by step how to create custom GUIs for your Renoise XRNX tools. Please have a look at the source files of this tool (manifest.xml and main.lua) for more info. Also creates a new menu 'Example Tool GUI' in the global 'Tools' menu.
10 | http://scripting.renoise.com
11 |
12 |
--------------------------------------------------------------------------------
/Tools/com.renoise.ExampleToolSlicedProcess.xrnx/manifest.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | 6
4 | com.renoise.ExampleToolSlicedProcess
5 | 1.0
6 | taktik [taktik@renoise.com]
7 | Renoise Scripting Tool Example
8 | Tool Development
9 | Example tool that shows how to use coroutines to slice up processing functions.
10 |
11 |
--------------------------------------------------------------------------------
/Tools/com.renoise.FindAndReplace.xrnx/manifest.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | 5
4 | com.renoise.FindAndReplace
5 | 1.1
6 | taktik [taktik@renoise.com]
7 | PatternEditor Find And Replace
8 | Pattern Editor
9 | A tool for finding & replacing raw pattern data (notes, instruments, fx, ...). Has simple wildcard support and the ability to batch replace all occurrences. Shows up as 'Find And Replace...' in the Pattern Editor's context menu.
10 |
11 |
--------------------------------------------------------------------------------
/Tools/com.renoise.GridPie.xrnx/manifest.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | 6.1
4 | com.renoise.GridPie
5 | 1.0
6 | Dac Chartrand [dac@renoise.com]
7 | Grid Pie
8 | Renoise cut and pastry. Live sequence recombinator.
9 |
--------------------------------------------------------------------------------
/Tools/com.renoise.IRCclient.xrnx/manifest.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | 5
4 | com.renoise.IRCclient
5 | 1.22
6 | Vincent Voois ( http://tinyurl.com/vvrns )
7 | Simple IRC Client
8 | Tools
9 | Log on to #renoise on espernet
10 | http://tools.renoise.com
11 |
12 |
--------------------------------------------------------------------------------
/Tools/com.renoise.MidiConvert.xrnx/import.lua:
--------------------------------------------------------------------------------
1 | --[[============================================================================
2 | import.lua
3 | ============================================================================]]--
4 |
5 | --[[
6 |
7 | ProcessSlicer() related...
8 |
9 | I tried to make an OO class, but yield would throw:
10 | $ Error: attempt to yield across metamethod/C-call boundary
11 |
12 | I also tried to make a Lua module, but I got:
13 | $ Error: attempt to get length of upvalue [...]
14 |
15 | Dinked around for hours, gave up.
16 | Thusly, this file is procedural. Each function is to be prepended with `import_`
17 | Good times.
18 |
19 | ]]--
20 |
21 | --[[
22 |
23 | TODO:
24 | A lot of work. :)
25 |
26 | local example = Midi()
27 | example:importMid("/path/to/test.midi")
28 | print(example:getTxt())
29 | -- Or:
30 | -- rprint(example.tracks)
31 |
32 | ]]--
--------------------------------------------------------------------------------
/Tools/com.renoise.MidiConvert.xrnx/manifest.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | 5
4 | com.renoise.MidiConvert
5 | 0.96
6 | Dac Chartrand, Marvin Tjon, Bjorn Nesby, reaby
7 | Midi Convert
8 | Tools
9 | Converts a Renoise song into a MIDI file. Notes are grouped by instrument and exported per track. Creates "Export Song to MIDI..." in the File menu, "Selection:Export to MIDI..." in the Pattern Editor menu, and an "Export Selection to MIDI" keybinding.
10 | http://www.renoise.com
11 |
12 |
--------------------------------------------------------------------------------
/Tools/com.renoise.MidiPerformer.xrnx/manifest.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | 5
4 | com.renoise.MidiPerformer
5 | 0.21
6 | danoise [bjorn.nesby@gmail.com]
7 | MidiPerformer
8 | Midi
9 | A tool that brings basic MIDI record-arming to Renoise
10 |
11 |
12 |
--------------------------------------------------------------------------------
/Tools/com.renoise.MidiPerformer.xrnx/source/MP_Prefs.lua:
--------------------------------------------------------------------------------
1 | --[[============================================================================
2 | MP_Prefs
3 | ============================================================================]]--
4 |
5 | --[[
6 |
7 | Preferences for MidiPerformer
8 |
9 | TODO autoshow
10 |
11 | ]]
12 |
13 | --==============================================================================
14 |
15 | class 'MP_Prefs'(renoise.Document.DocumentNode)
16 |
17 | function MP_Prefs:__init()
18 |
19 | renoise.Document.DocumentNode.__init(self)
20 | self:add_property("autostart", renoise.Document.ObservableBoolean(true))
21 | self:add_property("autoshow", renoise.Document.ObservableBoolean(true))
22 | self:add_property("autofix_track_assignments", renoise.Document.ObservableBoolean(true))
23 | self:add_property("autoarm_on_edit_enable", renoise.Document.ObservableBoolean(true))
24 | self:add_property("disable_when_track_silent", renoise.Document.ObservableBoolean(true))
25 | self:add_property("disable_when_track_muted", renoise.Document.ObservableBoolean(true))
26 | self:reset()
27 |
28 | end
29 |
30 | -------------------------------------------------------------------------------
31 |
32 | function MP_Prefs:reset()
33 |
34 | self.autostart.value = true
35 | self.autoshow.value = true
36 | self.autofix_track_assignments.value = false
37 | self.autoarm_on_edit_enable.value = false
38 | self.disable_when_track_silent.value = true
39 | self.disable_when_track_muted.value = true
40 |
41 | end
42 |
43 |
--------------------------------------------------------------------------------
/Tools/com.renoise.Nibbles.xrnx/Bitmaps/cell_black.bmp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/renoise/tools/5e52df1e80f5e1963da66f98a01dc31d15db943b/Tools/com.renoise.Nibbles.xrnx/Bitmaps/cell_black.bmp
--------------------------------------------------------------------------------
/Tools/com.renoise.Nibbles.xrnx/Bitmaps/cell_grid.bmp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/renoise/tools/5e52df1e80f5e1963da66f98a01dc31d15db943b/Tools/com.renoise.Nibbles.xrnx/Bitmaps/cell_grid.bmp
--------------------------------------------------------------------------------
/Tools/com.renoise.Nibbles.xrnx/Bitmaps/cell_renlogo.bmp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/renoise/tools/5e52df1e80f5e1963da66f98a01dc31d15db943b/Tools/com.renoise.Nibbles.xrnx/Bitmaps/cell_renlogo.bmp
--------------------------------------------------------------------------------
/Tools/com.renoise.Nibbles.xrnx/Bitmaps/cell_snake.bmp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/renoise/tools/5e52df1e80f5e1963da66f98a01dc31d15db943b/Tools/com.renoise.Nibbles.xrnx/Bitmaps/cell_snake.bmp
--------------------------------------------------------------------------------
/Tools/com.renoise.Nibbles.xrnx/Bitmaps/cell_wall1.bmp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/renoise/tools/5e52df1e80f5e1963da66f98a01dc31d15db943b/Tools/com.renoise.Nibbles.xrnx/Bitmaps/cell_wall1.bmp
--------------------------------------------------------------------------------
/Tools/com.renoise.Nibbles.xrnx/Bitmaps/cell_wall2.bmp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/renoise/tools/5e52df1e80f5e1963da66f98a01dc31d15db943b/Tools/com.renoise.Nibbles.xrnx/Bitmaps/cell_wall2.bmp
--------------------------------------------------------------------------------
/Tools/com.renoise.Nibbles.xrnx/Bitmaps/cell_wall3.bmp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/renoise/tools/5e52df1e80f5e1963da66f98a01dc31d15db943b/Tools/com.renoise.Nibbles.xrnx/Bitmaps/cell_wall3.bmp
--------------------------------------------------------------------------------
/Tools/com.renoise.Nibbles.xrnx/Bitmaps/nibbles.bmp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/renoise/tools/5e52df1e80f5e1963da66f98a01dc31d15db943b/Tools/com.renoise.Nibbles.xrnx/Bitmaps/nibbles.bmp
--------------------------------------------------------------------------------
/Tools/com.renoise.Nibbles.xrnx/manifest.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | 5
4 | com.renoise.Nibbles
5 | 2.21
6 | 4Tey, KMaki, Dac Chartrand [dac@renoise.com]
7 | Nibbles
8 | Game
9 | Nibbles, what else?
10 |
11 |
--------------------------------------------------------------------------------
/Tools/com.renoise.Noodletrap.xrnx/classes/NTrapEvent.lua:
--------------------------------------------------------------------------------
1 | --[[============================================================================
2 | -- NTrap
3 | ============================================================================]]--
4 |
5 | --[[--
6 |
7 | MIDI/Note event for Noodletrap
8 |
9 | --]]
10 |
11 | --==============================================================================
12 |
13 |
14 | class 'NTrapEvent'
15 |
16 | function NTrapEvent:__init(...)
17 |
18 | local args = cLib.unpack_args(...)
19 |
20 | -- (number)
21 | self.timestamp = args.timestamp
22 |
23 | -- (bool)
24 | self.is_note_on = args.is_note_on
25 |
26 | -- (int) between 0 and 119
27 | self.pitch = args.pitch
28 |
29 | -- (int) between 0x00 and 0x7F
30 | self.velocity = args.velocity
31 |
32 | -- (int) renoise octave offset
33 | self.octave = args.octave
34 |
35 | -- (renoise.SongPos)
36 | self.playpos = args.playpos
37 |
38 | end
39 |
40 |
41 | function NTrapEvent:__tostring()
42 |
43 | return ("%s(timestamp = %s,"
44 | .."is_note_on = %s,"
45 | .."pitch = %s,"
46 | .."velocity = %s,"
47 | .."octave = %s,"
48 | .."playpos = %s)"):format(
49 | type(self),
50 | self.timestamp,
51 | tostring(self.is_note_on),
52 | tostring(self.pitch),
53 | tostring(self.velocity),
54 | tostring(self.octave),
55 | tostring(self.playpos))
56 |
57 |
58 | end
59 |
60 |
61 |
--------------------------------------------------------------------------------
/Tools/com.renoise.Noodletrap.xrnx/manifest.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | Noodletrap
4 | com.renoise.Noodletrap
5 | 0.98
6 | 5
7 | danoise (bjorn@renoise.com)
8 | Recording
9 | Noodletrap will allow you to record notes (a.k.a. 'noodlings') into the selected instrument via automatically allocated phrases. Launch from the tool menu, or by using the supplied keyboard/MIDI shortcuts
10 |
11 |
12 |
13 |
14 |
--------------------------------------------------------------------------------
/Tools/com.renoise.NotesRandomizer.xrnx/manifest.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | 5
4 | com.renoise.NotesRandomizer
5 | 1.11
6 | Dac Chartrand [dac@renoise.com]
7 | Randomize Notes
8 | Pattern Editor
9 | Randomizes or shuffles notes in various tonal modes and ranges, in order to create new random variations of existing sequences. Shows up as 'Randomize Notes...' in the Pattern Editors context menu and also creates some shortcuts (look for 'randomize') in the Pattern Editor.
10 |
11 |
--------------------------------------------------------------------------------
/Tools/com.renoise.NotesStrum.xrnx/manifest.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | 5
4 | com.renoise.NotesStrum
5 | 2.41
6 | Vincent Voois [ http://tinyurl.com/vvrns ]
7 | Strum Notes
8 | Pattern Editor
9 | Adds note delay values for notes on the same row, to get a plucked instrument alike effect.
10 | Can be found in the Pattern Editor's context menu (right click some where in the Pattern Editor).
11 |
12 | http://tools.renoise.com
13 |
14 |
--------------------------------------------------------------------------------
/Tools/com.renoise.PatternRotate.xrnx/manifest.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | 5
4 | com.renoise.PatternRotate
5 | 1.2
6 | Taktik (taktik@renoise.com)
7 | Rotate Pattern
8 | Pattern Editor
9 | Rotates pattern content (shift and wrap content around the pattern start and end) and automation points for the current pattern.
10 |
11 | Creates a new menu entry 'Rotate...' in the Pattern Editor's context menu. Also adds Pattern Editor shortcuts to quickly rotate selection content up and down.
12 |
13 |
--------------------------------------------------------------------------------
/Tools/com.renoise.PhraseMate.xrnx/manifest.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | 5
4 | com.renoise.PhraseMate
5 | 1.73
6 | danoise [bjorn.nesby@gmail.com]
7 | PhraseMate
8 | Pattern Editor, Phrase Editor
9 | A tool for writing instrument phrases into the pattern editor. Shows up as shortcut in the Tool menu, and the content menu of the Pattern Editor (the Selection/Track submenus).
10 |
11 |
--------------------------------------------------------------------------------
/Tools/com.renoise.PhraseMate.xrnx/manual/collect_capture_all_replace.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/renoise/tools/5e52df1e80f5e1963da66f98a01dc31d15db943b/Tools/com.renoise.PhraseMate.xrnx/manual/collect_capture_all_replace.png
--------------------------------------------------------------------------------
/Tools/com.renoise.PhraseMate.xrnx/manual/phrase_control.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/renoise/tools/5e52df1e80f5e1963da66f98a01dc31d15db943b/Tools/com.renoise.PhraseMate.xrnx/manual/phrase_control.png
--------------------------------------------------------------------------------
/Tools/com.renoise.PhraseMate.xrnx/manual/smart_write.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/renoise/tools/5e52df1e80f5e1963da66f98a01dc31d15db943b/Tools/com.renoise.PhraseMate.xrnx/manual/smart_write.png
--------------------------------------------------------------------------------
/Tools/com.renoise.PhraseMate.xrnx/manual/tab_prefs.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/renoise/tools/5e52df1e80f5e1963da66f98a01dc31d15db943b/Tools/com.renoise.PhraseMate.xrnx/manual/tab_prefs.png
--------------------------------------------------------------------------------
/Tools/com.renoise.PhraseMate.xrnx/manual/tab_presets.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/renoise/tools/5e52df1e80f5e1963da66f98a01dc31d15db943b/Tools/com.renoise.PhraseMate.xrnx/manual/tab_presets.png
--------------------------------------------------------------------------------
/Tools/com.renoise.PhraseMate.xrnx/manual/tab_props.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/renoise/tools/5e52df1e80f5e1963da66f98a01dc31d15db943b/Tools/com.renoise.PhraseMate.xrnx/manual/tab_props.png
--------------------------------------------------------------------------------
/Tools/com.renoise.PhraseMate.xrnx/manual/tab_read.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/renoise/tools/5e52df1e80f5e1963da66f98a01dc31d15db943b/Tools/com.renoise.PhraseMate.xrnx/manual/tab_read.png
--------------------------------------------------------------------------------
/Tools/com.renoise.PhraseMate.xrnx/manual/tab_write.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/renoise/tools/5e52df1e80f5e1963da66f98a01dc31d15db943b/Tools/com.renoise.PhraseMate.xrnx/manual/tab_write.png
--------------------------------------------------------------------------------
/Tools/com.renoise.PhraseMate.xrnx/manual/tab_zxx.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/renoise/tools/5e52df1e80f5e1963da66f98a01dc31d15db943b/Tools/com.renoise.PhraseMate.xrnx/manual/tab_zxx.png
--------------------------------------------------------------------------------
/Tools/com.renoise.Rubberband.xrnx/Makefile:
--------------------------------------------------------------------------------
1 | PACKAGE_NAME=`pwd | xargs -i% basename % .xrnx | sed -e 's/\./_/g'`
2 | VERSION_NO=`grep '' manifest.xml | sed 's/.*>\(.*\)<.*/\1/' | sed -e 's/\./_/g'`
3 | TARGET=$(shell echo $(PACKAGE_NAME)_V$(VERSION_NO).xrnx)
4 | FILES=manifest.xml *.lua bin/
5 |
6 | $(TARGET): $(FILES)
7 | zip -r $(TARGET) $(FILES) -x \*/.svn/\*
8 |
9 | clean:
10 | rm *.xrnx
11 |
--------------------------------------------------------------------------------
/Tools/com.renoise.Rubberband.xrnx/bin/osx/SOURCE.txt:
--------------------------------------------------------------------------------
1 | The source code for all of the dependent libraries included in this build,
2 | as well as for the Rubber Band library itself, are found in the same location
3 | as this file (http://code.breakfastquay.com/projects/rubberband/files/) under
4 | the name rubberband-1.5.0-dependent-lib-source.tar.bz2. Note that if you
5 | redistribute the binary, you must also redistribute the source code (or make
6 | other provisions for which you should refer to the terms of the GPLv2).
7 |
8 | If you have any trouble retrieving the source code necessary to build this
9 | executable, please contact us at bq@breakfastquay.com.
10 |
11 |
--------------------------------------------------------------------------------
/Tools/com.renoise.Rubberband.xrnx/bin/osx/rubberband:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/renoise/tools/5e52df1e80f5e1963da66f98a01dc31d15db943b/Tools/com.renoise.Rubberband.xrnx/bin/osx/rubberband
--------------------------------------------------------------------------------
/Tools/com.renoise.Rubberband.xrnx/bin/win32/SOURCE.txt:
--------------------------------------------------------------------------------
1 |
2 | The source code for all of the dependent libraries included in this build,
3 | as well as for the Rubber Band library itself, are found in the same location
4 | as this file (http://code.breakfastquay.com/projects/rubberband/files/) under
5 | the name rubberband-1.7.0-dependent-lib-source.tar.bz2. Note that if you
6 | redistribute this binary, you must also redistribute the source code (or make
7 | other provisions for which you should refer to the terms of the GPLv2).
8 |
9 | If you have any trouble retrieving the source code necessary to build this
10 | executable, please contact us at bq@breakfastquay.com.
11 |
12 |
--------------------------------------------------------------------------------
/Tools/com.renoise.Rubberband.xrnx/bin/win32/rubberband.exe:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/renoise/tools/5e52df1e80f5e1963da66f98a01dc31d15db943b/Tools/com.renoise.Rubberband.xrnx/bin/win32/rubberband.exe
--------------------------------------------------------------------------------
/Tools/com.renoise.Rubberband.xrnx/manifest.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | 5
4 | com.renoise.Rubberband
5 | 0.11
6 | Cly/Suva [clysuva@gmail.com]
7 | Rubberband timestretch & pitch shift
8 | Sample Editor
9 | Professional timestretching and pitch shifting utility, using the opensource timestretching utility Rubberband.
10 | Adds "Timestretch..." and 'Pitch Shift...' entries into Renoises Sample Editor "Process" menu.
11 |
12 | Allows the user to make precise time corrections to the samples to match the song tempo, or to create interesting effects like pad instruments from short stab sounds. This package includes windows and mac binaries, on linux, the rubberband utility must be installed manually by issuing a command "apt-get install rubberband" or what ever equivalent of your system.
13 |
14 | Rubberband is distributed under the terms of GPL and can be downloaded from http://www.breakfastquay.com/rubberband/
15 |
16 | This script is distributed under the terms of MIT licence.
17 |
18 | http://tools.renoise.com
19 |
20 |
--------------------------------------------------------------------------------
/Tools/com.renoise.ScaleMate.xrnx/manifest.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | 5
4 | com.renoise.ScaleMate
5 | 0.23
6 | danoise [bjorn.nesby@gmail.com]
7 | ScaleMate
8 | Midi
9 | ScaleMate provides easy control/recording of the instrument scale and key. The tool can be launched from Tools > ScaleMate, and adds a number of keyboard shortcuts and MIDI mappings
10 |
11 |
12 |
--------------------------------------------------------------------------------
/Tools/com.renoise.ScaleMate.xrnx/source/ScaleMate_Prefs.lua:
--------------------------------------------------------------------------------
1 | --[[===============================================================================================
2 | ScaleMate_Prefs
3 | ===============================================================================================]]--
4 | --[[
5 |
6 | Preferences for ScaleMate
7 |
8 | ]]
9 |
10 | --=================================================================================================
11 |
12 | class 'ScaleMate_Prefs'(renoise.Document.DocumentNode)
13 |
14 | function ScaleMate_Prefs:__init()
15 |
16 | renoise.Document.DocumentNode.__init(self)
17 | self:add_property("write_to_pattern", renoise.Document.ObservableBoolean(true))
18 |
19 | end
20 |
21 |
--------------------------------------------------------------------------------
/Tools/com.renoise.SelectionShaper.xrnx/images/RM-saw.bmp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/renoise/tools/5e52df1e80f5e1963da66f98a01dc31d15db943b/Tools/com.renoise.SelectionShaper.xrnx/images/RM-saw.bmp
--------------------------------------------------------------------------------
/Tools/com.renoise.SelectionShaper.xrnx/images/RM-sine.bmp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/renoise/tools/5e52df1e80f5e1963da66f98a01dc31d15db943b/Tools/com.renoise.SelectionShaper.xrnx/images/RM-sine.bmp
--------------------------------------------------------------------------------
/Tools/com.renoise.SelectionShaper.xrnx/images/RM-square.bmp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/renoise/tools/5e52df1e80f5e1963da66f98a01dc31d15db943b/Tools/com.renoise.SelectionShaper.xrnx/images/RM-square.bmp
--------------------------------------------------------------------------------
/Tools/com.renoise.SelectionShaper.xrnx/images/RM-tri.bmp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/renoise/tools/5e52df1e80f5e1963da66f98a01dc31d15db943b/Tools/com.renoise.SelectionShaper.xrnx/images/RM-tri.bmp
--------------------------------------------------------------------------------
/Tools/com.renoise.SelectionShaper.xrnx/images/arrow-left.bmp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/renoise/tools/5e52df1e80f5e1963da66f98a01dc31d15db943b/Tools/com.renoise.SelectionShaper.xrnx/images/arrow-left.bmp
--------------------------------------------------------------------------------
/Tools/com.renoise.SelectionShaper.xrnx/images/arrow-right.bmp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/renoise/tools/5e52df1e80f5e1963da66f98a01dc31d15db943b/Tools/com.renoise.SelectionShaper.xrnx/images/arrow-right.bmp
--------------------------------------------------------------------------------
/Tools/com.renoise.SelectionShaper.xrnx/images/center-amplify.bmp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/renoise/tools/5e52df1e80f5e1963da66f98a01dc31d15db943b/Tools/com.renoise.SelectionShaper.xrnx/images/center-amplify.bmp
--------------------------------------------------------------------------------
/Tools/com.renoise.SelectionShaper.xrnx/images/center-fade.bmp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/renoise/tools/5e52df1e80f5e1963da66f98a01dc31d15db943b/Tools/com.renoise.SelectionShaper.xrnx/images/center-fade.bmp
--------------------------------------------------------------------------------
/Tools/com.renoise.SelectionShaper.xrnx/images/copy.bmp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/renoise/tools/5e52df1e80f5e1963da66f98a01dc31d15db943b/Tools/com.renoise.SelectionShaper.xrnx/images/copy.bmp
--------------------------------------------------------------------------------
/Tools/com.renoise.SelectionShaper.xrnx/images/fade-in.bmp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/renoise/tools/5e52df1e80f5e1963da66f98a01dc31d15db943b/Tools/com.renoise.SelectionShaper.xrnx/images/fade-in.bmp
--------------------------------------------------------------------------------
/Tools/com.renoise.SelectionShaper.xrnx/images/fade-out.bmp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/renoise/tools/5e52df1e80f5e1963da66f98a01dc31d15db943b/Tools/com.renoise.SelectionShaper.xrnx/images/fade-out.bmp
--------------------------------------------------------------------------------
/Tools/com.renoise.SelectionShaper.xrnx/images/random.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/renoise/tools/5e52df1e80f5e1963da66f98a01dc31d15db943b/Tools/com.renoise.SelectionShaper.xrnx/images/random.png
--------------------------------------------------------------------------------
/Tools/com.renoise.SelectionShaper.xrnx/images/random_small.bmp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/renoise/tools/5e52df1e80f5e1963da66f98a01dc31d15db943b/Tools/com.renoise.SelectionShaper.xrnx/images/random_small.bmp
--------------------------------------------------------------------------------
/Tools/com.renoise.SelectionShaper.xrnx/images/resize_expand.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/renoise/tools/5e52df1e80f5e1963da66f98a01dc31d15db943b/Tools/com.renoise.SelectionShaper.xrnx/images/resize_expand.png
--------------------------------------------------------------------------------
/Tools/com.renoise.SelectionShaper.xrnx/images/resize_shrink.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/renoise/tools/5e52df1e80f5e1963da66f98a01dc31d15db943b/Tools/com.renoise.SelectionShaper.xrnx/images/resize_shrink.png
--------------------------------------------------------------------------------
/Tools/com.renoise.SelectionShaper.xrnx/images/shift-minus1.bmp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/renoise/tools/5e52df1e80f5e1963da66f98a01dc31d15db943b/Tools/com.renoise.SelectionShaper.xrnx/images/shift-minus1.bmp
--------------------------------------------------------------------------------
/Tools/com.renoise.SelectionShaper.xrnx/images/shift-minus24.bmp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/renoise/tools/5e52df1e80f5e1963da66f98a01dc31d15db943b/Tools/com.renoise.SelectionShaper.xrnx/images/shift-minus24.bmp
--------------------------------------------------------------------------------
/Tools/com.renoise.SelectionShaper.xrnx/images/shift-plus1.bmp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/renoise/tools/5e52df1e80f5e1963da66f98a01dc31d15db943b/Tools/com.renoise.SelectionShaper.xrnx/images/shift-plus1.bmp
--------------------------------------------------------------------------------
/Tools/com.renoise.SelectionShaper.xrnx/images/shift-plus24.bmp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/renoise/tools/5e52df1e80f5e1963da66f98a01dc31d15db943b/Tools/com.renoise.SelectionShaper.xrnx/images/shift-plus24.bmp
--------------------------------------------------------------------------------
/Tools/com.renoise.SelectionShaper.xrnx/images/wave-noise-brown.bmp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/renoise/tools/5e52df1e80f5e1963da66f98a01dc31d15db943b/Tools/com.renoise.SelectionShaper.xrnx/images/wave-noise-brown.bmp
--------------------------------------------------------------------------------
/Tools/com.renoise.SelectionShaper.xrnx/images/wave-noise-pink.bmp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/renoise/tools/5e52df1e80f5e1963da66f98a01dc31d15db943b/Tools/com.renoise.SelectionShaper.xrnx/images/wave-noise-pink.bmp
--------------------------------------------------------------------------------
/Tools/com.renoise.SelectionShaper.xrnx/images/wave-noise-violet.bmp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/renoise/tools/5e52df1e80f5e1963da66f98a01dc31d15db943b/Tools/com.renoise.SelectionShaper.xrnx/images/wave-noise-violet.bmp
--------------------------------------------------------------------------------
/Tools/com.renoise.SelectionShaper.xrnx/images/wave-noise-white.bmp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/renoise/tools/5e52df1e80f5e1963da66f98a01dc31d15db943b/Tools/com.renoise.SelectionShaper.xrnx/images/wave-noise-white.bmp
--------------------------------------------------------------------------------
/Tools/com.renoise.SelectionShaper.xrnx/images/wave-noise.bmp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/renoise/tools/5e52df1e80f5e1963da66f98a01dc31d15db943b/Tools/com.renoise.SelectionShaper.xrnx/images/wave-noise.bmp
--------------------------------------------------------------------------------
/Tools/com.renoise.SelectionShaper.xrnx/images/wave-saw.bmp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/renoise/tools/5e52df1e80f5e1963da66f98a01dc31d15db943b/Tools/com.renoise.SelectionShaper.xrnx/images/wave-saw.bmp
--------------------------------------------------------------------------------
/Tools/com.renoise.SelectionShaper.xrnx/images/wave-sine.bmp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/renoise/tools/5e52df1e80f5e1963da66f98a01dc31d15db943b/Tools/com.renoise.SelectionShaper.xrnx/images/wave-sine.bmp
--------------------------------------------------------------------------------
/Tools/com.renoise.SelectionShaper.xrnx/images/wave-sine2.bmp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/renoise/tools/5e52df1e80f5e1963da66f98a01dc31d15db943b/Tools/com.renoise.SelectionShaper.xrnx/images/wave-sine2.bmp
--------------------------------------------------------------------------------
/Tools/com.renoise.SelectionShaper.xrnx/images/wave-square.bmp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/renoise/tools/5e52df1e80f5e1963da66f98a01dc31d15db943b/Tools/com.renoise.SelectionShaper.xrnx/images/wave-square.bmp
--------------------------------------------------------------------------------
/Tools/com.renoise.SelectionShaper.xrnx/images/wave-tri.bmp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/renoise/tools/5e52df1e80f5e1963da66f98a01dc31d15db943b/Tools/com.renoise.SelectionShaper.xrnx/images/wave-tri.bmp
--------------------------------------------------------------------------------
/Tools/com.renoise.SelectionShaper.xrnx/images/whole-amplify.bmp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/renoise/tools/5e52df1e80f5e1963da66f98a01dc31d15db943b/Tools/com.renoise.SelectionShaper.xrnx/images/whole-amplify.bmp
--------------------------------------------------------------------------------
/Tools/com.renoise.SelectionShaper.xrnx/images/whole-fade.bmp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/renoise/tools/5e52df1e80f5e1963da66f98a01dc31d15db943b/Tools/com.renoise.SelectionShaper.xrnx/images/whole-fade.bmp
--------------------------------------------------------------------------------
/Tools/com.renoise.SelectionShaper.xrnx/manifest.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | 5
4 | com.renoise.SelectionShaper
5 | 3
6 | danoise [danoise@renoise.com]
7 | Selection Shaper Kai
8 | sample
9 | Generate and modify samples in Sample editor. The successor of 'org.uprime22.selection_shaper_kai by uprime22 & satobox'
10 |
11 |
--------------------------------------------------------------------------------
/Tools/com.renoise.SelectionShaper.xrnx/source/gui_util.lua:
--------------------------------------------------------------------------------
1 | bitmap_util = function()
2 | local bitmap = {}
3 | bitmap.flick_range = "images/arrow-right.bmp"
4 | bitmap.flick_back = "images/arrow-left.bmp"
5 | bitmap.sin_2pi = "images/wave-sine2.bmp"
6 | bitmap.saw = "images/wave-saw.bmp"
7 | bitmap.square = "images/wave-square.bmp"
8 | bitmap.triangle = "images/wave-tri.bmp"
9 | bitmap.white_noise = "images/wave-noise-white.bmp"
10 | bitmap.brown_noise = "images/wave-noise-brown.bmp"
11 | bitmap.violet_noise ="images/wave-noise-violet.bmp"
12 | bitmap.phase_shift_plus = "images/shift-plus24.bmp"
13 | bitmap.phase_shift_minus = "images/shift-minus24.bmp"
14 | bitmap.phase_shift_fine_plus = "images/shift-plus1.bmp"
15 | bitmap.phase_shift_fine_minus = "images/shift-minus1.bmp"
16 | bitmap.center_fade = "images/center-fade.bmp"
17 | bitmap.center_amplify = "images/center-amplify.bmp"
18 | bitmap.fade_out = "images/fade-out.bmp"
19 | bitmap.fade_in = "images/fade-in.bmp"
20 | bitmap.multiply_lower = "images/whole-fade.bmp"
21 | bitmap.multiply_raise = "images/whole-amplify.bmp"
22 | bitmap.random_wave = "images/random.png"
23 | bitmap.run_random = "images/random_small.bmp"
24 | bitmap.ring_mod_sin = "images/RM-sine.bmp"
25 | bitmap.ring_mod_saw = "images/RM-saw.bmp"
26 | bitmap.ring_mod_square = "images/RM-square.bmp"
27 | bitmap.ring_mod_triangle = "images/RM-tri.bmp"
28 | bitmap.pd_copy = nil
29 | bitmap.resize_expand = "images/resize_expand.png"
30 | bitmap.resize_shrink = "images/resize_shrink.png"
31 | return bitmap
32 | end
33 |
--------------------------------------------------------------------------------
/Tools/com.renoise.SliceMate.xrnx/docs/slicemate-workflow-sxx-edited.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/renoise/tools/5e52df1e80f5e1963da66f98a01dc31d15db943b/Tools/com.renoise.SliceMate.xrnx/docs/slicemate-workflow-sxx-edited.gif
--------------------------------------------------------------------------------
/Tools/com.renoise.SliceMate.xrnx/docs/slicemate-workflow-sxx-root.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/renoise/tools/5e52df1e80f5e1963da66f98a01dc31d15db943b/Tools/com.renoise.SliceMate.xrnx/docs/slicemate-workflow-sxx-root.gif
--------------------------------------------------------------------------------
/Tools/com.renoise.SliceMate.xrnx/docs/splash_big.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/renoise/tools/5e52df1e80f5e1963da66f98a01dc31d15db943b/Tools/com.renoise.SliceMate.xrnx/docs/splash_big.png
--------------------------------------------------------------------------------
/Tools/com.renoise.SliceMate.xrnx/manifest.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | 5
4 | com.renoise.SliceMate
5 | 0.251
6 | danoise [bjorn.nesby@gmail.com]
7 | SliceMate
8 | Pattern Editor, Sample, Slice
9 | A tool that makes it easy to slice and trigger samples/phrases within the pattern editor. To use the tool, search for SliceMate in Renoise preferences > keyboard shortcuts
10 |
11 |
12 |
--------------------------------------------------------------------------------
/Tools/com.renoise.SliceMate.xrnx/source/icons/detach.bmp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/renoise/tools/5e52df1e80f5e1963da66f98a01dc31d15db943b/Tools/com.renoise.SliceMate.xrnx/source/icons/detach.bmp
--------------------------------------------------------------------------------
/Tools/com.renoise.SliceMate.xrnx/source/icons/warning.bmp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/renoise/tools/5e52df1e80f5e1963da66f98a01dc31d15db943b/Tools/com.renoise.SliceMate.xrnx/source/icons/warning.bmp
--------------------------------------------------------------------------------
/Tools/com.renoise.Sononymph.xrnx/docs/screenshot.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/renoise/tools/5e52df1e80f5e1963da66f98a01dc31d15db943b/Tools/com.renoise.Sononymph.xrnx/docs/screenshot.png
--------------------------------------------------------------------------------
/Tools/com.renoise.Sononymph.xrnx/docs/splash-large.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/renoise/tools/5e52df1e80f5e1963da66f98a01dc31d15db943b/Tools/com.renoise.Sononymph.xrnx/docs/splash-large.png
--------------------------------------------------------------------------------
/Tools/com.renoise.Sononymph.xrnx/manifest.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | SononymPilot
4 | com.renoise.Sononymph
5 | 5
6 | 0.1
7 | danoise [bjorn.nesby@gmail.com]
8 | Integration
9 | This tool adds Sononym integration to Renoise. Launch from the Tools menu
10 | http://renoise.com/tools/xStream
11 |
12 |
--------------------------------------------------------------------------------
/Tools/com.renoise.Sononymph.xrnx/source/AppPrefs.lua:
--------------------------------------------------------------------------------
1 | class 'AppPrefs'(renoise.Document.DocumentNode)
2 |
3 | ---------------------------------------------------------------------------------------------------
4 | -- constructor, initialize with default values
5 |
6 | function AppPrefs:__init()
7 |
8 | renoise.Document.DocumentNode.__init(self)
9 |
10 | self:add_property("autostart", renoise.Document.ObservableBoolean(false))
11 | self:add_property("polling_interval", renoise.Document.ObservableNumber(1))
12 | self:add_property("path_to_exe", renoise.Document.ObservableString(""))
13 | self:add_property("path_to_config", renoise.Document.ObservableString(""))
14 | self:add_property("show_transfer_warning", renoise.Document.ObservableBoolean(true))
15 | self:add_property("show_search_warning", renoise.Document.ObservableBoolean(true))
16 | self:add_property("show_prefs", renoise.Document.ObservableBoolean(true))
17 |
18 | end
19 |
20 |
--------------------------------------------------------------------------------
/Tools/com.renoise.Sononymph.xrnx/source/icons/detach.bmp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/renoise/tools/5e52df1e80f5e1963da66f98a01dc31d15db943b/Tools/com.renoise.Sononymph.xrnx/source/icons/detach.bmp
--------------------------------------------------------------------------------
/Tools/com.renoise.Sononymph.xrnx/source/icons/logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/renoise/tools/5e52df1e80f5e1963da66f98a01dc31d15db943b/Tools/com.renoise.Sononymph.xrnx/source/icons/logo.png
--------------------------------------------------------------------------------
/Tools/com.renoise.Sononymph.xrnx/source/icons/warning.bmp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/renoise/tools/5e52df1e80f5e1963da66f98a01dc31d15db943b/Tools/com.renoise.Sononymph.xrnx/source/icons/warning.bmp
--------------------------------------------------------------------------------
/Tools/com.renoise.Soundcloud.xrnx/bin/osx/readme.txt:
--------------------------------------------------------------------------------
1 |
2 | SoundCloud Desktop Sharing Kit for Mac OS.
3 |
4 | This tool expects "__root__/bin/osx/Share On SoundCloud.app" to be here.
5 |
6 | @see: https://github.com/soundcloud/soundcloud-mac-sharing
7 |
--------------------------------------------------------------------------------
/Tools/com.renoise.Soundcloud.xrnx/bin/win/readme.txt:
--------------------------------------------------------------------------------
1 |
2 | SoundCloud Desktop Sharing Kit for Microsoft Windows.
3 |
4 | This tool expects "__root__/bin/win/Share On SoundCloud.exe" to be here.
5 |
6 | @see: https://github.com/soundcloud/soundcloud-win-sharing
7 |
--------------------------------------------------------------------------------
/Tools/com.renoise.Soundcloud.xrnx/manifest.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | 5
4 | com.renoise.Soundcloud
5 | 0.41
6 | Dac Chartrand [dac@renoise.com]
7 | Render Song to Soundcloud
8 | A simple interface to the SoundCloud Desktop Sharing Kit. Creates "Render Song to SoundCloud..." in the File menu. Renders a 32bit WAV with the same sample rate as your current settings, cubic interpolation.
9 | http://www.renoise.com
10 | Windows, Mac
11 |
12 |
--------------------------------------------------------------------------------
/Tools/com.renoise.TempoTap.xrnx/manifest.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | 5
4 | com.renoise.TempoTap
5 | 7.01
6 | bantai [marvin@renoise.com]
7 | Tempo Tap
8 | Song
9 | Sets or finds a new BPM value by tapping the beat on a really big button. Adds a new context menu entry 'Tempo Tap' to the 'Tools' menu.
10 | http://tools.renoise.com/tools/tempotap
11 |
12 |
--------------------------------------------------------------------------------
/Tools/com.renoise.ToggleDSPs.xrnx/manifest.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | 5
4 | com.renoise.ToggleDSPs
5 | 9.01
6 | Marvin Tjon | Bantai
7 | Toggle DSPs
8 | DSP
9 | Provides menu items and keybindings to toggle DSPs in the current track or in the whole song.
10 | http://tools.renoise.com/tools/toggle-dsps
11 |
12 |
--------------------------------------------------------------------------------
/Tools/com.renoise.ToolUpdater.xrnx/images/link-icon.bmp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/renoise/tools/5e52df1e80f5e1963da66f98a01dc31d15db943b/Tools/com.renoise.ToolUpdater.xrnx/images/link-icon.bmp
--------------------------------------------------------------------------------
/Tools/com.renoise.ToolUpdater.xrnx/manifest.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | 5
4 | com.renoise.ToolUpdater
5 | 6
6 | Bantai | marvin@renoise.com
7 | Tool Updater
8 | Tool Management
9 | Looks for available updates of installed Tools, which will then be downloaded from the Renoise server and installed.
10 | http://tools.renoise.com
11 |
12 |
--------------------------------------------------------------------------------
/Tools/com.renoise.UpdateChecker.xrnx/manifest.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | 5
4 | com.renoise.UpdateChecker
5 | 8
6 | bantai [marvin@renoise.com]
7 | Update Checker
8 | Networking
9 | Checks for Renoise updates.
10 | http://www.renoise.com/product-version-checker?prod=Renoise
11 |
12 |
--------------------------------------------------------------------------------
/Tools/com.renoise.VoiceRunner.xrnx/changelog.md:
--------------------------------------------------------------------------------
1 | # Changelog
2 |
3 | ## 1.03 - 9th July 2018
4 |
5 | - Fixed #144: "too many columns" dialog does not sort notes bug
6 | - Fixed #143: error when instantiating tool via context menu bug
7 |
8 | ## 1.02 - 23rd August 2016
9 |
10 | - New mode: "Compact" sort mode (see README for details)
11 | - Fixes a number of bugs for the "normal" sorting mode.
12 |
13 | ## 1.01 - 10th August 2016
14 |
15 | - FEATURE Added context-menu entries to pattern/phrase editor
16 | - FIXED Sort 'Whole Phrase' could throw error
17 | - FIXED Merge 'Whole Pattern' could throw error
18 | - FIXED Sorting phrases without sample columns + 'unique instrument' option enabled now working
19 |
20 | ## 1.00 - 9th August 2016
21 |
22 | - Initial release
23 |
--------------------------------------------------------------------------------
/Tools/com.renoise.VoiceRunner.xrnx/manifest.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | 5
4 | false
5 | com.renoise.VoiceRunner
6 | 1.03
7 | danoise [bjorn.nesby@gmail.com]
8 | VoiceRunner
9 | Pattern
10 | A tool for advanced sorting of notes in pattern-tracks and phrases
11 |
12 |
13 |
--------------------------------------------------------------------------------
/Tools/com.renoise.VoiceRunner.xrnx/manual/screenshot.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/renoise/tools/5e52df1e80f5e1963da66f98a01dc31d15db943b/Tools/com.renoise.VoiceRunner.xrnx/manual/screenshot.png
--------------------------------------------------------------------------------
/Tools/com.renoise.VoiceRunner.xrnx/manual/voice-runner-demo.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/renoise/tools/5e52df1e80f5e1963da66f98a01dc31d15db943b/Tools/com.renoise.VoiceRunner.xrnx/manual/voice-runner-demo.gif
--------------------------------------------------------------------------------
/Tools/com.renoise.VoiceRunner.xrnx/manual/voice-runner-navigation.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/renoise/tools/5e52df1e80f5e1963da66f98a01dc31d15db943b/Tools/com.renoise.VoiceRunner.xrnx/manual/voice-runner-navigation.gif
--------------------------------------------------------------------------------
/Tools/com.renoise.VoiceRunner.xrnx/userdata/templates/Default.lua:
--------------------------------------------------------------------------------
1 | --[[============================================================================
2 | Default.lua
3 | ============================================================================]]--
4 |
5 | return = {
6 | note_columns = {
7 | {note=48, name="C-4"},
8 | {note=49, name="C#4"},
9 | {note=50, name="D-4"},
10 | {note=51, name="D#4"},
11 | {note=52, name="E-4"},
12 | {note=53, name="F-4"},
13 | {note=54, name="F#4"},
14 | {note=55, name="G-4"},
15 | {note=56, name="G#4"},
16 | {note=57, name="A-4"},
17 | {note=58, name="A#4"},
18 | {note=59, name="B-4"},
19 | },
20 | }
21 |
--------------------------------------------------------------------------------
/Tools/com.renoise.VoiceRunner.xrnx/userdata/templates/Octave C4.lua:
--------------------------------------------------------------------------------
1 | --[[============================================================================
2 | Octave C4.lua
3 | ============================================================================]]--
4 |
5 | return = {
6 | note_columns = {
7 | {note=48, name="C-4"},
8 | {note=49, name="C#4"},
9 | {note=50, name="D-4"},
10 | {note=51, name="D#4"},
11 | {note=52, name="E-4"},
12 | {note=53, name="F-4"},
13 | {note=54, name="F#4"},
14 | {note=55, name="G-4"},
15 | {note=56, name="G#4"},
16 | {note=57, name="A-4"},
17 | {note=58, name="A#4"},
18 | {note=59, name="B-4"},
19 | },
20 | }
21 |
--------------------------------------------------------------------------------
/Tools/com.renoise.Xrni-Merger.xrnx/manifest.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | XRNI-Merger
4 | com.renoise.Xrni-Merger
5 | 0.9
6 | 4
7 | danoise (bjorn@renoise.com)
8 | Instrument Management
9 | This tool will allow merging resources from two instruments. Invoke the tool by right-clicking an instrument, or by selecting it from the tools menu
10 |
11 |
12 |
13 |
14 |
--------------------------------------------------------------------------------
/Tools/com.renoise.ZeroCrossings.xrnx/manifest.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | 5
4 | com.renoise.ZeroCrossings
5 | 1.01
6 | danoise [bjorn.nesby@gmail.com]
7 | ZeroCrossings
8 | Sample Editor
9 | Automatically create slices for each zero crossing. Launch the tool by right-clicking in the waveform editor, or assigning a keyboard shortcut
10 | http://www.renoise.com/tools/zerocrossings
11 |
12 |
--------------------------------------------------------------------------------
/Tools/com.renoise.cLib.xrnx/README.md:
--------------------------------------------------------------------------------
1 | # About cLib
2 |
3 | This library ("cLib = core library") is a suite of classes to support the Renoise API.
4 | Learn more by opening the README (located in the cLib folder).
5 |
6 | ## Planned
7 | Extend this tool with unit-tests, using a unit-test class (cTestRunner)
8 |
--------------------------------------------------------------------------------
/Tools/com.renoise.cLib.xrnx/manifest.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | 5
4 | com.renoise.cLib
5 | 1.0
6 | danoise [bjorn.nesby@gmail.com]
7 | cLib
8 | Core Library
9 | The cLib library contains basic functionality (file-system, data-access) for the Renoise API. Launch a demo from Tools > cLib Demo
10 |
11 |
12 |
--------------------------------------------------------------------------------
/Tools/com.renoise.cLib.xrnx/unit_tests/Test-cNumber.lua:
--------------------------------------------------------------------------------
1 | --[[
2 |
3 | Testcase for cNumber
4 |
5 | --]]
6 |
7 | _tests:insert({
8 | name = "cNumber",
9 | fn = function()
10 |
11 | LOG(">>> cNumber: starting unit-test...")
12 |
13 | cLib.require (_clibroot.."cNumber")
14 | _trace_filters = {"^cNumber*"}
15 |
16 | -- basic accessors
17 |
18 | local cnum = cNumber{
19 | value_min = 1,
20 | value_max = 100,
21 | value_quantum = 1,
22 | value = 50,
23 | }
24 |
25 | LOG("cnum",cnum)
26 | LOG("cnum.value",cnum.value)
27 | LOG("type(cnum)",type(cnum))
28 | LOG("type(cnum.value)",type(cnum.value))
29 | LOG("cnum()",cnum()) -- __call
30 | LOG("cnum('value')",cnum('value')) -- __call
31 | LOG("cnum.newvalue",cnum.newvalue) -- __newindex (N/A)
32 | LOG("#cnum",#cnum) -- __len
33 |
34 | cnum = cnum+20
35 | assert(cnum()==70)
36 |
37 | cnum = cnum-50
38 | assert(cnum()==20)
39 |
40 | cnum = cnum*2
41 | assert(cnum()==40)
42 |
43 | cnum = cnum/4
44 | assert(cnum()==10)
45 |
46 | LOG("cnum.value",cnum.value)
47 |
48 | -- construct based on existing instance
49 |
50 | local cnum2 = cNumber(cnum)
51 |
52 | LOG("cnum2",cnum)
53 | LOG("cnum2.value",cnum2.value)
54 |
55 | LOG(">>> cNumber: OK - passed all tests")
56 |
57 | end
58 | })
59 |
60 |
--------------------------------------------------------------------------------
/Tools/com.renoise.cLib.xrnx/unit_tests/Test-cTable.lua:
--------------------------------------------------------------------------------
1 | --[[
2 | local foo = {1,2,3}
3 | local bar = {
4 | one = 1,
5 | two = 2,
6 | three = 3
7 | }
8 | local baz = {
9 | one = 1,
10 | two = 2,
11 | three = 3,
12 | 4,
13 | }
14 |
15 | function table_count(t)
16 | local n=0
17 | if ("table" == type(t)) then
18 | for key in pairs(t) do
19 | n = n + 1
20 | end
21 | return n
22 | else
23 | return nil
24 | end
25 | end
26 |
27 | print("foo",table_count(foo))
28 | print("bar",table_count(bar))
29 | rprint(bar)
30 |
31 | local function isArray(t)
32 | local i = 0
33 | for _ in pairs(t) do
34 | i = i + 1
35 | if t[i] == nil then return false end
36 | end
37 | return true
38 | end
39 |
40 | print("isArray foo",isArray(foo))
41 | print("isArray bar",isArray(bar))
42 | print("isArray baz",isArray(baz))
43 | ]]
--------------------------------------------------------------------------------
/Tools/com.renoise.cLib.xrnx/unit_tests/example_preferences.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | true
4 |
5 | 2- SL MkII
6 | LoopBe Internal MIDI
7 | Automap MIDI
8 |
9 |
10 | LoopBe Internal MIDI
11 |
12 | 8000
13 | 127.0.0.1
14 |
15 |
16 | m128
17 | false
18 | 8002
19 | 8082
20 | 127.0.0.1
21 | /duplex
22 |
23 |
24 |
25 |
26 |
27 |
--------------------------------------------------------------------------------
/Tools/com.renoise.vLib.xrnx/README.md:
--------------------------------------------------------------------------------
1 | # com.renoise.vLib.xrnx
2 |
3 | vLib is a pure lua library which can add additional GUI features to your Renoise tools.
4 | This tool contains interactive instances of those components, and is used for testing and demonstration purposes.
5 |
6 | ## More information
7 |
8 | To learn more about vLib, [look here](https://github.com/renoise/xrnx/tree/master/Tools/com.renoise.vLib.xrnx/vLib)
9 |
--------------------------------------------------------------------------------
/Tools/com.renoise.vLib.xrnx/manifest.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | 5
4 | com.renoise.vLib
5 | 1.0
6 | danoise [bjorn.nesby@gmail.com]
7 | vLib
8 | UI Library
9 | The vLib library contains some useful enhancements to the Renoise ViewBuilder API. Launch a demo from Tools > vLib Demo
10 | http://renoise.com/tools/vLib
11 |
12 |
--------------------------------------------------------------------------------
/Tools/com.renoise.vLibBoilerPlate.xrnx/README.md:
--------------------------------------------------------------------------------
1 | # Renoise tool boilerplate -
2 |
3 | A simple renoise boilerplate - using cLib + vLib as the foundation.
4 | You can use this code as the foundation for writing your own tool.
5 |
6 | Demonstrates the following features:
7 |
8 | * How to configure vLib (extended UI library for Renoise)
9 | * How to launch a basic dialog
10 | * How to implement autostart (dialog+preferences)
11 |
12 | ## Installation
13 |
14 | **Via Renoise tools page**
15 | This example comes with _batteries included_, since the necessary components (vLib, cLib) are part of the distribution. In other words, install it like any other tool.
16 |
17 | **Via Github**
18 | If you've got the code from github, you need to obtain the most recent version of vLib and cLib.
19 |
20 | ## A few notes
21 |
22 | In this boilerplate, ui and preferences are implemented as separate classes. Whether you like classes or not is a matter of taste - vLib doesn't force a specific programming pattern on you (it's modelled over the viewbuilder API. If you are not familiar with that, I highly recommend studying the [docs][1] before you start using vLib)
23 |
24 | That said, I prefer to follow this kind of programming pattern as all my tools are generally of a medium-to-large size. I have no plans of creating an additional example using a different approach.
25 |
26 | [1]: https://github.com/renoise/xrnx/blob/master/Documentation/Renoise.ViewBuilder.API.lua
27 |
28 |
--------------------------------------------------------------------------------
/Tools/com.renoise.vLibBoilerPlate.xrnx/manifest.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | 5
4 | com.renoise.vLibBoilerPlate
5 | 0.1
6 | danoise [bjorn.nesby@gmail.com]
7 | vLibBoilerPlate
8 | Midi
9 | A barebones example of a vLib-based tool. Creates a dialog, nothing else.
10 |
11 |
12 |
--------------------------------------------------------------------------------
/Tools/com.renoise.vLibBoilerPlate.xrnx/source/vLibBoilerPlate_Prefs.lua:
--------------------------------------------------------------------------------
1 | --[[===============================================================================================
2 | vLibBoilerPlate
3 | ===============================================================================================]]--
4 |
5 | --[[
6 |
7 | Preferences for vLibBoilerPlate. Having it as a class means that we can e.g. add
8 | methods like "reset to factory defaults" or "export to file" (none of which
9 | are present in this barebones example).
10 |
11 | There isn't really a "cost to having it as a class, you can still reference
12 | preferences in the usual manner (hint: this reference is set up in main.lua)
13 |
14 | ]]
15 |
16 | --=================================================================================================
17 |
18 | class 'vLibBoilerPlate_Prefs'(renoise.Document.DocumentNode)
19 |
20 | function vLibBoilerPlate_Prefs:__init()
21 |
22 | renoise.Document.DocumentNode.__init(self)
23 | self:add_property("autostart", renoise.Document.ObservableBoolean(true))
24 |
25 | end
26 |
27 |
--------------------------------------------------------------------------------
/Tools/com.renoise.xCleaner.xrnx/manifest.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | 5
4 | true
5 | com.renoise.xCleaner
6 | 1.01
7 | danoise [bjorn.nesby@gmail.com]
8 | xCleaner
9 | Instrument
10 | Clean up an instrument by removing unused samples, modulation sets or effect chains. Launch by right-clicking in the instrument list
11 |
12 |
13 |
--------------------------------------------------------------------------------
/Tools/com.renoise.xLib.xrnx/README.md:
--------------------------------------------------------------------------------
1 | # com.renoise.xLib.xrnx
2 |
3 | xLib is a pure lua library which can add additional functionality to your Renoise tools.
4 | This tool contains some unit-tests of the various classes contained in xLib.
5 |
6 | ## More information
7 |
8 | To learn more about xLib, [look here](https://github.com/renoise/xrnx/tree/master/Tools/com.renoise.xLib.xrnx/source/xLib)
9 |
--------------------------------------------------------------------------------
/Tools/com.renoise.xLib.xrnx/manifest.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | 5
4 | com.renoise.xLib
5 | 0.1
6 | danoise [bjorn.nesby@gmail.com]
7 | xLib
8 |
9 | Unit tests for the xLib library
10 |
11 |
--------------------------------------------------------------------------------
/Tools/com.renoise.xLib.xrnx/unit_tests/Test-xInstrument.lua:
--------------------------------------------------------------------------------
1 | -- get_slice_marker_at_pos
2 | -- get_slice_marker_after_pos
3 | -- get_num_frames_in_slice
4 | -- etc
--------------------------------------------------------------------------------
/Tools/com.renoise.xLib.xrnx/unit_tests/Test-xLinePattern.lua:
--------------------------------------------------------------------------------
1 | -- TODO test static methods
2 | -- get_effect_command
3 | -- get_midi_command
--------------------------------------------------------------------------------
/Tools/com.renoise.xLib.xrnx/unit_tests/Test-xMidiMessage.lua:
--------------------------------------------------------------------------------
1 | --[[
2 |
3 | Testcase for xMidiMessage
4 |
5 | --]]
6 |
7 | _xlib_tests:insert({
8 | name = "xMidiMessage",
9 | fn = function()
10 |
11 | LOG(">>> xMidiMessage: starting unit-test...")
12 |
13 | --require (_clibroot.."cDocument")
14 | --require (_xlibroot.."xMessage")
15 | cLib.require (_xlibroot.."xMidiMessage")
16 | _trace_filters = {"^xMidiMessage*"}
17 |
18 | --error("No tests defined...")
19 |
20 | LOG(">>> xMidiMessage: OK - passed all tests")
21 |
22 | end
23 | })
24 |
--------------------------------------------------------------------------------
/Tools/com.renoise.xLib.xrnx/unit_tests/Test-xOscMessage.lua:
--------------------------------------------------------------------------------
1 | --[[
2 |
3 | Testcase for xOscMessage
4 |
5 | --]]
6 |
7 | _xlib_tests:insert({
8 | name = "xOscMessage",
9 | fn = function()
10 |
11 | LOG(">>> xOscMessage: starting unit-test...")
12 |
13 | --require (_clibroot.."cDocument")
14 | --require (_xlibroot.."xMessage")
15 | --require (_xlibroot.."xOscDevice")
16 | --require (_xlibroot.."xValue")
17 | cLib.require (_xlibroot.."xOscValue")
18 | cLib.require (_xlibroot.."xOscMessage")
19 | _trace_filters = {"^xOscMessage*"}
20 |
21 | LOG("construct xOscMessage from scratch")
22 | local msg = xOscMessage{
23 | values = {
24 | {tag = xOscValue.TAG.STRING, value = "foo"},
25 | {tag = xOscValue.TAG.INTEGER, value = 32},
26 | {tag = xOscValue.TAG.FLOAT, value = 3.14},
27 | },
28 | }
29 |
30 | assert(msg.values[1].value,"foo")
31 | assert(msg.values[2].value,32)
32 | assert(msg.values[3].value,3.14)
33 |
34 | LOG("construct xOscMessage from renoise.Osc.Message")
35 | local pattern = "/test/input/"
36 | local arguments = {
37 | {tag = xOscValue.TAG.STRING, value = "foo"},
38 | {tag = xOscValue.TAG.INTEGER, value = 32},
39 | {tag = xOscValue.TAG.FLOAT, value = 3.14},
40 | }
41 | local native_msg = renoise.Osc.Message(pattern,arguments)
42 | local msg = xOscMessage(native_msg)
43 |
44 | assert(msg.values[1].value,"foo")
45 | assert(msg.values[2].value,32)
46 | assert(msg.values[3].value,3.14)
47 |
48 | LOG(">>> xOscMessage: OK - passed all tests")
49 |
50 | end
51 | })
52 |
--------------------------------------------------------------------------------
/Tools/com.renoise.xLib.xrnx/unit_tests/Test-xPatternSequencer.lua:
--------------------------------------------------------------------------------
1 | -- TODO test static methods
2 |
3 |
4 | -- get_pattern_at_index
5 |
6 |
--------------------------------------------------------------------------------
/Tools/com.renoise.xLib.xrnx/unit_tests/example_preferences.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | true
4 |
5 | 2- SL MkII
6 | LoopBe Internal MIDI
7 | Automap MIDI
8 |
9 |
10 | LoopBe Internal MIDI
11 |
12 | 8000
13 | 127.0.0.1
14 |
15 |
16 | m128
17 | false
18 | 8002
19 | 8082
20 | 127.0.0.1
21 | /duplex
22 |
23 |
24 |
25 |
26 |
27 |
--------------------------------------------------------------------------------
/Tools/com.renoise.xLib.xrnx/unit_tests/example_preferences_output.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | true
4 |
5 |
6 | 8000
7 | 127.0.0.1
8 |
9 | < type="lua_model:xOscDevice">
10 | m128
11 | false
12 | 8002
13 | 8082
14 | 127.0.0.1
15 | /duplex
16 | >
17 |
18 |
19 |
--------------------------------------------------------------------------------
/Tools/com.renoise.xRules.xrnx/manifest.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | xRules
4 | com.renoise.xRules
5 | 0.8
6 | 5
7 | danoise (bjorn@renoise.com)
8 | MIDI
9 | xRules will allow you to rewrite and route incoming MIDI messages, using the built-in OSC server in Renoise. Launch from the tool menu, or by using the supplied keyboard/MIDI shortcuts
10 |
11 |
12 |
13 |
14 |
--------------------------------------------------------------------------------
/Tools/com.renoise.xRules.xrnx/rulesets/examples/Fixed Channel #.lua:
--------------------------------------------------------------------------------
1 | -----------------------------------------------------------
2 | -- Ruleset definition for xRules
3 | -- Visit http://www.renoise.com/tools/xrules for more info
4 | -----------------------------------------------------------
5 | return {
6 | osc_enabled = false,
7 | manage_voices = false,
8 | description = "",
9 | {
10 | osc_pattern = {
11 | pattern_in = "",
12 | pattern_out = "",
13 | },
14 | name = "",
15 | actions = {
16 | {
17 | set_channel = 1,
18 | },
19 | {
20 | output_message = "internal_raw",
21 | },
22 | },
23 | conditions = {},
24 | match_any = true,
25 | midi_enabled = true,
26 | }
27 | }
--------------------------------------------------------------------------------
/Tools/com.renoise.xRules.xrnx/rulesets/examples/Launchpad Feedback.lua:
--------------------------------------------------------------------------------
1 | -----------------------------------------------------------
2 | -- Ruleset definition for xRules
3 | -- More info @ http://www.renoise.com/tools/xrules
4 | -----------------------------------------------------------
5 | return {
6 | osc_enabled = false,
7 | manage_voices = false,
8 | description = "",
9 | {
10 | ["osc_pattern"] = {
11 | ["pattern_in"] = "",
12 | ["pattern_out"] = "",
13 | },
14 | ["name"] = "",
15 | ["actions"] = {
16 | {
17 | ["call_function"] = [[if (type(cc_toggle)=="nil") then
18 | cc_toggle = false
19 | end
20 | if (values[1] == 111) then
21 | if (values[2] == 127) then
22 | cc_toggle = not cc_toggle
23 | end
24 | values[2] = cc_toggle and 127 or 0
25 | end
26 | ]],
27 | },
28 | {
29 | ["output_message"] = "internal_raw",
30 | },
31 | {
32 | ["output_message"] = "external_midi",
33 | },
34 | },
35 | ["conditions"] = {},
36 | ["match_any"] = true,
37 | ["midi_enabled"] = true,
38 | }
39 | }
--------------------------------------------------------------------------------
/Tools/com.renoise.xRules.xrnx/rulesets/examples/MIDIToTracks.lua:
--------------------------------------------------------------------------------
1 | -----------------------------------------------------------
2 | -- Ruleset definition for xRules
3 | -- More info @ http://www.renoise.com/tools/xrules
4 | -----------------------------------------------------------
5 | return {
6 | osc_enabled = false,
7 | manage_voices = false,
8 | description = [[Demonstrates how to route incoming MIDI notes into specific tracks
9 | (in this case, C-2 goes to track 01 and D-2 goes to track 02)
10 | ]],
11 | {
12 | ["actions"] = {
13 | {
14 | ["call_function"] = [[-- set to this instrument (NB: 01 is "00" in Renoise)
15 | instrument_index = 1
16 | if (message_type == "note_on")
17 | or (message_type == "note_off") then
18 | -- specify track routings
19 | if (values[1] == 24) then -- C-2
20 | track_index = 1
21 | elseif (values[1] == 26) then -- D-2
22 | track_index = 2
23 | end
24 | end ]],
25 | },
26 | {
27 | ["output_message"] = 1,
28 | },
29 | },
30 | ["conditions"] = {},
31 | ["match_any"] = true,
32 | ["midi_enabled"] = true,
33 | ["name"] = "",
34 | ["osc_pattern"] = {
35 | ["pattern_in"] = "",
36 | ["pattern_out"] = "",
37 | },
38 | }
39 | }
--------------------------------------------------------------------------------
/Tools/com.renoise.xRules.xrnx/rulesets/examples/Set MIDI-out port.lua:
--------------------------------------------------------------------------------
1 | -----------------------------------------------------------
2 | -- Ruleset definition for xRules
3 | -- Visit http://www.renoise.com/tools/xrules for more info
4 | -----------------------------------------------------------
5 | return {
6 | osc_enabled = false,
7 | manage_voices = false,
8 | description = "",
9 | {
10 | osc_pattern = {
11 | pattern_in = "",
12 | pattern_out = "",
13 | },
14 | name = "",
15 | actions = {
16 | {
17 | set_port_name = "LoopBe Internal MIDI",
18 | },
19 | {
20 | output_message = "external_midi",
21 | },
22 | {
23 | set_port_name = "loopMIDI Port",
24 | },
25 | {
26 | output_message = "external_midi",
27 | },
28 | },
29 | conditions = {},
30 | match_any = true,
31 | midi_enabled = true,
32 | }
33 | }
--------------------------------------------------------------------------------
/Tools/com.renoise.xRules.xrnx/rulesets/examples/TouchOSC.lua:
--------------------------------------------------------------------------------
1 | -----------------------------------------------------------
2 | -- Ruleset definition for xRules
3 | -- Visit http://www.renoise.com/tools/xrules for more info
4 | -----------------------------------------------------------
5 | return {
6 | osc_enabled = true,
7 | manage_voices = false,
8 | description = [["Automapping" an XY Pad: the function will pass value 1+2 into any
9 | selected XY Pad - automation can be recorded too (enable edit mode)
10 | ]],
11 | {
12 | osc_pattern = {
13 | pattern_in = "/accxyz %f %f %f",
14 | pattern_out = "",
15 | },
16 | name = "Tilt → XY Pad",
17 | actions = {
18 | {
19 | call_function = [[--rprint(values)
20 | local dev = rns.selected_device
21 | if dev and (dev.name == "*XY Pad") then
22 | local param_x = dev.parameters[1]
23 | local param_y = dev.parameters[2]
24 | local track_idx = rns.selected_track_index
25 | local y = cLib.scale_value(values[1],1,-1,0,1)
26 | local x = cLib.scale_value(values[2],-1,1,0,1)
27 | x = cLib.clamp_value(x,0,1
28 | y = cLib.clamp_value(y,0,1)
29 | if rns.transport.edit_mode then
30 | record_automation(track_idx,param_x,x)
31 | record_automation(track_idx,param_y,y)
32 | else
33 | if not has_automation(track_idx,param_x) then
34 | param_x.value = x
35 | end
36 | if not has_automation(track_idx,param_y) then
37 | param_y.value = y
38 | end
39 | end
40 | end
41 | ]],
42 | },
43 | },
44 | conditions = {},
45 | match_any = true,
46 | midi_enabled = false,
47 | }
48 | }
--------------------------------------------------------------------------------
/Tools/com.renoise.xRules.xrnx/rulesets/test/A very long name for which I am not sure there is room enough.lua:
--------------------------------------------------------------------------------
1 | -----------------------------------------------------------
2 | -- Ruleset definition for xRules
3 | -- Visit http://www.renoise.com/tools/xrules for more info
4 | -----------------------------------------------------------
5 | return {
6 | {
7 | actions = {
8 | {
9 | output_message = 1,
10 | },
11 | {
12 | output_message = 1,
13 | },
14 | {
15 | output_message = 1,
16 | },
17 | },
18 | conditions = {
19 | {
20 | channel = {
21 | equal_to = 1,
22 | },
23 | },
24 | {
25 | channel = {
26 | equal_to = 1,
27 | },
28 | },
29 | },
30 | },
31 | {
32 | actions = {},
33 | conditions = {},
34 | }
35 | }
--------------------------------------------------------------------------------
/Tools/com.renoise.xRules.xrnx/rulesets/test/Empty.lua:
--------------------------------------------------------------------------------
1 | {
2 | -- should add empty set
3 | }
--------------------------------------------------------------------------------
/Tools/com.renoise.xRules.xrnx/rulesets/test/Not a ruleset.lua:
--------------------------------------------------------------------------------
1 | -- This is not a valid ruleset
2 | -- (needs to have at least some kind of 'return' statement)
--------------------------------------------------------------------------------
/Tools/com.renoise.xRules.xrnx/rulesets/test/Syntax error.lua:
--------------------------------------------------------------------------------
1 | ------------------------------------------------------------- Ruleset definition for xRules-- Visit http://www.renoise.com/tools/xrules for more info-----------------------------------------------------------return { name = Untitled ruleset (1),{
2 | actions = {},
3 | conditions = {},
4 | }}
--------------------------------------------------------------------------------
/Tools/com.renoise.xRules.xrnx/rulesets/test/mmmmmmmmmmmmmmmmmmmmmmmmmmmmmm.lua:
--------------------------------------------------------------------------------
1 | -----------------------------------------------------------
2 | -- Ruleset definition for xRules
3 | -- Visit http://www.renoise.com/tools/xrules for more info
4 | -----------------------------------------------------------
5 | return {
6 | osc_enabled = false,
7 | manage_voices = false,
8 | description = "",{
9 | actions = {},
10 | conditions = {},
11 | }
12 | }
--------------------------------------------------------------------------------
/Tools/com.renoise.xRules.xrnx/source/icons/key_small.bmp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/renoise/tools/5e52df1e80f5e1963da66f98a01dc31d15db943b/Tools/com.renoise.xRules.xrnx/source/icons/key_small.bmp
--------------------------------------------------------------------------------
/Tools/com.renoise.xRules.xrnx/source/icons/logo-disabled.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/renoise/tools/5e52df1e80f5e1963da66f98a01dc31d15db943b/Tools/com.renoise.xRules.xrnx/source/icons/logo-disabled.png
--------------------------------------------------------------------------------
/Tools/com.renoise.xRules.xrnx/source/icons/logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/renoise/tools/5e52df1e80f5e1963da66f98a01dc31d15db943b/Tools/com.renoise.xRules.xrnx/source/icons/logo.png
--------------------------------------------------------------------------------
/Tools/com.renoise.xRules.xrnx/source/icons/midi_small.bmp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/renoise/tools/5e52df1e80f5e1963da66f98a01dc31d15db943b/Tools/com.renoise.xRules.xrnx/source/icons/midi_small.bmp
--------------------------------------------------------------------------------
/Tools/com.renoise.xRules.xrnx/source/icons/osc_small.bmp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/renoise/tools/5e52df1e80f5e1963da66f98a01dc31d15db943b/Tools/com.renoise.xRules.xrnx/source/icons/osc_small.bmp
--------------------------------------------------------------------------------
/Tools/com.renoise.xRules.xrnx/source/icons/save.bmp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/renoise/tools/5e52df1e80f5e1963da66f98a01dc31d15db943b/Tools/com.renoise.xRules.xrnx/source/icons/save.bmp
--------------------------------------------------------------------------------
/Tools/com.renoise.xRules.xrnx/source/xRulesAppDialogHelp.lua:
--------------------------------------------------------------------------------
1 | --[[============================================================================
2 | xRulesAppDialogHelp
3 | ============================================================================]]--
4 |
5 | --[[
6 |
7 | This is a supporting class for xRulesApp
8 |
9 | ]]
10 |
11 | --==============================================================================
12 |
13 | class 'xRulesAppDialogHelp' (vDialog)
14 |
15 | function xRulesAppDialogHelp:__init(ui)
16 |
17 | -- xRulesUI, instance of parent class
18 | self.ui = ui
19 |
20 | -- string
21 | self.dialog_title = "xRules - help & reference"
22 |
23 | vDialog.__init(self)
24 |
25 | end
26 |
27 | -------------------------------------------------------------------------------
28 | -- (overridden method)
29 | -- @return renoise.Views.Rack
30 |
31 | function xRulesAppDialogHelp:create_dialog()
32 |
33 | local vb = self.vb
34 |
35 | return vb:column{
36 | vb:multiline_text{
37 | width = 400,
38 | height = 300,
39 | font = "mono",
40 | text = [[xRules - help & reference
41 | -----------------------------------------------------------
42 |
43 | ]]
44 | },
45 | }
46 |
47 | end
48 |
49 |
--------------------------------------------------------------------------------
/Tools/com.renoise.xStream.xrnx/README.md:
--------------------------------------------------------------------------------
1 |
2 | ██╗ ██╗███████╗████████╗██████╗ ███████╗ █████╗ ███╗ ███╗
3 | ╚██╗██╔╝██╔════╝╚══██╔══╝██╔══██╗██╔════╝██╔══██╗████╗ ████║
4 | ╚███╔╝ ███████╗ ██║ ██████╔╝█████╗ ███████║██╔████╔██║
5 | ██╔██╗ ╚════██║ ██║ ██╔══██╗██╔══╝ ██╔══██║██║╚██╔╝██║
6 | ██╔╝ ██╗███████║ ██║ ██║ ██║███████╗██║ ██║██║ ╚═╝ ██║
7 | ╚═╝ ╚═╝╚══════╝ ╚═╝ ╚═╝ ╚═╝╚══════╝╚═╝ ╚═╝╚═╝ ╚═╝
8 |
9 |
10 | xStream is a tool for Renoise that can generate and transform musical data, using a subset of the lua language. The tool supports real-time operation as well as offline processing.
11 |
12 | ## [Introduction](docs/introduction.md)
13 |
14 | ## [The User Interface](docs/user_interface.md)
15 |
16 | ## [About Models](docs/about_models.md)
17 |
18 | ## [Some Examples](docs/example_models.md)
19 |
20 | ## [Coding with xStream](docs/coding_intro.md)
21 |
22 | ## [xStream Lua Reference](docs/lua_reference.md)
23 |
24 | ## [Keyboard/MIDI mappings](docs/shortcuts_and_mappings.md)
25 |
26 | ## Links and resources
27 |
28 | * Download from the [Renoise tools page](http://www.renoise.com/tools/xstream) (latest release)
29 | * Visit the [Renoise forum](http://forum.renoise.com/index.php/topic/45618-new-tool-3031-xstream/) for discussion and bug reports.
30 | * Source code is located on [github](https://github.com/renoise/xrnx/tree/master/Tools/com.renoise.xStream.xrnx)
31 |
32 |
--------------------------------------------------------------------------------
/Tools/com.renoise.xStream.xrnx/docs/about_models.md:
--------------------------------------------------------------------------------
1 | # About Models
2 |
3 | The model is where it all comes together in xStream. And a big subject to cover, so it has been split into a number of topics:
4 |
5 | ## [Coding with xStream](coding_intro.md)
6 |
7 | * Explains how real-time streaming can be done from a few lines of code.
8 | * Shows you how to work with methods and data.
9 |
10 | ## [Model arguments](model_arguments.md)
11 |
12 | * Allows you to control the behaviour of a model while it's running.
13 | * Learn how to create new arguments, and what their properties mean.
14 |
15 | ## [Model events](model_events.md)
16 |
17 | * Handle when internal arguments in a model has changed.
18 | * Respond to external events, such as MIDI Input or the Renoise API.
19 |
20 | ## [Files & formats](file_formats.md)
21 |
22 | * Easily exchangable, plain-text Lua or XML files
23 | * How the xStream userdata folder works
24 |
25 | > < Previous - [The User Interface](user_interface.md) | Next - [Examples](example_models.md) >
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
--------------------------------------------------------------------------------
/Tools/com.renoise.xStream.xrnx/docs/code_editor.md:
--------------------------------------------------------------------------------
1 | # UI: Code Editor
2 |
3 | < [The user interface](user_interface.md)
4 |
5 | The code editor is a basic textfield. It is responsible for showing you the code for the selected aspect (e.g. the `main` method), and the whether the code is valid or contains some kind of error.
6 |
7 |
8 |
9 | |Name|Description|
10 | |----|-----------|
11 | | Lines | Adjust how many lines the editor should use
12 | | Status | Provides feedback on the state of the code. Errors are displayed with a warning sign, which you can click or mouse-over for more details.
13 | | View | This popup lists the available aspects, starting `main` method, and then continuing with `data` and `events`.
14 | | Add | Adds a new aspect to the model. Clicking it will bring up the [events & data](events_data.md) dialog
15 | | Rename | Click to rename the aspect (currently, data is the only type which can be renamed).
16 | | Delete | Applies to data and events.
17 |
18 |
--------------------------------------------------------------------------------
/Tools/com.renoise.xStream.xrnx/docs/events_userdata.md:
--------------------------------------------------------------------------------
1 | #### Events & Data
2 |
3 | Clicking the '+' button in the code editor will bring up the Events & Data dialog. Here you can add predefined data or set up event handlers for your model:
4 |
5 |
6 |
7 | ##### Event dialog
8 |
9 | This page contains every type of event which is accessible to you.
10 |
11 |
12 | _Event dialog showing the model events selector_
13 |
14 |
15 | * **Arguments** - The list will contain all defined arguments for the currently loaded model.
16 | * **Model events** - Lists all events which are related to the model (MIDI, voice-manager)
17 | * **Renoise events** - Lists all recognized Renoise API events
18 |
19 | ##### Data dialog
20 |
21 |
22 |
23 | This page asks you to specify a name for your data. The name has to be unique (not already in use) and a valid Lua identifier (normal latin characters, and not beginning with a number). You can choose a type too, such as `number` or `string`.
24 |
25 | When you press 'Done', a small code template is generated, according to the type of value you chose. Note that you can change this type at any time - the template is only meant as a starting point.
26 |
27 |
--------------------------------------------------------------------------------
/Tools/com.renoise.xStream.xrnx/docs/example_models.md:
--------------------------------------------------------------------------------
1 | # Bundled examples
2 |
3 | To help illustrate how this works, xStream comes with 'batteries included' - various examples that demonstrate its possibilities. They will help you to get a hang of the basics, and then some.
4 |
5 | |Name|Description|
6 | |----|-----------|
7 | |**Arpeggiator**|A real-time, MIDI-controllable arpeggiator. There is always room for an arpeggiator.
8 | |**Step Sequencer**|A step sequencer with a pattern-FX module for some more unusual effects.
9 | |**VoiceMgr - Live**|A demonstration of a live MIDI recording workflow, using the voice-manager to control the note duration, polyphony limit and other things.
10 | |**Exponential Delay**|Create 'bouncing ball' simulations, among other things. The controls correspond to physical aspects such as 'gravity', 'energy' and can create a wide variety of rhythms.
11 | |**Euclidean Rhythms**|Explore Euclidean number ratios to generate rhythms and melodies.
12 | |**Granular**|Swervy swarms of chopped-up sounds, using pitch and sample offset commands. Works best on ambient and atmospheric sounds.
13 | |**Chord Memory**|This model can read chords from the pattern and apply them anywhere. Useful to create shapshots of chord progressions.
14 |
15 | > < Previous - [About Models](about_models.md) | Next - [Coding with xStream](coding_intro.md) >
16 |
--------------------------------------------------------------------------------
/Tools/com.renoise.xStream.xrnx/docs/favorites.md:
--------------------------------------------------------------------------------
1 | # Favorites
2 |
3 | The favorites grid provides a visual overview of the models and presets that you want quick access to.
4 |
5 |
6 |
7 | Note that the grid is fully MIDI mappable (CMD/CTRL+M) and can be triggered via keyboard shortcuts (Renoise Preferences > Keys, search for 'xstream').
8 |
9 | #### Editing favorites
10 |
11 | Click the 'Edit' checkbox to enter editing mode, with a number of options for each preset:
12 |
13 | * **Model/Bank/Preset** - choose the model and/or preset to store at this position.
14 | * **Launch** - specify the launch mode.
15 | * AUTOMATIC (default) - will automatically decide how to apply the favorite.
16 | * If not playing and a selection has been defined, apply to selection
17 | * If not playing and no selection exist, apply to track
18 | * Otherwise, produce streaming output
19 | * STREAMING - force favorite to use streaming mode (online)
20 | * TRACK - apply to track (offline)
21 | * SELECTION - apply to selection (offline)
22 |
23 |
--------------------------------------------------------------------------------
/Tools/com.renoise.xStream.xrnx/docs/file_formats.md:
--------------------------------------------------------------------------------
1 | # xStream file formats
2 |
3 | ## Models
4 |
5 | Models are saved and loaded as .lua files. This type of file can be edited in any text-editor, and copy-pasted as plain text. That makes it easy to exchange models with other people, or keep track of changes.
6 |
7 | ## Presets
8 |
9 | ...
10 |
11 | ## Preset Banks
12 |
13 | ...
14 |
--------------------------------------------------------------------------------
/Tools/com.renoise.xStream.xrnx/docs/images/argument_editor.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/renoise/tools/5e52df1e80f5e1963da66f98a01dc31d15db943b/Tools/com.renoise.xStream.xrnx/docs/images/argument_editor.png
--------------------------------------------------------------------------------
/Tools/com.renoise.xStream.xrnx/docs/images/argument_list.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/renoise/tools/5e52df1e80f5e1963da66f98a01dc31d15db943b/Tools/com.renoise.xStream.xrnx/docs/images/argument_list.png
--------------------------------------------------------------------------------
/Tools/com.renoise.xStream.xrnx/docs/images/argument_tabbed.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/renoise/tools/5e52df1e80f5e1963da66f98a01dc31d15db943b/Tools/com.renoise.xStream.xrnx/docs/images/argument_tabbed.png
--------------------------------------------------------------------------------
/Tools/com.renoise.xStream.xrnx/docs/images/arguments.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/renoise/tools/5e52df1e80f5e1963da66f98a01dc31d15db943b/Tools/com.renoise.xStream.xrnx/docs/images/arguments.png
--------------------------------------------------------------------------------
/Tools/com.renoise.xStream.xrnx/docs/images/callback_dialog.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/renoise/tools/5e52df1e80f5e1963da66f98a01dc31d15db943b/Tools/com.renoise.xStream.xrnx/docs/images/callback_dialog.png
--------------------------------------------------------------------------------
/Tools/com.renoise.xStream.xrnx/docs/images/callback_dialog_data.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/renoise/tools/5e52df1e80f5e1963da66f98a01dc31d15db943b/Tools/com.renoise.xStream.xrnx/docs/images/callback_dialog_data.png
--------------------------------------------------------------------------------
/Tools/com.renoise.xStream.xrnx/docs/images/callback_dialog_events.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/renoise/tools/5e52df1e80f5e1963da66f98a01dc31d15db943b/Tools/com.renoise.xStream.xrnx/docs/images/callback_dialog_events.png
--------------------------------------------------------------------------------
/Tools/com.renoise.xStream.xrnx/docs/images/code_editor.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/renoise/tools/5e52df1e80f5e1963da66f98a01dc31d15db943b/Tools/com.renoise.xStream.xrnx/docs/images/code_editor.png
--------------------------------------------------------------------------------
/Tools/com.renoise.xStream.xrnx/docs/images/euclidean.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/renoise/tools/5e52df1e80f5e1963da66f98a01dc31d15db943b/Tools/com.renoise.xStream.xrnx/docs/images/euclidean.gif
--------------------------------------------------------------------------------
/Tools/com.renoise.xStream.xrnx/docs/images/favorites_grid.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/renoise/tools/5e52df1e80f5e1963da66f98a01dc31d15db943b/Tools/com.renoise.xStream.xrnx/docs/images/favorites_grid.png
--------------------------------------------------------------------------------
/Tools/com.renoise.xStream.xrnx/docs/images/global_toolbar.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/renoise/tools/5e52df1e80f5e1963da66f98a01dc31d15db943b/Tools/com.renoise.xStream.xrnx/docs/images/global_toolbar.png
--------------------------------------------------------------------------------
/Tools/com.renoise.xStream.xrnx/docs/images/model_toolbar.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/renoise/tools/5e52df1e80f5e1963da66f98a01dc31d15db943b/Tools/com.renoise.xStream.xrnx/docs/images/model_toolbar.png
--------------------------------------------------------------------------------
/Tools/com.renoise.xStream.xrnx/docs/images/options_general.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/renoise/tools/5e52df1e80f5e1963da66f98a01dc31d15db943b/Tools/com.renoise.xStream.xrnx/docs/images/options_general.png
--------------------------------------------------------------------------------
/Tools/com.renoise.xStream.xrnx/docs/images/options_midi.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/renoise/tools/5e52df1e80f5e1963da66f98a01dc31d15db943b/Tools/com.renoise.xStream.xrnx/docs/images/options_midi.png
--------------------------------------------------------------------------------
/Tools/com.renoise.xStream.xrnx/docs/images/options_output.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/renoise/tools/5e52df1e80f5e1963da66f98a01dc31d15db943b/Tools/com.renoise.xStream.xrnx/docs/images/options_output.png
--------------------------------------------------------------------------------
/Tools/com.renoise.xStream.xrnx/docs/images/options_streaming.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/renoise/tools/5e52df1e80f5e1963da66f98a01dc31d15db943b/Tools/com.renoise.xStream.xrnx/docs/images/options_streaming.png
--------------------------------------------------------------------------------
/Tools/com.renoise.xStream.xrnx/docs/images/preset_bank.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/renoise/tools/5e52df1e80f5e1963da66f98a01dc31d15db943b/Tools/com.renoise.xStream.xrnx/docs/images/preset_bank.png
--------------------------------------------------------------------------------
/Tools/com.renoise.xStream.xrnx/docs/images/preset_list.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/renoise/tools/5e52df1e80f5e1963da66f98a01dc31d15db943b/Tools/com.renoise.xStream.xrnx/docs/images/preset_list.png
--------------------------------------------------------------------------------
/Tools/com.renoise.xStream.xrnx/docs/images/presets.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/renoise/tools/5e52df1e80f5e1963da66f98a01dc31d15db943b/Tools/com.renoise.xStream.xrnx/docs/images/presets.png
--------------------------------------------------------------------------------
/Tools/com.renoise.xStream.xrnx/docs/images/screenshot.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/renoise/tools/5e52df1e80f5e1963da66f98a01dc31d15db943b/Tools/com.renoise.xStream.xrnx/docs/images/screenshot.png
--------------------------------------------------------------------------------
/Tools/com.renoise.xStream.xrnx/docs/known_limitations.md:
--------------------------------------------------------------------------------
1 | # Known limitations, gotchas
2 |
3 | **xStream operation is limited to a single track**. This is an intentional limitation, to make give the tool a certain focus and simplicity. The roadmap however, involves multiple concurrent streaming processes. And [workarounds] exist, too.
4 |
5 | **xStream requires steady updates:** xStream is based on the Renoise API, which is running in the UI thread of the software. This means that you've got an update rate which might vary, according to the CPU load. As a result, gaps might appear in the output - finetune this behaviour in options dialog (writeahead factor).
6 |
7 | **UI Modal Dialogs:** A modal dialog is a specific type of dialogs which prevent you from accessing the program until you have chosen an action, with a common example being the "Are you sure you want to XX" prompt. Triggering this type of dialog should be avoided while streaming, as it will produce a gap in the output while visible.
8 |
9 | **Lua block comments:** The block comment is a special form of comment that allows you to wrap an entire section of text, using square brackets. The xStream editor will **not** allow you to enter this type of comment:
10 |
11 | --[[
12 | A block comment
13 | can span several lines
14 | ...
15 | ]]
16 |
17 | You should get a warning if you enter such a comment and try to save the model.
18 | You can only use regular line comments such as this one
19 |
20 | -- this is a comment
21 | print("And this is code")
22 |
23 |
24 |
--------------------------------------------------------------------------------
/Tools/com.renoise.xStream.xrnx/docs/model_data.md:
--------------------------------------------------------------------------------
1 | # Models - Data
2 |
3 | Data are values that the model can use while it is running. Data can be added through the UI, and is especially useful for initializing a value to some initial state.
4 |
5 | Data can be specified as one of the following types:
6 |
7 | number
8 | table
9 | boolean
10 | string
11 | function
--------------------------------------------------------------------------------
/Tools/com.renoise.xStream.xrnx/docs/model_events.md:
--------------------------------------------------------------------------------
1 | ## Events
2 |
3 | TODO
4 |
--------------------------------------------------------------------------------
/Tools/com.renoise.xStream.xrnx/docs/shortcuts_and_mappings.md:
--------------------------------------------------------------------------------
1 | # Keyboard shortcuts and MIDI mappings
2 |
3 | This page lists the default mappings for the tool.
4 |
5 | Note that a model might register additional MIDI mappings with Renoise, and respond directly to the MIDI input device you have specified in xStream.
6 |
7 | ## Favorites
8 |
9 | Favorites:Favorite #01 [Trigger]
10 | Favorites:Favorite #02 [Trigger]
11 | Favorites:Favorite #03 [Trigger]
12 | Etc...
13 |
14 | ## Presets
15 |
16 | Presets:Preset #01 [Trigger]
17 | Presets:Preset #02 [Trigger]
18 | Presets:Preset #03 [Trigger]
19 | ...
20 | Presets:Select Next Preset [Trigger]
21 | Presets:Select Previous Preset [Trigger]
22 |
23 | ## Apply
24 |
25 | Apply to Track [Trigger]
26 | Apply to Selection (Local) [Trigger]
27 | Apply to Selection [Trigger]
28 | Apply to Line (Local) [Trigger]
29 | Apply to Line [Trigger]
30 |
31 |
32 |
--------------------------------------------------------------------------------
/Tools/com.renoise.xStream.xrnx/docs/user_interface.md:
--------------------------------------------------------------------------------
1 | # The user interface
2 |
3 |
4 |
5 |
6 | This is what the tool could look like.
7 |
8 | # Main parts
9 |
10 | ## [1. Main toolbar](main_toolbar.md)
11 |
12 | ## [2. Code Editor](code_editor.md)
13 |
14 | ## [3. Preset/Bank](preset_bank.md)
15 |
16 | ## [4. Arguments](model_arguments.md)
17 |
18 |
19 | > < Previous - [Introduction](introduction.md) | Next - [About Models](about_models.md) >
20 |
21 |
22 |
--------------------------------------------------------------------------------
/Tools/com.renoise.xStream.xrnx/manifest.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | xStream
4 | com.renoise.xStream
5 | 5
6 | 1.6
7 | danoise [bjorn.nesby@gmail.com]
8 | Renoise Team
9 | xStream is a live coding environment for Renoise which can generate or transform existing song data. Launch by using the shortcut in the Tools menu
10 | http://renoise.com/tools/xStream
11 |
12 |
--------------------------------------------------------------------------------
/Tools/com.renoise.xStream.xrnx/source/icons/add.bmp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/renoise/tools/5e52df1e80f5e1963da66f98a01dc31d15db943b/Tools/com.renoise.xStream.xrnx/source/icons/add.bmp
--------------------------------------------------------------------------------
/Tools/com.renoise.xStream.xrnx/source/icons/bind_or_poll.bmp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/renoise/tools/5e52df1e80f5e1963da66f98a01dc31d15db943b/Tools/com.renoise.xStream.xrnx/source/icons/bind_or_poll.bmp
--------------------------------------------------------------------------------
/Tools/com.renoise.xStream.xrnx/source/icons/delete.bmp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/renoise/tools/5e52df1e80f5e1963da66f98a01dc31d15db943b/Tools/com.renoise.xStream.xrnx/source/icons/delete.bmp
--------------------------------------------------------------------------------
/Tools/com.renoise.xStream.xrnx/source/icons/delete_small.bmp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/renoise/tools/5e52df1e80f5e1963da66f98a01dc31d15db943b/Tools/com.renoise.xStream.xrnx/source/icons/delete_small.bmp
--------------------------------------------------------------------------------
/Tools/com.renoise.xStream.xrnx/source/icons/lock.bmp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/renoise/tools/5e52df1e80f5e1963da66f98a01dc31d15db943b/Tools/com.renoise.xStream.xrnx/source/icons/lock.bmp
--------------------------------------------------------------------------------
/Tools/com.renoise.xStream.xrnx/source/icons/logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/renoise/tools/5e52df1e80f5e1963da66f98a01dc31d15db943b/Tools/com.renoise.xStream.xrnx/source/icons/logo.png
--------------------------------------------------------------------------------
/Tools/com.renoise.xStream.xrnx/source/icons/maximize.bmp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/renoise/tools/5e52df1e80f5e1963da66f98a01dc31d15db943b/Tools/com.renoise.xStream.xrnx/source/icons/maximize.bmp
--------------------------------------------------------------------------------
/Tools/com.renoise.xStream.xrnx/source/icons/minimize.bmp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/renoise/tools/5e52df1e80f5e1963da66f98a01dc31d15db943b/Tools/com.renoise.xStream.xrnx/source/icons/minimize.bmp
--------------------------------------------------------------------------------
/Tools/com.renoise.xStream.xrnx/source/icons/move_down.bmp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/renoise/tools/5e52df1e80f5e1963da66f98a01dc31d15db943b/Tools/com.renoise.xStream.xrnx/source/icons/move_down.bmp
--------------------------------------------------------------------------------
/Tools/com.renoise.xStream.xrnx/source/icons/move_up.bmp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/renoise/tools/5e52df1e80f5e1963da66f98a01dc31d15db943b/Tools/com.renoise.xStream.xrnx/source/icons/move_up.bmp
--------------------------------------------------------------------------------
/Tools/com.renoise.xStream.xrnx/source/icons/open.bmp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/renoise/tools/5e52df1e80f5e1963da66f98a01dc31d15db943b/Tools/com.renoise.xStream.xrnx/source/icons/open.bmp
--------------------------------------------------------------------------------
/Tools/com.renoise.xStream.xrnx/source/icons/pin.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/renoise/tools/5e52df1e80f5e1963da66f98a01dc31d15db943b/Tools/com.renoise.xStream.xrnx/source/icons/pin.png
--------------------------------------------------------------------------------
/Tools/com.renoise.xStream.xrnx/source/icons/preset_bank.bmp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/renoise/tools/5e52df1e80f5e1963da66f98a01dc31d15db943b/Tools/com.renoise.xStream.xrnx/source/icons/preset_bank.bmp
--------------------------------------------------------------------------------
/Tools/com.renoise.xStream.xrnx/source/icons/presets.bmp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/renoise/tools/5e52df1e80f5e1963da66f98a01dc31d15db943b/Tools/com.renoise.xStream.xrnx/source/icons/presets.bmp
--------------------------------------------------------------------------------
/Tools/com.renoise.xStream.xrnx/source/icons/refresh.bmp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/renoise/tools/5e52df1e80f5e1963da66f98a01dc31d15db943b/Tools/com.renoise.xStream.xrnx/source/icons/refresh.bmp
--------------------------------------------------------------------------------
/Tools/com.renoise.xStream.xrnx/source/icons/rename.bmp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/renoise/tools/5e52df1e80f5e1963da66f98a01dc31d15db943b/Tools/com.renoise.xStream.xrnx/source/icons/rename.bmp
--------------------------------------------------------------------------------
/Tools/com.renoise.xStream.xrnx/source/icons/reveal_folder.bmp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/renoise/tools/5e52df1e80f5e1963da66f98a01dc31d15db943b/Tools/com.renoise.xStream.xrnx/source/icons/reveal_folder.bmp
--------------------------------------------------------------------------------
/Tools/com.renoise.xStream.xrnx/source/icons/save.bmp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/renoise/tools/5e52df1e80f5e1963da66f98a01dc31d15db943b/Tools/com.renoise.xStream.xrnx/source/icons/save.bmp
--------------------------------------------------------------------------------
/Tools/com.renoise.xStream.xrnx/source/icons/save_as.bmp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/renoise/tools/5e52df1e80f5e1963da66f98a01dc31d15db943b/Tools/com.renoise.xStream.xrnx/source/icons/save_as.bmp
--------------------------------------------------------------------------------
/Tools/com.renoise.xStream.xrnx/source/icons/stack_input_a.bmp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/renoise/tools/5e52df1e80f5e1963da66f98a01dc31d15db943b/Tools/com.renoise.xStream.xrnx/source/icons/stack_input_a.bmp
--------------------------------------------------------------------------------
/Tools/com.renoise.xStream.xrnx/source/icons/stack_input_b.bmp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/renoise/tools/5e52df1e80f5e1963da66f98a01dc31d15db943b/Tools/com.renoise.xStream.xrnx/source/icons/stack_input_b.bmp
--------------------------------------------------------------------------------
/Tools/com.renoise.xStream.xrnx/source/icons/stack_input_c.bmp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/renoise/tools/5e52df1e80f5e1963da66f98a01dc31d15db943b/Tools/com.renoise.xStream.xrnx/source/icons/stack_input_c.bmp
--------------------------------------------------------------------------------
/Tools/com.renoise.xStream.xrnx/source/icons/stack_input_d.bmp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/renoise/tools/5e52df1e80f5e1963da66f98a01dc31d15db943b/Tools/com.renoise.xStream.xrnx/source/icons/stack_input_d.bmp
--------------------------------------------------------------------------------
/Tools/com.renoise.xStream.xrnx/source/icons/stack_input_none.bmp:
--------------------------------------------------------------------------------
1 | BMH 6 (
--------------------------------------------------------------------------------
/Tools/com.renoise.xStream.xrnx/source/icons/stack_input_patt - Copy.bmp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/renoise/tools/5e52df1e80f5e1963da66f98a01dc31d15db943b/Tools/com.renoise.xStream.xrnx/source/icons/stack_input_patt - Copy.bmp
--------------------------------------------------------------------------------
/Tools/com.renoise.xStream.xrnx/source/icons/stack_input_patt.bmp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/renoise/tools/5e52df1e80f5e1963da66f98a01dc31d15db943b/Tools/com.renoise.xStream.xrnx/source/icons/stack_input_patt.bmp
--------------------------------------------------------------------------------
/Tools/com.renoise.xStream.xrnx/source/icons/stack_output_none.bmp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/renoise/tools/5e52df1e80f5e1963da66f98a01dc31d15db943b/Tools/com.renoise.xStream.xrnx/source/icons/stack_output_none.bmp
--------------------------------------------------------------------------------
/Tools/com.renoise.xStream.xrnx/source/icons/stack_output_pass_on.bmp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/renoise/tools/5e52df1e80f5e1963da66f98a01dc31d15db943b/Tools/com.renoise.xStream.xrnx/source/icons/stack_output_pass_on.bmp
--------------------------------------------------------------------------------
/Tools/com.renoise.xStream.xrnx/source/icons/stack_output_patt.bmp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/renoise/tools/5e52df1e80f5e1963da66f98a01dc31d15db943b/Tools/com.renoise.xStream.xrnx/source/icons/stack_output_patt.bmp
--------------------------------------------------------------------------------
/Tools/com.renoise.xStream.xrnx/source/icons/transport_play.bmp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/renoise/tools/5e52df1e80f5e1963da66f98a01dc31d15db943b/Tools/com.renoise.xStream.xrnx/source/icons/transport_play.bmp
--------------------------------------------------------------------------------
/Tools/com.renoise.xStream.xrnx/source/icons/transport_record.bmp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/renoise/tools/5e52df1e80f5e1963da66f98a01dc31d15db943b/Tools/com.renoise.xStream.xrnx/source/icons/transport_record.bmp
--------------------------------------------------------------------------------
/Tools/com.renoise.xStream.xrnx/source/icons/transport_stop.bmp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/renoise/tools/5e52df1e80f5e1963da66f98a01dc31d15db943b/Tools/com.renoise.xStream.xrnx/source/icons/transport_stop.bmp
--------------------------------------------------------------------------------
/Tools/com.renoise.xStream.xrnx/source/icons/update.bmp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/renoise/tools/5e52df1e80f5e1963da66f98a01dc31d15db943b/Tools/com.renoise.xStream.xrnx/source/icons/update.bmp
--------------------------------------------------------------------------------
/Tools/com.renoise.xStream.xrnx/source/xStreamArgsTab.lua:
--------------------------------------------------------------------------------
1 | --[[============================================================================
2 | xStreamArgsTab
3 | ============================================================================]]--
4 | --[[
5 |
6 | This is a proxy class containing getter/setter methods for tabbed arguments
7 | See also xStreamArgs
8 |
9 | ]]
10 |
11 | --==============================================================================
12 | class 'xStreamArgsTab'
13 |
14 | function xStreamArgsTab:__init()
15 |
16 | -- class members are registered on the fly
17 |
18 | end
19 |
20 |
--------------------------------------------------------------------------------
/Tools/com.renoise.xStream.xrnx/source/xStreamUserData.lua:
--------------------------------------------------------------------------------
1 | --[[===============================================================================================
2 | xStreamUserData
3 | ===============================================================================================]]--
4 | --[[
5 |
6 | Methods for handling the userdata folder
7 |
8 | #
9 |
10 | ]]
11 |
12 | --=================================================================================================
13 |
14 | class 'xStreamUserData'
15 |
16 |
17 | -- location of main userdata folder
18 | -- (can overridden by custom folder defined in preferences)
19 | xStreamUserData.DEFAULT_ROOT = renoise.tool().bundle_path .. "/userdata/"
20 | xStreamUserData.USERDATA_ROOT = xStreamUserData.DEFAULT_ROOT
21 |
22 | -- userdata subfolders (fixed)
23 | xStreamUserData.FAVORITES_FILE_PATH = "favorites.xml"
24 | xStreamUserData.MODELS_FOLDER = "models/"
25 | xStreamUserData.PRESET_BANK_FOLDER = "presets/"
26 |
27 | ---------------------------------------------------------------------------------------------------
28 | -- [Static] Copy files from old to new folder
29 | -- @return boolean, true when files were copied
30 | -- @return string, error message when failed
31 |
32 | function xStreamUserData.migrate_to_folder(old_path,new_path)
33 | TRACE("xStreamUserData.migrate_to_folder(old_path,new_path)",old_path,new_path)
34 |
35 | local success,err = cFilesystem.copy_folder(old_path,new_path)
36 | if not success then
37 | return false,err
38 | end
39 |
40 | return true
41 |
42 | end
43 |
--------------------------------------------------------------------------------
/Tools/com.renoise.xStream.xrnx/userdata/models/Demo-Read-Write.lua:
--------------------------------------------------------------------------------
1 | --[[===========================================================================
2 | Demo - Read & Write.lua
3 | ===========================================================================]]--
4 |
5 | return {
6 | arguments = {
7 | },
8 | presets = {
9 | },
10 | data = {
11 | },
12 | events = {
13 | },
14 | options = {
15 | color = 0x000000,
16 | },
17 | callback = [[
18 | -------------------------------------------------------------------------------
19 | -- Demonstrates how xStream is both reading and writing pattern lines
20 | -- This model will create a C-4 note for every fourth line, and increase the
21 | -- volume as it iterates over those previously created notes
22 | -------------------------------------------------------------------------------
23 | local do_output = xpos.line%4 == 1
24 | if do_output then
25 | local notecol = xline.note_columns[1]
26 | if (notecol.note_value == EMPTY_NOTE_VALUE) then
27 | notecol.note_value = 48
28 | notecol.volume_value = 0
29 | else
30 | local vol = notecol.volume_value
31 | notecol.volume_value = (vol+1)%127
32 | end
33 | end
34 | ]],
35 | }
--------------------------------------------------------------------------------
/Tools/com.renoise.xStream.xrnx/userdata/models/Demo-Transpose.lua:
--------------------------------------------------------------------------------
1 | --[[===========================================================================
2 | Transpose.lua
3 | ===========================================================================]]--
4 |
5 | return {
6 | arguments = {
7 | },
8 | presets = {
9 | },
10 | data = {
11 | },
12 | events = {
13 | },
14 | options = {
15 | color = 0x505552,
16 | },
17 | callback = [[
18 | -------------------------------------------------------------------------------
19 | -- Apply transpose to notes
20 | -- Demonstrates how pattern data is not only written, but also read:
21 | -- the model will continue transposing, until all note are at their lowest
22 | -- possible value (C-0). Leaves note-OFF and empty notes intact.
23 | -------------------------------------------------------------------------------
24 | for k = 1,rns.tracks[track_index].visible_note_columns do
25 | if (xline.note_columns[k].note_value < 120) then
26 | xline.note_columns[k].note_value = xline.note_columns[k].note_value - 1
27 | end
28 | end
29 | ]],
30 | }
--------------------------------------------------------------------------------
/Tools/exclude.list:
--------------------------------------------------------------------------------
1 | *.svn*
2 | *.DS_Store*
3 | *.git*
4 | exclude.list
--------------------------------------------------------------------------------
/Tools/howto-package.txt:
--------------------------------------------------------------------------------
1 | $ cd
2 | $ zip -vr .xrnx * -x@../exclude.list
3 | $ mv .xrnx ~/Desktop/
4 |
--------------------------------------------------------------------------------
/Xtra/ToolScanner/README.txt:
--------------------------------------------------------------------------------
1 |
2 | A script that runs a simple sanity on a XRNX tool. It's meant to help a human
3 | admin and is by no means exhaustive.
4 |
5 | # Example usage:
6 |
7 | require('scanner');
8 | $result = scan('/path/to/com.renoise.Duplex.xrnx');
9 | if ($result !== true) {
10 | echo "Warnings Found: " . count($result) . "\n";
11 | print_r($result);
12 | }
13 |
14 | # Can also be invoked with:
15 |
16 | $ php run.php /path/to/file
--------------------------------------------------------------------------------
/Xtra/ToolScanner/run.php:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------