Tool(2.7):Ns:Itviews/Minisampler/Cheatsheet/120+ Shortcuts

There are some things in SchismTracker that aren’t exactly verbatim to IT, this Home*2 behaviour is one of them. However, Schism still loads + saves the .it format, does have adlib .s3m etc, and while it does have multibatch diskwriting, rendering pattern to sample slot (both without stopping playback, mind you ;) )

However, it’s most certainly to be considered a clone and a very good and close one at that.

Posted v0.35 :)
[](Tool(2.7):Ns:Itviews/Minisampler/Cheatsheet/120+ Shortcuts view findpost p 237787)

Thanks everyone!!

Hmm seems that somewhere along the line, the F5 / vV functionality broke and no longer starts from the first row of the first pattern of the first order-view listing.

Added Protman’s everything. ImpulseOctave, ImpulseBindings (pageup + pagedown behaviour) etc to this.
(link removed)
p.s. this is for testing purposes, I’ll see if I can just slap this script to a PC and if it’ll just work :)

IT-related updates:

Since rpc* was complaining about misplacing Protman’s ImpulseKeyBindings-script (which Protman posted as a WIP on a thread in January/March 2011) and Protman’s Impulse Octave script(released) and needing ImpulseViews etc I put them all together to ImpulseComplex.

Since Bantai’s home-home and protman’s pageup/pagedown behaviours are very nice to have in one place, I took the liberty of combining them and changing them so that pressing home, pageup or pagedown will dislodge the cursor from pattern follow mode.

Both Bantai & Protman code now drop pattern playback follow, which is good for certain quick edits.

I’ve also added a rudimentary test on the metronome, you can now map 1-16 of “Beats per bar” and 1-16 of “Lines per Bar”, and of course toggle the metronome on and off with 0 on both. I have these tentative feelings to somehow ripping off a stepsequencer and making it toggle these functions so we could have a stepsequencer-controllable LPB/Beats per bar controller.

The next obvious step would be to learn to do -1 +1 on the LPB / Beats per Bar metronome… and of course get the End working. Implemented.

Status_messages updates:
Added status messages for both metronome Beats per Bar and LPB settings so that you see both when toggling both with the shortcuts.

F8(STOP), F2,F3,F4,F11 also have status_messages now. Pageup/PageDn/Home*2 have “status_messages”.
LoopBlock forwards and LoopBlock backwards shortcuts have statusmessages (this shortcut also toggles loop block ON, changes its position and toggles Pattern Follow ON).

will attach later, this isn’t currently worth posting :)

edit:
: toggle instrumentplugin visibility on/off…
: Metronome BPB / Metronome LPB +/- (any change toggles metronome on if off)
: Sample NOW! (Wherever you are, this shortcut opens sample recorder window, starts sampling, and re-press of it will stop recording… [as an aside, there’ll be a modification of this for saving sample, wait, then close sample recorder dialog -once can figure out how to do it]

Minor update:
Added shortcuts for: Loop=OFF, Loop=Forward, Loop=Backward, Loop=Pingpong and +1/-1 scrolling for the same parameters.

is the

renoise.song().transport.playback_pos = startpos

put after the panic action?

Did the change. Will test with ReWire now. I hope this’ll fix the ReWire behaviour :)
Nope… Even with

local function set_start_and_play()  
 local t = renoise.song().transport  
 local startpos = renoise.song().transport.playback_pos  
 t:panic()  
 startpos.sequence = 1  
 startpos.line = 1  
 renoise.song().transport.playback_pos = startpos  
 local start_time = os.clock()  
 while (os.clock() - start_time < 0.4) do  
 -- Delay the start after panic. Don't go below 0.2 seconds   
 -- or you might tempt some plugins to crash and take Renoise in the fall!!   
 end  
 t.loop_pattern = false  
 t.loop_block_enabled=false  
 t:start(renoise.Transport.PLAYMODE_CONTINUE_PATTERN)  
 renoise.app():show_status("[Play from Beginning of Song]")   
  
end  
  

Altho I’ve always been looking at that “Playmode_continue_pattern” and wondering whether that’s the one that makes things not worky in ReWire-mode :)
Cos what it feels like is Renoise trying to set to orderlist row 1 pattern row 1, and then playmode_continue_pattern reading the playback_position from ReWire master.

F5 action under ReWire still defaults to “pattern you’re currently on” whether follow pattern playback is on or off. It just doesn’t want to :)

PLAY_MODE_CONTINUE refers to following the sequencer and not limiting to the pattern’s end and start perimeters (loop the current selected pattern / sequence)
With some ReWire Masters, the slave is not allowed to change the position so that does not depend on which host is the slave.
You should be able to override that using the ReWire settings in the Preferences audio tab which configures how Renoise should adapt its positioning of the sequencer when the master is sending a new position.
http://tutorials.renoise.com/wiki/ReWire#Setting_up_Transport_Sync_Mode_in_Renoise

Okay, a pretty cool & major update:
Thanks to immense help from dBlue and so many others, the Native FX can now be shortcutted. What does this mean?
Well, Imagine being in Mixer-view and pressing Shift-F(Flanger),Shift-R(Reverb),Shift-Q(EQ10) and your track looks like this: EQ10->Reverb->Flanger.
All Native FX have been added to Mixer and TrackDSP right-mouse-button contextmenus.

2nd “start record, stop record”. This time when you press stop-record, the screen changes to sample editor and you get cursorfocus - so you can for instance select-all and normalize (since I couldn’t figure out if one can normalize from LUA script).

Oh yes, F11,F4,F3,F2 all have Cursor focus settings to the middle layer.

“Save sample to folder + name” shortcut (brings up regular OSX/Explorer folder display, select folder and type filename. Callable from anywhere.

Oh and as an added bonus, George Yohng’s W1 Limiter can be called from this, so you could take this script and get out your own VST/AU…

I dunno if there’s anything else specifically interesting in this update, but it’s still worth v0.40

It suddenly became important to do a F7 that does a panic and then starts, but for some reason I couldn’t figure out how to find any other pattern transport starts than

  
  
renoise.Transport.PLAYMODE_RESTART_PATTERN  
renoise.Transport.PLAYMODE_CONTINUE_PATTERN  
  

Now, Continue Pattern would work if I knew how to read cursor-location in pattern

Well, cursor-location is ```lua
oprint (renoise.song().transport.playback_pos.line)

however, I dunno why I can't at 05.36am piece together how to pump that to playback position setting

Didn’t quite get f7 working yet

local function get_f7_song_play()  
 local t = renoise.song().transport  
 local startpos = renoise.song().transport.playback_pos  
 local posline = t.playback_pos.line  
 t:panic()  
 t.loop_pattern = false  
 t.loop_block_enabled=false  
 startpos.line = renoise.song().transport.playback_pos.line  
  
 -- renoise.song().transport.playback_pos.line  
 t:start(renoise.Transport.PLAYMODE_CONTINUE_PATTERN)  
renoise.app():show_status("[Play from Cursor Rowff]")  
end  

I got tricked into tthinking that it did work but that was because I had pattern playback follow on


It’s basically problematic because pageup/pagedown/home/end are used to stop cursor_lock_to_follow_pattern, and then the next time you press F7, it just keeps continuing, instead of first reading cursor current focus and then moving some sort of position to that position …

I had these problems in the past as well.
The songposition API property values cannot be written to directly. You have to make a local copy of these objects, change the properties of the local object and then copy back the local object variable to the API object.
Here’s a snippet that does work as wanted:

  
local function set_f7_and_play()  
 local t = renoise.song().transport  
--this step you made correctly, you are 33% on your way here...  
 local startpos = renoise.song().transport.playback_pos   
  
 t:panic()  
 t.loop_pattern = false  
 t.loop_block_enabled=false  
  
--This is the next step (don't forget the actual sequence index or it will continue on the particular line in the current sequence where the green bar currently is):  
 startpos.line = renoise.song().selected_line_index  
 startpos.sequence = renoise.song().selected_sequence_index  
  
--Then copy back the local object to the playback_pos API function:  
 renoise.song().transport.playback_pos = startpos  
 t:start(renoise.Transport.PLAYMODE_CONTINUE_PATTERN)  
renoise.app():show_status("[Play from Cursor Rowff]")  
end  
  
  
  

Thank you!! That’s wonderful!!

Okay, here we go.
v0.41

-suggestion: it dawned on me that the reason there’s a 2nd keybind for editmode on/off is because the regular toggle editmode on/off doesn’t function in sample editor,instrument list, mixer… So therefore it’s good to switch the 2nd keybind for editmode to be your regular editmode toggle.

-F2 no longer toggles follow mode off.

-F7 functionality (thanks vV for F5 function & F7!)… Wherever your cursor is in the pattern editor, do a panic and F7 will start playback from cursor-row.

-F8 (stop) now turns pattern playback follow off.

I just really want to get these things in, even tho it’s not a major update.
The “Load sample from folder x” equivalent of the save to folder to filename isn’t there, and there is no dialog window with a button for “read native fx”.
I haven’t yet copypasted MPE’s playcount Bar:Step etc to said unexistent dialog window, and so on. However, at least they’re on the horizon ;)

vst/au loading to shortcuts is also not yet implemented.

F11 updated. First press hides upper layer and shows mixer list and patternmatrix and trackdsp at the bottom. second F11 press shows upperlayer and opens trackscopes. third F11 hides upperlayer.
I’ll add these to F2 and hopefully F3 and F4 - depending. for F2 it’s a nobrainer.

—edit
Ok, F2 now does the very same thing, pattern editor+no pattern matrix, trackdsp, show adv.edit, press 2nd time: show trackscopes, press third time: hide trackscopes…
–edit
F3 functions pretty interestingly, I used it to switch between track scopes and diskop, but sometimes it just wants to allow for pressing_the_button_down and flicking between both and the other, and sometimes it functions as if one press is one press only. sometimes it registers two presses from one press, too :)

will upload later when there’s more to it rather than triple functioning on same keyboard shortcut.

– edit
ok still not uploaded, however, some progress, added CrashBackups-folder thing (thanks a lot dBlue!). It works on OSX,Linux and PC, what this shortcut does is: opens three file-browsers on your OS, one which shows where Renoise.log is, one which shows where Preferences.xml is, one which shows where Crashbackups are.

So now all you gotta do is launch up your mail client and drag those files to your email which is being sent to bug@renoise.com.

Added is also Mailto bug@renoise.com shortcut which should, in a perfect universe, start up your mail-client and have the address already there.

Also added are “selected_instrument midi program next - previous” shortcuts.
I’ve been fiddling with select_trackdsp device, but haven’t been able to make it work inside a script.

– edit trying to tweak F3 to work properly, must be in the detections, wrong detection…

well, gave up on the f3 and posted it, sorray. I’ll probably eventually learn how to do it

When on, recorded (right clicked) DSP sliders will go into envelopes instead of the pattern. [nokey].:
Switcher for DSP slider to envelope / DSP slider to Pattern

function switcher()  
local t=renoise.song().transport  
if t.record_parameter_mode==2 then  
 renoise.song().transport.record_parameter_mode=1  
else  
 renoise.song().transport.record_parameter_mode=2  
end  
end  
  
renoise.tool():add_keybinding { name = "Global:Impulse:SWITCHER DSP Slider Envelope/To Pattern",  
invoke = function() switcher()  
end  
}  
  

Hi, June 11: miniview…

Ok, v0.44 is now out.
-Added control over delay_column or effect_column_amount_value. Use keybinds and see what happens. (these buttons are also available in the MiniSampler (try buttons +/++/–/-)

-Added semi-finished Cheatsheet (displays regular pattern effect commands, buttons are clickable which take you to the pattern editor on every click. Press Rec/Edit then Note/Effect so your cursor is on Effect column, then start pressing the buttons.

-Added MiniSampler - a fairly miniscule GUI (un-closable by ESC key, btw) which you can situate next to your regular Pattern Editor rows:

-Modified MiniSampler/Cheatsheet and “stats” to not open if already open.

-Added context menu entries to Instrument Box (VSTI…:Reload VSTi list + VSTI…:Load VST/Blavst)
-Added context menu entries to Track DSP (NativeFX…:Reload NativeFX + NativeFX…:Load Native effect)
-Added context menu entries to Mixer (NativeFX…:Reload NativeFX+NativeFX…:LoadNativeEffect)
-Added context menu entries to Pattern Editor (Nativity Scene…: Cheatsheet/MiniSampler)
-Added tools menu entries (Nativity Scene…:Cheatsheet/MiniSampler/Information/ReloadVSTi/ReloadNativeFX).

And probably some other stuff, oh yeah, split everything to different .lua files and added vV’s content_mask.lua with the hopes of eventually making it work in required ways.

Note: Your VSTi/NativeFX lists must always be re-created on restart of Renoise - they are not stored. This is probably a good and a bad thing.
Either way, the NativeFX key-shortcuts are cleartype and won’t be lost, but if someone suddenly adds new Renoise Native FX - the list will be out of date until I re-create it. so NativeFX Reload is dynamic, NativeFX-shortcuts are static.