private void MainWindow_Loaded(object sender, RoutedEventArgs e) { Core.SetWnd(this); CuelistCtrl.Init(); FollowCtrl.Init(); GoCtrl.Init(); LogCtrl.Init(); LogCtrl.Status("CueController 3.43b"); MidiController.Init(); MidiInputCtrl.Init(); MidiOutputCtrl.Init(); PbCtrl.Init(); BeamerlistCtrl.Init(); RecentFilesCtrl.Init(); ReadWriteCtrl.Init(); MatrixCtrl.Init(); ScriptlistCtrl.Init(); CopyCutCtrl.Init(); OscCtrl.Init(); OscListCtrl.Init(); string[] args = Environment.GetCommandLineArgs(); if (args.Length >= 2) { ReadWriteCtrl.Read(args[1]); } }
private void MainWindow_PreviewKeyDown(object sender, System.Windows.Input.KeyEventArgs e) { if (e.Key == Key.Space && !CuelistCtrl.editMode) { GoCtrl.GoWithThresh(); } else if (!CuelistCtrl.editMode && e.Key == Key.Up) { CuelistCtrl.SelectPrevCue(); e.Handled = true; } else if (!CuelistCtrl.editMode && e.Key == Key.Down) { CuelistCtrl.SelectNextCue(); e.Handled = true; } }
public static bool Write(bool overwrite) { string filename; if (overwrite && path != null) { filename = path; } else { Microsoft.Win32.SaveFileDialog dlg = new Microsoft.Win32.SaveFileDialog(); dlg.Filter = "CC Files (*.cc)|*.cc"; bool?result = dlg.ShowDialog(); if (result == false) { return(false); } filename = dlg.FileName; } string p = Path.ChangeExtension(filename, ".cc"); using (DataSet dataSet = new DataSet("Cuelist")) { dataSet.Tables.Add(GetSettingsTable()); dataSet.Tables.Add(CuelistCtrl.GetCueTable()); dataSet.Tables.Add(ScriptlistCtrl.GetScriptTable()); dataSet.Tables.Add(BeamerlistCtrl.GetBeamerTable()); dataSet.Tables.Add(MidiController.GetMidiMapTable()); try { dataSet.WriteXml(p); } catch (Exception e) { LogCtrl.Error(e.Message); DialogCtrl.Show(DialogType.ERROR, OptionType.OKCANCEL, "Error", "Couldn't write file!"); return(false); } } SetPath(p); CuelistCtrl.saved = true; RecentFilesCtrl.Add(p); LogCtrl.Status("Saved file: " + p); return(true); }
public static void Read(string filename) { if (!CuelistCtrl.saved) { bool?result = DialogCtrl.Show(DialogType.QUESTION, OptionType.YESNO, "Open Cuelist", "Do you want to save the current cuelist?"); if (result == true) { if (!Write(false)) { return; } } } if (filename == null) { Microsoft.Win32.OpenFileDialog dlg = new Microsoft.Win32.OpenFileDialog(); dlg.Filter = "CC Files (*.cc)|*.cc"; bool?result = dlg.ShowDialog(); if (result == true) { filename = dlg.FileName; } else { return; } } using (DataSet dataSet = new DataSet("Cuelist")) { try { dataSet.ReadXml(filename); } catch (Exception e) { LogCtrl.Error(e.Message); DialogCtrl.Show(DialogType.ERROR, OptionType.OKCANCEL, "Error", "Can't open file!"); return; } DataTableCollection collection = dataSet.Tables; ClearCuelist(); for (int i = 0; i < collection.Count; i++) { DataTable table = collection[i]; switch (table.TableName) { case "Settings": SetSettingsFromTable(table); break; case "Script": ScriptlistCtrl.LoadScripts(table); break; case "Beamer": BeamerlistCtrl.LoadBeamers(table); break; case "MidiMap": MidiController.LoadMidiMap(table); break; default: CuelistCtrl.SetCuesFromTable(table); break; } } } CuelistCtrl.saved = true; SetPath(filename); CuelistCtrl.DisableEditMode(); RecentFilesCtrl.Add(filename); LogCtrl.Status("Open file: " + filename); }
private static void ExecuteCcCmd(string cmd) { Application.Current.Dispatcher.Invoke(new Action(() => { switch (cmd) { case "Go": GoCtrl.GoWithThresh(); break; case "Back": GoCtrl.GoBack(); break; case "Up": CuelistCtrl.SelectPrevCue(); break; case "Down": CuelistCtrl.SelectNextCue(); break; case "Mute All": MidiInputCtrl.NoteMute(true); MidiInputCtrl.MscMute(true); break; case "Unmute All": MidiInputCtrl.NoteMute(false); MidiInputCtrl.MscMute(false); break; case "Mute Note": MidiInputCtrl.NoteMute(true); break; case "Unmute Note": MidiInputCtrl.NoteMute(false); break; case "Mute MSC": MidiInputCtrl.MscMute(true); break; case "Unmute MSC": MidiInputCtrl.MscMute(false); break; default: string[] buff = cmd.Split(' '); if (buff.Length == 2 && buff[0] == "Script") { int nr; if (int.TryParse(buff[1], out nr)) { ScriptlistCtrl.ExecuteScript(nr); } } break; } })); }
private static void InputDevice_NoteOn(NoteOnMessage msg) { Application.Current.Dispatcher.Invoke(new Action(() => { if (msg.Velocity > 0) { int pitch = (int)msg.Pitch; MidiNote note = MidiNote.getMidiNote(pitch); if (note != null) { if (!noteMute) { if (pitch < 108) { for (int i = 0; i < CuelistCtrl.cues.Count; ++i) { Cue cue = CuelistCtrl.cues[i]; if (cue.trigger != null && cue.trigger.type == TriggerType.NOTE && cue.trigger.note.pitch == pitch) { if (Core.win.saveTriggerCheckbox.IsChecked && Core.win.cueTable.SelectedIndex != i) { LogCtrl.Error("In: " + note.note + " (" + note.pitch + ")"); } else { LogCtrl.Success("In: " + note.note + " (" + note.pitch + ")"); GoCtrl.Go(i); } return; } } LogCtrl.Status("In: " + note.note + " (" + note.pitch + ")"); } else { LogCtrl.Status("In: " + note.note + " (" + note.pitch + ")"); if (pitch == 108) { GoCtrl.GoNextCue(); } else if (pitch == 109) { GoCtrl.GoBack(); } else if (pitch == 110) { CuelistCtrl.SelectPrevCue(); } else if (pitch == 111) { CuelistCtrl.SelectNextCue(); } else if (pitch >= 112 && pitch <= 121) { ScriptlistCtrl.ExecuteScript(note.pitch - 111); } } } else { LogCtrl.Warning("In: " + note.note + " (" + note.pitch + ")"); } } } })); }