using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.ComponentModel; using System.Collections.ObjectModel; using System.Windows.Media; namespace BuzzGUI.Interfaces { public enum BuzzView { PatternView, MachineView, SequenceView, WaveTableView, SongInfoView }; public enum BuzzCommand { NewFile, OpenFile, SaveFile, Cut, Copy, Paste, Undo, Redo, Stop }; public interface IBuzz : INotifyPropertyChanged { ISong Song { get; } BuzzView ActiveView { get; set; } double MasterVolume { get; set; } Tuple VUMeterLevel { get; } int BPM { get; set; } int TPB { get; set; } int Speed { get; set; } bool Playing { get; set; } bool Recording { get; set; } bool Looping { get; set; } bool AudioDeviceDisabled { get; set; } ReadOnlyCollection MIDIControllers { get; } IIndex ThemeColors { get; } IMenuItem MachineIndex { get; } IMachine MIDIFocusMachine { get; set; } bool MIDIFocusLocked { get; set; } bool MIDIActivity { get; } void ExecuteCommand(BuzzCommand cmd); bool CanExecuteCommand(BuzzCommand cmd); event Action OpenSong; event Action SaveSong; void DCWriteLine(string s); void ActivatePatternEditor(); void SetPatternEditorMachine(IMachine m); void SetPatternEditorPattern(IPattern p); } }