Forum Replies Created
-
AuthorPosts
-
PacocreativeParticipantOh, that’s pure gold! Amazing.
Is there a way I can access more undocumented stuff somehow?
PacocreativeParticipantOh, now that works. Stupid me.
PacocreativeParticipantGenerally something weird is going on.
// In Matrix // in the head Declare Local float $v$ = 0 // Later in case branches CaseBranch "Test" $v$ = currentCaseOptionValueFloat(0) Message {"test CCOVF " + currentCaseOptionValueFloat(0) + " $v$ " + $v$ } BreakCaseBranchFails to assign value to the variable, and output is:
currentCaseOptionValueFloat(0) ⇀ correct value
$v$ ⇀ 0I’m using these assignments to tidy up my code and avoid repetitions
Any ideas?
PacocreativeParticipantThat makes sense.
Or similarly, I could restrict myself to using a single CaseBranch extension, but put a lot of features there and use flags to execute them selectively.
Thanks!12 February 2025 at 9 h 05 min in reply to: Jump on modular loopers not working in synced mode ? #7182
PacocreativeParticipantI’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
PacocreativeParticipantOne thing I’m seeing already is that I can use it only once from a case branch.
So, unless you suggest another workaround I can’t achieve something like this:CaseBranch "Do this" ExecuteCase "DoThat1" ExecuteCase "DoThat2" ExecuteCase "DoThat3" EndCaseBranch11 February 2025 at 20 h 57 min in reply to: Jump on modular loopers not working in synced mode ? #7176
PacocreativeParticipantHere’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 20 h 39 min in reply to: Jump on modular loopers not working in synced mode ? #7175
PacocreativeParticipantThanks 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.
PacocreativeParticipantI was going through the docs, but I wasn’t able to figure out this could do the job. Now this makes sense and could work.
How can I pass the last value coming from a midi trigger (like a CC value)?
I’m using it in the context of Matrix, and all cases are triggered with midi.
Many make use of the value provided from midi.
I mean I could use another variable to store that, but maybe I don’t have to?Thanks
PacocreativeParticipantOh, It looks like I posted a semi-finished comment, my bad.
The button I meant is refresh – “Refresh plug-in list, SFX list, audio files in File players, etc.”
I’m trying to fail-proof a performance setting and avoid touching mouse 🙂
PacocreativeParticipantThanks, helpful.
PacocreativeParticipantPhilippe,
Do you have an ETA for the next release?
Asking for a friend 🙂
PacocreativeParticipantI think that gives some good options.
Thanks for considering my input.On the UI side, one note I had was that minimized/extended window state of a looper is not memorized in presets. Not a priority thing for sure.
“TrimLoopSamples” — yeah something along the line of this. Mybe TrimSample? or SnapSample?
PacocreativeParticipantI re-approach this. I do think it would be actually handy to think about sync options of loaded samples, assuming we want to work in beat-synchronous mode.
Currently, when you load a sample into a modular looper, it loads in total length and theres really not much synchronization:
1/ Even if sync is set (say to 4 beats), the selection of the sample does NOT correspond to that related to tempo, but that of a sample. So we can’t really load a long loop and easily select 4 beats period, to make a simple beat.
2/ If we load a really short sample (as it’s the case with many percussive sounds), there’s no easy way to make this thing last a bar.given this, I think it would be beneficial to:
1/ Have a restart/sync button that starts the loop on the beginning of the next phrase
2/ Have a button, that would either trim or extend the content of a looper to that which is set in the sync options
3/ Have an option for waveform selection follow the beat length derived from current tempo and sync, not from the loaded sample lengthThat way we could easily take a one-shot and use it as a groove foundation.
Yes… probably I can work around a lot of that with macros, but I believe many users will find it handy.
PacocreativeParticipantWhooooa, you’re a legend. Thanks!
Apologize if I doubled requests. -
AuthorPosts