Scheduling the Line level

You have a question or need an advice about how to do something? Ask it here!
Post Reply
Michiel Bouwmeester
Posts: 69
Joined: 04 Nov 2012 16:07
Contact:
Scheduling the Line level

Post by Michiel Bouwmeester »

Hello all,

I am new to ProppFrexx and currently exploring all the options. I am a little stuck on adjusting the line level by script.
With the overlay scheduler I am able to change from "players" to "line in" at the correct time. (To switch to the line in for a live show)

Because I want to keep the overlay scheduler free for other things I want to make my "liveshow/line in" in the program scheduler.
Can anyone help me with the correct scripting (or point me to the information)
User avatar
radio42
Site Admin
Posts: 8295
Joined: 05 Apr 2012 16:26
Location: Hamburg, Germany
Contact:
Re: Scheduling the Line level

Post by radio42 »

When using the 'Input' action from with the overlay, the overlay basically unmutes the given input mixer channel at that time.

To achieve the same for a program entry, you can use a so called 'Non-Scripting' program (which is a program having no script assigned to it).
A non-scripting program doesn't start any new playlist window, nor does it execute any script (as non is assigned to the program).
A non-scripting program is basically a typical placeholder for e.g. a live DJ show.
However, the related control-commands assigned to the non-scripting program are executed respectively.
As such, you can easily use the given program events to assign certain control-comands to them.

When you create a new program, in the Program Editor dialog:
a) do NOT specify any 'Script'
b) you'll fine a button called 'Control-Commands...'., click on it to assign control-commands to the given events
E.g. use the 'On Program Started' event - which is triggered exactly ontime, when the non-scripting program starts.
assign the following control-commands to this event (each in a seperate line):

Code: Select all

MIXER_INPUT_VOLUME_SET In1|0.0
MIXER_INPUT_MUTE_OFF In1
MIXER_INPUT_VOLUME_SLIDE In1|1.0
These 3 control-commands are executed with one event (the OnProgramStarted event) and are executed one after the other and represent the same sequence which is also executed with the overlay when selection the 'Input' action.
The first command (MIXER_INPUT_VOLUME_SET) set the volume to zero for the input-mixer-channel with the name "In1".
The 2nd command (MIXER_INPUT_MUTE_OFF) unmutes the input-mixer-channel with the name "In1".
The 3rd command (MIXER_INPUT_VOLUME_SLIDE) slides the volume to full level for the input-mixer-channel with the name "In1".
Note, that you must change 'In1' to the name of your mixer-input-channel.
Michiel Bouwmeester
Posts: 69
Joined: 04 Nov 2012 16:07
Contact:
Re: Scheduling the Line level

Post by Michiel Bouwmeester »

Thank you very much for the answer. It works like a charm. Also the general idea behind it is clear, allready made a few other entries like this!
User avatar
radio42
Site Admin
Posts: 8295
Joined: 05 Apr 2012 16:26
Location: Hamburg, Germany
Contact:
Re: Scheduling the Line level

Post by radio42 »

Here are some more options explaining how to take over a line-in feed into ProppFrexx:

Taking over a Line-In feed manually is basically unmuting/muting it’s related Mixer-Input-Channel (e.g. press on the ‘M’ button).
To let this happen automatically (e.g. via the scheduler) you might use the so called control-commands.
The related control-commands are called ‘MIXER_INPUT_MUTE_ON’ resp. ‘MIXER_INPUT_MUTE_OFF’.
These control commands take one parameter as the argument, which is the name of the mixer input channel to mute/unmute.
Example: MIXER_INPUT_MUTE_ON In1

Alternatively you might want to fade-in/out the volume of the mixer input channel (see the MIXER_INPUT_VOLUME_SLIDE resp. MIXER_INPUT_VOLUME_SET).
Or a combination sequence of control-commands, which first set the volume of a certain mixer-channel to 0.0 (silent), then unmute the mixer channel and finally slide the volume up, like this:
a) Unmute sequence:
MIXER_INPUT_VOLUME_SET In1|0.0
MIXER_INPUT_MUTE_OFF In1
MIXER_INPUT_VOLUME_SLIDE In1|1.0

The reverse would then be this sequence:
b) Mute sequence:
MIXER_INPUT_VOLUME_SLIDE In1|0.0
SLEEP 2500
MIXER_INPUT_MUTE_ON In1
MIXER_INPUT_VOLUME_SET In1|1.0

(Note: The sleep command waits 2.5 seconds to give the slide the chance to complete)

In addition you might want to mute a certain mixer output channel while the input is unmuted, which can e.g. be done like this:
a) Unmute sequence:
MIXER_OUTPUT_VOLUME_SLIDE Out1|0.0
SLEEP 800
MIXER_INPUT_VOLUME_SET In1|0.0
MIXER_INPUT_MUTE_OFF In1
MIXER_INPUT_VOLUME_SLIDE In1|1.0

The reverse would then be this sequence:
b) Mute sequence:
MIXER_INPUT_VOLUME_SLIDE In1|0.0
SLEEP 800
MIXER_OUTPUT_VOLUME_SLIDE Out1|1.0
SLEEP 1500
MIXER_INPUT_MUTE_ON In1
MIXER_INPUT_VOLUME_SET In1|1.0

(Note: Additional sleep commands are used to make a nicer transition between fading in and out the mixer channels)

In addition you might want to stop the regular program scheduler via PROGRAM_SCHEDULER_OFF/ON, stop a currently running playlist via PLS_CURRENT_AUTOPLAY_OFF/ON and/or PLS_CURRENT_PAUSE_CURRENT etc.

As you can see, almost no limit using a dedicated sequence of control-commands to do what you want to so.

There are now various way how you might use these commands within ProppFrexx to automate these things, so I try to explain them all:

a) Manually via User Buttons:
In ProppFrexx you have the ability to assign control-commands to up to 50 user definable buttons.
E.g. switch to the ‘Tools’ ribbon tab and click on the caption arrow in the ‘User Commands’ group.
Here you can assign up to 50 user commands – give them a nice name and even assign an image to each button.
E.g. create a ‘LINE-IN Activate’ and a ‘LINE-IN Deactivate’ user command and assign one of the above sequences to each of them (one for ‘Unmute sequence’ and one for the ‘Mute sequence’).

b) Automatically using a ‘Reminder’ within the Program Scheduler:
A reminder within the Program Scheduler is an entry to which no special program/script is assigned.
Its purpose is basically to either get a direct user notification window being shown and/or to execute certain control-command(s) at a certain time!
When you have the Program Scheduler open, select the appropriate time, make a right-click and select ‘Add Reminder’ from the context menu.
In the upcomming dialog you might now simply assign one of the above control-command sequences to a reminder.
E.g. create one reminder to take over the line in feed (and use the ‘Unmute sequence’ from above).
And create an additional reminder to cut the line in feed (and use the ‘Mute sequence’ from above).

c) Automatically using a ‘Non-Scripting Program’ within the Program Scheduler:
A ‘Non-Scripting Program’ is like a regular program scheduler entry, except, that you do NOT specify any ‘Script’ with such program.
As a result any currently running program is stopped one time (just as for any regular program entry), but NO new playlist is created on the fly. Instead the ‘old’ playlist is simply closed…the scheduler then waits until the next program is started…
A ‘Non-Scripting Program’ is typically used, when you have a live show or DJ performing in your studio and you want to kind of suspend any automatic scripting for that time.
However, a ‘Non-Scripting Program’ can actually be used also perfectly in this scenario - as you might again assign control-commands to such ‘Non-Scripting Program’!
E.g. use the ‚OnProgramStarted‘ resp. ‚OnProgramStopped’ events of that program to assign the above given command sequence (within the program editor just click on the ‘Control-Commands’ button).
As a result the ‚OnProgramStarted‘ commands are executed at the defined Start-Time and the ‚OnProgramStopped’ commands are executed at the defined End-Time of that ‘Non-Scripting Program’.

d) Automatically using the ‘Overlay Scheduler’:
When creating a new entry within the Overlay Scheduler you will notice, that an Overlay Entry has a dedicated ‘Input’ type!
When using Type=Input, you can directly specify a Mixer-Input-Channel in the ‘Playling’ combo-box. In addition you can now specify an ‘Input Duration’, which defines the time the input should be active.
Thus (when this overlay is triggered), it will automatically stop or mute any currently running playlist, fade-in that mixer-input-channel … leave that as is for the defined input time … and finally fade-out the input mixer channel and resume the current playlist.
This is may be the most straight forward option for you.
However note, that during that time no other overlay is being played out. So if you want to play additional overlays on top of the input feed you can not use this option.
Michiel Bouwmeester
Posts: 69
Joined: 04 Nov 2012 16:07
Contact:
Re: Scheduling the Line level

Post by Michiel Bouwmeester »

Thank you for the very clear explanation Bernd. It works like a charm :)
User avatar
radio42
Site Admin
Posts: 8295
Joined: 05 Apr 2012 16:26
Location: Hamburg, Germany
Contact:
Re: Scheduling the Line level

Post by radio42 »

Note, that the new v3.0.11.24 now also contains a new Program-Scheduler 'Input' mode as well as a dedicated 'LineIn Feed' button.
See here for details:
viewtopic.php?f=4&t=658

Post Reply