JoepVanlier / Hackey-Trackey

A LUA tracker plugin for REAPER 5.x and up. Designed to mimick the pattern editor in Jeskola Buzz.
MIT License
131 stars 10 forks source link

idea: Shuffle #66

Closed dusanmsk closed 5 years ago

dusanmsk commented 5 years ago

Could it be possible to add shuffle/swing option to tracker?

I don't know tracker internals and how you handle the notes internally, but in my (abandoned/prototype) implementation of tracker I did it:

when reading notes from midi clip:

when writing to midi clip:

It was not the best way how to do it but it works.

see https://github.com/dusanmsk/reaper/blob/master/reascript/patternEditor/patternEditor.lua lines 650 and 716, maybe shold be useful.

Or you should do manual calculation of 2nd note start position directly in the pattern editor, but dunno how to deal with situation when user change swing strength in reaper midi clip editor and shuffle notes outside hackeytrackey.

thx

thx

dusanmsk commented 5 years ago

BTW I see that you started 13 jan 2018 lol, my first commit was from 11 jan 2018. Shame that we didn't joined forces at the beginning (but I abandoned that very soon after prototype because have had no time for that)

JoepVanlier commented 5 years ago

I'll think about it, but from the top of my head the suggested implementation is incompatible with both the legato system and note delay system; which both require sub-row information, which would be wiped out in the quantization step.

dusanmsk commented 5 years ago

Hmm, then I could try to use some js plugin for realtime swing. Thx.

dusanmsk commented 5 years ago

Found "piz midi swing" plugin at https://code.google.com/archive/p/pizmidi/downloads. Works great. So problem solved.