private void CommandBinding_ExecuteSetOriginToCursor(object sender, ExecutedRoutedEventArgs e) { MusicSegmentViewModel segment = e.Parameter as MusicSegmentViewModel; if (segment == null) { throw new ArgumentException("invalid parameter"); } segment.TimeOrigin = TimeSpan.FromSeconds(sequencer.CursorPosition); }
private void CommandBinding_ExecuteSelectReferringBlocks(object sender, ExecutedRoutedEventArgs e) { MusicSegmentViewModel segment = e.Parameter as MusicSegmentViewModel; if (segment == null) { throw new ArgumentException("invalid parameter"); } var blocks = sequencer.AllBlocks.Where(block => block.SegmentContext == segment); sequencer.SelectBlocks(blocks, CompositionMode.None); }
private void CommandBinding_ExecuteMoveSegmentByTime(object sender, ExecutedRoutedEventArgs e) { MusicSegmentViewModel segment = e.Parameter as MusicSegmentViewModel; if (segment == null) { throw new ArgumentException("invalid parameter"); } var result = Mastermind.ShowPromptTimeSpan(this, "Enter time delta", TimeSpan.Zero); if (!result.Success) { return; // cancelled by user } segment.TimeOrigin += result.Value; }
private void CommandBinding_ExecuteDeleteSegment(object sender, ExecutedRoutedEventArgs e) { if (e.Parameter == null) { return; } MusicSegmentViewModel segment = (MusicSegmentViewModel)e.Parameter; if (segment.ReferringBlocksDummies.Count > 0) { MessageBoxResult result = MessageBox.Show(this, segment.ReferringBlocksDummies.Count + " blocks are referring to '" + segment.Label + "' and will have their music segment reset." + Environment.NewLine + "Are you sure?", "Confirmation", MessageBoxButton.YesNo); if (result != MessageBoxResult.Yes) { return; } } sequencer.DeleteMusicSegment(segment); }
private void CommandBinding_ExecuteAddSegment(object sender, ExecutedRoutedEventArgs e) { MusicSegmentViewModel newSegment = sequencer.AddMusicSegment(); segmentsListBox.SelectedItem = newSegment; }