//cons public SignalsWindow() { InitializeComponent(); //waverly = new Waverly(this); currentProject = null; //control panel controlPanel = new ControlPanel(this); controlPanel.Location = new Point(0, SignalsMenu.Height); controlPanel.Width = this.ClientSize.Width; this.Controls.Add(controlPanel); //track panel trackPanel = new TrackPanel(this); trackPanel.Location = new Point(0, controlPanel.Bottom); trackPanel.Size = new Size(this.ClientSize.Width, SignalsStatus.Top - controlPanel.Bottom); this.Controls.Add(trackPanel); //mixer window mixerWindow = new MixerWindow(this); mixerWindow.FormClosing += new FormClosingEventHandler(MixerWindow_FormClosing); shuttingdown = false; isPaused = false; playSpeed = 0; }
public bool closeCurrentProject() { //save current project if we have one if (currentProject != null) { if (currentProject.isChanged) { String msg = "Save changes to project " + currentProject.projectName + "?"; DialogResult result = MessageBox.Show(msg, "Not so fast...", MessageBoxButtons.YesNoCancel); if (result == DialogResult.Cancel) { return(false); } if (result == DialogResult.Yes) { //save current project, but if they cancel the saving then cancel the closing as well if (!saveCurrentProject(false)) { return(false); } } } currentProject.close(); } trackPanel.clearProject(currentProject); mixerWindow.clearProject(currentProject); controlPanel.clearProject(currentProject); enableWithTracks(false); enableWithProject(false); this.Text = "Signals X-1 [none]"; currentProject = null; return(true); }
public void setProject(X1Project _project) { project = _project; foreach (TrackView trackView in tracks) { trackView.updateTrackNumber(); trackView.trackData.Invalidate(); } }
//----------------------------------------------------------------------------- public void setProject(X1Project _project) { project = _project; mixmaster.project = project; mixmaster.updateSettings(); foreach (MixerStrip strip in mixerStrips) { strip.updateSettings(); } }
//- actions ------------------------------------------------------------------- //project actions public void setCurrentProject(X1Project project) { currentProject = project; this.Text = "Signals X-1 [" + currentProject.projectName + "]"; trackPanel.setProject(project); mixerWindow.setProject(project); controlPanel.setProject(project); enableWithProject(true); if (currentProject.tracks.Count > 0) { enableWithTracks(true); } }
public int trackWidth; //width of data portion of track view for horizontal scrolling in pixels public TrackPanel(SignalsWindow _signalsWindow) { signalsWindow = _signalsWindow; project = null; InitializeComponent(); ruler = new TrackRuler(this); ruler.Width = this.Width; ruler.Dock = DockStyle.Top; Controls.Add(ruler); tracks = new List <TrackView>(); zoomfactor = ZOOMFACTOR; tracksHeight = 10; //bottom gutter trackWidth = 0; }
public MixerMaster(MixerWindow _mixer) { mixerWindow = _mixer; project = mixerWindow.project; InitializeComponent(); chkLock.Checked = true; fadersAreLocked = true; leftMeter = new LevelMeter(this); leftMeter.Location = new Point(45, 26); this.Controls.Add(leftMeter); leftMeter.BringToFront(); rightMeter = new LevelMeter(this); rightMeter.Location = new Point(80, 26); rightMeter.BringToFront(); this.Controls.Add(rightMeter); }
public MixerWindow(SignalsWindow _signalsWindow) { signalsWindow = _signalsWindow; project = null; InitializeComponent(); //mix master goes on right of mixer window mixmaster = new MixerMaster(this); mixmaster.Dock = DockStyle.Right; this.Controls.Add(mixmaster); //strip scroll bar runs along bottom of window under channel strips stripScroll = new HScrollBar(); stripScroll.Minimum = 0; stripScroll.Location = new Point(0, MixerStrip.STRIPHEIGHT); stripScroll.Size = new Size(MixerStrip.STRIPWIDTH, 20); stripScroll.LargeChange = MixerStrip.STRIPWIDTH / 2; stripScroll.ValueChanged += new EventHandler(stripScroll_ValueChanged); this.Controls.Add(stripScroll); //strip panel contains the channel strips stripPanel = new Panel(); stripPanel.Location = new Point(0, 0); stripPanel.Size = new Size(0, 0); stripPanel.TabStop = false; this.Controls.Add(stripPanel); mixerStrips = new List <MixerStrip>(); stripCount = 0; //fix height & width for initial one strip view this.ClientSize = new Size(mixmaster.Width + MixerStrip.STRIPWIDTH, MixerStrip.STRIPHEIGHT + stripScroll.Height); this.MinimumSize = new Size(this.Width, this.Height); addMixerStrip(null); addMixerStrip(null); addMixerStrip(null); addMixerStrip(null); addMixerStrip(null); addMixerStrip(null); }
private void openFileMenuItem_Click(object sender, EventArgs e) { if (!closeCurrentProject()) { return; } //call get new project filename dialog box String filename = ""; openFileDialog.InitialDirectory = Application.StartupPath; openFileDialog.DefaultExt = "*.sx1"; openFileDialog.Filter = "Signals X-1 project files|*.sx1|All files|*.*"; openFileDialog.ShowDialog(); filename = openFileDialog.FileName; if (filename.Length == 0) { return; } X1Project project = X1Project.open(this, filename); setCurrentProject(project); }
//- file events --------------------------------------------------------------- private void newFileMenuItem_Click(object sender, EventArgs e) { if (!closeCurrentProject()) { return; } //call get import filename dialog box newProjectDialog newDialog = new newProjectDialog(); newDialog.ShowDialog(); if (newDialog.DialogResult == DialogResult.Cancel) { return; } String projectName = newDialog.projectName; int sampleRate = newDialog.sampleRate; int duration = newDialog.duration; X1Project project = new X1Project(this, projectName, sampleRate, duration); setCurrentProject(project); }
public void clearProject(X1Project _project) { //ruler project = null; }
public void clearProject(X1Project _project) { project = null; enableTransport(false); }
public void setProject(X1Project _project) { project = _project; enableTransport(true); }
public void clearProject(X1Project _project) { project = null; mixmaster.project = null; stop(); }