sub, I set a delay so that my popup will render after the default popup and it serves my purpose. One thing I noticed though is that once the default audio/subtitle selection is activated, PluginHelperFactory.GetPluginHelper().GetActivePop up() still returns null. So even though I render my popup, once my popup is cleared, the default popup reappears on screen.
I hope I'm making some sense.
Edit: Here's my code:
Code:
public void Notify(string eventName, object eventArg)
{
if (eventName == "PLAYBACK_KEYDOWN")
{
string s = new KeyCommandHelper(SettingsHelper.GetInstance().GetDataDirectory() + "KeyMappings.xml").GetCommand("VideoPlayback", (KeyEventArgs)eventArg);
if (s == "SelectAudio" || s == "SelectSubtitles")
{
delay = new System.Timers.Timer(1000);
delay.AutoReset = false;
delay.Elapsed += new System.Timers.ElapsedEventHandler(delay_Elapsed);
delay.Start();
}
}
void delay_Elapsed(object sender, System.Timers.ElapsedEventArgs e)
{
IScreenPlugin currentPopup = PluginHelperFactory.GetPluginHelper().GetActivePopup();
if (currentPopup != null)
PluginHelperFactory.GetPluginHelper().ActivatePopup(null); // This never gets fired because GetActivePopup always returns null even though there is a popup on screen.
PluginHelperFactory.GetPluginHelper().ActivatePopup(new StreamPopup());
}