Page 1 of 3

More events

Posted: 21 Jan 2015 10:04
by Joche
Hello,
I put this under the wish list, since I am quite sure that what I am not looking for is not avaliable in PF for the moment, if I am wrong you may move the topic if you like. :-)

I use DAW-controls to control most of the functions in ProppFrexx. The function to control the state of LEDs on these controls are very helpful to know whats going on, what DJ-player is playing, if I am onair, if the microphone is on and so on.

Right now my indicators for DJ-players turn red if a player is playing, and green if its not. However I would like to be able to have an event for when a song comes near the end, ie I want the LED to start blinking when its say 5 or 10 seconds left of the current song for the current player. Therefor an event like "PlayerANearEnd", "PlayerBNearEnd" or something like that in the Events.

Also it would be wonderful to have the option to turn a LED on or of depending if the player is the next to play. And of course to turn it off if it aint the next one, something like "PlayerAIsNext" and "PlayerANotNext" or so. And of course for all players A-D.

Is this something that is possible to add to ProppFrexx or is it possible to get this functionality of ProppFrexx today?
Thanks in advance,
Joachim

Re: More events

Posted: 21 Jan 2015 15:21
by radio42
Yes, those features are not too easy to be implemented today.
You might use the "Playlist.OnTimer" event and check the remaining time of the players (e.g. via the ${cplremainseca} macro) within individual conditional EXEC_COMAMND2 commands...but that is all not really easy.

I'll take a look what can be added to a next version!

Re: More events

Posted: 21 Jan 2015 20:41
by radio42
Please check the new v3.0.14.38 it contains a few new macros being helpful...

1) Blink at the end of a track:
The trick is to constantly check the remaining time of your player and if they are playing and the remaining time is less than X seconds you might fire your command to blink the LED.

You might use one of the following general events (see general settings, section 'Events/Commands'):
a) "Application.OnTimer" : Note, that you must set a time interval by clicking on the 'TI' button! E.g. set the time interval to 500 ms!
or
b) "Playlist.OnTimecode" : which is called every few milliseconds

The macro(s) to use to get if the respective player is currently ending (blinking) are: ${cplplayerisendinga}, ${cplplayerisendingb}, ${cplplayerisendingc} or ${cplplayerisendingd}.
You can then use the conditional command EXEC_COMMAND2 resp. the macro function *[IF] to evaluate these macros (which resolve to 0 or 1).
E.g.
EXEC_COMMAND2 ${cplplayerisendinga}|Equals(1)|Your effective command goes in here...
EXEC_COMMAND2 ${cplplayerisendinga}|Equals(0)|Your effective command goes in here...
...


Mark the current/next players
Use the "Playlist.OnCurrentTrackChanged" event and within your command you might use the ${cplplayercurrent} and/or ${cplplayernext} macros.
Those would resolve to the player name, e.g. "A" for DJPlayer A, "B" for DJPlayer B...
Example:
EXEC_COMMAND2 ${cplplayercurrent}|Equals(A)|Your effective command goes in here...
EXEC_COMMAND2 ${cplplayercurrent}|Equals(B)|Your effective command goes in here...
EXEC_COMMAND2 ${cplplayercurrent}|Equals(C)|Your effective command goes in here...
...

Re: More events

Posted: 24 Jan 2015 09:41
by Joche
Thank you very much for the fast help with this! I think I can solve my problems with this, but I have a follow-up question, since I am quite new to this with midi and the programming of ProppFrexx:
Mark the current/next players
Use the "Playlist.OnCurrentTrackChanged" event and within your command you might use the ${cplplayercurrent} and/or ${cplplayernext} macros.
Those would resolve to the player name, e.g. "A" for DJPlayer A, "B" for DJPlayer B...
Example:
EXEC_COMMAND2 ${cplplayercurrent}|Equals(A)|Your effective command goes in here...
EXEC_COMMAND2 ${cplplayercurrent}|Equals(B)|Your effective command goes in here...
EXEC_COMMAND2 ${cplplayercurrent}|Equals(C)|Your effective command goes in here...
So, with these commands I can turn on a LED to show what player is to be played next, thats great. But as soon as that player have started to play I want the led to turn off and the next led to turn on. Does this mean that I need to have 3 control commands for every Equals(A) for example, one to turn correct led on and two to make sure the others are off or is there another way? I suppose an IF statement could be used but I really dont get how to do it. :-)
Thank you very much yet again for your help!

Re: More events

Posted: 24 Jan 2015 10:18
by Joche
Ah! Of course! Thanks again!:-)

Is there an easy way to save a backup of allt these events and midi-commands in case of a computer breakdown, the idea to do it again is not so tempting... :-)

Re: More events

Posted: 24 Jan 2015 19:56
by radio42
Yes you are right, those 3 commands are needed.

To turn an LED off once the playe started you can simply use the already existing "Playlist.OnDJAPlay" event.

Re: More events

Posted: 24 Jan 2015 20:23
by radio42
Sure, you can use the Backup menu in the Tools ribbon.

Re: More events

Posted: 25 Mar 2018 15:10
by Laurens
I was trying to implement this function to blink a light when one of the players is ending, but it does like it isn't working as documented.

If i implement a simple function in the playlist.timeCode event the function is only executed when i click play on a player, but not every x ms when the player is running.

I also tried to do something with the application.ontimer function, but i can't click the TI button on the bottom of the screen.

The command i am trying to use is at this moment is: EXEC_SEND_OSC /timer/blink|f:1.0
When this is working i want to try the macro's you are describing.

I am using V4.0.4.18, 64 Bit.

Re: More events

Posted: 25 Mar 2018 15:22
by Laurens
Just found that the Timer button is working on the registered version. For development i am using a demo version on mij development computer, so i am able to set the timer now.

Still i only get OSC to send a message when i press the play of pause button. Is there a system that prevents me to send 2 identical OSC messages after each other?

Re: More events

Posted: 25 Mar 2018 15:53
by radio42
I am not sure I understand you? Can you explain what you are trying to in more detail and what your exact issue is.
What what you are saying I can unfortunately not understand your issue or wish?!
What/who/where are you sending 2 identical messages? And why do you need to prevent this?
Please clarify in greater detail...