1. "play from current position" is still broken and
Hopefully fixed now in v1.62
Quote:
Originally Posted by _TIP_
2. The script can't show more than 16 steps at a time, instead is showing a side bar that you can scroll if you want to see more than those 16 steps (lines).
Set back to 32.
Quote:
Originally Posted by _TIP_
Also, a few nice shortcuts I used to use in Renoise was holding Shift + END, would highlight the area from the position you are, all the way down to the last line. Shift + Home, would highlight the area from the position you are, all the way up to the first line. Shift + Page Down, would highlight the area from the position you are, 16 steps down and Shift + Page Up would highlight the area from the position you are, 16 steps Up.
Added, except the default page size is different (4). If you want a custom size, edit the cfg file in the scripts directory. Set page to 16 for instance.
Added, except the default page size is different (4). If you want a custom size, edit the cfg file in the scripts directory. Set page to 16 for instance.
Great update sai'ke, everything works as it should now!!! One little thing I've noticed is that when I have the setting "Automatic record-arm when track selected" in my track and then enable the record in the tracker script, the setting on my track is changing as well. Would you please be able to make the tracker keep that setting intact? Also, is there a way to close the tracker with a shortcut? My current shortcut to open the script is F8 and it opens just fine but when you press again the shortcut to close it, nothing happens...
Great update sai'ke, everything works as it should now!!! One little thing I've noticed is that when I have the setting "Automatic record-arm when track selected" in my track and then enable the record in the tracker script, the setting on my track is changing as well. Would you please be able to make the tracker keep that setting intact? Also, is there a way to close the tracker with a shortcut? My current shortcut to open the script is F8 and it opens just fine but when you press again the shortcut to close it, nothing happens...
Yes, this behavior is as intended. Sadly there is no way to play notes in REAPER other than via recording using the virtual keyboard, for which the recording status of your track has to be changed. This is why by default, you had to explicitly press CTRL+R (so that you were aware when the recording status of your tune changes).
I added your close tracker shortcut under F8 for the renoise keymap and CTRL+F12 for the default keymap.
Today I also updated the clipboard pasting behavior (in v1.63). Management of the clipboard is a bit tricky because of how information is stored. Before, no attempt was made to 'glue' the notes into the target pattern (resulting in note offs after the pasted section). Now there's a mending step involved. If you run into any problems with the new paste and clear functions, please let me know and activate the legacy option in the options to get the old behavior back (It's called do not mend after paste).
If you do run into a bug, try and find a reproducible way of triggering it. The more descriptive you can be in what you did, what you expected and what happened when you run into a bug, the sooner I can fix bugs in the system. Bug reports are super helpful .
You nailed it my friend, "Sai'ke for president"!!! Everything seems to be working fine so far, I'll have to do a little bit more in depth testing during the week though, so we make sure there are no hidden bugs in that amazing piece of software :-)
As for my preferred setting "Automatic record-arm when track selected", i found a work around by creating a custom action and combining the "tracker.lua" with the "Automatic record-arm when track selected" action, so everything works the way i want now!
Thank you so much for your time and dedication, I want you to know that I really appreciate what you are doing in general for the community and especially for the Tracker script that i personally love!
Insert row - Inserts element for all columns (default = CTRL + Ins)
Remove row - Removes element for all columns (default = CTRL + Backspace)
Wrap down - Shifts pattern down (wraps around) (default = CTRL + Shift + Ins)
Wrap up - Shifts pattern up (default = CTRL + Shift + Backspace)
Note that one direction is more reliable when wrapping, since things sometimes act funny at the edges of an automation item.
Also added a check to prevent NaN envelope points when interpolating a single cell x_x.
Also been looking at how to have Kontakt emulate offsets (something I use *a lot*). Turns out it is not so difficult as long as the instrument is not locked.
After loading an instrument hit the edit instrument button. If the instrument is locked then I'm afraid you cannot achieve sample offsets with this instrument.
Switch the sampling mode from DFD to sampler. Note that this will increase memory consumption of the instrument as well, so it's best to only do this when you really need it for an instrument.
Go into the scripts editor and find the first empty script. In this script paste the following code (you can save the script as a preset so you have it at the ready for the future):
Code:
on init
declare ui_knob $sampleStart (0,1000000,1)
set_text ($sampleStart, "S. Start")
set_control_par(get_ui_id($sampleStart),$CONTROL_PAR_AUTOMATION_ID,0)
set_control_par_str(get_ui_id($sampleStart),$CONTROL_PAR_AUTOMATION_NAME,"Sample offset")
end on
on ui_control ($sampleStart)
set_knob_label ($sampleStart, $sampleStart/10000)
end on
on note
ignore_event ($EVENT_ID)
play_note($EVENT_NOTE,$EVENT_VELOCITY,$sampleStart,-1)
end on
Then, as a final step, check the parameter in the reaper FX box, and offset should now be visible when opening the tracker.
I was thinking, might be fun to do a youtube vid showing the tracker, since thanks to all the features now, it can now be a bit overwhelming reading the wall of text on github. Anyone feel like making one?
Also updated the initial post with some more images
Wow, greatest thing that could happen to Reaper. Thanks a lot!!! Did not check it yet. A few prequestions:
-does it have the playlist
-can we toggle between playlist and pattern editor using ENTER
Anyone not knowing buzz, buze and its variants: The best tracker on universe, of all time. Its elegance lies in its simplicity. Enter to do detail work, in the patter editor, or arrange in bigger zoomed out view, playlist, is just unbeatable!
ReaTracker would be too obvious? Maybe reserved for Reapers own tracker interface in future? Or as two separate tools. ReaPattern, ReaPlaylist. ENTER toggling between both, as buzz.
EDIT: I am using already ENTER for opening and closing the midi editor. (open: midi editor from arrange, close: midi editor from midi editor, activate arrange) So seemless transition between both edit areas is quickly possible using always same key, ENTER.
As the lua scripts have their own set of hotkeys, that would be cool, using same ENTER while being on tracker, then toggling between tracker <> playlist. With this extension I could use same key, ENTER, even for 4 important editing areas.
I have considered coding a pattern sequencer like the buzz one, because I would also quite like one, but I haven't implemented one yet.
The problem is that you need a mapping somehow to which MIDI item is what pattern. I guess this could be stored similarly to how I store the tracker options (via text objects), but I would have to also add a mechanism that makes the tracker act across multiple MIDI items with the same 'pattern ID'. "New" patterns created in REAPER/outside of the tracker would have to be added when found.
This is all possible, but how would you deal with patterns that have not yet been placed? In the way the tracker plug currently works, the MIDI item has to at least exist to be displayed. And it has to be present on the same track (in order to get the same compatible FX columns). I guess it would be possible to add a pattern 'graveyard' far beyond the end of the track or something, but also there there'd be tricky bits. Namely, I have to make sure they never overlap, since that would cause the automation items to become messed up.
Writing a pattern sequencer has a lot of potential problems, so I've decided to write this tracker plugin first and letting it mature a bit before taking on another project. I'm also a bit swamped at my day job at the moment which is causing my inactivity.
Thanks a lot, it would help for a start being able to 'break' from point to end of item via a tracker interface? It would be almost same as the tracker allowing for each step values of 'break' or normal. No item management at all for this first variant. It would do following:
if 'break'
-split at point
-mute from point until end of item
if normal
-unmute region
-glue with surrounding
No matter what is 'under' that time step, it would be muted or unmuted, so it would even work with audio items, not only midi. I think even buzz did not have this.
It does not hurry at all, we had nothing for so many years, we all can wait. Just wanted to bring out the ideas on this beautiful forum with so many talented creative geniusses (genia?).
Last edited by TonE; 06-28-2018 at 12:23 PM.
Reason: added break
Do we have access to each tracker hotkey as direct 'action' from outside of the tracker? Then we could combine them with the millions of other actions of reaper, over time creating unknown new options.
The other think i was talking about in my previous post, was Shrinking or Expanding a pattern witch it would change the midi to double or half speed...
Once more, Thank you so much for everything, i really love your script!!!
Another method worth trying would be:
-close tracker view
-run some reaper action (e.g. shrink/expand pattern)
-open tracker view
Save as custom action. Repeat as often as you wish.
The problem is that you need a mapping somehow to which MIDI item is what pattern. I guess this could be stored similarly to how I store the tracker options (via text objects), but I would have to also add a mechanism that makes the tracker act across multiple MIDI items with the same 'pattern ID'. "New" patterns created in REAPER/outside of the tracker would have to be added when found.
... I guess it would be possible to add a pattern 'graveyard' far beyond the end of the track or something, but also there there'd be tricky bits.
Just wanted to suggest same idea, using some MAGIC 'song_end' marker, any items after this would count as patterns from left to right, mapped to 0,1,2... then a,b,c...z. In buzz lots of arrangements used anyway only 00 and 01
The coolness of abobe method would be, you could later switch those pattern items to other items, but keeping the arrange structure, and it should automatically adapt in theory. The names of the pattern items could be even used, names like 0,1,2,... then a,b,c...z, keeping things simple. Every track would be allowed to contain only once an item named 0 for example, or z. And exactly this would be used whenever you used that value in playlist. Or playlist could add such named empty items at the beginning, 0,1,2...9, then a,b,c...z. Those are your patterns to work with. I would prefer a saving mechanism in directories, to keep most flexibility power of Reaper, so for each a directory: 0,1,2...9 then a,b,c...z. Later whichever items/midi files you throw into this directory it could be switched against other files from same directory. Every reaper tracker project could contain those directories:
PHP Code:
reaper_project/tracker/0/your_midi_files_or_items_go_here.mid, as many as you want
1
2
...
9
a
b
c
...
z
Using above directory style, tracker would not even need the requirement of last magic marker in arrange, it would simply look into those directory contents. If there is a directory '0' in directory 'tracker' use first directory content .mid file as pattern 0 for placement, alphabetical sorting. The next element would be 1.
This method would have lots of advantages:
-buzz playlist pattern placement elegance and simplicity
-(hope) buzz playlist break addition easily
-usage of normal directory structures which are universally compatible as we will stick to those directory names hardly, 0,1,2...9 and a,b,c...z
-usage of your predesigned gazillion of midi files/patterns in those subdirs possible
-best of both worlds, use buzz playlist power plus all your available midi power from the past
Or the graveyard is the normal arrange and after the magic 'song_marker' the playlist arranging is starting! This would be compatible with any reaper project. Mapping available items from left to right until 'song_marker' to the pattern values 0,1,2...9 then a,b,c...z.
Designing of patterns would happen in normal arrange. Placement in buzz playlist.
In short you could have two arrangements in one with above style. On the left in arrange (before 'song_marker') the default arrange we know from reaper, on the right (after 'song_marker') buzz playlist style created arrange!
I think I would like this method mostly, as it is compatible with any reaper project, but still you can have your buzz playlist fun on the right, if you want. Playtime does something similar, but buzz playlist way of generating arrangements would be much more fun or precise of course.
Did not understand the Out[x] feature in tracker. If I change it using F2/F3, close the tracker, reopen it, Out is again set to 1. So it seems not to keep its changed value, is this normal, what am I doing wrongly?
Second question, would not it be better if the Ch1..16 in the tracker would be hardly connected to their respective midi channels? So any note placed on track 'Ch 2' should send its notes on midi channel 2. Otherwise I did not get the current logic yet.
On my computer, in wine, 32-bit Reaper, tracker
-does not keep the Out[x] value after closing, reopening of tracker
-Ch x, are not hardly bound to their midi channels
Maybe I should read its manual more closely, from logical standpoint, both above important cases did not work out.
Oh, it seems I have to use Out[C] so all channel values are used, starting from midi channel 2. Ch 1 in tracker means midi channel 2. I guess it would be an improvement if Ch 2 in tracker would mean midi channel 2, and not midi channel 3. Btw. I am experimenting using a single Farbrausch V2 multi vsti, loaded into a track, then adding multiple child tracks, adding an item there, editing using tracker. Out[C] option is quite cool. You can directly access any of the 16 sounds.
Hello, I am currently abroad at a conference, but I will have a look at your request for the multiple MIDI command columns in the coming weeks. I think this should be doable. So just to verify, what you want is to have those 4 columns that are at the start, per channel, right?
I do like the idea of a sequencer, but it will have to wait until it gets a little less busy at my dayjob.
dayjob first, anything else later, thanks a lot. Nothing hurries, 'what hurries do slowly' is a Chinese proverb I think, or something similar.
Here a tip for all German qwerty or qwertz users:
PHP Code:
Modify in tracker.lua, line 1154: keys.pitches.z to keys.pitches.y line 1171: keys.pitches.y to keys.pitches.z
Regarding program change column: In advanced col options an additional CC[32] column per channel would be sufficient already, beside delay and end. At least in Out[C] mode those would be hardly connected to the midi channels of that column. In non-Out[C] cases that should not cause any troubles I guess. So it would not really matter.
Good luck and lots of enjoyment at your conference I wish you and your team!
I've started work on this. It may still be a bit rough around the edges. In the options screen, enable "Enable CC's for all channels (beta)" (this setting is remembered).
After this:
Ctrl + Shift + A adds a CC column to all channels. Note that after you hit this key, you have to enter the number for the one you want (e.g. 32).
Ctrl + SHIFT + - gets rid of a column.
It's not rigorously tested yet, so if you run into issues, let me know. Also note that channel 1 in the tracker, is really MIDI channel 2 (for implementational reasons).
In other news, I added an option in the options menu for QWERTZ and AZERTY keyboard layouts. So you don't have to edit the script by hand anymore for this
Thanks saike, I will check this soon, probably tonight.
Yesterday I was imagining how that would be if even kawa would jump into this tracker train, bringing in his geniosity. Having something like 'saike & kawa tracker', written together 'saikekawa tracker', inverting placement, 'kawasaike tracker', now almost 'kawasaki tracker', wow that's a name, logo would be of course some 'kawasaki' image, taking the most powerful one, of course, where are the motorcycle experts?
Tested new cc per column feature quickly on SQ8L:
-cc74 works nicely to modulate the low pass filter
However
-cc32 does not work correctly for triggering program change events in Reaper, also not with other synths, tried farbrausch V2
I guess maybe Reaper needs before each cc32 additionally a cc00. I tried doing this manually by adding another cc00 column, BUT tracker allows from cc01 upwards it seems, cc00 is just ignored, no additional cc column is added.
Those are my current findings. Maybe anyone knows more about how to trigger correct program change events in Reaper. My guess would be, as mentioned above:
I tried playing with the V2. It seems that CC00 and CC32 are not sufficient (I did add the ability to have CC00 controlled though). They can select a bank, but not a patch. For that you really need Program Change, which is a different beast altogether.
However, fear not! I have added program change as a per-channel column option for you. Hit CTRL + SHIFT + P to unlock it! Unfortunately, it made my code quite a bit more messy, but some things can't be helped I suppose
Remember that in the options you need to have the option marked with beta checked.
Thanks a lot, it is working perfectly. Now the fun can start, be it farbrausch V2, SQ8L or Synth1 with its millions banks and patches. Did not test yet the bank switching but I am sure it will work. Checked quickly how many banks I have for Synth1, 95 banks (00..94), last being Ann Bank 1. In short, thousands of sounds to play with in the tracker, editing in atomic level. Same is true if you fill shortcircuit v1.1.2 sampler with lots of samples, spread over all 15 midi channels, then also triggering those via your genious tracker.
Thanks my friend!
Next thing I should try is how well it works out to combine the tracker with any action of Reaper, via
(1) close tracker
(2) trigger action
(3) start tracker
If this works nicely, there are almost no limits for ANY kind of editing, even directly from the tracker itself.
For the future, for the buzz playlist I would wish a logic like 'auto loop' feature up to the next item or song end (last item on arrange, or last marker, or last region). This would be similar to the notes behaviour in the tracker itself, the note length is auto-cut if you add a new note. The same should happen to those looped items, as soon as you place a new item there, it would break the auto-loop of previous item, I am sure you know this from Logic as well.
Having in default key mapping also same features of renoise mapping for f9,f10,f11,f12 would be cool. Those 4 keys are so useful, I would add them even to all key mappings, e.g. default is using only f9 for harmony helper, those could be moved instead to something like ctrl+f9.
I will just do some editing now.
Added some control, by making first entry a 1, instead of 0:
Tip for Synth1 users with tracker.
Synth1, click 'opt', then uncheck 'select program from host', this is important as bank select + program change switchings seem to keep Reaper too busy if you keep the mentioned option. After unchecking Reaper seems to have no troubles, you can go wild with your experiments in your tracker.
Second tip for Synth1 with tracker, hit ctrl+shift+a, type 32, and use this column for adding bank changes. ctrl+shift+p does the program changes, as we have now, thanks to saike.
Having in default key mapping also same features of renoise mapping for f9,f10,f11,f12 would be cool. Those 4 keys are so useful, I would add them even to all key mappings, e.g. default is using only f9 for harmony helper, those could be moved instead to something like ctrl+f9.
I will just do some editing now.
Added some control, by making first entry a 1, instead of 0:
This is useful, as often you want to do some minor changes to the end of the bar, which you can do now hitting f12, then editing there.
Feel free to send me a full layout and I will add it as an extra option in the base tracker itself. Then you don't have to change it with every update.
Quote:
Originally Posted by TonE
Sorry about this.
No problem! This always happens over time. Mess accumulates, and is cleaned up iteratively when it gets too bad
Quote:
Originally Posted by Nixon
Is there a shortcut for switching tracks?
For the shortcut for switching tracks, there is now: CTRL + SHIFT + <- / ->
Quote:
Also I think column mute might come in handy too.
It's on the to-do list, but I have to think about how to handle this best. The issue is that the tracker does not see 'beyond' the MIDI item at the moment and it would not be an easy change to implement. Would it be acceptable if it'd just mute a column for that one pattern? What key do you have in mind?
Quote:
Originally Posted by TonE
In my view switching items should do also following:
-set time selection to selected item
-set loop to time selection
I've added this as an option under options.
Quote:
Originally Posted by TonE
if 'break'
-split at point
-mute from point until end of item
if normal
-unmute region
-glue with surrounding
No matter what is 'under' that time step, it would be muted or unmuted, so it would even work with audio items, not only midi. I think even buzz did not have this.
I'm not sure how this'd work. You'd want all the notes at the break point to be split? And then everything under the split to be muted (unplayed) midi notes? And then when you remove the break, it has to glue it back together again? What about notes that were split before you put the break in? I wouldn't have any way to determine that they shouldn't be glued.