Ejemplo n.º 1
0
        public MainForm()
        {
            InitializeComponent();

            EnvironmentManager.Instance.RegisterReceiver(PlaybackTimeChangedHandler,
                                                         new MessageIdFilter(MessageId.SmartClient.PlaybackCurrentTimeIndication));
            //Initialize dialog components
            checkBoxAudio.Enabled     = false;
            checkBoxAudio.Checked     = true;
            checkBoxSpeaker.Enabled   = false;
            progressBarMeter.Visible  = false;
            checkBoxSpeaker.Checked   = true;
            this.rb_pc_mic.Checked    = _fromPCMic;
            this.rb_from_file.Checked = !_fromPCMic;
            onCheckedChanged_Speaker(this.checkBoxSpeaker, null);
            openFileDialog1.DefaultExt       = "wav";
            openFileDialog1.Filter           = "WAV sound files (*.wav)|*.wav";
            buttonMode.Enabled               = false;
            comboBoxSampleRate.SelectedIndex = 0;

            // Create audio players and initialize
            _audioPlayerControl1 = ClientControl.Instance.GenerateAudioPlayerControl();
            Controls.Add(_audioPlayerControl1);

            _outgoingSpeakerController          = new OutgoingSpeakerController();
            _outgoingSpeakerController.UIHandle = this;
            _outgoingSpeakerController.OutgoingAudioErrorTextEvent += new EventHandler(AudioController_OutgoingAudioErrorTextEvent);
            _outgoingSpeakerController.OutgoingAudioTransmitEnableStateChangedEvent += new EventHandler(AudioController_OutgoingAudioTransmitEnableStateChangedEvent);
            _outgoingSpeakerController.OutgoingAudioMeterEvent += new OutgoingSpeakerController.OutgoingAudioMeterEventHandler(AudioController_OutgoingAudioMeterEvent);
            _outgoingSpeakerController.DoRetryConnect           = true;
        }
Ejemplo n.º 2
0
        public override void Init()
        {
            _imageViewerControl = ClientControl.Instance.GenerateImageViewerControl(WindowInformation);
            panel2.Controls.Add(_imageViewerControl);
            _imageViewerControl.Dock = DockStyle.Fill;

            _audioPlayerControl = ClientControl.Instance.GenerateAudioPlayerControl(WindowInformation);
            panel2.Controls.Add(_audioPlayerControl);

            SetUpApplicationEventListeners();

            _imageViewerControl.EnableMouseControlledPtz      = true;
            _imageViewerControl.EnableMousePtzEmbeddedHandler = false;
            _imageViewerControl.EnableDigitalZoom             = false;
            _imageViewerControl.EnableScrollWheel             = true;

            panelHeader.BackColor = ClientControl.Instance.Theme.ViewItemHeaderColor;
            panelHeader.ForeColor = ClientControl.Instance.Theme.ViewItemHeaderTextColor;
            ClientControl.Instance.RegisterUIControlForAutoTheming(panelMain);

            string fqidString = _viewItemManager.GetProperty(ClientControl.EmbeddedCameraFQIDProperty);

            if (fqidString != null)
            {
                _selectedCameraItem = Configuration.Instance.GetItem(new FQID(fqidString));
                FillCameraSelection();

                FillMicrophoneSelection();
            }
        }
Ejemplo n.º 3
0
        private void OnMicrophoneSelected(object sender, EventArgs e)
        {
            if (comboBoxAudio.SelectedIndex == 0)
            {
                return;
            }

            if (_audioPlayerControl1 != null)
            {
                _audioPlayerControl1.Disconnect();
                _audioPlayerControl1.Close();
                _audioPlayerControl1.Dispose();
                _audioPlayerControl1 = null;
            }

            /*
             * if (_userContext != null)
             * {
             *  VideoOS.Platform.SDK.MultiEnvironment.Logout(_userContext);
             *  _userContext = null;
             * }*/

            try
            {
                if (_userContext == null)
                {
                    _userContext = VideoOS.Platform.SDK.MultiEnvironment.CreateSingleServerUserContext(textBoxUser.Text,
                                                                                                       textBoxPassword.Text, checkBoxAd.Checked, new UriBuilder(textBoxServer.Text).Uri);
                    VideoOS.Platform.SDK.MultiEnvironment.LoginUserContext(_userContext, false, false);
                }

                if (comboBoxAudio.SelectedIndex == 0 || comboBoxAudio.SelectedIndex > comboBoxAudio.Items.Count)
                {
                    return;
                }
                string name = comboBoxAudio.Items[comboBoxAudio.SelectedIndex].ToString();
                string xml  = File.ReadAllText(name);

                _audioPlayerControl1 = ClientControl.Instance.GenerateAudioPlayerControl();

                panel2.Controls.Clear();
                panel2.Controls.Add(_audioPlayerControl1);

                //_imageViewerControl1.CameraFQID = _selectItem1.FQID;  --- this is replaced with below line:
                _audioPlayerControl1.SetAudioXml(
                    _userContext.Configuration.ServerFQID.ServerId.UserContext, xml);

                //FQID cameraFQID = _audioPlayerControl1.CameraFQID;
                //_selectItem1 = _userContext.Configuration.GetItem(cameraFQID);


                _audioPlayerControl1.Initialize();
                _audioPlayerControl1.Connect();
                _audioPlayerControl1.PlaybackControllerFQID = _playbackFQID;
            }
            catch (Exception ex)
            {
                MessageBox.Show("Unable to login - " + ex.Message);
            }
        }
Ejemplo n.º 4
0
        /// <summary>
        /// Method that is called immediately after the view item is displayed.
        /// </summary>
        public override void Init()
        {
            _playbackWpfUserControl = new PlaybackWpfUserControl();
            canvasPlaybackControl.Children.Add(_playbackWpfUserControl);

            _audioPlayerControl           = ClientControl.Instance.GenerateAudioPlayerControl(WindowInformation);
            _audioPlayerControl.Dock      = DockStyle.Fill;
            _audioPlayerControlHost.Child = _audioPlayerControl;

            _imageViewerControl = new ImageViewerWpfControl(WindowInformation);
            _imageViewerControl.VerticalAlignment        = System.Windows.VerticalAlignment.Stretch;
            _imageViewerControl.HorizontalAlignment      = System.Windows.HorizontalAlignment.Stretch;
            _imageViewerControl.EnableMouseControlledPtz = true;
            _imageViewerControl.Selected = true;

            canvasVideo.Children.Add(_imageViewerControl);

            _playbackFQID = ClientControl.Instance.GeneratePlaybackController();
            _playbackWpfUserControl.Init(_playbackFQID);
            _imageViewerControl.PlaybackControllerFQID = _playbackFQID;

            _audioPlayerControl.PlaybackControllerFQID = _playbackFQID;

            PlaybackController pc = ClientControl.Instance.GetPlaybackController(_playbackFQID);

            pc.SkipGaps = false;

            SetUpApplicationEventListeners();
            _imageViewerControl.Initialize();               // Make sure Click events have been configured
            if (_viewItemManager.SelectedCamera != null)
            {
                ViewItemManagerPropertyChangedEvent(this, null);
            }
        }
Ejemplo n.º 5
0
        private AudioPlayerControl GenerateAudioplayer()
        {
            AudioPlayerControl audioControl = ClientControl.Instance.GenerateAudioPlayerControl();

            audioControl.Initialize();
            audioControl.PlaybackControllerFQID = _playbackFQID;
            return(audioControl);
        }
Ejemplo n.º 6
0
        private void LoadSpeaker(IEnumerable <Item> relatedItems)
        {
            var item = relatedItems.FirstOrDefault(x => x.FQID.Kind == Kind.Speaker);

            if (item != null)
            {
                _speakerPlayer             = GenerateAudioplayer();
                _speakerPlayer.SpeakerFQID = item.FQID;
                _speakerPlayer.Connect();
            }
        }
Ejemplo n.º 7
0
        private void LoadMicrophone(IEnumerable <Item> relatedItems)
        {
            var item = relatedItems.FirstOrDefault(x => x.FQID.Kind == Kind.Microphone);

            if (item != null)
            {
                _microphonePlayer = GenerateAudioplayer();
                _microphonePlayer.MicrophoneFQID = item.FQID;
                _microphonePlayer.Connect();
            }
        }
Ejemplo n.º 8
0
        /// <summary>
        /// Is called when userControl is not displayed anymore. Either because of
        /// user clicking on another View or Item has been removed from View.
        /// </summary>
        public override void Close()
        {
            RemoveApplicationEventListeners();
            if (_imageViewerControl.CameraFQID != null)
            {
                _imageViewerControl.Disconnect();
                _imageViewerControl.Close();
            }
            if (_audioPlayerControl.MicrophoneFQID != null)
            {
                _audioPlayerControl.Disconnect();
                _audioPlayerControl.Close();
            }
            _imageViewerControl.Dispose();
            _imageViewerControl = null;

            _audioPlayerControl.Dispose();
            _audioPlayerControl = null;
        }
        public override void Init()
        {
            base.Init();

            this.imageViewerControl = ClientControl.Instance.GenerateImageViewerControl(WindowInformation);
            this.panel2.Controls.Add(imageViewerControl);
            this.imageViewerControl.Dock = DockStyle.Fill;

            _playbackUserControl      = ClientControl.Instance.GeneratePlaybackUserControl(this.WindowInformation);
            _playbackUserControl.Dock = DockStyle.Fill;
            panel1.Controls.Add(_playbackUserControl);

            _playbackFQID = ClientControl.Instance.GeneratePlaybackController();

            //this.imageViewerControl.ClickEvent += new System.EventHandler(this.OnImageClick);
            //Note the usercontrol MouseClick does not work for ImageViewerControl - use above
            //this.imageViewerControl.MouseClick += new System.Windows.Forms.MouseEventHandler(this.ViewItemUserControl_MouseClick);
            //this.imageViewerControl.DoubleClickEvent += imageViewerControl_DoubleClickEvent;

            _audioPlayerControl = ClientControl.Instance.GenerateAudioPlayerControl(WindowInformation);
            panel2.Controls.Add(_audioPlayerControl);
            _audioPlayerControlSpeaker = ClientControl.Instance.GenerateAudioPlayerControl(WindowInformation);
            panel2.Controls.Add(_audioPlayerControlSpeaker);

            _playbackUserControl.Init(_playbackFQID);
            imageViewerControl.PlaybackControllerFQID = _playbackFQID;

            _audioPlayerControl.PlaybackControllerFQID        = _playbackFQID;
            _audioPlayerControlSpeaker.PlaybackControllerFQID = _playbackFQID;

            /*
             * string fqidString = _viewItemManager.GetProperty(ClientControl.EmbeddedCameraFQIDProperty);
             * if (fqidString != null)
             * {
             *  _selectedCameraItem = Configuration.Instance.GetItem(new FQID(fqidString));
             *  FillCameraSelection();
             *
             *  FillMicrophoneSelection();
             * }*/
        }
Ejemplo n.º 10
0
        public MainForm()
        {
            InitializeComponent();

            EnvironmentManager.Instance.RegisterReceiver(PlaybackTimeChangedHandler,
                                                         new MessageIdFilter(MessageId.SmartClient.PlaybackCurrentTimeIndication));
            EnvironmentManager.Instance.RegisterReceiver(PlaybackIndicationHandler,
                                                         new MessageIdFilter(MessageId.SmartClient.PlaybackIndication));

            // Create audio players
            _audioPlayerControl1Microphone = ClientControl.Instance.GenerateAudioPlayerControl();
            Controls.Add(_audioPlayerControl1Microphone);

            _audioPlayerControl1Speaker = ClientControl.Instance.GenerateAudioPlayerControl();
            Controls.Add(_audioPlayerControl1Speaker);

            _audioPlayerControl2Microphone = ClientControl.Instance.GenerateAudioPlayerControl();
            Controls.Add(_audioPlayerControl2Microphone);

            _audioPlayerControl2Speaker = ClientControl.Instance.GenerateAudioPlayerControl();
            Controls.Add(_audioPlayerControl2Speaker);
        }
Ejemplo n.º 11
0
 public AudioModel()
 {
     _audioPlayerControl = ClientControl.Instance.GenerateAudioPlayerControl();
     _audioPlayerControl.ConnectResponseEvent += ConnectResponseEvent;
 }
Ejemplo n.º 12
0
        private ViewModel()
        {
            var resourceLoader = ResourceLoader.GetForViewIndependentUse();
            this.Filters = new ReadOnlyCollection<FilterViewModel>(new List<FilterViewModel>() { new AllSongsFilter(resourceLoader, null, SongSource.AllSongsSource()), new AlbumsFilter(resourceLoader), new ArtistsFilter(resourceLoader), new SearchFilter(resourceLoader), new PlaylistsFilter(resourceLoader), new GenresFilter(resourceLoader) });

            var enabledFilters = ApplicationSettings.CurrentlyEnabledMusicFilters.Read();

            foreach (var filter in this.Filters)
                filter.IsSelected = enabledFilters.Contains(filter.GetType().Name);

            this._selectedFilters = new ObservableCollection<FilterViewModel>(this.Filters.Where(p => p.IsSelected));


            foreach (var filter in this.Filters)
                filter.PropertyChanged += filter_PropertyChanged;

            this.libraryLoadingTask = MusicLibrary.Open(new LocalLibrarySource(), this.Filters.Select(p => new PropertyChangedEventHandler(p.MusicLibrary_PropertyChanged))
                .Concat(new PropertyChangedEventHandler[] { library_PropertyChanged }).ToArray());

            this.dispatcher = Windows.ApplicationModel.Core.CoreApplication.MainView.CoreWindow.Dispatcher;
            this.LoadLibrary();
            this.audioControls = new AudioPlayerControl(dispatcher);
            this.NowPlayingProgress = this.audioControls.GetNowPlayingProgress();
            this.NowPlayingLength = this.audioControls.GetNowPlayingLength();

            this.NextSongCommand = new RelayCommand(this.audioControls.NextSong);
            this.PreviousSongCommand = new RelayCommand(this.audioControls.PreviousSong);
            this.TogglePlayPauseCommand = new RelayCommand(this.audioControls.TogglePlayPause);
            this.ClearPlaylistCommand = new RelayCommand(async () => { await this.library.PlaylistManager.Clear(); await this.Playlist.Reset(); });
        }