public Form1(string mediafile) { InitializeComponent(); Form1.Instance = this; // set window location/sizing and force to top of z index this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.None; this.WindowState = FormWindowState.Maximized; this.Focus(); this.TopMost = true; this.Refresh(); vlcLibrary = new VLCLibrary(); if (vlcLibrary.DetectVLC()) { try { vlcLibrary.SetupVLC(); } catch (Exception e) { } } // activate the remote control hooks remoteManager = new MCRemoteControlManager(); remoteManager.form = this; remoteManager.AssignHandle(this.Handle); IntPtr panelHandle = panel1.Handle; string[] args = new string[] { "-I", "dummy", "--ignore-config", @"--plugin-path=" + MediaCenterVLCPlayer.Properties.Settings.Default.VlcPluginsPath }; if (!System.IO.Directory.Exists(MediaCenterVLCPlayer.Properties.Settings.Default.VlcPluginsPath)) { DialogResult result = MessageBox.Show("Error: we do NOT have a valid location for the VLC plugins folder", "Error", MessageBoxButtons.YesNo, MessageBoxIcon.Error); } // init VLC try { instance = new VlcInstance(args); } catch (VlcException e) { MessageBox.Show("Error creating VLC Instance:" + e.Message); Environment.Exit(0); } player = instance.CreatePlayer(mediafile); player.Drawable = panelHandle; // give the remote control lib access to the active panel so it gets keyboard/mouse/remote events remoteManager.playerHandle = player.Handle; IntPtr p_event_manager = vlcLibrary.media_player_event_manager(player.Handle); eventmanager = new VlcEventManager(instance, p_event_manager); eventmanager.InitalizeEvents(); }
internal bool IsAttached(VLCLibrary.VlcEventType type) { return _AttachedEvents.Contains(type); }
public AudioOutput(VLCLibrary.libvlc_audio_output_t output) { _output = output; _outputDevices = new ArrayList(); }
internal void DetachEvent(VLCLibrary.VlcEventType type, VLCLibrary.EventCallbackDelegate callback, IntPtr userdata) { VLCLibrary.Instance.event_detach(VlcEventManager.Handle, (uint)type, callback, userdata, string.Empty); _AttachedEvents.Remove(type); }
internal void AttachEvent(VLCLibrary.VlcEventType type, VLCLibrary.EventCallbackDelegate callback, IntPtr userdata) { VLCLibrary.Instance.event_attach(VlcEventManager.Handle, (uint)type, callback, userdata, null); _AttachedEvents.Add(type); }
public void MediaPlayerEnded(ref VLCLibrary.VlcEventType type, IntPtr userdata) { Form1.Instance.Closeapp(); }
public void LogEvent(ref VLCLibrary.VlcEventType type, IntPtr userdata) { _instance.Logger.writeToLog("[Event]: " + type.ToString()); }
public VLCLibrary() { VLCLibrary.Instance = this; }