Adjust total sequence duration based on live bpm. How?

Ask a generic question about the usage of QLC+, not related to a particular operating system
Post Reply
User avatar
danielmanea98
Posts: 29
Joined: Mon Jun 26, 2023 2:24 pm
Real Name: Daniel Manea
Contact:

Hi, I'm Daniel.

I'm having some problems controlling sequence lengths and chases in QLC+4.



As you can see in the Youtube video test I uploaded I created a sequence based on an animation. I inserted this sequence 2 times inside a "chase" and through the virtual console and the tempo modification widget I tried to change the "duration" of both the sequence and the chase.

My main problem is that I can't set the overall chase duration to 127bpm (for example) but I have to adjust by eye every time in a very inconvenient way.
What I can do for now is only set the duration of each single sequence or scene.

My goal is for the sequence to start and end every 127bpm and not just the next step of the scene within the sequence to change every 127bpm.

That is, depending on the tap bpm, this time does not determine the total duration of the sequence (127bpm, what I would like), but only determines the duration of the internal scene of a sequence made up of several scenes.

Since the tap bpm is a dynamic and modifiable live parameter, there is the risk that with the fast bpm set, this new value will not be able to finish all the scenes of the chase sequence in time (as can be seen in the Youtube video) because the total duration of the sequence is not adjustable according to the tap bpm (from what it seems).

I don't know if I have rendered the problem well, but it seems complex enough to explain in words.

Thank you so much for the work you do every day.

Waiting for an answer, have a good day.

A greeting,
Daniel.
MichelSliepenbeek
Posts: 720
Joined: Wed Feb 08, 2023 10:24 am
Location: Nederland
Real Name: Michel Sliepenbeek

On top of your workspace you have a cue List with 2 times the same Sequence. In the Speed Dial you have selected the Chaser, so with this Speed Dial you set the Time that each step of the Chaser should run.
Underneath you have a second Cue List with the Sequence you start from the chaser. In the matching Speed Dial you set the Time each step of this Sequence should last.

You have set your top speed dial to 974 ms, meaning it will change to the next step after 974 ms.
The Speed Dial of your sequence is set to 263 ms, meaning it will take 5 * 263 = 1315 ms to complete the sequence.

So in your situation your sequence can complete the first 2 steps (0 - 263 and 264 - 526) and then there are 248MS left for the third step, before the chaser restarts the Sequence.


Why not start your RGB Matrix with a button and add that RGB Matrix to a Speed Dial?
That is all you need. :) ;)
A QLC Workspace is like a Bob Ross painting: "it's your world, you can create whatever you want!"
User avatar
danielmanea98
Posts: 29
Joined: Mon Jun 26, 2023 2:24 pm
Real Name: Daniel Manea
Contact:

HI. Thanks a lot for the answer. I tried to understand the solution of your answer, I partially understood it, but I can't find the solution part.

ps. due to time constraints this post was automatically translated from Italian to English with google translate.

I ask you if you can please make me a Youtube video where you do all these processes that you wrote to me.

Also I try to explain better what my problem is:

Context:
I'm in a music live, I have a midi controller associated with QLC+ buttons, faders, etc., there is a song sung live that in several parts of the song goes at several different speeds/BPMs, the "tempo presets" are not enough for my case because I want that thanks to my BPM Tap tempo the sequence composed of several scenes inside it or let's call them "frames" begin and end within these 127 bpm or 50bpm or 160bpm or in a totally unexpected bpm that I set live in real time.

For now, through the virtual console tools that I know, I can only set the time it takes for each scene/frame to change and to pass the next time in the sequence, but I stress, I can't get my live/live TAP BPM to set and change the total duration of the sequence.

I stress, it is important that the calculation in question is done by the machine automatically because during the live tempo tap bpm I don't have the time to manually calculate the tempo, milliseconds or other during the performance.

A script might help.. but I don't know how to program. I trusted in the fact that there already existed in QLC a tool that not only determines the "duration" of the "step" of the scene but that there was also a check or an option to also set the "duration" of the entire sequence made up of various steps .. in this case I would have determined the duration of the sequence live through the BPM TAP and consequently that duration is automatically distributed equally in all the steps inside it.

A quick calculation: In my sequence (or "chase") I have 4 steps (4 scenes).
I press the tap bpm so that it is set to 127bpm, once done it will be automatically set that: the sequence lasts a total of 127bpm, because each internal step has a duration of "31.75 beat" (127 divide in 4) (number of steps inside the sequence) = 127bpm.
However, this 31.75 was not set manually by me.. but it was determined by my tap on the created value 127 which was then automatically divided into the internal steps of the sequence.

Other, example.. I'm in another part of the song live.. I press the tap bpm which creates the value 95bpm.. since the tap bpm in question is associated with my sequence (or "chase") made up of 15 steps/scene.. now after my tap it will have been automatically set that each step (of the 15) has a duration or it takes 6.33 (95 divided by 15) beat each to pass to the next one.

And so on.

p.s for example.. the value 6.33 beat.. is used only to be clear in the granted. then perhaps it would have been better to use milliseconds as the unit, but perhaps it would complicate the understanding of the idea in question too much.

ps. using the tap tempo associated with an animation is not good because the tap tempo will only define the duration of each step/Scene inside the animation and not the duration of the total animation. If, as I showed the video, I transform the animation into a sequence of scenes, however, the problem is not always solved because the total duration of the entire package of steps/sequences cannot be controlled or set automaticaly by tap bpm.

Thank you.
I await reply,
Daniel.
User avatar
GGGss
Posts: 3052
Joined: Mon Sep 12, 2016 7:15 pm
Location: Belgium
Real Name: Fredje Gallon

danielmanea98 wrote: Tue Jul 25, 2023 11:59 am A quick calculation: In my sequence (or "chase") I have 4 steps (4 scenes).
I press the tap bpm so that it is set to 127bpm, once done it will be automatically set that: the sequence lasts a total of 127bpm, because each internal step has a duration of "31.75 beat" (127 divide in 4) (number of steps inside the sequence) = 127bpm.
However, this 31.75 was not set manually by me.. but it was determined by my tap on the created value 127 which was then automatically divided into the internal steps of the sequence.

Other, example.. I'm in another part of the song live.. I press the tap bpm which creates the value 95bpm.. since the tap bpm in question is associated with my sequence (or "chase") made up of 15 steps/scene.. now after my tap it will have been automatically set that each step (of the 15) has a duration or it takes 6.33 (95 divided by 15) beat each to pass to the next one.
What are you talking about?
A tapped tempo does influence fade-in time, fade-out time or the hold time __of each step__ if you assign the speed widget to the chaser. This will __never__ set the time to a chaser of multiple steps. So your logic of bpm/steps is entirely false.

You assumed a logical explanation, but your assumption is wrong - hence your above text. Speed dial widget https://www.qlcplus.org/docs/html_en_EN ... ddial.html
All electric machines work on smoke... when the smoke escapes... they don't work anymore
User avatar
danielmanea98
Posts: 29
Joined: Mon Jun 26, 2023 2:24 pm
Real Name: Daniel Manea
Contact:

Ok, I guess I used incorrect and too approximate terminology to explain the result I would like to obtain. I'm sorry. What I haven't figured out yet is whether what I'm trying to achieve is impossible or possible but I have yet to figure out how.

The result I want to obtain (for example): a line bouncing from left to right like "ping pong" that reaches point A (left) and then point B (right) within the bpm/duration that I set it in real time not typing numbers but just TAP bpm. Specifically, within 127 bpm the line (let's assume it is made up of 8 par LEDs/pixels) must not pass from "illuminating" par led 1 and then the second, but within those 127 bpm the luminous line must have crossed all 8 par leds. It can be done? If yes, how? (Better a Youtube explanatory video than words it is difficult to understand the solution). ps. I already know that there is the animation line preset that can be set to "ping pong" but this is not enough to obtain the result described above.

Question: Is there a discord server where you can talk to the community or those who are working to grow QLC?

I ask this because perhaps speaking directly orally with people who have been handling QLC for some time I can get advice more quickly.

Thank you for your time to support.

I await reply,
Daniel.
User avatar
GGGss
Posts: 3052
Joined: Mon Sep 12, 2016 7:15 pm
Location: Belgium
Real Name: Fredje Gallon

ok - this makes more sense now.
Use the built-in divider of the Speed Dial widget. If you use 8 lights, divide tempo by 8 and you are all set.
127 bpm comes down to ~472ms, divide by 8 gives you 59ms per step. IMHO I think this is too fast - it all depends on the music you play.
All electric machines work on smoke... when the smoke escapes... they don't work anymore
User avatar
danielmanea98
Posts: 29
Joined: Mon Jun 26, 2023 2:24 pm
Real Name: Daniel Manea
Contact:

Okay.

Thanks for the reply. Fortunately in the example there were 8 PAR LED number in common with the classic subdivision of many 8 beat music (1,2,4,8,16), but if in a different case I only have 10 PAR LED or 42 how moved to manage this situation considering that if it works, the only thing I'll have to do is activate the sequence and define its total duration using the bpm tap (with the logic I've already talked about in previous answers)?

In case I discover that QLC+ does not have a convenient function to determine the total duration of the sequence with one click tap bpm (which is automatically divided the duration equally according to the number of elements inside it), then I would proceed to create a post in which I request is implemented in QLC+ 4/5.
prophy17
Posts: 121
Joined: Tue Apr 09, 2019 9:24 pm
Real Name: Vladimir

Excuse me. Maybe I didn't understand what do you want. But bpm is a speed in beats always in a Minute!. So 127 bpm or 80 bpm always connect with only One time of One minute )))). Sequence with 127 bpm speed has 127 steps in a minute, and with 80 bpm has 80 steps in a minute. So I think your sequences always must be change after every One minute. Excuse me one more time if I am not right.
prophy17
Posts: 121
Joined: Tue Apr 09, 2019 9:24 pm
Real Name: Vladimir

Excuse me. Maybe I didn't understand what do you want. But bpm is a speed in beats always in a Minute!. So a speed with 127 bpm or with 80 bpm always connect with only One time in One minute!!!! Sequence with 127 bpm speed has 127 steps in a minute, and with 80 bpm - 80 steps in a minute too. So I think your sequences always must be change after every One minute. Excuse me one more time, if I am not right.
prophy17
Posts: 121
Joined: Tue Apr 09, 2019 9:24 pm
Real Name: Vladimir

Or yes use a Speed dial (of the chaser with sequences in it) with multiply command in connection with the steps of a sequence, if you want your sequences go from the start to the end only one time and after must change for another.
Last edited by prophy17 on Mon Jul 31, 2023 10:38 pm, edited 4 times in total.
prophy17
Posts: 121
Joined: Tue Apr 09, 2019 9:24 pm
Real Name: Vladimir

In the Virtual DJ there is a script. Which has a command - get beat num (for example). And so with a help of the DMXArtnet plugin and this command we can receive reaction of any chaser in the QLC+ project for 1,2.3...127...200 etc. Beat. So sequences in a chaser can be change after any beat as you want with the speed of your music composition (for example, after every 8 beat for 8 steps in 1 beat)
Last edited by prophy17 on Sat Jul 29, 2023 9:07 pm, edited 3 times in total.
User avatar
edogawa
Posts: 631
Joined: Thu May 07, 2015 10:34 am
Real Name: Edgar Aichinger

Nonono...

IMO the initial confusion comes from mixing duration and speed, like in
I can't set the overall chase duration to 127bpm
1 beat in 127 bpm lasts 60 s/127 = 0,472440944882 s

so you want for example 8 steps to take 0,42... s, which gives 1 step = 0,0679133858268 (68 ms)

I think using the multiplyer/divider in speed dial is the way to go, as GGGss suggested, divide by the number of steps in the sequence.

Then the tap button should determine total sequence duration (in theory, sorry but I don't have the time or passion to build a test workspace right now).
User avatar
danielmanea98
Posts: 29
Joined: Mon Jun 26, 2023 2:24 pm
Real Name: Daniel Manea
Contact:

Ok. Thanks for the replys.

My problem is that the numbers to divide are limited to: 0, 1/16, 1/8, 1/4, 1/2, 1,2,4,8,16 what I need is instead to use these numbers use as reference number as divisor the same number of elements of which the sequence associated with the Widget is composed (for example 6, 11, 39... or "uncomfortable" numbers but example of realistic cases where I could use 6, 11, 39 par led and run a luminous line/animation from left to right in a specific limited time, i.e. <tap bpm widget value> which will then be automatically divided by the number of scenes containing the sequence which in my case will coincide with the number of Par LEDs used.

The solution, conceptually, would be to add the <N° objects> option (i.e. the number of scenes inside the function/sequence associated with the speed dial widget) to the "duration factor" drop down menu of the speed dial widget, and why not.. also <custom value>.

Post below 2 pictures. The first shows the case where having 4 scenes.. I'm lucky because the number 4 coincides with the already existing factor 1/4 in the speed dial widget (conventional music metric).
In the second image, however, the protagonist case of this post in the forum is presented, that is an unfortunate number of scenes.. or 5. I say unfortunate because the division factor in the speed dial 1/5 does not exist. This creates an imperfect result that will see the error amplified exponentially more and more (effect of "offset" desynchrony increase).

Image

Image

p.s The example in question with 5 par led is a number chosen on purpose (number not included among the existing speed dial division factors) to highlight this criticality. But instead of 5 it could also be 9, 33, 104, 3 etc.

I hope I was more clear with these 2 examples.

In case you confirm that what I am trying to achieve is not obtainable because the division factor options do not exist then I will proceed to create a "new feature request" post with lots of examples of lighting sequences in concerts that would need this type of instrument. An explanatory video with voice over very laborious to make.. but if needed, I'll do it.

Thank you all for the support.

A greeting,
Daniel.
Attachments
2° case
2° case
1° case
1° case
User avatar
danielmanea98
Posts: 29
Joined: Mon Jun 26, 2023 2:24 pm
Real Name: Daniel Manea
Contact:

Okay. I'm trying to think about how the visual design of this proposal could be made in a logically understandable way. It's difficult.

I state... assuming that the Tap Bpm and its product value can only influence single action within the sequence is limiting, since you cannot do the function I ask for in this post (from that which it seems).

I make further premises to clarify as much as possible the point of view I am having at the moment.
From what I see, in the speed dial of a sequence or an animation there are 3 parameters: Fade In, Fade Out and Hold. Almost all 3 have checkboxes for each, i.e. "common", "per step" and "Default" to set the possibility of entering a value that will then be applied to all (in common) or enter a different relative value for each action (per step).

All these functions "Fade in", "Fade out", "Hold" etc. they only refer to the single actions/single steps.

Consequently, when I set tap A and tap B with the TAP BPM speed dial, the value produced by the tap/interval will be applied directly only to the individual steps.

Therefore, currently there is no way to have the value produced by the TAP BPM be used and mathematically divided by the number of actions within the sequence/animation because the number produced is not currently divided .. but entered directly into each single step .

Why do I want to divide the number produced by the TAP BPM by the number of actions inside the sequence?

I try to explain myself definitively

Action example:
  • I have 15 RGB LED PARs
  • I create a fixture group made up of 15 RGB LED PARs
  • In the functions page I create a new "RGBMatrix", I associate this new function with the group I just created and set the "lines" preset as animation
  • I click "save this matrix as a sequence (this process has created a sequence of 15 scenes, number equal to the number of fixtures used)
  • I open the speed dial of the sequence and click twice on the TAP BPM in the "hold" section to set the to create a rhythm of 127bpm - My goal is that while I reproduce the sequence between the first "tick" (of the conceptual metronome) and its subsequent one, the entire sequence from the first to the fifteenth scene has already been reproduced in a homogeneous way. The visual result final will be that at each musical "kick" (assuming that we are listening to a kick that repeats every 127 bpm) a luminous "wave"/line starts from the left and ends on the right.

For now, this result cannot be obtained automatically because the parameters of the speed dial and the tap bpm refer only to the single actions/steps/scenes within the sequence.

Solution hypothesis:
add the "tap value is the total duration of the action list" checkbox and another checkbox already enabled by default "tap value is the value of each single action inside the action list" inside the speed dial of the virtual console.

I specify that if you enable checkbox 1 (total duration) the second checkbox is deactivated. It is also very useful to use the left and right arrows of the speed dial to divide or multiply the value of the tap created by 1,2,4,8,16 regardless of which "single" or total" function that value will be used for.

n.b By adding these checkboxes it will not be necessary to add <N° objects> or <custom value> as previously proposed in the drop down menu of the division multiplication factors of the speed dial widget in the virtual console.

Example with mounted photo image:
Image

Thank you for your time.
I await any clarifications or suggestions to implement or simplify the concept in question.

A greeting,
Daniel
Attachments
Tap-single.png
User avatar
GGGss
Posts: 3052
Joined: Mon Sep 12, 2016 7:15 pm
Location: Belgium
Real Name: Fredje Gallon

Do you realise that the Speed Dial can be used multiple times and bind it to multiple functions? How do you think the TAP total will work over f.i. an EFX? So every function in QLC+ will need this new timing logic because almost all processes have a timing setting and can be influenced by the Speed Dial.
I don't think this is going to happen. I understand your need for this particular function, but it leads to a complex and difficult-to-debug situation.

Thinking of it ... did you play around with the EFX? Set it in intensity mode and add your 15 fixtures... now you can set the time to whatever bpm you like and it will do 1 cycle per 'tap'. The EFX was supposed to be used with moving heads, but you can use it for intensity channels.
All electric machines work on smoke... when the smoke escapes... they don't work anymore
User avatar
danielmanea98
Posts: 29
Joined: Mon Jun 26, 2023 2:24 pm
Real Name: Daniel Manea
Contact:

Okay. Please can I ask if you can make me a video in which you do step by step what it takes to get the result in question?

I also specify that I'm not a programmer, I don't know what adding the "tap total" and "tap single" question would imply. Personally creatively speaking I need to get this result.

The line that goes from left to right is just an example, but if what I ask were possible, many different results could be obtained.

In case I can't give an idea of ​​how useful this thing could be... I'll search the internet for various examples (video concerts, musical sequences with lights) and contexts to add value to this request.

I know that nothing is impossible.

Regarding the EFX method, the timing of the tap follows that logic (if I understand correctly. I don't want to confuse what has already been discussed), but it's not an efficient method. Part of the scenes/actions to be activated involve several fixtures and many different numerical parameters. EFX just makes things more complex or impossible.

What I recommend is: the goal that i'm trying to achieve seems to me to have been explained quite clearly.. see if you can do it by testing in QLC+ 4. If you succeed please share here how you did it (with a video recording). Only in this way can one get out of it.

If you fail I will create a post to implement this function assuming in the speed dial presets (specific, only to those of the virtual console).

However I noticed that you used a term that can make the concept clearer. The word cycle. My goal is to be able to define only with the live TAP BPM how long does the sequence composed of various/actions take to complete its total cycle. This cycle will start again on every beat.. and will end just at the start of the next beat which will start the cycle all over again.
Currently, unfortunately, my live TAP BPM defines the interval between one scene and the next: it only defines the change between individual actions and not between a cycle/group of actions this is creatively limiting.
Last edited by danielmanea98 on Fri Aug 04, 2023 8:21 pm, edited 1 time in total.
User avatar
danielmanea98
Posts: 29
Joined: Mon Jun 26, 2023 2:24 pm
Real Name: Daniel Manea
Contact:

Anyway GGGss, I see that in the development/programming issue you have a much greater sensitivity/technical knowledge than mine and I trust what you're telling me.

In the journey of the total discussion of this post I'm always hoping that the thing I'm trying to achieve I can't achieve just because I don't have enough knowledge of QLC+ (I guess).
My fear is that what I'm trying to do is really impossible.. and not being able to do it is a very frustrating thing for me.

For me this is a creative objective and in a certain sense I imagine that for the developers of this software it could become an equally objective.

I also understand the question that the goal of QLC+ is to be able to do the basic things/main functions to create a light show without the pretension of implementing functions that are conceptually too complex or that not even premium paid software has.

I hope that this request of mine will be taken into consideration as an objective and as a challenge to be solved. Maybe I'm overestimating the feature/tool ​​I'm requesting but personally thinking that what certain to achieve is not currently possible, I'm sorry. I can create video simulations/editing of the various results that so far I have only expressed in words but I announce that it will take me many days to get the first video-efficiency results.

Thank you for the work that the QLC+ team puts in every day.
User avatar
GGGss
Posts: 3052
Joined: Mon Sep 12, 2016 7:15 pm
Location: Belgium
Real Name: Fredje Gallon

If I - as a Light Jockey - had gotten the task to create something alike, I'd choose EFX. See the project attached.
Since I assume you pa in 4/4ths you need to multiply the tap speed by 4 to get the right timing.
Open the DMX monitor in 2D preview mode. Now you can visually see what is going on with those 15 dimmers.
Notice the start offset degrees in the EFX.
Without spending an hour to perfect this - this is a quick solution.
Attachments
onecyleEFX.qxw
(9.13 KiB) Downloaded 170 times
All electric machines work on smoke... when the smoke escapes... they don't work anymore
Post Reply