New Tool (3.3): Loop Marker Automation - v1.01

@Achenar - any chance of this being updated - is very unique :smiley:

marked for download

This tool needed a way to accurately and persistently store large values to prevent calculation errors and allow the use of longer samples. The new ‘renoise.song().tool_data’ can store data in songs only, so I had to come up with an unconventional way of making this work for shared instruments as well.

The tool now inserts a new Hydra device into the FX Chain, which stores each value across an Out’s Min & Max parameters. This allows for a sample that can be 10 billion samples in length (you’ll run out of memory before even getting close to this) and accurate values will be maintained when loading/saving both songs and instruments. It’s named “DON’T CHANGE/AUTOMATE”, so… don’t.

rxmarkers-hydra

I also found and fixed another major bug and made a few other minor changes:

v0.3

  • Values stored across Hydra Min & Max parameters.
  • Buttons next to Start & End sliders now work below a certain Range value, using ‘slider.steps’.
  • Prevented disabling of Rx devices.
  • Swapped position of Origin & Range in GUI.
  • Fixed: Moving a marker by hand while automating Origin(s) is inaccurate and can give errors.
  • Fixed: When automating multiple simultaneous changes of the same start_x/end_x type, the first change can overwrite the new values of the others.
4 Likes

@Achenar THIS IS IT!!! One of the weird little granular tools from Max/MSP that I’ve been begging for. Now it’s not crashing. I figured out how to turn off the buzzing sound that it makes as well. In the phrases area, I just delete R1. Now, it’s small clicks and buzzes, and not constant rolling. Very nice. THANK YOU!!!

The point of the Rx is that it makes the sample playback respond to changes in the end marker position. So yeah, the ‘buzzing’ is the retrigger command but there’s a trade-off to removing it. In a future version I’ll make a range of phrases that showcase different ways of using them.

1 Like

Just got a new Lua message:

std::logic_error: ‘trying to access a nil object of type ‘class FilterDevice’. the object is not or no longer available.’
stack traceback:
[C]: in function ‘parameter’
main.lua:833: in function ‘update_s’
main.lua:785: in function ‘move_markers’
main.lua:961: in function main.lua:948

I can fix this one - just delete the filter I added at the end.

1 Like

Can you detail the steps to get this error? I have no idea how this came about.

1 Like

I lost the rest of the messages - I was too slow/eager to close the windows. I had the tool running on one sample, and was trying to get another sample to take it, but I did not do it in the right order. It’s my mistake. I think I was trying to add a phrase or something, because I just copied over the effect chain from the other sample, and that’s not how to do it. :frowning: So, user-error. I didn’t lose anything.

WARNING - This version is incompatible with previous versions.

Major changes for this update. I’ve done a lot of testing, but if you find any bugs please report them here.


In the new ‘Rx Other Controls’ Doofer device:

  • Set Markers - Activated by raising to 100%. Since it’s not a toggle you’ll need to lower it down and up again to reactivate it.
  • Follow Mode - Below 50% is Off, 50% and above is On.
  • Slice Anchor - Below 33% is Left, 66% and above is Right, Center is in between.

v0.4

  • Major code reworking.
  • Set Markers, Follow Mode, Slice Size & Anchor available in fx chain.
  • Follow Mode works when moving markers by hand.
  • GUI improvements.
  • Fixed: Crash in special case of instrument deletion.
  • Fixed: Follow Mode can change Slice Size in special cases.
  • Fixed: Fx chain’s XY Pad with Auto Reset sticks on x-axis when moving to bottom-left quadrant.
7 Likes

Getting better every time! Really nice work here, @Achenar!

2 Likes

Where to dl v0.4?

1 Like

Link is in the first post (I’ve just removed the version number from there now instead of having to change it every time.)

2 Likes

WARNING - This version is incompatible with previous versions.

The focus of this update is on making it a lot easier to do cool sounding things when moving a single marker, especially by hand with the mouse in the Sampler Waveform panel. I’ve done a lot of testing, but there might be some weird interactions that I’ve missed… so if you find any bugs please report them here.

Marker Interaction in Rx Other Controls:

  • 00 - <25 = Normal
  • 25 - <50 = Push
  • 50 - <75 = Follow
  • 75 - 100 = Follow + Shrink

v0.5

  • Min Slice Size option.
  • New ‘Marker Interaction’ menu for Follow mode and others:
    • Push: At Min Slice Size, moving a marker toward another will push it.
    • Follow + Shrink: As Follow, but with a marker at Range limit or sample edge, moving the other toward it will shrink Slice Size.
  • Fixed: Fxchain ‘Set Markers’ doesn’t work with instrument not selected.
3 Likes

WARNING - This version is incompatible with previous versions.

New snap modes when moving markers (does not apply when changing Origin or Range). ‘Interaction’ is disabled when snapping, but it may be possible to make some modes compatible in future.

  • Similar Value: Snaps to similar volume level of other marker, within Tolerance level. Applies to both stereo channels.
  • 0 Crossing: Snaps to volume level of 0, within Tolerance level. Applies to both stereo channels.
  • Hex Point: Snaps to nearest 256th fraction of waveform (same as ruler’s ‘0S Effect’).
  • Beat: Snaps to selected beat fraction, according to current BPM.

Snap in Rx Other Controls:

  • 0 = Off
  • 1 = Similar Value
  • 2 = 0 Crossing
  • 3 = Hex Point
  • 4 - 12 = Beat Fractions

v0.6

  • Snap modes with tolerance level.
  • Fixed: Error when deleting/replacing sample of rx-ed instrument.
2 Likes

I’ll try tomorrow, but i want to thank you in advance for your effort!

1 Like

WARNING - This version is incompatible with previous versions.

v0.7

  • Min Slice Size value stored in fxchain Hydra.
  • Tolerance in GUI allows 3 decimal places.
  • Code & GUI improvements.
  • Fixed: Changes via GUI for large samples - small changes don’t register and larger ones can be inaccurate.
  • Fixed: Slice Size can be made lower than Min Slice Size in special case.
3 Likes

v0.8

  • Hex Point & Beat - Nearest division is snapped back to if user moves marker past it without hitting the catchment area.
  • Sliders, Offset, Position, Slice Size & Min disabled before initially pressing ‘Set Markers’.
  • Status bar messages.
  • Default tolerance level of 5%.
  • Fixed: Error when changing Origin before initially pressing ‘Set Markers’.
  • Fixed: Undoing Hydra value changes will falsely trigger error.
6 Likes

New Lua Message. I hit “Set Markers”, then attempted to move the dot in the middle of the trackpad with my mouse:

std::logic_error: ‘ViewBuilder: invalid value for valuebox: ‘-32767’. value must be [1 - 65536].’
stack traceback:
[C]: ?
[C]: in function ‘__newindex’
[string “do…”]:22: in function <[string “do…”]:9>
main.lua:1116: in function ‘update’
main.lua:966: in function ‘move_markers’
main.lua:531: in function main.lua:526
[C]: ?
[C]: in function ‘__newindex’
[string “do…”]:22: in function <[string “do…”]:9>
main.lua:1134: in function main.lua:1130

Not sure what you mean by ‘trackpad’. The XYPad? Need more info on what you did here, I can’t replicate it.

1 Like