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());
        }
示例#2
0
文件: Camera.cs 项目: Trinitek/CMiX
 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)
 {
 }
示例#3
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");
        }
示例#4
0
        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);
        }
示例#5
0
        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);
        }