Esempio n. 1
0
        /// <summary>
        /// Opens audio channel
        /// </summary>
        /// <param name="in_audio_rendering_method">Audio rendering method for the channel</param>
        /// <returns>Opened channel index</returns>
        public int OpenChannel(AudioChannelRenderDelegate in_audio_rendering_method)
        {
            int channel_index = -1;

            // find an unused channel
            for (int i = 0; i < m_channels.Length; i++)
            {
                if (m_channels[i].RenderingMethod == null)
                {
                    channel_index = i;
                    m_channels[i].RenderingMethod = in_audio_rendering_method;
                    m_channels[i].SamplePosition  = 0;
                    m_channels[i].TickPosition    = m_execution_manager.TVC.GetCPUTicks();
                    m_active_channels++;
                    break;
                }
            }

            return(channel_index);
        }
Esempio n. 2
0
 public ChannelInfo()
 {
     RenderingMethod = null;
     TickPosition    = 0;
     SamplePosition  = 0;
 }