Changeset 5828


Ignore:
Timestamp:
03/27/14 07:41:49 (6 years ago)
Author:
avneesh-singh
Message:

refined backend support for monitor continuously

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/Obi/Obi/ProjectView/TransportBar.cs

    r5827 r5828  
    4141        private Playlist mLocalPlaylist;             // local playlist (only selected; may be null) TO BE REMOVED 
    4242        private bool m_IsPlaySectionInspiteOfPhraseSelection = false; 
     43        private bool m_MonitorContinuously = false; 
    4344        //public variables 
    4445        //private bool IsPlaySection = false; 
     
    15721573            // makes phrase blocks invisible if these exceed max. visible blocks count during recording 
    15731574            //mView.MakeOldStripsBlocksInvisible ( true); // @phraseLimit :@singleSection: legagy code commented 
     1575            //@MonitorContinuously 
     1576            if (MonitorContinuously) 
     1577            { 
     1578                StartMonitorContinuouslyWithDelay(); 
     1579            } 
    15741580        } 
    15751581 
     
    16941700                return; 
    16951701 
     1702            if (mView.ObiForm.Settings.Recording_ReplaceAfterCursor && CurrentState == State.Playing) Pause(); 
     1703 
    16961704            if (mView.Presentation != null&& mState != State.Playing 
    16971705                        &&    !IsMetadataSelected && ( mView.Selection == null || !(mView.Selection is TextSelection))) 
    1698  
    1699                         if (mView.ObiForm.Settings.Recording_ReplaceAfterCursor && CurrentState == State.Playing) Pause(); 
    1700             { 
     1706            { 
     1707                 
     1708 
    17011709            try 
    17021710                { 
    17031711                if (mState == State.Monitoring) 
    17041712                    { 
    1705                     mRecordingSession.Stop (); 
    1706                     StartRecording (); 
     1713                        if (!MonitorContinuously) 
     1714                        { 
     1715                            mRecordingSession.Stop(); 
     1716                            StartRecording(); 
     1717                        } 
     1718                        else //@MonitorContinuously 
     1719                        { 
     1720                            StopMonitorContinuously();//@MonitorContinuously 
     1721                            SetupRecording(Recording, false); 
     1722                        } 
    17071723                    } 
    17081724                else if (CanResumeRecording) 
    17091725                    { 
     1726                        if (MonitorContinuously) StopMonitorContinuously(); //@MonitorContinuously 
    17101727                    SetupRecording ( Recording , false); 
    17111728                    } 
     
    24262443                    try 
    24272444                        { 
     2445                            if (MonitorContinuously) StopMonitorContinuously(); //@MonitorContinuously 
    24282446                        SetupRecording ( Recording , false); 
    24292447                        } 
     
    24412459                    try 
    24422460                        { 
     2461                            if (MonitorContinuously) StopMonitorContinuously(); //@MonitorContinuously 
    24432462                        SetupRecording ( Recording, mRecordingSection, false ); 
    24442463                        } 
     
    31233142                try 
    31243143                    { 
     3144                        if (MonitorContinuously) StopMonitorContinuously(); //@MonitorContinuously 
    31253145                    SetupRecording ( Recording, deleteFollowingPhrases ); 
    31263146                    } 
     
    31933213            mResumeRecordingPhrase = null; 
    31943214 
     3215            } 
     3216 
     3217            if (MonitorContinuously) 
     3218            { 
     3219                StartMonitorContinuouslyWithDelay(); 
    31953220            } 
    31963221        } 
     
    37123737            if (CanResumePlayback || mState == State.Stopped) 
    37133738            { 
     3739                if (MonitorContinuously) StopMonitorContinuously(); //@MonitorContinuously 
    37143740                SetupRecording(Monitoring, false);  
    37153741            } 
     
    39974023        } 
    39984024 
     4025        //@MonitorContinuously 
     4026        public bool MonitorContinuously 
     4027        { 
     4028            get { return m_MonitorContinuously; } 
     4029            set 
     4030            { 
     4031                 
     4032                if (value && mView.ObiForm != null && mView.ObiForm.Settings.RecordDirectly) 
     4033                { 
     4034                    m_MonitorContinuously = value; 
     4035                    StartMonitorContinuously(); 
     4036                } 
     4037                else 
     4038                { 
     4039                    StopMonitorContinuously(); 
     4040                    m_MonitorContinuously = value; 
     4041                } 
     4042            } 
     4043        } 
     4044 
     4045        //@MonitorContinuously 
     4046        private void StartMonitorContinuously() 
     4047        { 
     4048            if (m_MonitorContinuously && CurrentState == State.Stopped) 
     4049            { 
     4050                mRecordingSession = new RecordingSession(mView.Presentation, mRecorder, mView.ObiForm.Settings); 
     4051                mRecordingSession.StartMonitoring(); 
     4052            } 
     4053        } 
     4054 
     4055        //@MonitorContinuously 
     4056        private void StopMonitorContinuously() 
     4057        { 
     4058            if (m_MonitorContinuously && mRecordingSession != null && CurrentState == State.Monitoring) 
     4059            { 
     4060                mRecordingSession.Stop(); 
     4061                mRecordingSession = null; 
     4062            } 
     4063        } 
     4064 
     4065        //@MonitorContinuously 
     4066        System.ComponentModel.BackgroundWorker m_MonitorContinuouslyWorker= null; 
     4067        private void StartMonitorContinuouslyWithDelay() 
     4068        { 
     4069            m_MonitorContinuouslyWorker = new System.ComponentModel.BackgroundWorker(); 
     4070                m_MonitorContinuouslyWorker.DoWork += new System.ComponentModel.DoWorkEventHandler(delegate(object sender, System.ComponentModel.DoWorkEventArgs e) 
     4071                { 
     4072                    Thread.Sleep(1500); 
     4073                 }); 
     4074 
     4075m_MonitorContinuouslyWorker.RunWorkerCompleted += new System.ComponentModel.RunWorkerCompletedEventHandler(delegate(object sender, System.ComponentModel.RunWorkerCompletedEventArgs e) 
     4076                { 
     4077                    if (m_MonitorContinuously && CurrentState == State.Stopped) 
     4078                    { 
     4079                        StartMonitorContinuously(); 
     4080                    } 
     4081                }); 
     4082m_MonitorContinuouslyWorker.RunWorkerAsync(); 
     4083                 
     4084        } 
     4085 
    39994086    } 
    40004087} 
Note: See TracChangeset for help on using the changeset viewer.