RadioDJ - Free Radio Automation Software Forum

RadioDJ v1.7+ => v1.7+ - Support Forum => Topic started by: aspinwalld on August 15, 2016, 03:25:30 PM

Title: Trigger Events from Cartwall
Post by: aspinwalld on August 15, 2016, 03:25:30 PM
Is it possible to trigger manual events from the cartwall or a hotkey?

Background:
I plan on using RadioDJ as a remote automation solution for ball games at a commercial radio station. I have made an event that triggers an automated playlist that consists of a station ID, two spots, and a bed (all are automatically rotated through categories). Since this, in my opinion, is the best way to create dynamic content for ball game breaks, is there a way to trigger this manual event from the cartwall or a hotkey? I would love for the announcer to just be able to click on a cartwall item and the playlist auto-generates, loads up, and plays.

Thanks in advance!
Title: Re: Trigger Events from Cartwall
Post by: Valdis on August 15, 2016, 06:02:54 PM
No, events can't be triggered manually. Not in RadioDJ version 1.8.2.0.
However, manual events can be inserted in main playlist using rotations or by loading a playlist. There are no other options until someone writes a plugin to trigger events or Marius adds the feature in next RadioDJ version.
Title: Re: Trigger Events from Cartwall
Post by: aspinwalld on August 15, 2016, 07:23:27 PM
Thanks.

So the easiest way to do it (until some awesome dev out there writes a plugin) would be to make one playlist that contains that event? Then just have the announcers open the playlist which will load the dynamic content from the event? If I remember correctly it's only two button clicks to load in a playlist, so that isn't that bad actually.

Also, on another topic, is it possible to put a stop set in between two pieces of audio in an event?
Title: Re: Trigger Events from Cartwall
Post by: Valdis on August 15, 2016, 08:30:42 PM
Quote from: aspinwalld on August 15, 2016, 07:23:27 PM
So the easiest way to do it (until some awesome dev out there writes a plugin) would be to make one playlist that contains that event? Then just have the announcers open the playlist which will load the dynamic content from the event? If I remember correctly it's only two button clicks to load in a playlist, so that isn't that bad actually.
Yes, that's correct. Loading playlists may not as easy as single-click cartwall (or event wall), but it should work.
In fact, I've developed few plugins for RadioDJ and I have had the same idea about cart wall for firing manual events. I could write a plugin for that, but right now I'm busy working on improved REST server plugin.

Quote from: aspinwalld on August 15, 2016, 07:23:27 PM
Also, on another topic, is it possible to put a stop set in between two pieces of audio in an event?
It is possible to stop playback using a manual event in playlist, if that is what you meant. To do that, create a manual event and add "Assisted Enable!" action. That will stop main playlist advancing to next track.
Title: Re: Trigger Events from Cartwall
Post by: Marius on August 15, 2016, 09:33:11 PM
Give me a day or two for the events cartwall. It may be handy in many situation such a plugin. ;)
Title: Re: Trigger Events from Cartwall
Post by: aspinwalld on August 16, 2016, 07:56:33 PM
"A Day or Two"
Marius, you are the best!
Title: Re: Trigger Events from Cartwall
Post by: aspinwalld on August 16, 2016, 08:09:20 PM
Valdis: although it looks like Marius may make cartwall triggering into a plugin/feature, for the current time, I do have a quick question. At times, when I open the playlist into the automation log, it stays in the log as an event, and hitting my play hotkey will run the event and populate the log with my audio and play it. Other times, when I open the playlist, it automatically runs the event and plays my files (since I've got it set to automation). Do you know why this action is not consistent?

Thanks for your input!
Title: Re: Trigger Events from Cartwall
Post by: Valdis on August 16, 2016, 08:55:12 PM
Quote from: aspinwalld on August 16, 2016, 08:09:20 PM
Valdis: although it looks like Marius may make cartwall triggering into a plugin/feature, for the current time, I do have a quick question. At times, when I open the playlist into the automation log, it stays in the log as an event, and hitting my play hotkey will run the event and populate the log with my audio and play it. Other times, when I open the playlist, it automatically runs the event and plays my files (since I've got it set to automation). Do you know why this action is not consistent?
The playback should be consistent. I'll try to explain how it works. When "AUTOMATED" is on and there are no track playing, but there was a track playing an it finished, RadioDJ will play first track or trigger first event in main playlist. However, if a track is playing or nothing was playing before loading a playlist, RadioDJ will not start playing next track or trigger next playlist event.
Although it is not possible to tell, RadioDJ is in play mode and waiting for tracks to be added in main playlist after current track has finished playing and there are no tracks in main playlist. So, if "AUTOMATED" is on, as soon as you add new items to playlist, they are played.

The only inconsistency is that there are no indications of RadioDJ being in playing/waiting mode. IMHO, the play button should have some visual clue when RadioDJ is in this mode.
Title: Re: Trigger Events from Cartwall
Post by: aspinwalld on August 16, 2016, 09:09:44 PM
Quote from: Valdis on August 16, 2016, 08:55:12 PM
The playback should be consistent. I'll try to explain how it works. When "AUTOMATED" is on and there are no track playing, but there was a track playing an it finished, RadioDJ will play first track or trigger first event in main playlist. However, if a track is playing or nothing was playing before loading a playlist, RadioDJ will not start playing next track or trigger next playlist event.

What you are saying makes sense, however it may or may not be exactly what I'm looking to solve.

When opening the playlist (containing the event), there is never anything playing or cued up to be played. There has, however always been something previously run through the playout log. According to your post the action should be automatically running the event and playing the audio.
The system is always in "automated" mode with AutoDJ off (since I don't have any rotations set up AutoDJ doesn't really matter). The inconsistency that I am seeing is that sometimes the system will automatically play the playlist event (which in turn fires off all of the audio events since I'm running in Automated). Other times, when I go to open the playlist the event just sits at the top of the playlist and needs to be manually triggered (play hotkey). Is it possible that there's some timeout for autoplay functionality or am I way off?

My sports announcer that is remotely "board-opping" through radiodj can't have this inconsistency in playback, so just hoping to find a fix.

Thanks again for all of your help.
Title: Re: Trigger Events from Cartwall
Post by: Valdis on August 16, 2016, 10:08:56 PM
Quote from: aspinwalld on August 16, 2016, 09:09:44 PM
When opening the playlist (containing the event), there is never anything playing or cued up to be played. There has, however always been something previously run through the playout log. According to your post the action should be automatically running the event and playing the audio.
The system is always in "automated" mode with AutoDJ off (since I don't have any rotations set up AutoDJ doesn't really matter). The inconsistency that I am seeing is that sometimes the system will automatically play the playlist event (which in turn fires off all of the audio events since I'm running in Automated). Other times, when I go to open the playlist the event just sits at the top of the playlist and needs to be manually triggered (play hotkey). Is it possible that there's some timeout for autoplay functionality or am I way off?

There is one more condition to the playing/waiting mode - if the playing track has been stopped using stop button or keyboard shortcut, RadioDJ stops waiting for new tracks in queue playlist. That might explain the behaviour you are seeing.

AFAIK, there is no timeout for the waiting-to-play. It can be stopped only by the stop button even if there is nothing playing.
Title: Re: Trigger Events from Cartwall
Post by: aspinwalld on August 16, 2016, 10:16:25 PM
I'll have to ask my ball game announcer if he was manually stopping anything. That would definitely explain inconstant behavior; the software is being consistent with its actions, it's the human factor that's inconsistent. Thanks!
Title: Re: Trigger Events from Cartwall
Post by: Marius on August 17, 2016, 03:29:57 PM
As i promised, i wrote a plugin for this task.
You can download it from Downloads page, it is named "Events Cart" plugin. Please test it and if you encounter problems, post them here.
Title: Re: Trigger Events from Cartwall
Post by: aspinwalld on August 17, 2016, 03:39:02 PM
Thanks Marius!
I'll test it out when my sports announcer brings the remote laptop back to the station tonight or tomorrow. This is going to make our lives so much easier (and probably has a bunch of other uses too).
Title: Re: Trigger Events from Cartwall
Post by: Valdis on August 17, 2016, 03:51:59 PM
Quote from: Marius on August 17, 2016, 03:29:57 PM
As i promised, i wrote a plugin for this task.
You can download it from Downloads page, it is named "Events Cart" plugin. Please test it and if you encounter problems, post them here.
That's great!

However, I already have first stack trace after clicking "Show" button in plugins window:

************** Exception Text **************
System.NullReferenceException: Object reference not set to an instance of an object.
   at Plugin_EventsCart.PluginClass.ShowMain()
   at RadioDJ.FormPlugins.butShow_Click(Object sender, EventArgs e)
   at System.Windows.Forms.Control.OnClick(EventArgs e)
   at System.Windows.Forms.Button.OnClick(EventArgs e)
   at System.Windows.Forms.Button.OnMouseUp(MouseEventArgs mevent)
   at System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks)
   at System.Windows.Forms.Control.WndProc(Message& m)
   at System.Windows.Forms.ButtonBase.WndProc(Message& m)
   at System.Windows.Forms.Button.WndProc(Message& m)
   at System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
   at System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
   at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)

Have to check that form before calling Show() even if it should have been assigned in constructor. ;)
Title: Re: Trigger Events from Cartwall
Post by: Marius on August 17, 2016, 04:16:13 PM
Quote from: Valdis on August 17, 2016, 03:51:59 PM
Have to check that form before calling Show() even if it should have been assigned in constructor. ;)

[EDITED POST!]

I did managed to reproduce it, by selecting the external window, not restarting the program and pressing SHOW button on plugins list. I added the extra check so now it should work fine.
I will update the downloads page also.

I will make it be able to switch from one mode to another without restart, but for now i think that it will do it's job as it is.

Thanks for reporting it.  ;)
Title: Re: Trigger Events from Cartwall
Post by: aspinwalld on August 18, 2016, 12:16:45 AM
When I clicked on the event in the cartwall it threw this error:

I'm a network admin and not a programmer, so I only understand a little of this, but hopefully it helps you.



See the end of this message for details on invoking
just-in-time (JIT) debugging instead of this dialog box.

************** Exception Text **************
System.MissingMethodException: Method not found: 'Boolean rdjInterface.IHost.RunEvent(Int32)'.
   at Plugin_EventsCart.CartButtonControl.butPlay_Click(Object sender, EventArgs e)
   at System.EventHandler.Invoke(Object sender, EventArgs e)
   at System.Windows.Forms.Control.OnClick(EventArgs e)
   at System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks)
   at System.Windows.Forms.Control.WndProc(Message& m)
   at System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
   at System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
   at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)


************** Loaded Assemblies **************
mscorlib
    Assembly Version: 2.0.0.0
    Win32 Version: 2.0.50727.8745 (WinRel.050727-8700)
    CodeBase: file:///C:/Windows/Microsoft.NET/Framework/v2.0.50727/mscorlib.dll
----------------------------------------
RadioDJ
    Assembly Version: 1.7.8.0
    Win32 Version: 1.7.8.0
    CodeBase: file:///C:/RadioDJ/RadioDJ.exe
----------------------------------------
Microsoft.VisualBasic
    Assembly Version: 8.0.0.0
    Win32 Version: 8.0.50727.8745 (WinRel.050727-8700)
    CodeBase: file:///C:/WINDOWS/assembly/GAC_MSIL/Microsoft.VisualBasic/8.0.0.0__b03f5f7f11d50a3a/Microsoft.VisualBasic.dll
----------------------------------------
System.Windows.Forms
    Assembly Version: 2.0.0.0
    Win32 Version: 2.0.50727.8745 (WinRel.050727-8700)
    CodeBase: file:///C:/WINDOWS/assembly/GAC_MSIL/System.Windows.Forms/2.0.0.0__b77a5c561934e089/System.Windows.Forms.dll
----------------------------------------
System
    Assembly Version: 2.0.0.0
    Win32 Version: 2.0.50727.8745 (WinRel.050727-8700)
    CodeBase: file:///C:/WINDOWS/assembly/GAC_MSIL/System/2.0.0.0__b77a5c561934e089/System.dll
----------------------------------------
System.Drawing
    Assembly Version: 2.0.0.0
    Win32 Version: 2.0.50727.8745 (WinRel.050727-8700)
    CodeBase: file:///C:/WINDOWS/assembly/GAC_MSIL/System.Drawing/2.0.0.0__b03f5f7f11d50a3a/System.Drawing.dll
----------------------------------------
System.Runtime.Remoting
    Assembly Version: 2.0.0.0
    Win32 Version: 2.0.50727.8745 (WinRel.050727-8700)
    CodeBase: file:///C:/WINDOWS/assembly/GAC_MSIL/System.Runtime.Remoting/2.0.0.0__b77a5c561934e089/System.Runtime.Remoting.dll
----------------------------------------
PluginInterface
    Assembly Version: 1.0.0.0
    Win32 Version: 1.6.0.0
    CodeBase: file:///C:/RadioDJ/PluginInterface.DLL
----------------------------------------
System.Data
    Assembly Version: 2.0.0.0
    Win32 Version: 2.0.50727.8745 (WinRel.050727-8700)
    CodeBase: file:///C:/WINDOWS/assembly/GAC_32/System.Data/2.0.0.0__b77a5c561934e089/System.Data.dll
----------------------------------------
System.Xml
    Assembly Version: 2.0.0.0
    Win32 Version: 2.0.50727.8745 (WinRel.050727-8700)
    CodeBase: file:///C:/WINDOWS/assembly/GAC_MSIL/System.Xml/2.0.0.0__b77a5c561934e089/System.Xml.dll
----------------------------------------
System.Configuration
    Assembly Version: 2.0.0.0
    Win32 Version: 2.0.50727.8745 (WinRel.050727-8700)
    CodeBase: file:///C:/WINDOWS/assembly/GAC_MSIL/System.Configuration/2.0.0.0__b03f5f7f11d50a3a/System.Configuration.dll
----------------------------------------
Devart.Data.MySql
    Assembly Version: 6.60.268.0
    Win32 Version: 6.60.268.0
    CodeBase: file:///C:/RadioDJ/Devart.Data.MySql.DLL
----------------------------------------
Devart.Data
    Assembly Version: 5.0.367.0
    Win32 Version: 5.0.367.0
    CodeBase: file:///C:/RadioDJ/Devart.Data.DLL
----------------------------------------
System.Transactions
    Assembly Version: 2.0.0.0
    Win32 Version: 2.0.50727.8745 (WinRel.050727-8700)
    CodeBase: file:///C:/WINDOWS/assembly/GAC_32/System.Transactions/2.0.0.0__b77a5c561934e089/System.Transactions.dll
----------------------------------------
System.EnterpriseServices
    Assembly Version: 2.0.0.0
    Win32 Version: 2.0.50727.8745 (WinRel.050727-8700)
    CodeBase: file:///C:/WINDOWS/assembly/GAC_32/System.EnterpriseServices/2.0.0.0__b03f5f7f11d50a3a/System.EnterpriseServices.dll
----------------------------------------
VU_MeterLibrary
    Assembly Version: 1.0.0.0
    Win32 Version: 1.0.0.0
    CodeBase: file:///C:/RadioDJ/VU_MeterLibrary.DLL
----------------------------------------
JCS.Components.NeroBar
    Assembly Version: 1.3.0.0
    Win32 Version: 1.3.0.0
    CodeBase: file:///C:/RadioDJ/JCS.Components.NeroBar.DLL
----------------------------------------
MdiTabControl
    Assembly Version: 1.1.4874.26969
    Win32 Version: 1.1.4874.26969
    CodeBase: file:///C:/RadioDJ/MdiTabControl.DLL
----------------------------------------
Bass.Net
    Assembly Version: 2.4.10.4
    Win32 Version: 2.4.10.4
    CodeBase: file:///C:/RadioDJ/Bass.Net.DLL
----------------------------------------
Bass.Net
    Assembly Version: 2.4.10.4
    Win32 Version: 2.4.10.4
    CodeBase: file:///C:/RadioDJ/Plugins/Bass.Net.dll
----------------------------------------
Plugin_AuxPlayers
    Assembly Version: 4.0.0.0
    Win32 Version: 4.0.0.0
    CodeBase: file:///C:/RadioDJ/Plugins/Plugin_AuxPlayers.dll
----------------------------------------
Plugin_Carts
    Assembly Version: 4.0.0.0
    Win32 Version: 4.0.0.0
    CodeBase: file:///C:/RadioDJ/Plugins/Plugin_Carts.dll
----------------------------------------
Plugin_Encoder
    Assembly Version: 1.0.5889.38816
    Win32 Version: 2.0.0.0
    CodeBase: file:///C:/RadioDJ/Plugins/Plugin_Encoder.dll
----------------------------------------
Plugin_EventsCart
    Assembly Version: 1.1.0.0
    Win32 Version: 1.1.0.0
    CodeBase: file:///C:/RadioDJ/Plugins/Plugin_EventsCart.dll
----------------------------------------
Plugin_Exporter
    Assembly Version: 4.0.0.0
    Win32 Version: 4.0.0.0
    CodeBase: file:///C:/RadioDJ/Plugins/Plugin_Exporter.dll
----------------------------------------
Plugin_History
    Assembly Version: 4.0.0.0
    Win32 Version: 4.0.0.0
    CodeBase: file:///C:/RadioDJ/Plugins/Plugin_History.dll
----------------------------------------
Plugin_PlayingInfo
    Assembly Version: 4.0.0.0
    Win32 Version: 4.0.0.0
    CodeBase: file:///C:/RadioDJ/Plugins/Plugin_PlayingInfo.dll
----------------------------------------
Plugin_Playlist
    Assembly Version: 4.0.0.0
    Win32 Version: 4.0.0.0
    CodeBase: file:///C:/RadioDJ/Plugins/Plugin_Playlist.dll
----------------------------------------
Plugin_PlaylistBuilder
    Assembly Version: 4.0.0.0
    Win32 Version: 4.0.0.0
    CodeBase: file:///C:/RadioDJ/Plugins/Plugin_PlaylistBuilder.dll
----------------------------------------
Plugin_Search
    Assembly Version: 4.0.0.0
    Win32 Version: 4.0.0.0
    CodeBase: file:///C:/RadioDJ/Plugins/Plugin_Search.dll
----------------------------------------
Plugin_SongDetails
    Assembly Version: 3.5.0.0
    Win32 Version: 3.5.0.0
    CodeBase: file:///C:/RadioDJ/Plugins/Plugin_SongDetails.dll
----------------------------------------
Plugin_SoundProcessing
    Assembly Version: 3.5.0.0
    Win32 Version: 3.5.0.0
    CodeBase: file:///C:/RadioDJ/Plugins/Plugin_SoundProcessing.dll
----------------------------------------
Plugin_TracksManager
    Assembly Version: 4.0.0.0
    Win32 Version: 4.0.0.0
    CodeBase: file:///C:/RadioDJ/Plugins/Plugin_TracksManager.dll
----------------------------------------
Plugin_Utilities
    Assembly Version: 4.0.0.0
    Win32 Version: 4.0.0.0
    CodeBase: file:///C:/RadioDJ/Plugins/Plugin_Utilities.dll
----------------------------------------
SPB
    Assembly Version: 1.0.3529.753
    Win32 Version: 1.0.3529.753
    CodeBase: file:///C:/RadioDJ/SPB.DLL
----------------------------------------

************** JIT Debugging **************
To enable just-in-time (JIT) debugging, the .config file for this
application or computer (machine.config) must have the
jitDebugging value set in the system.windows.forms section.
The application must also be compiled with debugging
enabled.

For example:

<configuration>
    <system.windows.forms jitDebugging="true" />
</configuration>

When JIT debugging is enabled, any unhandled exception
will be sent to the JIT debugger registered on the computer
rather than be handled by this dialog box.

Title: Re: Trigger Events from Cartwall
Post by: Marius on August 18, 2016, 08:39:44 AM
Ups, you are using RadioDJ 1.7.8.0, for that will not work. You will need to update to the last version.
Title: Re: Trigger Events from Cartwall
Post by: Marius on August 18, 2016, 12:21:40 PM
A new version is available (v1.2). This version is fixing some minor UI inconsistencies.
However, as the prior version, this is intended only for RadioDJ 1.8.2.0 (older versions don't have the plugin support for the actions needed by this plugin).
Title: Re: Trigger Events from Cartwall
Post by: hypadj33 on August 20, 2016, 02:04:17 AM
Hi how do you assign the event to the button?
Title: Re: Trigger Events from Cartwall
Post by: Marius on August 20, 2016, 08:33:40 AM
You don't. It will list all your manual events by their category.  :)
Title: Re: Trigger Events from Cartwall
Post by: eLseven on January 12, 2018, 01:07:39 PM
Quote from: Marius on August 17, 2016, 03:29:57 PM
As i promised, i wrote a plugin for this task.
You can download it from Downloads page, it is named "Events Cart" plugin. Please test it and if you encounter problems, post them here.

Marius, i really need this for version 2.0  :'( :'( :'( :'(
Title: Re: Trigger Events from Cartwall
Post by: Jhonny on January 12, 2018, 03:14:01 PM
Look in c:\RadioDJ\Disabled Plugins\Plugin Event Carts\
Title: Re: Trigger Events from Cartwall
Post by: eLseven on January 13, 2018, 01:44:35 AM
Quote from: Jhonny on January 12, 2018, 03:14:01 PM
Look in c:\RadioDJ\Disabled Plugins\Plugin Event Carts\

does it work for v2.0? i tried but it seems to not be working for me
Title: Re: Trigger Events from Cartwall
Post by: JoeTalk on November 30, 2019, 08:23:40 AM
Hey Marius,

Great idea for a plug in.. is there one available for the latest RadioDJ?  I'd love to be able to fire carts from my keyboard and not have to click on them.  Lemme know!

j