- This topic has 5 replies, 2 voices, and was last updated 4 months, 1 week ago by
Pacocreative.
-
AuthorPosts
-
10 February 2025 at 15 h 52 min #7154
Pacocreative
ParticipantHere’s a UI bug I found in modular loopers.
Context: scripting dynamic changes in playhead position, selectionIn, selectionOut
playhead position is executed with:
InsertController fx1 1 4 = 151745.0
When selection is cleared/full, seeking across the buffer works properly.
When selection is set to a buffer subset in free mode, seeking works fine.
When selection is set to a buffer subset in synced mode, seeking does not work properly.
Playhead jumps to the right sample, but UI playhead position is incorrectly mapped over the sample and selection highlight.11 February 2025 at 13 h 32 min #7170Philippe
KeymasterHi,
I think you’d better use the jump message :InsertSendMessage fx1 1 Jump 41310
It is the same, but InsertControllers messages are deprecated and may disappears at a moment…
That said, I can’t reproduce your issue here.
Of course, you need to jump to a position that is inside your selection.
If you jump outside of the selection, the playing head is set to the beginning of the selection…Do I misunderstood someting?
Philippe11 February 2025 at 20 h 39 min #7175Pacocreative
ParticipantThanks for your note about the InsertSendMessage. I think I already unified it, but it does not affect the bug.
I’ll record a video to show you exactly.11 February 2025 at 20 h 57 min #7176Pacocreative
ParticipantHere’s a video
https://www.dropbox.com/scl/fi/czrj2p6walysekgdgaxay/2025-02-11-20.44.38.mp4?rlkey=uevu49o9zzog6p042z1v5mw5m&dl=0For some reason, I can’t reproduce exactly the same behavior now, but something similar happens:
After setting in- and out- points and using jump, the playhead does not loop within the selection, but moves between the last jump-point and the end-point.
No continuous midi command is sent for sure.11 February 2025 at 23 h 19 min #7181Philippe
KeymasterHo, you didn’t say that you are using the ETS player which is really different than the tape player.
But anyway I see no issue in my test either.May I have a look at your macro to see what you want to do ?
12 February 2025 at 9 h 05 min #7182Pacocreative
ParticipantI’m not sure if it’s happening also in regular modes, as I don’t have seeking implemented there yet.
This is coming from my macros that use midi controllers to use looper more as an instrument, including playing with in/out points, speed and dynamic seek(jump)Look at CaseBranch “[1] Pos” for specifics, but I include a wider piece of code for context.
// ----------------------------------------------------- Individual loopers control page 2 ----------------------------------------------------- CaseBranch "[1] Spd" // vars for each channel $k$ = 1 $m$ = $Looper_fx1_rank1_PlayerMode_state$ $b$ = $Looper_fx1_rank1_current_length$ $r$ = $Looper_fx1_rank1_ReverseDirection_state$ // ETS mode, If { $m$ == 2 } $spd$ = {scale(currentCaseOptionValueFloat(0), 1, 126, $spd_max2$, 1)} $frz$ = {$spd$ > ($spd_max2$ * 0.95) ? 1 : 0 } InsertSendMessage fx[$k$] 1 HTSSpeed $spd$ InsertSendMessage fx[$k$] 1 HTSFreeze $frz$ Else $spd$ = {currentCaseOptionValueFloat(0) < 64 ? scale(currentCaseOptionValueFloat(0) , 0, 64, $spd_min1$, 1) : scale(currentCaseOptionValueFloat(0), 65, 127, 1, $spd_max1$)} IfThen {$r$ == 1 } Do $spd$ = { $spd$ * -1 } InsertSendMessage fx[$k$] 1 SpeedFloat $spd$ EndIf WaitDuration 17 BreakCaseBranch CaseBranch "[1] In" InsertSendMessage fx1 1 SelectionIn {scale(currentCaseOptionValueFloat(0), 2, 125, 0, $Looper_fx1_rank1_current_length$)} BreakCaseBranch CaseBranch "[1] Out" InsertSendMessage fx1 1 SelectionOut {scale(currentCaseOptionValueFloat(0), 2, 125, 0, $Looper_fx1_rank1_current_length$)} BreakCaseBranch CaseBranch "[1] Pos" If { $Looper_fx1_rank1_PlayerMode_state$ == 2} $v$ = {scale(currentCaseOptionValueFloat(0), 2, 125, $Looper_fx1_rank1_SelectionIn_state$, $Looper_fx1_rank1_SelectionOut_state$)} InsertSendMessage fx1 1 Jump $v$ EndIf WaitDuration 17 BreakCaseBranch CaseBranch "[1] Rev" InsertSendMessage fx1 1 ReverseDirection {$Looper_fx1_rank1_ReverseDirection_state$ == 0 ? 1 : 0} MidiControllerSend {$Looper_fx1_rank1_ReverseDirection_state$ == 0 ? 11 : 12 } 51 $chan_b2$ "Launch Control XL" BreakCaseBranch CaseBranch "[1] Copy" $m_press_flag$ = 1 BreakCaseBranch CaseBranch "[1] Copy_up" If {$m_press_flag$ == 1} InsertSendMessage fx1 1 AudioMessages Paste MidiControllerSend 60 61 $chan_b2$ "Launch Control XL" WaitDuration 500 MidiControllerSend 12 61 $chan_b2$ "Launch Control XL" //MidiControllerSend 12 $LC_lastcopied$ $chan_b2$ "Launch Control XL" $m_press_flag$ = 0 EndIf BreakCaseBranch CaseBranch "[1] Copy_longpress" $m_press_flag$ = 0 InsertSendMessage fx1 1 AudioMessages Copy
-
AuthorPosts
- You must be logged in to reply to this topic.