From: <avn...@us...> - 2007-12-10 06:47:54
|
Revision: 2613 http://urakawa.svn.sourceforge.net/urakawa/?rev=2613&view=rev Author: avneeshsingh Date: 2007-12-09 22:47:52 -0800 (Sun, 09 Dec 2007) Log Message: ----------- MarkIn/MarkOut support added for playing a selection of aphrase. Modified Paths: -------------- trunk/urakawa/application/Obi/Obi/ProjectView/TransportBar.cs Modified: trunk/urakawa/application/Obi/Obi/ProjectView/TransportBar.cs =================================================================== --- trunk/urakawa/application/Obi/Obi/ProjectView/TransportBar.cs 2007-12-10 06:11:04 UTC (rev 2612) +++ trunk/urakawa/application/Obi/Obi/ProjectView/TransportBar.cs 2007-12-10 06:47:52 UTC (rev 2613) @@ -21,6 +21,9 @@ private NodeSelection mPlayingFrom; // selection before playback started private SectionNode mCurrentPlayingSection; // holds section currently being played for highlighting it in TOC view while playing + private double m_AudioMarkIn; + private double m_AudioMarkOut; + // A non fluctuating flag to be set till playing of assets in serial is continued // it is true while a series of assets are being played but false when only single asset is played // so it is true for play all command and true for play node command when node is section @@ -82,6 +85,7 @@ mDisplayBox.SelectedIndex = ElapsedTotal; mTimeDisplayBox.AccessibleName = mDisplayBox.SelectedItem.ToString(); mVUMeterPanel.VuMeter = mVuMeter; + m_AudioMarkIn = m_AudioMarkOut = -1 ; ComboFastPlateRate.Items.Add("1.0"); ComboFastPlateRate.Items.Add("1.125"); @@ -170,8 +174,36 @@ public Playlist MasterPlaylist { get { return mMasterPlaylist; } } + public double MarkINTime + { + get + { + return m_AudioMarkIn; + } + set + { + if (value >= 0 + && value < mView.SelectedBlockNode.Audio.getDuration().getTimeDeltaAsMillisecondFloat()) + m_AudioMarkIn = value; + } + } + public double MarkOutTime + { + get + { + return m_AudioMarkOut; + } + set + { + if ( m_AudioMarkIn > -1 + && value > m_AudioMarkIn + && value < mView.SelectedBlockNode.Audio.getDuration().getTimeDeltaAsMillisecondFloat()) + m_AudioMarkOut = value; + } + } + #region selection public NodeSelection Selection @@ -247,7 +279,8 @@ mView.SelectedBlockNode = e.Node; mView.PlaybackBlock = e.Node; mDisplayTime = 0.0; - } + m_AudioMarkIn = m_AudioMarkOut = -1; + } // Update the transport bar according to the player state. private void Play_PlayerStateChanged(object sender, Obi.Events.Audio.Player.StateChangedEventArgs e) @@ -755,9 +788,13 @@ public bool PlayPreviewSelectedFragment() { // add code for playing between markings - //mCurrentPlaylist.PreviewSelectedFragment(1000, 2000); - - return true; + if ( m_AudioMarkIn > -1 && m_AudioMarkOut > -1 + && m_AudioMarkIn < m_AudioMarkOut) + { + mCurrentPlaylist.PreviewSelectedFragment( m_AudioMarkIn , m_AudioMarkOut ); + return true; + } + return false; } public bool PlayPreviewUptoCurrentPosition() This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |