public Composition(ObservableCollection <OSCMessenger> oscmessengers) { Name = string.Empty; Messengers = oscmessengers; MessageAddress = "/Layer"; LayerNames = new List <string>(); LayerIndex = new List <int>(); Layers = new ObservableCollection <Layer>(); Layers.CollectionChanged += ContentCollectionChanged; MasterBeat = new MasterBeat(Messengers, Mementor); Camera = new Camera(Messengers, MasterBeat, Mementor); Mementor = new Mementor(); ReloadCompositionCommand = new RelayCommand(p => ReloadComposition(p)); AddLayerCommand = new RelayCommand(p => AddLayer()); RemoveLayerCommand = new RelayCommand(p => RemoveLayer()); DeleteLayerCommand = new RelayCommand(p => DeleteLayer(p)); DuplicateLayerCommand = new RelayCommand(p => DuplicateLayer(p)); CopyLayerCommand = new RelayCommand(p => CopyLayer()); PasteLayerCommand = new RelayCommand(p => PasteLayer()); SaveCompositionCommand = new RelayCommand(p => Save()); OpenCompositionCommand = new RelayCommand(p => Open()); }
public Camera(IMessenger messenger, MasterBeat masterBeat) : this( messenger : messenger, rotation : default(CameraRotation), lookAt : default(CameraLookAt), view : default(CameraView), beatModifier : new BeatModifier(masterBeat), fov : 0.5, zoom : 1.0) { }
public Composition() { Name = string.Empty; var messenger = new OSCMessenger(new SharpOSC.UDPSender("127.0.0.1", 55555)); MasterBeat = new MasterBeat(messenger); Camera = new Camera(messenger, MasterBeat); Layers = new ObservableCollection <Layer>(Enumerable.Empty <Layer>()); // TODO temporary CurrentLayer = new Layer(MasterBeat, "Layer0"); }
public Camera(ObservableCollection <OSCMessenger> oscmessengers, MasterBeat masterBeat, Mementor mementor) : base(oscmessengers, mementor) { MessageAddress = "/Camera/"; Rotation = ((CameraRotation)0).ToString(); LookAt = ((CameraLookAt)0).ToString(); View = ((CameraView)0).ToString(); BeatModifier = new BeatModifier(MessageAddress, oscmessengers, masterBeat, mementor); FOV = new Slider(MessageAddress + nameof(FOV), oscmessengers, mementor); Zoom = new Slider(MessageAddress + nameof(Zoom), oscmessengers, mementor); }
public Composition(string name, Camera camera, MasterBeat masterBeat, IEnumerable <Layer> layers) { if (layers == null) { throw new ArgumentNullException(nameof(layers)); } CurrentLayer = new Layer(masterBeat, "Layer0"); // TODO temporary Name = name; Camera = camera ?? throw new ArgumentNullException(nameof(camera)); MasterBeat = masterBeat ?? throw new ArgumentNullException(nameof(masterBeat)); Layers = new ObservableCollection <Layer>(layers); }