- Flip DJ Player Stop/Pause Mouse-Button option added
- New control-command 'OVERLAY_TRIGGER' added
- OPUS encoding/streaming/tagging support added
- Overlay-Player bug-fix (when using non-scripting programs)
- Support for multiple Library Names added
- Playlist Template Wizard enhanced/optimized
- Various other optimizations
- Other smaller bug-fixes
OPUS encoding/streaming/tagging support added
We are proud to be one of the first to fully support the new Opus Interactive Audio codec!
This includes decoding (playback) of Opus files or streams as well as encoding, streaming and tagging.
Note, that currently only the ICEcast v2.4.x server supports the new Opus format for streaming.
Flip DJ Player Stop/Pause Mouse-Button option added
(see General Settings, section Player Settings)
By default the Stop and Pause button act like this:
Left-Click: Stop/Pause No-Fading
Right-Click: Stop/Pause Use-Fading
By setting this option you can flip the mouse-buttons behaviour:
Left-Click: Stop/Pause Use-Fading
Right-Click: Stop/Pause No-Fading
Note: This applies to the Standby as well as to the DJ Players.
And might be handy for touch enabled monitors.
New control-command 'OVERLAY_TRIGGER' added
Assume you have a long pre-recorded show or mix file (one continuous file) which you play in your DJ Player (e.g. scheduled via the program scheduler) - e.g. it is 2 hours long.
However, during the playback regular Overlays might be scheduled as well at certain times. These Overlays whatsoever might not perfectly fit to your pre-recorded file, e.g.
- they might interrupt the long file at the 'wrong' place
- they might be defined as 'Suspend Program' and as such stop/eject the long file
To overcome these issues the new 'OVERLAY_TRIGGER' control-command has been added.
This control-command allows you to trigger the start of an Overlay at a certain track position. It is designed to be used within a track's position event (see 'Event Editor' - 'Add Execute Command Event...').
The Overlay Scheduler (which normally starts a scheduled Overlay automatically) now checks a currently playing track of the current playlist.
If the currently playing track contains a related OVERLAY_TRIGGER command, the scheduled Overlay will be supressed - as it will be triggered by the track itself at the defined track position.
The OVERLAY_TRIGGER command takes one parameter. This parameter defines the Name or ReferenceClass of the overlay to be triggered.
When executed, the related Overlay is located and started within the Overlay-Player ad-hoc at the defined track position.
The track containing the OVERLAY_TRIGGER command will always be faded-out and paused at the given track position and resumed from that position once the Overlay was played out by the Overlay-Player.
How to define the OVERLAY_TRIGGER command?
- Open the long track within the PFL Editor (it might be, that no WaveForm is displayed for long tracks depending on your settings)
- Locate the desired track position
- e.g. click on PLAY and use the scrollbar underneath the WaveForm display
- at the approximate position click on PAUSE (stottering mode will start)
- use the JogWheel to locate the exact position
- when found, click on CUE (stottering mode will stop and track position is set)
- now open the "Event Editor" (by clicking on its button)
- the Event-Table shown is typically empty at this point
- now make a right-click onto the Event-Table and select 'Add Execute Command Event...'
- the Control-Command Builder will be invoked
- select 'OVERLAY_TRIGGER' as the 'Action'
- and specify the Name of the Overlay or its ReferenceName as the 'Parameter' (e.g. 'ADD_Mo_1215' or 'OVL15', see below)
- now click on 'New' and close the Control-Command Builder by clicking 'OK'
- the Event-Table will now contain a new event entry (e.g. "ExecuteCommand - 00:14:59.157 - OVERLAY_TRIGGER OVL15")
- you might repeat this for other track positions if needed
Note, you might specify either the Name or the ReferenceClass to identity the Overlay to be triggered.
The advantage of the ReferenceName is, that you might assign the same ReferenceName to multiple Overlays, e.g. 'OVL00', 'OVL15', OVL45' etc. When using a ReferenceName all Overlays will be checked at the actual time plus/minus 30 minutes, in order to uniquely identify the related effective Overlay! Therewith you might define your trigger commands independent from the effective playout time - as long as all Overlays use an appropriate ReferenceName.
Let's take an example:
Your Overlay-Scheduler contains the following entries:
1) Name = "ADD_Mo_1200", Reference = "OVL00"
2) Name = "ADD_Mo_1215", Reference = "OVL15"
3) Name = "ADD_Mo_1245", Reference = "OVL45"
4) Name = "ADD_Mo_1300", Reference = "OVL00"
Your long track now contains the following execute command events:
1. ExecuteCommand - 00:13:57.123 - OVERLAY_TRIGGER OVL15
2. ExecuteCommand - 00:47:12.456 - OVERLAY_TRIGGER OVL45
Whe this track is now effectively played out via a DJ Player, the following will happen:
- at track position 00:13:57.123 the Overlay OVL15 will be triggered and played, the track is paused und resumed afterwards
- at track position 00:47:12.456 the Overlay OVL45 will be triggered and played, the track is paused und resumed afterwards
Note: Triggering of an Overlay starts the Overlay-Player ad-hoc! This might take a few milliseconds. In addition the current track will be faded-out (according to the overlay settings), as such you might need to define the trigger position a bit early!
The Overlay-Scheduler itself would (in the example given) playout the Overlays as followed:
1) Name = "ADD_Mo_1200", Reference = "OVL00" -> YES, will be played, as no related OVERLAY_TRIGGER is defined in the current track
2) Name = "ADD_Mo_1215", Reference = "OVL15" -> NO, will be supressed, as a related OVERLAY_TRIGGER is defined in the current track
3) Name = "ADD_Mo_1245", Reference = "OVL45" -> NO, will be supressed, as a related OVERLAY_TRIGGER is defined in the current track
4) Name = "ADD_Mo_1300", Reference = "OVL00" -> YES, will be played, as no related OVERLAY_TRIGGER is defined in the current track
Within a playlist you might also trigger an Overlay by selecting 'Add' - 'Insert Embedded Container from...' and specify an 'Overlay-Entry'. This allows you to create a special playlist entry (an embedded overlay entry). Again you might specify the Name of the Overlay or its ReferenceName here.
This however (in contrast to the OVERLAY_TRIGGER command) will create a dedicated playlist entry and as such the referenced Overlay is played out within the DJ Player instead of the Overlay Player. However the concept of supressing automatically scheduled overlays is the same even here!
Support for multiple Library Names added
ProppFrexx determines a library name automatically and uses that name to uniquely identify the library. e.g.:
- a folder based media library uses the name of sub-directory being used
- a playlist based media library uses the name of playlist file
As such it might have happened, that two libraries result in the same the name, e.g.:
- a folder based media library "C:\My Music" would get the name "/My Music"
- a folder based media library "D:\My Music" would also get the name "/My Music"
As a result ProppFrexx would have replaced the 1st library by the 2nd.
ProppFrexx now supports multiple libraries in the above situations, by automatically adjusting the name of the 2nd library, e.g.:
- a 1st folder based media library "C:\My Music" would get the name "/My Music"
- a 2nd folder based media library "D:\My Music" would get the name "/My Music (D:\)"
Playlist Template Wizard enhanced/optimized
The existing 'Playlist Template Wizard' has been enhanced and optimized to fit a greater set of scenarios.
As many users might not know what the 'Playlist Template Wizard' is good for, here comes a small use case.
Assume you have created various Scripts and might have also created various recurring Program Scheduler entries.
These Program Scheduler entries are typically used to plan your automatic playout. However, they might also be used to create an automatic playlist which (even if started automatically) is effectively used in 'Live-Assist' mode, meaning a moderator/DJ uses that playlist for real live playout.
Now assume, that you want to do Voice Tracking for such Program Scheduler entries in advance - e.g. its a Night-Show, but the moderator/DJ wants to pre-record all his voice overs in advance (lets say a day before or just a few hours before), so that he doesn't have to be live in the studio at the time when the show is effectively played out.
In this case the 'Playlist Template Wizard' comes into place.
This wizard simplifies the process of 'creating' a future dated playlist based on a script template for a particular date, time and duration. The new playlist might be saved to a dedicated folder and might directly be used to create a new program scheduler entry (e.g. for voice tracking).
Assume you have created the following recurring Program Scheduler entry (recurring every day):
Name=My Program, Start Time=21:00:00, Duration=02:00:00, Script=MyShowScript
This program entry will start every day at 21:00h and run for 2 hours using the Script 'MyShowScript.pfs'.
You start the 'Playlist Template Wizard' (by clicking in the lower half of the 'New' main ribbon bar icon).
On the first page of the wizard you specify the following:
- Start Date and Time: use (in the example above) a future dated time, e.g. '30.11.2012 21:00:00' or click on '...' to select an exising program entry for the given date.
- Duration: Specify the duration for the playlist to generate (when you selected a start time matching an existing program entry this will be set automatically)!
- Script Template: Select the script you want to use to create the playlist from (when you selected a start time matching an existing program entry this will be set automatically)!
In the above example just specify '30.11.2012 21:00:00' and the wizard will automatically find the related existing program scheduler entry and preselect the Duration and Script Template.
Click on 'Next'...
On the 2nd page of the wizard you can select a base folder (in which the new playlist and possible voice tracks should be stored) as well as the format string to define the name of the playlist file being generated.
- Base Folder: Specifies the folder underneath the new playlist and possible (voice)tracks should be saved.
Note: A sub-directory "\YYYYMMDD_HH" will be added automatically to this value, to ensure, that each new playlist is contained in its own folder. That's why it is called base folder!
- Playlist Name Format: Specifies how the newly created playlist file should be named within the effective folder.
Note: Do not provide any extension, as the .pfp extension will be appended automatically.
On the 3rd page of the wizard you can finally set some options:
- Auto Start Voice Tracking: Automatically starts the voice tracking for the newly generated playlist items.
Note: You might also start voice tracking manually at any time by pressing CTRL+F11.
- Copy All Tracks To Folder: If this option is checked, all used playlist tracks are physically copied to your defined effective playlist folder as well when closing the playlist window - else only newly recorded voice tracks are saved to the effective playlist folder (incl. the playlist file itself). This might ensure, that all your playlist tracks will reside in the same single playlist folder - else the original playlist tracks will be left unchanged at their original location.
- Create Program Scheduler Entry: If checked, a new Program Scheduler Entry will be created automatically using the newly created playlist.
Caution: Make sure, that your effective playlist is not short in time!
In the above example you should at least check the 'Create Program Scheduler Entry' option.
What will now happen when you finish the wizard?
a) A new playlist window is created using the scheduled target date and time
b) the playlist is populated with track according to the given Script Template (the script is executed as long as the desired Duration is reached)
c) that playlist is initially saved
If the 'Create Program Scheduler Entry' option is enabled:
d) the already existing Program Scheduler entry is replaced by a new Program Scheduler entry!
e) this new Program Scheduler entry uses a new Script (which will be generated automatically)
This new Script basically contains two script-line:
1. LoadPlaylist, using the generic playlist file pattern as specified, e.g.:
2. Execute, using the original Script Template
If the 'Auto Start Voice Tracking' option is enabled:
f) Voice Tracking is automatcially invoked for the playlist tracks
As a result, the 'Playlist Template Wizard' allows you to perfectly replace existing and generic Program Scheduler entries with effective Playlist-based entries using Voice Tracking.
If you don't start the wizard the generic Program Scheduler entries will be used and played automatically
If you used the wizard and replaced an existing Program Scheduler entries it will now automatically play the Voice Tracking playlist as generated in advance.