Go Back   Cockos Incorporated Forums > REAPER Forums > ReaScript, JSFX, REAPER Plug-in Extensions, Developer Forum

Reply
 
Thread Tools Display Modes
Old 02-07-2024, 11:55 AM   #1
Talagan
Human being with feelings
 
Join Date: Feb 2016
Location: Paris / France
Posts: 315
Default [Script] One Small Step : Alternative step input methods for Reaper

This is the official support thread for One Small Step.

One Small Step is a tool for performing MIDI note step input in REAPER. It is an alternative to Reaper’s standard step input, offering more control and tools, and allowing the use of the sustain pedal (+ keyboard modifier keys) for performing actions.



The main aspects of this tool are the following:
  • It offers multiple input methods, based on MIDI Controller key press, key release events, or strict sustain pedal/action validation.

  • It has multiple edit modes : Write, Insert, Replace, Repitch/Revel, Compress/Stretch, for inputing, inserting, erasing, translating, reworking notes with minimal use of the mouse. It will work outside of the MIDI editor (directly in the arrange view) ; this offers additional comfort and can speed up your workflow.

  • It also has a snappy navigation mode with the sustain pedal, over the project grid, the item grid, note bounds, item bounds, etc.

  • It also addresses some issues with workflows that use the input FX chain for routing/transposing MIDI (because Reaper’s standard input bypasses the fx input chain, see the last section for an explanation).

  • It has playback capabilities to hear back what you've just input.

                            


Quick snapshots

Using OSS in the arrange view, with playback :


Inputing with grid length options and swing :


The Write Mode :


The Insert Mode :


The Replace Mode :


The Repitch/Revel Mode :


The Navigation Mode :


The Stretch/Compress Mode (Insert Mode alternative submode with marker) :


The Stuff Mode (Replace Mode alternative submode with marker) :




                            
Installation / Update instructions

The current version is available through ReaPack, from the official ReaTeam/ReaScripts repo.

You will also need to install two extensions (if you don't, you'll be reminded to do so). The first one is ReaImGui and the other one is Julian Sader's API js_ReaScriptAPI.


                            
How to use

You can now refer to the full documentation, located here (chose your version then) :

https://bentalagan.github.io/onesmallstep-doc/

Launch the action called talagan_OneSmallStep.lua (some other actions are provided but we'll get on this later). You should now see OSS's main dialog - One Small Step is active (it is active as long as this dialog is visible).



At the top of it, the name of the target MIDI track / item / take will be displayed if there's one eligible that matches your current selection. It is important to note that the track should be armed for record (OSS will give you an indication if you forgot to arm the recording). If everything's ready, a red circle will glow, meaning that in this configuration, One Small Step is able to do its job (listen to MIDI events, and step input/patch the current MIDI item). When you're done with OSS, just close the window and it will be inactive.

The most logical way to summon OSS is to simply create a toolbar button in Reaper by assigning it the talagan_OneSmallStep.lua action. OSS handles the color of the button depending on its state, and the button will be fully togglable. An icon is provided with the installation (toolbar_one_small_step.png).


                            
More on the step input + input FX chain issues

A bit more of explanation on that point : if you intensively use MIDI JSFXs on your track FX input chains for various purposes (transposition, routing, velocity modification, etc) like I do, you may have already encountered this problem.

Since the default step input process is controlled by the MIDI control path of Reaper (for various very pertinent reasons), the FX input chain is bypassed. That means, when recording, and when step inputing, your MIDI flow will not behave the same way (channels are likely to be wrong, as well as note heights and velocities...). More funny, the piano roll preview will not match what is really written to the MIDI item by the step input process.

To address this, One Small Step installs a dedicated JSFX at the end of the input FX chain of the track of the MIDI item you're editing, that listens to MIDI Note events, and puts them in a buffer. One Small Step allows you then to "commit" those notes in the MIDI item, depending on the method you've chosen (key release, sustain pedal event, dedicated reaper action called by your computer keyboard).

(For archiving purpose, threads evoking this pb : here, here)

                            
Known bugs/limitations

Since OSS adds a helper JSFX to your tracks, atm it is not possible to avoid having an "add JSFX" entry in the undo stack. OSS also has an option to automatically cleanup these companion JSFXs on window close, but this will add a "remove JSFX" entry in the undo stack when closing OSS. Thus, when undoing things, you may fall on these entries and wonder why the undo is not working as expected (needing to undo twice the first time). I personally do not tick the "cleanup companion JSFXs on close" option, and launch the cleanup with a toolbar button regularly to avoid this annoying behaviour. The solution will be to add/remove the companion JSFXs silently, but atm it's not possible with Reaper's api.

At the moment, this tool is very young and bugs may happen. If you like it, don't hesitate to report and ask for some features. I'll do my best do make it evolve in the right direction (provided I have the time and motivation at the right moment!).

                            
Credits

One Small Step uses and heavily relies on Jeremy Bernstein (sockmonkey72)'s MIDIUtils library . Thanks for the precious work !

I have used important ideas from this great tool by tenfour. Epic hail and thanks to him !

Thanks to @cfillion for the precious pieces of advice given during the code review for reapack !

A lot of thanks to all donators, and forum members that help this tool to get better ! @stevie, @hipox, @MartinTL, @henu, @Thonex, @smandrap, @SoaSchas, @daodan, @inthevoid, @dahya, @User41, @Spookye, @R.Cato, @samlletas

                            

Donation

If you like One Small Step and want to donate to support the development, you can donate here :



Thanks a lot for your support !

                            

Changelog

V0.9.13 (May, 2024, the 2nd) :
  • [Bug Fix] [Write Mode] Commit back broken (thanks @samlletas !)
  • [Bug Fix] [Insert Mode] Cut + Add does not support extending held notes (thanks @samlletas !)

V0.9.12 (May, 2024, the 1st) :
  • [Feature] Added some options to tweak the insert mode behavior when inserting in the middle of existing notes (thanks @samlletas !)
  • [Bug Fix] Repitch mode would not work for fresh installs (thanks @samlletas !)
  • [Bug Fix] Navigation mode snap would not work (or partially ?) for fresh installs
  • [Rework] Ported all operations to the 'MIDIUtils' library by @sockmonkey72 (thanks Jeremy !!)

V0.9.11 (April, 2024, the 6th) :
  • [Feature] Velocity Limiter

V0.9.10 (March, 2024, the 19th) :
  • [Feature] Compress/Stretch Submode
  • [Feature] Stuff Submode
  • [Enhance] Force item bound snapping if item grid snap is on
  • [Rework] PPQ Precise operations
  • [Rework] New code architecture and file hierarchy, big code rework
  • [Rework] Addind debugging support for Visual Studio Code (using mavriq lua sockets, thanks @mavriq)

V0.9.9 (March, 2024, the 14th) :
  • [Rework] Changed toolbar icon color
  • [Bug Fix] [Repitch Mode] Patched MIDIUtils API : successive snapped notes would be borked by the automatic overlap correction option (thanks @smandrap)
  • [Bug Fix] [Write Mode] CommitBack action would be blocked by sustain pedal blocker if called from action (thanks @hipox !)
  • [Bug Fix] [Write Mode] Sustain Pedal blocking system when (stepping back + miss) was broken

V0.9.8 (March, 2024, the 14th) :
  • [Bug Fix] Enhancing behaviour of the repitch mode when Reaper’s “Autocorrect overlapping notes” is checked (thanks @smandrap & @Stevie !)

V0.9.7 (March 2024, the 13th) :
  • [Feature] Added repitch (+revel) mode (thanks @smandrap !)
  • [Fix] Added missing “Change Edit Mode” actions
  • [Doc] Added help button that redirects to current documentation
  • [Rework] Re arranged settings panel
  • [Rework] Reworked some icons and colors
  • [Rework] Started to use MIDI Utils API by sockmonkey72 instead of default MIDI API

V0.9.6 (March, 2024, the 9th) :
  • [Feature] Added Replace mode
  • [Feature] Added Navigate mode
  • [Feature] Added auto-scroll arrange view option
  • [Feature] [All Input Modes] Handle grid size for note length with modifier factor
  • [Feature] [All Input Modes] Handle swing for grid size note length
  • [Feature] [Navigate] Snap on project grid (with swing)
  • [Feature] [Navigate] Snap on item grid (with swing)
  • [Feature] [Navigate] Snap on note start/ends
  • [Feature] [Navigate] Snap on item bounds
  • [Feature] [Navigate] Added option to allow navigation on key events (does not input notes)
  • [Feature] [Write] Step back delete/shortening now happens on every key press/release event (notes should match keys)
  • [Feature] [Write] Added option to prevent the cursor from being moved back if step back delete fails (notes don’t match keys, the user missed)
  • [Feature] [Insert] Step back delete can now make holes
  • [Feature] Added system to engage modes with buttons or with customizable modifiers
  • [Rework] [Write] Reworked Delete/Step back logic
  • [Rework] [Insert] Reworked Delete/Step back logic
  • [Rework] Removed option “do not add notes if step back modifier key is pressed”, not pertinent anymore
  • [Rework] Removed option “erase note ends even if they do not align on cursor”, since the eraser does more complex things, it does not fit in the new flow
  • [Bug Fix] n-tuplets always used a value of 2/n, now using precpow2(n)/n
  • [Bug Fix] Create new items when advancing only if insert mode is on
  • [Bug fix] Icons/Images coould be randomly wrong

V0.9.5 (February, 2024, the 29th) :
  • [Feature] Added pedal repeater
  • [Feature] Added insert/cursor mode (inserts + move things forward, deletes backwards)
  • [UI] Aded status icons for modifier modes/keys (insert / backward / insert+backward)
  • [Rework] Changed folder structure

V0.9.4 (February, 2024, the 26th) :
  • [Feature] Added option to allow erasing note endings that do not match cursor when stepping back
  • [Feature] Keypress Mode : Added Sustain Inertia to detect held keys when pressing other keys (can be disabled)
  • [Feature] Added options to tweak Key Release / Key Press reaction times
  • [Feature] Added option to choose if input notes are selected or not
  • [Feature] Added option to automatically cleanup JSFXs on closing (thanks @stevie !)
  • [Feature] Added option to prevent notes from being inserted if the sustain pedal modifier key is pressed (this blocks insertion, useful in KP mode when starting an erase operation)
  • [Bug Fix] Project boundaries were not updated if the edited item was the last one and was extended (thanks @daodan !)
  • [Bug Fix] Reduced intensive CPU usage when OSS is running due to unuseful calls to Undo_Begin/End

V0.9.3 (February, 2024, the 23th) :
  • [Feature] The commit action/sustain pedal now extend notes if they were already held before (thanks @henu, @Martintl)
  • [Feature] Added Commit Back action to "do things" backward (shorten/remove notes) (thanks @Hipox)
  • [Feature] Added a modifier key setting (ctrl, shift, etc), to use in conjunction with the sustain pedal to trigger the commit back action (lol)
  • [Feature] Added settings panel
  • [Feature] Added setting to allow targetting items even if they are not selected (but the track is, and the cursor is contained by an item)
  • [Feature] Added setting to allow the automatic creation of MIOI items if none is selected
  • [Feature] It is possible to chose if the playback marker should be deleted, kept, or backed up for later when quitting OSS
  • [Feature] Added independent scripts to change the input mode
  • [Bug Fix] The helper JSFX window no longer pops up when it is added to a track and the "plugins > autofloat newly added JSFX windows" option is on (thanks @daodan)
  • [Bug Fix] The pedal reset + undo could mess up the state of the plugin (now, the plugin does not touch the JSFX params anymore)
  • [Bug Fix] After opening OSS, the plugin would periodically trigger a refocus event on the Reaper main window. This now happen only once when needed.
  • [Bug Fix] Forgot to index the standalone set/remove playback marker action
  • [Rework] Better behaviour when changing focus between window, arrange view and midi editor
  • [Rework] Removed action mode (merged it with the Pedal Mode, they are actually the same)
  • [Rework] Input mode icons redesign
  • [Rework] Code src/architecture rework

V0.9.1 (February, 2024, the 16th) :
  • [Feature] Added Keyboard Press mode
  • [Feature] Added playback (rewind and play) action (n measures)
  • [Feature] Added playback marker support

V0.9 (February, 2024, the 13th) :
  • Added support for complex note length modification (+/- fractions between 0 and 1)
  • More compact UI (save space)
  • Reworked sustain pedal and action roles in all modes
  • Removed OFF mode : Redundant with closing OSS
  • Bug Fix : "change note len param source" actions where called "change note len modifier" instead
  • Big code refactoring

V0.8 (February, 2024, the 10th) :
  • MIDI Items are now extended if the input notes overflow
  • Added Project Grid and MIDI Item conf modes to change the source for the note length
  • Added support for n-tuplets
  • Allow the use of the commit action in keyboard mode to insert rests
  • Allow the use of the commit action in pedal mode to act as the sustain pedal
  • Bug Fix : When launched from a toolbar button, update the button to OFF state when crashing or being terminated by REAPER

V0.1 (February, 2024, the 7th) :
  • Initial version
                            

Original post (for archiving purposes) :

Hi dear reaper friends,

I release today the first version of a tool that I had to develop for my own needs which is called One Small Step. It is an alternative to the default step input method shipped with Reaper.

(PRESENTATION)

I hope you'll enjoy using this as much as I do !

Cheers,

Ben

Last edited by Talagan; 05-06-2024 at 02:01 PM.
Talagan is online now   Reply With Quote
Old 02-07-2024, 09:05 PM   #2
User41
Human being with feelings
 
Join Date: Aug 2020
Posts: 255
Default

Very cool. I’m looking forward to trying this one out.
User41 is offline   Reply With Quote
Old 02-08-2024, 01:35 AM   #3
smandrap
Human being with feelings
 
smandrap's Avatar
 
Join Date: Feb 2021
Location: Right here
Posts: 1,776
Default

Huge kudos for this. It’s amazing, the sustain mode is incredibly cool.

Would you consider growing the right side of the MIDI item according to the inserted notes? Using the tool from the MIDI editor places notes outside item bounds without resizing them

Edit: this is what i mean:

__________________
My Scripts

Last edited by smandrap; 02-08-2024 at 02:21 AM.
smandrap is online now   Reply With Quote
Old 02-08-2024, 04:49 AM   #4
Talagan
Human being with feelings
 
Join Date: Feb 2016
Location: Paris / France
Posts: 315
Default

Quote:
Originally Posted by smandrap View Post
Would you consider growing the right side of the MIDI item according to the inserted notes? Using the tool from the MIDI editor places notes outside item bounds without resizing them.
Sure, it's done and I'll release an update in the next few days (giving some time to integrate other requests if there are some). Thanks for your feedback !
Talagan is online now   Reply With Quote
Old 02-08-2024, 05:08 AM   #5
Spookye
Human being with feelings
 
Spookye's Avatar
 
Join Date: Jul 2018
Location: Torino, Italia
Posts: 772
Default

Thnx Talagan! Extraordinary tool that was missing. Thank you so much
__________________
Cupboard Home Studio YT
https://www.youtube.com/channel/UCm8...X1912MA260ELzg
Spookye is offline   Reply With Quote
Old 02-10-2024, 01:58 AM   #6
Talagan
Human being with feelings
 
Join Date: Feb 2016
Location: Paris / France
Posts: 315
Default

Hey, I've updated the tool to V0.8 today.



Here's the changelog :
  • MIDI Items are now extended if the input notes overflow
  • Added Project Grid and MIDI Item conf modes to change the source for the note length
  • Added support for n-tuplets
  • Allow the use of the commit action in keyboard mode to insert rests
  • Allow the use of the commit action in pedal mode to act as the sustain pedal
  • Bug Fix : When launched from a toolbar button, update the button to OFF state when crashing or being terminated by REAPER


With the grid/item conf settings, this update should fit to more workflows. As usual, any comments / BR / FR are appreciated as long as I'm able to answer !

Enjoy !

Last edited by Talagan; 02-10-2024 at 02:21 AM.
Talagan is online now   Reply With Quote
Old 02-10-2024, 02:49 AM   #7
MartinTL
Human being with feelings
 
MartinTL's Avatar
 
Join Date: Sep 2023
Location: Norway
Posts: 150
Default

Quote:
Originally Posted by Talagan View Post
  • MIDI Items are now extended if the input notes overflow
  • Added Project Grid and MIDI Item conf modes to change the source for the note length
  • Added support for n-tuplets
Love these changes, great job!

Is it possible to add a button for adding silences / pauses following the selected duration? Would be great while step recording.
It would also be nice to be able to tweak the velocity: to set a fixed value for all input, a cramped min/max range or even a curve (log/lin/exp)

And this is more about editing, but I’d love a function for diminishing / augmenting the duration of selected notes. For example (taken from Oliver Messiaen):
Diminish by (menu): 1/5, 1/4, 1/3, 1/2, 2/3, 3/4, 4/5
Augment by (menu): 1/4, 1/3, 1/2, 1, 2, 3, 4

Best
Martin
MartinTL is offline   Reply With Quote
Old 02-10-2024, 03:24 AM   #8
Talagan
Human being with feelings
 
Join Date: Feb 2016
Location: Paris / France
Posts: 315
Default

Quote:
Originally Posted by MartinTL View Post
Love these changes, great job!
Thanks, Martin !

Quote:
Originally Posted by MartinTL View Post
Is it possible to add a button for adding silences / pauses following the selected duration? Would be great while step recording.
It is already possible to insert rests :

- in Pedal Mode, just press the sustain pedal, without any held notes
- in Action Mode, just call the "Commit" action, without any held notes
- In Keyboard Mode, you can call the "Commit" action having held notes or not (probably requires to create a shortcut for easiness of use)

This button would only make sense in Keyboard Mode then, I'd tend to encourage to use the Commit action but still, a clickable button would be an additional option ! Using the sustain pedal for inserting rests in keyboard mode could be another feature. I need to think about what's the most natural.

Quote:
Originally Posted by MartinTL View Post
It would also be nice to be able to tweak the velocity: to set a fixed value for all input, a cramped min/max range or even a curve (log/lin/exp)
**Malicious grin**. You can use MIDI CC Mapper X in the Input FX chain or any other velocity modifier JSFX. That is the exact main reason I was missing such a plugin : to have my step input MIDI notes pass through the input FX chain ! I'd say that OSS should then stay as simple as possible and benefit from the modularity of the input FX chain, where you can do absolutely anything you want.

Quote:
Originally Posted by MartinTL View Post
And this is more about editing, but I’d love a function for diminishing / augmenting the duration of selected notes. For example (taken from Oliver Messiaen):
Diminish by (menu): 1/5, 1/4, 1/3, 1/2, 2/3, 3/4, 4/5
Augment by (menu): 1/4, 1/3, 1/2, 1, 2, 3, 4
It's probably out of the scope of OSS (it does not act on selected notes, but just inputs some), but maybe such actions already exist in Reapack (need to dig a little...). I think these actions could be written quite easily independently. [Edit: But in the scope of step input, I can probably add a button with a parameter, like the tuplet one, to add a length modifier that is more complex than juste 'dotted'].

Thanks a lot for your ideas and feedback !

Last edited by Talagan; 02-10-2024 at 04:22 AM.
Talagan is online now   Reply With Quote
Old 02-10-2024, 05:39 AM   #9
MartinTL
Human being with feelings
 
MartinTL's Avatar
 
Join Date: Sep 2023
Location: Norway
Posts: 150
Default

Thank you for your reply!

Quote:
Originally Posted by Talagan View Post
This button would only make sense in Keyboard Mode then, I'd tend to encourage to use the Commit action but still, a clickable button would be an additional option ! Using the sustain pedal for inserting rests in keyboard mode could be another feature. I need to think about what's the most natural.
It would be nice with an clickable "insert rest", or another solution (right arrow on computer keyboard, sustain pedal etc.)


Quote:
Originally Posted by Talagan View Post
**Malicious grin**. You can use MIDI CC Mapper X in the Input FX chain or any other velocity modifier JSFX. That is the exact main reason I was missing such a plugin : to have my step input MIDI notes pass through the input FX chain ! I'd say that OSS should then stay as simple as possible and benefit from the modularity of the input FX chain, where you can do absolutely anything you want.
Definitely possible to use other JS tools If it's possible and not too much work to set a min/max input velocity range (two number boxes or sliders), it would be great to have it integrated.


Quote:
Originally Posted by Talagan View Post
It's probably out of the scope of OSS (it does not act on selected notes, but just inputs some), but maybe such actions already exist in Reapack (need to dig a little...). I think these actions could be written quite easily independently. [Edit: But in the scope of step input, I can probably add a button with a parameter, like the tuplet one, to add a length modifier that is more complex than juste 'dotted'].
For editing the duration of selected notes, yes - a separate MIDI editing script would probably be better.

But for step recording, it would be really nice with some more parameters for setting/editing the durations. For example dotted note, double dotted note, triple dotted note, and some diminuation and augmentation ratios like the ones mentioned above.

BTW: FeedTheCat has developed a really nice script called GridBox, where you can set really weird ratios/subdivisions. So if your script follows/obeys the Reaper grid, I guess a lot of the durations can be set using OSS with the GridBox.
MartinTL is offline   Reply With Quote
Old 02-11-2024, 05:26 AM   #10
henu
Human being with feelings
 
Join Date: Dec 2020
Posts: 76
Default

Stellar work!
This is really lovely, something that I got into thinking, what if there was a way to use the commit in addition to the keyboard as a rest and "extend note" button/pedal?
so initial note input would happen from the keyboard as regular.
and if you have no midi input, then hitting commit would add a rest, and if youre holding down the previous note still it would extend the held down note one step forward....
so you could really easily input pretty complex melodies with that kind of setup very fast!
henu is offline   Reply With Quote
Old 02-11-2024, 07:25 AM   #11
Talagan
Human being with feelings
 
Join Date: Feb 2016
Location: Paris / France
Posts: 315
Default

Quote:
Originally Posted by MartinTL View Post
It would be nice with an clickable "insert rest", or another solution (right arrow on computer keyboard, sustain pedal etc.)
In the next version (0.9), I'm giving a role to the pedal and the action for all modes :
  • In keyboard mode, the pedal and the action insert rests (and only rests).
  • In pedal mode, the pedal and the action insert held notes, or rests if no notes are held.
  • In action mode, the pedal insert rests (and only rests), and the action insert held notes, or rests if no notes are held.

Quote:
Originally Posted by MartinTL View Post
Definitely possible to use other JS tools If it's possible and not too much work to set a min/max input velocity range (two number boxes or sliders), it would be great to have it integrated.
Got to think about it ! I'm compacting the UI at the moment, so maybe in a later version, I'll start to add advanced parameters in a hidden togglable section.

Quote:
Originally Posted by MartinTL View Post
But for step recording, it would be really nice with some more parameters for setting/editing the durations. For example dotted note, double dotted note, triple dotted note, and some diminuation and augmentation ratios like the ones mentioned above.
Granted! In the pipe for next version (will be released in a few days) !



Quote:
Originally Posted by MartinTL View Post
BTW: FeedTheCat has developed a really nice script called GridBox, where you can set really weird ratios/subdivisions. So if your script follows/obeys the Reaper grid, I guess a lot of the durations can be set using OSS with the GridBox.
I've just tested and it won't work in all cases (like with complex non equal grids), I need to investigate more in details, I currently rely on the GetSetProjectGrid function and it's probably not sufficient.

Quote:
Originally Posted by henu View Post
This is really lovely, something that I got into thinking, what if there was a way to use the commit in addition to the keyboard as a rest and "extend note" button/pedal?
so initial note input would happen from the keyboard as regular.
and if you have no midi input, then hitting commit would add a rest, and if youre holding down the previous note still it would extend the held down note one step forward....
Thanks a lot for your feedback henu ! For the rest input, it's already the case (see my comment above for next version). For the "keep holding + extend note" feature, this sounds awesome ; but it needs reflexion on my side on the feasibility, starting from the current implementation. Maybe this behaviour could also be optional. I love the idea of inputing a note + modifying it (it feels so easy in Guitar Pro for example), so maybe one easy thing to consider for starting would be, when inputing notes with OSS, input notes could be selected automatically so that the user can call any modifier on it afterwards.

Ben

Last edited by Talagan; 02-11-2024 at 11:57 AM.
Talagan is online now   Reply With Quote
Old 02-11-2024, 01:46 PM   #12
MartinTL
Human being with feelings
 
MartinTL's Avatar
 
Join Date: Sep 2023
Location: Norway
Posts: 150
Default

Quote:
Originally Posted by Talagan View Post
In the next version (0.9), I'm giving a role to the pedal and the action for all modes
Very cool, looking forward to testing it!

Quote:
Originally Posted by Talagan View Post
Got to think about it ! I'm compacting the UI at the moment, so maybe in a later version, I'll start to add advanced parameters in a hidden togglable section.
Understandable! Not a big thing, really - just convenient.

Quote:
Originally Posted by Talagan View Post
Granted! In the pipe for next version (will be released in a few days) !
Very neat, thank you!

Quote:
Originally Posted by Talagan View Post
I've just tested and it won't work in all cases (like with complex non equal grids), I need to investigate more in details, I currently rely on the GetSetProjectGrid function and it's probably not sufficient.
Interesting, thanks for checking it out - would be very cool to get the scripts to interact, although I understand if that is too difficult and beyond the scope of this script

PS: When step recording in Ableton, you can e.g. play a chord and while you hold the chord you can extend its duration with the left-arrow-key on the computer keyboard until you release. Is this something you would consider implementing (or does it already work? Haven't tried yet!)
MartinTL is offline   Reply With Quote
Old 02-12-2024, 04:16 AM   #13
SoaSchas
Human being with feelings
 
Join Date: May 2020
Posts: 12
Default

Absolut incredible workflow enhancer.
Just one question. Would it be possible to add a function to track the midi output of the track? . Would be nice for those midi chord vst´s which don´t support drag n drop.


edit: all taken back. Found out how it works. Just use them in input FX. I should learn to read)

Last edited by SoaSchas; 02-12-2024 at 05:06 AM.
SoaSchas is offline   Reply With Quote
Old 02-12-2024, 08:55 AM   #14
Hipox
Human being with feelings
 
Join Date: Apr 2022
Posts: 210
Default

Huge thanks! A donation is on the way

I just wanted to quickly test is, but I could not get a midi input with the Reaper's Virtual Midi Keyboard. Is this a case of an input that does not get recognized?

Also, would you consider implementing "step back" action? Meaning - if notes end on an edit cursor, the same midi notes are pressed on a midi keyboard and "step back" action is triggered, it would move edit cursor back and shorten selected notes to length defined by script settings.

Last edited by Hipox; 02-12-2024 at 10:25 AM.
Hipox is offline   Reply With Quote
Old 02-12-2024, 09:28 AM   #15
henu
Human being with feelings
 
Join Date: Dec 2020
Posts: 76
Default

ahh yes thanks! didnt notice you were planning on featuring the pedal as a thing for the rest input already! great stuff cant wait!

But yeha the idea is that pressing pedal/action always advances the input in keyboard mode, if theres nothign played it makes rest as usual and then if something is pressed it extends whatever is already pressed! super intuitive.

-H
henu is offline   Reply With Quote
Old 02-12-2024, 12:43 PM   #16
Talagan
Human being with feelings
 
Join Date: Feb 2016
Location: Paris / France
Posts: 315
Default

Quote:
Originally Posted by MartinTL View Post
Interesting, thanks for checking it out - would be very cool to get the scripts to interact, although I understand if that is too difficult and beyond the scope of this script
I'll investigate, because I also don't handle the grid swing yet which is probably a must have.

Quote:
Originally Posted by MartinTL View Post
PS: When step recording in Ableton, you can e.g. play a chord and while you hold the chord you can extend its duration with the left-arrow-key on the computer keyboard until you release. Is this something you would consider implementing (or does it already work? Haven't tried yet!)
It's something that's been asked by henu too, so yes it's in the todo list. I'll release 0.9 first and then work on this subject.

Quote:
Originally Posted by henu View Post
But yeha the idea is that pressing pedal/action always advances the input in keyboard mode, if theres nothign played it makes rest as usual and then if something is pressed it extends whatever is already pressed! super intuitive.
Very neat and clear !

Quote:
Originally Posted by SoaSchas View Post
Absolut incredible workflow enhancer.
Thank you for your kind words! (And lol for the input fx chain remark !)

Quote:
Originally Posted by Hipox View Post
Huge thanks! A donation is on the way
Wow ! Thank you so much, and to the other donators too ! I am really touched. Since it's impassioned work, this means something special.

Quote:
Originally Posted by Hipox View Post
I just wanted to quickly test is, but I could not get a midi input with the Reaper's Virtual Midi Keyboard. Is this a case of an input that does not get recognized?
No, it should work (I've just retested to check). You should be in the exact same configuration as if you were recording : the virtual keyboard must be in the list of MIDI inputs set on the track for recording, the track should also be armed for recording. Also, a restart of Reaper might be necessary just after install because the Helper JSFX should be discovered by Reaper (but if you were in that situation, OSS should have complained that the JSFX was missing and would have told you to restart). Tell me if you get to make it work on your side, as it might hind a bug.

Quote:
Originally Posted by Hipox View Post
Also, would you consider implementing "step back" action? Meaning - if notes end on an edit cursor, the same midi notes are pressed on a midi keyboard and "step back" action is triggered, it would move edit cursor back and shorten selected notes to length defined by script settings.
Very interesting idea too ! ATM, I've tried to make the Undo work as flawlessly as possible, but it's not as powerful as what you describe. If I add an "extend note" behaviour for the pedal/commit action, I think I could probably work on a step back action too. The only drawback is how to propose a simple way to configure the length of the back step. It could very well use the current note length setting of course, to keep the UI simple.

Ben
Talagan is online now   Reply With Quote
Old 02-12-2024, 06:16 PM   #17
R.Cato
Human being with feelings
 
Join Date: Dec 2020
Posts: 57
Default

An amazing tool. Thank you so much for sharing this.
R.Cato is offline   Reply With Quote
Old 02-12-2024, 08:18 PM   #18
Thonex
Human being with feelings
 
Join Date: May 2018
Location: Los Angeles
Posts: 1,723
Default

EDIT -- Never Mind... You already added it!

Fantastic job Talagan!!

It is very fluid and a big improvement.

One thing I would love for you to add (and I'm pretty sure it's trivial to add (and maybe it's already there and I just missed it?), is a way to move the cursor later by the same note-value you are on. In other words, a way to skip a note. The Tab key comes to mind... but making it assignable would be great.

Fantastic work!

Cheers,

Andrew K
__________________
Cheers... Andrew K
Reaper v6.80+dev0621 - June 21 2023 • Catalina • Mac Mini 2020 6 core i7 • 64GB RAM • OS: Catalina • 4K monitor • RME RayDAT card with Sync Card and extended Light Pipe.
Thonex is offline   Reply With Quote
Old 02-13-2024, 02:14 AM   #19
Talagan
Human being with feelings
 
Join Date: Feb 2016
Location: Paris / France
Posts: 315
Default

Thanks @Thonex and @R.Cato for your kind words !

I've released today version 0.9, the changelog is here :
  • Added support for complex note length modification (+/- fractions between 0 and 1)
  • More compact UI (save space)
  • Reworked sustain pedal and commit action roles in all modes
  • Removed OFF mode : Redundant with closing OSS
  • Bug Fix : "change note len param source" actions where called "change note len modifier" instead
  • Big code refactoring

Screenshot :



The fraction is proportional, and applies to the current selected length : for example if you've selected a 1/8th note with the following modification options : - and 2/5, what you'll get is 1/8 * (1 - 2/5). If you've select a 1/2th note with options : + and 3/8, you'll get : 1/2 * (1 + 3/8).

Dotted is thus +1/2, and triplet is -1/3.

I forgot to mention in the documentation that it is a huge plus in OSS's workflow to enable the following option (General > Undo Settings > Include selection > Cursor position). This option will result in creating an undo point whenever the edit cursor is moved, which, in the case of OSS allows to rewind the edit position/cursor when calling Undo (in addition to erasing last input notes at the same time). Unfortunately, I cannot control the undo point creation by myself using the API, so atm this setting is required.

Last edited by Talagan; 02-13-2024 at 03:47 AM.
Talagan is online now   Reply With Quote
Old 02-13-2024, 03:37 AM   #20
inthevoid
Human being with feelings
 
inthevoid's Avatar
 
Join Date: May 2022
Location: London
Posts: 495
Default

Thank you so much for this fantastic script!
inthevoid is offline   Reply With Quote
Old 02-13-2024, 11:30 AM   #21
Thonex
Human being with feelings
 
Join Date: May 2018
Location: Los Angeles
Posts: 1,723
Default

Quote:
Originally Posted by Talagan View Post
I've released today version 0.9, the changelog is here :
  • Added support for complex note length modification (+/- fractions between 0 and 1)
  • More compact UI (save space)
  • Reworked sustain pedal and commit action roles in all modes
  • Removed OFF mode : Redundant with closing OSS
  • Bug Fix : "change note len param source" actions where called "change note len modifier" instead
  • Big code refactoring
Fantastic!

Ok... one thing I think that would make this much better is to ignore waiting for note-offs when playing on a MIDI keyboard. This would make playing fast passaged much more reliable as opposed to accidentally making chords.

I understand that you are waiting for note-offs so that people can play chords, but I think a better approach would be to have a "chord window" of (say) 50ms. Anything that is played within 50ms of the last note is part of a chord (the cursor doesn't move). Anything played outside that 50ms is a new note step (the cursor moves to the next position).

I hope you don't take offense to the suggestion as I think you have created a wonderful tool here. Thank you for your contribution.

Cheers,

Andrew K
__________________
Cheers... Andrew K
Reaper v6.80+dev0621 - June 21 2023 • Catalina • Mac Mini 2020 6 core i7 • 64GB RAM • OS: Catalina • 4K monitor • RME RayDAT card with Sync Card and extended Light Pipe.

Last edited by Thonex; 02-13-2024 at 11:37 AM.
Thonex is offline   Reply With Quote
Old 02-13-2024, 12:26 PM   #22
_Stevie_
Human being with feelings
 
_Stevie_'s Avatar
 
Join Date: Oct 2017
Location: Black Forest
Posts: 5,086
Default

Thanks Talagan, awesome script!

I totally agree with Andrew. I'm using a weighted action keyboard and when trying to play in fast runs, I get all kinds of erratic behavior (unwanted chords, swallowed notes), because the hammer takes a while to release / send the note off.
__________________
My Reascripts forum thread | My Reascripts on GitHub
If you like or use my scripts, please support the Ukraine: Ukraine Crisis Relief Fund | DirectRelief | Save The Children | Razom
_Stevie_ is offline   Reply With Quote
Old 02-13-2024, 01:50 PM   #23
Talagan
Human being with feelings
 
Join Date: Feb 2016
Location: Paris / France
Posts: 315
Default

Hey Andrew and Stevie !

Thanks for your feedback. Yes, in keyboard mode, atm the plugin may not give the wanted result with fast played notes - because it tries to detect chords (this is intended as you suspected, Andrew). As long as there's one held key, OSS will not step forward, it allows to test chords until you're happy at ear (of course, with monitoring on).

It means that everything overlapping will be swallowed by the last event(s) (ex : note 1 on/note 2 on/note1 off/note2 off = only note2 is input). It forces you to enter things slowly (like if you were spelling a word). There's a tolerance window to aggregate very close note off events however. It is currently set to 0.2s.

In fact, I've just tried to replicate the default step input method of Reaper ; I think I'm quite close but I'm curious to have your feedback on this point (if you could test the difference of behaviour between Reaper's one and OSS's one with your setup and give me your impression I'd be happy, it would be of great help !).

I may be misled, but if I understand well your feeling and what you've experienced, it might me that there's one input mode which is simply missing. I could very well split the 'keyboard mode' in two modes 'melodic keyboard' triggered by key press events, and 'harmonic keyboard' triggered by key release events.

What's your opinion ? I'm totally open to discussion.

Last edited by Talagan; 02-15-2024 at 08:39 AM.
Talagan is online now   Reply With Quote
Old 02-13-2024, 02:40 PM   #24
Thonex
Human being with feelings
 
Join Date: May 2018
Location: Los Angeles
Posts: 1,723
Default

Quote:
Originally Posted by Talagan View Post
What's your opinion ? I'm totally open to discussion.
Hi Talagan,

Thanks for being so open!

I messaged you privately in more detail, but I think having 2 modes may be the simplest solution because you already have the pedal logic worked in. I think maybe have the current mode you have now. And then add a Melodic-only mode that will always advance the cursor after every note for faster playing where notes overlap.

Cheers,

Andrew K
__________________
Cheers... Andrew K
Reaper v6.80+dev0621 - June 21 2023 • Catalina • Mac Mini 2020 6 core i7 • 64GB RAM • OS: Catalina • 4K monitor • RME RayDAT card with Sync Card and extended Light Pipe.
Thonex is offline   Reply With Quote
Old 02-13-2024, 02:40 PM   #25
inthevoid
Human being with feelings
 
inthevoid's Avatar
 
Join Date: May 2022
Location: London
Posts: 495
Default

Quote:
Originally Posted by Talagan View Post
Hey Andrew and Stevie !

Thanks for your feedback. Yes, in keyboard mode, atm the plugin may not give the wanted result with fast played notes - because it tries to detect chords (this is intended as you suspected, Andrew). As long as there's one held key, OSS will not step forward, it allows to test chords until you're happy at ear (of course, with monitoring on).

It means that everything overlapping will be swallowed by the last event(s) (ex : note 1 on/note 2 on/note1 off/note2 off = only note2 is input). It forces you to enter things slowly (like if you were spelling a word). There's a tolerance window to aggregate very close note off events however. It is currently set to 0.2s.

In fact, I've just tried to replicate the default step input method of Reaper ; I think I'm quite closed but I'm curious to have your feedback on this point (if you could test the difference of behaviour between Reaper's one and OSS's one with your setup and give me your impression I'd be happy, it would be of great help !).

I may be mislead, but if I understand well your feeling and what you've experienced, it might me that there's one input mode which is simply missing. I could very well split the 'keyboard mode' in two modes 'melodic keyboard' triggered by key press events, and 'harmonic keyboard' triggered by key release events.

What's your opinion ? I'm totally open to discussion.
Splitting the modes as you suggest would be great! Have been using it throughout today and have found I've struggled slightly with the same thing (unwanted chord input / swallowed notes when trying to input a single melodic line quickly).
inthevoid is offline   Reply With Quote
Old 02-13-2024, 04:03 PM   #26
_Stevie_
Human being with feelings
 
_Stevie_'s Avatar
 
Join Date: Oct 2017
Location: Black Forest
Posts: 5,086
Default

Quote:
In fact, I've just tried to replicate the default step input method of Reaper ; I think I'm quite closed but I'm curious to have your feedback on this point (if you could test the difference of behaviour between Reaper's one and OSS's one with your setup and give me your impression I'd be happy, it would be of great help !).
Ah yeah, I should have mentioned that the REAPER MIDI input gives me the same strange issues. That's why I never used it, lol. So, being less close to REAPER here, would definitely be a plus

Quote:
I may be misled, but if I understand well your feeling and what you've experienced, it might me that there's one input mode which is simply missing. I could very well split the 'keyboard mode' in two modes 'melodic keyboard' triggered by key press events, and 'harmonic keyboard' triggered by key release events.

What's your opinion ? I'm totally open to discussion.
That would be totally amazing! I'd vote for that!
__________________
My Reascripts forum thread | My Reascripts on GitHub
If you like or use my scripts, please support the Ukraine: Ukraine Crisis Relief Fund | DirectRelief | Save The Children | Razom
_Stevie_ is offline   Reply With Quote
Old 02-16-2024, 02:34 AM   #27
Talagan
Human being with feelings
 
Join Date: Feb 2016
Location: Paris / France
Posts: 315
Default

Thanks @stevie, @inthevoid and @Thonex for your feedback on the keyboard input mode, and specially thank you Andrew for sharing your technical expertise on the subject !

I've just released v0.9.1 and gave priority to that specific matter. Here's the changelog :
  • [Feature] Added Keyboard Press mode
  • [Feature] Added playback (rewind and play) action (n measures)
  • [Feature] Added playback marker support
and screenshot :



and a quick demo :



So. The new Keyboard mode is based on key press events (not key release), so it is fast and fluid (but it is not made for groping). The aggregation window for detecting chords is short too, but one still needs to articulate a bit. Overall I think it feels quite fluid and more natural when you're precise and you know what you want.

Additionally, I've added a "playback" widget (in green), which allows to rewind and play what you've just input. It is either based on a number of measures, or if set to "Mk", it will use a marker that you can set/move/remove as the start of the playback. Usually in Reaper, you play FROM the edit cursor, but I thought that in this workflow it was more natural to play UP TO the edit cursor, since then, it is restored at the end of the playback and ready for continuing the edition. (Both the set marker and playback actions are available independently so you can also use them without the UI if you need them in other workflows).

Now, I'm going to work priorly on the "backstep" features (erase/go back) or extend features as we discussed them with @Hipox, @henu and @MartinTL. (Maybe at a lower pace during the next few days, but I really start to enjoy building this tool).

Cheers to ye all,

Ben

Last edited by Talagan; 02-16-2024 at 02:43 AM.
Talagan is online now   Reply With Quote
Old 02-16-2024, 09:12 AM   #28
dahya
Human being with feelings
 
Join Date: Oct 2019
Posts: 240
Default

Wow Talagan, this is so simple but yet so amazing, thanks for sharing ! I only need to use a small portion of the functionality, and even that just works so well !
dahya is offline   Reply With Quote
Old 02-17-2024, 01:15 PM   #29
SoaSchas
Human being with feelings
 
Join Date: May 2020
Posts: 12
Default

Hmm The rewind function seems to not work for me.
selecting measures or placing the marker works fine.
But when I click the PLayback button nothing happens
Am I doing something wrong again or is this a bug?
I swear I read everthing carefully this time )
SoaSchas is offline   Reply With Quote
Old 02-17-2024, 02:54 PM   #30
Talagan
Human being with feelings
 
Join Date: Feb 2016
Location: Paris / France
Posts: 315
Default

Quote:
Originally Posted by SoaSchas View Post
Hmm The rewind function seems to not work for me.
selecting measures or placing the marker works fine.
But when I click the PLayback button nothing happens
Am I doing something wrong again or is this a bug?
I swear I read everthing carefully this time )
I've just checked and you're right, it looks like I forgot to index the Playback Script in the repository. Will fix this asap. Thanks for noticing !

Last edited by Talagan; 02-17-2024 at 03:08 PM.
Talagan is online now   Reply With Quote
Old 02-17-2024, 03:43 PM   #31
Talagan
Human being with feelings
 
Join Date: Feb 2016
Location: Paris / France
Posts: 315
Default

Should be fixed now with 0.9.2 (thanks to @cfillion for the fast merge) !
Talagan is online now   Reply With Quote
Old 02-19-2024, 05:44 PM   #32
Thonex
Human being with feelings
 
Join Date: May 2018
Location: Los Angeles
Posts: 1,723
Default

Quote:
Originally Posted by Talagan View Post
Thanks @stevie, @inthevoid and @Thonex for your feedback on the keyboard input mode, and specially thank you Andrew for sharing your technical expertise on the subject !
Great work Ben!!

Love the script!! Thanks so much for this valuable contribution!

Cheers,

Andrew K
__________________
Cheers... Andrew K
Reaper v6.80+dev0621 - June 21 2023 • Catalina • Mac Mini 2020 6 core i7 • 64GB RAM • OS: Catalina • 4K monitor • RME RayDAT card with Sync Card and extended Light Pipe.
Thonex is offline   Reply With Quote
Old 02-21-2024, 11:56 AM   #33
_Stevie_
Human being with feelings
 
_Stevie_'s Avatar
 
Join Date: Oct 2017
Location: Black Forest
Posts: 5,086
Default

Quote:
Originally Posted by Talagan View Post
Thanks @stevie, @inthevoid and @Thonex for your feedback on the keyboard input mode, and specially thank you Andrew for sharing your technical expertise on the subject !

I've just released v0.9.1 and gave priority to that specific matter.
Sorry for not getting back to you sooner. Just got time to test this.
It's absolutely brilliant! It's now possible to record fast arpeggios and run. Merci beaucoup!
__________________
My Reascripts forum thread | My Reascripts on GitHub
If you like or use my scripts, please support the Ukraine: Ukraine Crisis Relief Fund | DirectRelief | Save The Children | Razom

Last edited by _Stevie_; 02-21-2024 at 04:17 PM.
_Stevie_ is offline   Reply With Quote
Old 02-21-2024, 12:38 PM   #34
Daodan
Human being with feelings
 
Join Date: Jan 2011
Posts: 1,226
Default FR

Cool tool! Especially commit with sustain pedal - so unusual but so convenient at the same time. Thanks!
I would like to be able to insert notes even when no MIDI item selected so script add one automatically if no midi items selected and insert notes in this item. Is this possible?

Also I have option to pop-up new fx windows enabled and I like it but this cause "JS: One Small Step Helper" to pop-up too with is undesirable because this plugin for script only not for user to interact. Could you suppress this please?
Daodan is online now   Reply With Quote
Old 02-21-2024, 02:34 PM   #35
Talagan
Human being with feelings
 
Join Date: Feb 2016
Location: Paris / France
Posts: 315
Default

Quote:
Originally Posted by _Stevie_ View Post
Sorry for not getting back to you sooner. Just got time to test this.
It's absolutel brilliant! It's now possible to record fast arpeggios and run. Merci beaucoup!
Wow Stevie, thanks for the huge donation !! You're incredible. Danke sehr ! Hope you'll enjoy the upcoming features.

Quote:
Originally Posted by Daodan View Post
Cool tool! Especially commit with sustain pedal - so unusual but so convenient at the same time. Thanks!
I would like to be able to insert notes even when no MIDI item selected so script add one automatically if no midi items selected and insert notes in this item. Is this possible?
Yes it is completely pertinent. I'll add an option for this in the next version (probably disabled by default to keep the current behaviour, and because it might be a bit dangerous).

Quote:
Originally Posted by Daodan View Post
Also I have option to pop-up new fx windows enabled and I like it but this cause "JS: One Small Step Helper" to pop-up too with is undesirable because this plugin for script only not for user to interact. Could you suppress this please?
Yes ! I have found a solution and so it will be fixed in the next release (I was completely unaware of this reaper option ! I'm always fascinated by the abundance of options in Reaper, and still more fascinated by the use people found for them)

Last edited by Talagan; 02-21-2024 at 02:41 PM.
Talagan is online now   Reply With Quote
Old 02-22-2024, 09:57 AM   #36
_Stevie_
Human being with feelings
 
_Stevie_'s Avatar
 
Join Date: Oct 2017
Location: Black Forest
Posts: 5,086
Default

Quote:
Originally Posted by Talagan View Post
Wow Stevie, thanks for the huge donation !! You're incredible. Danke sehr ! Hope you'll enjoy the upcoming features.
You're more than welcome! You nailed step recording in REAPER, and that deserves recognition!
__________________
My Reascripts forum thread | My Reascripts on GitHub
If you like or use my scripts, please support the Ukraine: Ukraine Crisis Relief Fund | DirectRelief | Save The Children | Razom
_Stevie_ is offline   Reply With Quote
Old 02-23-2024, 11:09 AM   #37
Talagan
Human being with feelings
 
Join Date: Feb 2016
Location: Paris / France
Posts: 315
Default

Hey Reaper friends !

I've just released v0.9.3.



Here's the changelog :
  • [Feature] The commit action/sustain pedal now extend notes if they were already held before (thanks @henu, @Martintl)
  • [Feature] Added Commit Back action to "do things" backward (shorten/remove notes) (thanks @Hipox)
  • [Feature] Added a modifier key setting (ctrl, shift, etc), to use in conjunction with the sustain pedal to trigger the commit back action (lol)
  • [Feature] Added settings panel
  • [Feature] Added setting to allow targetting items even if they are not selected (but the track is, and the cursor is contained by an item)
  • [Feature] Added setting to allow the automatic creation of MIOI items if none is selected
  • [Feature] It is possible to chose if the playback marker should be deleted, kept, or backed up for later when quitting OSS
  • [Feature] Added independent scripts to change the input mode
  • [Bug Fix] The helper JSFX window no longer pops up when it is added to a track and the "plugins > autofloat newly added JSFX windows" option is on (thanks @daodan)
  • [Bug Fix] The pedal reset + undo could mess up the state of the plugin (now, the plugin does not touch the JSFX params anymore)
  • [Bug Fix] After opening OSS, the plugin would periodically trigger a refocus event on the Reaper main window. This now happen only once when needed.
  • [Bug Fix] Forgot to index the standalone set/remove playback marker action
  • [Rework] Better behaviour when changing focus between window, arrange view and midi editor
  • [Rework] Removed action mode (merged it with the Pedal Mode, they are actually the same, now it's called Punch Mode)
  • [Rework] Input mode icons redesign
  • [Rework] Code src/architecture rework

The new settings panel :



Item creation in arrange view on input :



Demo of held notes lengthening and shortening (via sustain pedal and ctrl + sustain pedal) :



This is still a very young plugin, so bugs may happen Probably a LOT of options may be added now, since we have multiple behaviours under the hand (and the foot).

Thanks a lot to all members here in the discussion, all shared ideas are so cool !

Last edited by Talagan; 02-23-2024 at 11:51 AM.
Talagan is online now   Reply With Quote
Old 02-23-2024, 12:11 PM   #38
Daodan
Human being with feelings
 
Join Date: Jan 2011
Posts: 1,226
Default

AMAZING!


found a little bug:


Reaper "does not see" the last chord. Watch how the play cursor jumps to the beginning of playback like if there was nothing there.
Daodan is online now   Reply With Quote
Old 02-23-2024, 12:32 PM   #39
Talagan
Human being with feelings
 
Join Date: Feb 2016
Location: Paris / France
Posts: 315
Default

Quote:
Originally Posted by Daodan View Post
Reaper "does not see" the last chord. Watch how the play cursor jumps to the beginning of playback like if there was nothing there.
Hmmm that is FUN ! XD I can reproduce it. And if I extend the item, then it works. Maybe the item is dirty... Thanks for reporting. I'm going to investigate.

Edit : Just selecting the item makes the bug go away. Hmmm....

Edit : Found the bug. An API call is needed to update the project boundaries. Thanks @daodan !!

Last edited by Talagan; 02-23-2024 at 12:42 PM.
Talagan is online now   Reply With Quote
Old 02-23-2024, 01:43 PM   #40
inthevoid
Human being with feelings
 
inthevoid's Avatar
 
Join Date: May 2022
Location: London
Posts: 495
Default

@Talagan - All I have to say is a huge THANK YOU for this script! You have created an absolutely essential MIDI script here.
inthevoid is offline   Reply With Quote
Reply

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT -7. The time now is 01:21 AM.


Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2024, vBulletin Solutions Inc.