Old 10-03-2019, 07:57 AM   #1
o_e
Human being with feelings
 
Join Date: May 2016
Posts: 355
Default MIDI Item teilen II

Hallo,

Habe den Thread 'Midi Item teilen Problem! Gelöst!!!' verfolgt und frage mich, ob man dass von solger vorgeschlagene script:

Code:
me = reaper.MIDIEditor_GetActive() 
reaper.MIDIEditor_OnCommand(me, reaper.NamedCommandLookup("_RS7d3c_1ca5fd29e7f002f 078e6771848b2d26606beaab6")) -- Script: sr_Select notes under edit cursor.lua
reaper.MIDIEditor_OnCommand(me, 40791) -- Edit: Trim right edge of note to edit cursor

reaper.Main_OnCommand(40757, 0) -- Item: Split items at edit cursor (no change selection)
dahingehend verfeinern kann, dass es 'misst' welcher Teil der Midi-Notes, die zerteilt werden sollen, der kürzere ist und nur diesen trimmt (oder den Teil, der unter einem definierten Längenwert ist). Kann man in einem script auslesen, wie lange eine MIDI-note rechts und links vom cursor ist und dann (nur) den kürzeren Teil trimmen? Das würde das script 'smart' machen.. Vielleicht liest das ja jemand hier, der weiss, ob sowas geht, ansonsten würde ich mal im scripting-Unterforum einen thread anfangen..
o_e is online now   Reply With Quote
Old 10-04-2019, 01:06 PM   #2
solger
Human being with feelings
 
solger's Avatar
 
Join Date: Mar 2013
Posts: 3,748
Default

Hallo,

hab mal auf die Schnelle eine erste adaptierte Version vom [MIDI EDITOR] Script: me2beats_Split notes (select left).lua zum Ausprobieren gemacht (siehe Anhang), die den kürzereren Teil von selektierten Noten anhand der Cursorposition trimmt.
Kann man sicher noch optimieren


1) Angehängtes Skript in die [MAIN] Sektion von der Action List laden

2a) Dann in der [MAIN] Sektion entweder eine Custom Action erstellen mit:
Code:
Script: sr_Select notes under edit cursor.lua
Script: trim-shorter-note-part-at-cursor.lua
Item: Split items at edit cursor (no change selection)
2b) Oder folgendes .lua Script erstellen (und jeweils die entsprechende Command ID aus der Action Liste per Rechts-Klick kopieren und zwischen den " " im Skript einsetzen):
Quote:
me = reaper.MIDIEditor_GetActive()
reaper.MIDIEditor_OnCommand(me, reaper.NamedCommandLookup("<hier entsprechende Command ID einfügen>")) -- Script: sr_Select notes under edit cursor.lua
reaper.MIDIEditor_OnCommand(me, reaper.NamedCommandLookup("<hier entsprechende Command ID einfügen>")) -- Script: trim-shorter-note-part-at-cursor.lua

reaper.Main_OnCommand(40757, 0) -- Item: Split items at edit cursor (no change selection)
Attached Files
File Type: lua trim-shorter-note-part-at-cursor.lua (1.7 KB, 11 views)
__________________
ReaLauncher

Last edited by solger; 10-05-2019 at 04:33 PM. Reason: siehe Post #5 und #6
solger is offline   Reply With Quote
Old 10-05-2019, 02:27 AM   #3
o_e
Human being with feelings
 
Join Date: May 2016
Posts: 355
Default

Quote:
Originally Posted by solger View Post
Hallo,

hab mal auf die Schnelle eine erste adaptierte Version vom [MIDI EDITOR] Script: me2beats_Split notes (select left).lua zum Ausprobieren gemacht (siehe Anhang), die den kürzereren Teil von selektierten Noten anhand der Cursorposition trimmt.
Kann man sicher noch optimieren


1) Angehängtes Skript in die [MIDI Editor] Sektion von der Action List laden

2a) Dann in der [MIDI Editor] Sektion entweder eine Custom Action erstellen mit:
Code:
Script: sr_Select notes under edit cursor.lua
Script: trim-shorter-note-part-at-cursor.lua
2b) Oder folgendes .lua Script erstellen (und jeweils die entsprechende Command ID aus der Action Liste per Rechts-Klick kopieren und zwischen den " " im Skript einsetzen):

Erstmal vielen Dank!!
Auf den ersten click funktioniert es super, werde es jetzt noch länger testen.
In die Custom action muss am Ende natürlich die item split action noch rein, ich nehme an, ein Flüchtigkeitsfehler:
Code:
Script: sr_Select notes under edit cursor.lua
Script: trim-shorter-note-part-at-cursor.lua
Item: Split items at edit cursor (no change selection)
Nach welchen Kriterien wird die kurze Seite ermittelt? Hier wäre ein Schwellenwert vielleicht interessant, damit ab einer bestimmten Länge die Midi-note erhalten bleibt..?

Nochmal Danke!
o_e is online now   Reply With Quote
Old 10-05-2019, 02:54 PM   #4
solger
Human being with feelings
 
solger's Avatar
 
Join Date: Mar 2013
Posts: 3,748
Default

Quote:
Originally Posted by o_e View Post
In die Custom action muss am Ende natürlich die item split action noch rein, ich nehme an, ein Flüchtigkeitsfehler:
Code:
Script: sr_Select notes under edit cursor.lua   <-- [MIDI Editor] Action
Script: trim-shorter-note-part-at-cursor.lua <-- [MIDI Editor] Action
Item: Split items at edit cursor (no change selection) <-- [Main] Action
Mittels Custom Actions lassen sich leider keine Actions von verschiedenen Sektionen (wie in diesem Fall von MIDI Editor und Main) kombinieren - was mittels Skript möglich ist.
D.h. die Custom Action in Post #2 mit den zwei MIDI Editor Actions stimmt schon so.

Die Custom Action Variante kann man z.B. direkt im MIDI Editor ausführen (wenn man keinen Item-Split benötigen sollte). Oder in Skripts aufrufen bzw. in anderen Custom Actions verwenden.
Als Beispiel könnte man im Skript auch die beiden MIDI Editor Actions durch eine Custom Action (welche die beiden Actions beinhaltet) ersetzen:
Quote:
me = reaper.MIDIEditor_GetActive()
reaper.MIDIEditor_OnCommand(me, reaper.NamedCommandLookup("<hier entsprechende Command ID einfügen>")) -- Custom Action (von Post #2 mit 'select notes under edit cursor' and 'trim shorter note part')
reaper.Main_OnCommand(40757, 0) -- Item: Split items at edit cursor (no change selection)

Quote:
Originally Posted by o_e View Post
Nach welchen Kriterien wird die kurze Seite ermittelt? Hier wäre ein Schwellenwert vielleicht interessant, damit ab einer bestimmten Länge die Midi-note erhalten bleibt..?
In der derzeitigen Version wird einfach nur verglichen, ob der linke Teil (Notenstart - Cursorposition) oder der rechte Teil (Cursorposition - Notenende) kürzer ist.
Hier noch zusätzlich einen Schwellenwert zu ergänzen, sollte eigentlich möglich sein. Ich werde mir das mal ansehen und das Skript entsprechend überarbeiten.
__________________
ReaLauncher

Last edited by solger; 10-05-2019 at 03:32 PM.
solger is offline   Reply With Quote
Old 10-05-2019, 03:45 PM   #5
o_e
Human being with feelings
 
Join Date: May 2016
Posts: 355
Default

Quote:
Originally Posted by solger View Post
Mittels Custom Actions lassen sich leider keine Actions von verschiedenen Sektionen (wie in diesem Fall von MIDI Editor und Main) kombinieren - was mittels Skript möglich ist.
D.h. die Custom Action in Post #2 mit den zwei MIDI Editor Actions stimmt schon so.
Aha, ich habe aber in der Main Section genau aus den 3 von mir genannten scripts bzw. actions eine Custom Action gemacht und die funktioniert 1a..?


Quote:
Originally Posted by solger View Post
In der derzeitigen Version wird einfach nur verglichen, ob der linke Teil (Notenstart - Cursorposition) oder der rechte Teil (Cursorposition - Notenende) kürzer ist.
Hier noch zusätzlich einen Schwellenwert zu ergänzen, sollte eigentlich möglich sein. Ich werde mir das mal ansehen und das Skript entsprechend überarbeiten.
Super, ein Schwellenwert macht das script perfekt (für mich)..

Danke!


o_e is online now   Reply With Quote
Old 10-05-2019, 03:55 PM   #6
solger
Human being with feelings
 
solger's Avatar
 
Join Date: Mar 2013
Posts: 3,748
Default

Quote:
Originally Posted by o_e View Post
Aha, ich habe aber in der Main Section genau aus den 3 von mir genannten scripts bzw. actions eine Custom Action gemacht und die funktioniert 1a..?
Ah, OK. Dann nehme ich mal an, dass bei dir alle 3 Einzel-Actions/Skripte in der Main Section vorhanden sind, oder?
Bei mir ist das 'trim shorter note part' Skript nur in der [MIDI Editor] Section drinnen. Hab's noch gar nicht anders probiert (das Skript in die Main Section zu importieren), da es ja eigentlich ein MIDI Editor Skript ist

EDIT: Ja, hab's gerade probiert. Die 'select notes under cursor' und 'trim shorter note part' Skripte funktionieren auch in der [Main] Section. D.h. Custom Action funktioniert dann hier auch mit allen drei Einträgen (wie in deinem Screenshot). Habe Post #2 entsprechend aktualisiert.
__________________
ReaLauncher

Last edited by solger; 10-05-2019 at 04:41 PM.
solger is offline   Reply With Quote
Old 10-05-2019, 05:53 PM   #7
_Stevie_
Human being with feelings
 
_Stevie_'s Avatar
 
Join Date: Oct 2017
Posts: 2,737
Default

Du kannst gerne mein select notes script verwursten, wenn du willst.
Ergibt vielleicht mehr Sinn alles in ein Skript zu packen.
__________________
My Reascripts forum thread | My Reascripts on GitHub | Stephan Römer - film composer
If you wish to donate for my scripts: please consider an organization like: animal shelter, doctors without borders, UNICEF, etc...
_Stevie_ is online now   Reply With Quote
Old 10-06-2019, 07:03 AM   #8
solger
Human being with feelings
 
solger's Avatar
 
Join Date: Mar 2013
Posts: 3,748
Default

Quote:
Originally Posted by _Stevie_ View Post
Du kannst gerne mein select notes script verwursten, wenn du willst.
Ergibt vielleicht mehr Sinn alles in ein Skript zu packen.
Cool. Danke!
__________________
ReaLauncher
solger is offline   Reply With Quote
Old 10-06-2019, 07:10 AM   #9
_Stevie_
Human being with feelings
 
_Stevie_'s Avatar
 
Join Date: Oct 2017
Posts: 2,737
Default

Gerne
__________________
My Reascripts forum thread | My Reascripts on GitHub | Stephan Römer - film composer
If you wish to donate for my scripts: please consider an organization like: animal shelter, doctors without borders, UNICEF, etc...
_Stevie_ is online now   Reply With Quote
Old 10-09-2019, 07:31 AM   #10
solger
Human being with feelings
 
solger's Avatar
 
Join Date: Mar 2013
Posts: 3,748
Default

Kurze Zwischeninfo: wird voraussichtlich noch bis Ende dieser Woche dauern, bis die geplanten Skripte (einmal mit 'trim left note part', mit 'trim right note part' und 'trim shorter note part') soweit fertig sind, dass diese auf ReaPack geladen werden können - muss noch an ein paar Einzelheiten (u.a beim Thema 'Verwendung eines Schwellenwerts') feilen.
__________________
ReaLauncher
solger is offline   Reply With Quote
Old 10-09-2019, 01:51 PM   #11
o_e
Human being with feelings
 
Join Date: May 2016
Posts: 355
Default

Quote:
Originally Posted by solger View Post
Kurze Zwischeninfo: wird voraussichtlich noch bis Ende dieser Woche dauern, bis die geplanten Skripte (einmal mit 'trim left note part', mit 'trim right note part' und 'trim shorter note part') soweit fertig sind, dass diese auf ReaPack geladen werden können - muss noch an ein paar Einzelheiten (u.a beim Thema 'Verwendung eines Schwellenwerts') feilen.
Danke für die Info und danke für die Arbeit!
Freue mich auf die Scripte!
o_e is online now   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 10:20 AM.


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