コード例 #1
0
ファイル: NoteEditStates.cs プロジェクト: SeleDreams/OpenUtau
 public PhonemeChangeOverlapState(Canvas canvas, PianoRollViewModel vm,
                                  UNote leadingNote, UPhoneme phoneme, int index) : base(canvas, vm)
 {
     this.leadingNote = leadingNote;
     this.phoneme     = phoneme;
     this.index       = index;
 }
コード例 #2
0
        public PianoRollWindow()
        {
            InitializeComponent();
#if DEBUG
            this.AttachDevTools();
#endif
            DataContext = ViewModel = new PianoRollViewModel();
        }
コード例 #3
0
        private void PianoRollCanvas_DeleteNoteRequested(object sender, DeleteNoteRequestedEventArgs e)
        {
            PianoRollViewModel vm = (PianoRollViewModel)DataContext;

            foreach (Note note in e.NotesToDelete)
            {
                vm.RemoveNote(note);
            }
        }
コード例 #4
0
ファイル: NoteEditStates.cs プロジェクト: SeleDreams/OpenUtau
        public NoteMoveEditState(Canvas canvas, PianoRollViewModel vm, UNote note) : base(canvas, vm)
        {
            this.note = note;
            var notesVm = vm.NotesViewModel;

            if (!notesVm.SelectedNotes.Contains(note))
            {
                notesVm.DeselectNotes();
            }
        }
コード例 #5
0
 //получение PianoRollModel из LessonsPianoPage
 public static PianoRollModel GetLessonPianoRollModel()
 {
     try
     {
         LessonsPianoPage   page           = (LessonsPianoPage)PageController.GetViewModel().CurrentPage;
         PianoRollViewModel pianoViewModel = (PianoRollViewModel)page.pianoRoll.DataContext;
         PianoRollModel     pianoModel     = pianoViewModel._model;
         return(pianoModel);
     }
     catch (Exception ex) { MessageBox.Show(ex.Message); return(new PianoRollModel()); }
 }
コード例 #6
0
ファイル: NoteEditStates.cs プロジェクト: SeleDreams/OpenUtau
 public PitchPointEditState(
     Canvas canvas, PianoRollViewModel vm, UNote note,
     int index, bool onPoint, float x, float y) : base(canvas, vm)
 {
     this.note    = note;
     this.index   = index;
     this.onPoint = onPoint;
     this.x       = x;
     this.y       = y;
     pitchPoint   = note.pitch.data[index];
 }
コード例 #7
0
ファイル: NoteEditStates.cs プロジェクト: SeleDreams/OpenUtau
        public NoteResizeEditState(Canvas canvas, PianoRollViewModel vm, UNote note, bool resizeNext) : base(canvas, vm)
        {
            this.note = note;
            var notesVm = vm.NotesViewModel;

            if (!notesVm.SelectedNotes.Contains(note))
            {
                notesVm.DeselectNotes();
            }
            this.resizeNext = notesVm.SelectedNotes.Count == 0 &&
                              resizeNext && note.Next != null && note.End == note.Next.position;
            nextNote = note.Next;
        }
コード例 #8
0
        private void MusicalCanvas_PreviewMouseWheel(object sender, MouseWheelEventArgs e)
        {
            if (Keyboard.Modifiers == ModifierKeys.Control)
            {
                PianoRollViewModel vm      = (PianoRollViewModel)DataContext;
                RelayCommand       zoomCmd = e.Delta > 0 ? vm.ZoomInCommand : vm.ZoomOutCommand;

                if (zoomCmd.CanExecute(null))
                {
                    zoomCmd.Execute(null);
                }

                e.Handled = true;
            }
        }
コード例 #9
0
 public PianoRoll()
 {
     try
     {
         InitializeComponent();
         viewModel   = new PianoRollViewModel();
         DataContext = viewModel;
         Panel mainContainer         = (Panel)this.Content;
         UIElementCollection element = mainContainer.Children;
         lstElement = element.Cast <FrameworkElement>().ToList();
     }
     catch (Exception ex)
     {
         MessageBox.Show(ex.Message);
     }
 }
コード例 #10
0
        private void PianoRollCanvas_SelectionChanged(object sender, NotifyCollectionChangedEventArgs e)
        {
            PianoRollViewModel vm = (PianoRollViewModel)DataContext;

            switch (e.Action)
            {
            case NotifyCollectionChangedAction.Add:
                vm.SelectItems(e.NewItems);
                break;

            case NotifyCollectionChangedAction.Remove:
                vm.DeselectItems(e.OldItems);
                break;

            case NotifyCollectionChangedAction.Reset:
                vm.ClearSelection();
                break;
            }
        }
コード例 #11
0
ファイル: NoteEditStates.cs プロジェクト: SeleDreams/OpenUtau
 public NoteSelectionEditState(Canvas canvas, PianoRollViewModel vm, Rectangle selectionBox) : base(canvas, vm)
 {
     this.selectionBox = selectionBox;
 }
コード例 #12
0
ファイル: NoteEditStates.cs プロジェクト: SeleDreams/OpenUtau
 public PhonemeResetState(Canvas canvas, PianoRollViewModel vm) : base(canvas, vm)
 {
 }
コード例 #13
0
ファイル: NoteEditStates.cs プロジェクト: SeleDreams/OpenUtau
 public PhonemeMoveState(Canvas canvas, PianoRollViewModel vm,
                         UNote leadingNote, int index) : base(canvas, vm)
 {
     this.leadingNote = leadingNote;
     this.index       = index;
 }
コード例 #14
0
ファイル: NoteEditStates.cs プロジェクト: SeleDreams/OpenUtau
 public VibratoChangePeriodState(Canvas canvas, PianoRollViewModel vm, UNote note) : base(canvas, vm)
 {
     this.note = note;
 }
コード例 #15
0
ファイル: NoteEditStates.cs プロジェクト: SeleDreams/OpenUtau
 public VibratoChangeShiftState(Canvas canvas, PianoRollViewModel vm, UNote note, Point hitPoint, float initialShift) : base(canvas, vm)
 {
     this.note         = note;
     this.hitPoint     = hitPoint;
     this.initialShift = initialShift;
 }
コード例 #16
0
ファイル: NoteEditStates.cs プロジェクト: SeleDreams/OpenUtau
 public NoteEditState(Canvas canvas, PianoRollViewModel vm)
 {
     this.canvas = canvas;
     this.vm     = vm;
 }
コード例 #17
0
ファイル: NoteEditStates.cs プロジェクト: SeleDreams/OpenUtau
 public ExpResetValueState(Canvas canvas, PianoRollViewModel vm) : base(canvas, vm)
 {
 }
コード例 #18
0
ファイル: NoteEditStates.cs プロジェクト: SeleDreams/OpenUtau
 public KeyboardPlayState(TrackBackground element, PianoRollViewModel vm)
 {
     this.element = element;
     this.vm      = vm;
 }
コード例 #19
0
ファイル: NoteEditStates.cs プロジェクト: SeleDreams/OpenUtau
 public NoteEraseEditState(Canvas canvas, PianoRollViewModel vm) : base(canvas, vm)
 {
 }
コード例 #20
0
ファイル: NoteEditStates.cs プロジェクト: SeleDreams/OpenUtau
 public NotePanningState(Canvas canvas, PianoRollViewModel vm) : base(canvas, vm)
 {
 }
コード例 #21
0
ファイル: NoteEditStates.cs プロジェクト: SeleDreams/OpenUtau
 public ExpSetValueState(Canvas canvas, PianoRollViewModel vm, Border tip) : base(canvas, vm)
 {
     this.tip = tip;
 }
コード例 #22
0
        private void ExcuteChordMagician(object sender, RoutedEventArgs e)
        {
            PianoRollViewModel vm = (PianoRollViewModel)DataContext;

            new ChordMagicianWindow(vm.Plugin, vm.Score).Show();
        }