More events

You are missing a feature or need an enhancement? Post your suggestion here!
Joche
Posts: 47
Joined: 15 Feb 2014 15:11
Contact:
More events

Post 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
Station manager | THE BEAT, Sweden | www.thebeat.se
User avatar
radio42
Site Admin
Posts: 8295
Joined: 05 Apr 2012 16:26
Location: Hamburg, Germany
Contact:
Re: More events

Post 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!
User avatar
radio42
Site Admin
Posts: 8295
Joined: 05 Apr 2012 16:26
Location: Hamburg, Germany
Contact:
Re: More events

Post 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...
...
Joche
Posts: 47
Joined: 15 Feb 2014 15:11
Contact:
Re: More events

Post 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!
Station manager | THE BEAT, Sweden | www.thebeat.se
Joche
Posts: 47
Joined: 15 Feb 2014 15:11
Contact:
Re: More events

Post 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... :-)
Station manager | THE BEAT, Sweden | www.thebeat.se
User avatar
radio42
Site Admin
Posts: 8295
Joined: 05 Apr 2012 16:26
Location: Hamburg, Germany
Contact:
Re: More events

Post 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.
User avatar
radio42
Site Admin
Posts: 8295
Joined: 05 Apr 2012 16:26
Location: Hamburg, Germany
Contact:
Re: More events

Post by radio42 »

Sure, you can use the Backup menu in the Tools ribbon.
Laurens
Posts: 6
Joined: 15 Aug 2017 23:57
Re: More events

Post 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.
Laurens
Posts: 6
Joined: 15 Aug 2017 23:57
Re: More events

Post 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?
User avatar
radio42
Site Admin
Posts: 8295
Joined: 05 Apr 2012 16:26
Location: Hamburg, Germany
Contact:
Re: More events

Post 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...

Post Reply