Esempio n. 1
0
        private static bool GetTrackMute(IMAudioTrack pMAudioTrack, int channel)
        {
            int nMute = 0;

            pMAudioTrack.TrackMuteGet(channel, out nMute);
            return(nMute == 1);
        }
Esempio n. 2
0
        private static double GetTrackGain(IMAudioTrack pMAudioTrack, int channel)
        {
            double dblGain = 0;

            pMAudioTrack.TrackGainGet(channel, out dblGain);
            return(dblGain);
        }
Esempio n. 3
0
        private static int GetTrackOutputChannels(IMAudioTrack pMAudioTrack)
        {
            int nChIn, nChOut, nChOutIdx;

            pMAudioTrack.TrackChannelsGet(out nChIn, out nChOutIdx, out nChOut);
            return(nChOut);
        }
Esempio n. 4
0
        private IMAudioTrack GetAudioTrackByIndex(int index)
        {
            string       strTrack;
            IMAudioTrack pMAudioTrack = null;

            m_pMAudio.AudioTrackGetByIndex(index, out strTrack, out pMAudioTrack);
            return(pMAudioTrack);
        }
Esempio n. 5
0
        private static eMAudioTrackMode GetTrackMode(IMAudioTrack pMAudioTrack)
        {
            int              nAdd;
            double           dblAddGain;
            eMAudioTrackMode eMode;

            pMAudioTrack.TrackModeGet(out eMode, out nAdd, out dblAddGain);
            return(eMode);
        }
Esempio n. 6
0
        private void UpdateControl(int trackIndex)
        {
            if (m_pMAudio != null)
            {
                //if (m_pMAudioTrack != null)
                //{
                //    Marshal.ReleaseComObject(m_pMAudioTrack);
                //    m_pMAudioTrack = null;
                //}

                try
                {
                    m_pMAudioTrack = GetAudioTrackByIndex(trackIndex);

                    // Get number of channels
                    int nChOut = GetTrackOutputChannels(m_pMAudioTrack);

                    // Update track mode
                    eMAudioTrackMode eMode = GetTrackMode(m_pMAudioTrack);

                    var modeText = eMode.ToString().Substring(5);
                    for (int i = 0; i < comboBoxMode.Items.Count; i++)
                    {
                        if (object.Equals(modeText, comboBoxMode.Items[i]))
                        {
                            comboBoxMode.SelectedIndex = i;
                            break;
                        }
                    }

                    // if track disabled -> 0 real track channels
                    // TODO: Exclusive modes
                    if (eMode == eMAudioTrackMode.eMAT_Disabled || eMode == eMAudioTrackMode.eMAT_Disabled_AddTo)
                    {
                        nChOut = 0;
                    }

                    channelPanel.Children.Clear();

                    for (int i = 0; i < nChOut; i++)
                    {
                        var channelControl = CreateChannelControl(i);
                        channelPanel.Children.Add(channelControl);
                    }

                    m_nCurrentTrack = trackIndex;

                    this.InvalidateVisual();
                }
                catch (System.Exception ex)
                {
                }
            }
        }
Esempio n. 7
0
        private void SetAudioGain(MItemClass mItem, int gain)
        {
            string       empty        = string.Empty;
            IMAudioTrack iMAudioTrack = null;

            mItem.AudioTrackGetByIndex(0, out empty, out iMAudioTrack);

            if (iMAudioTrack != null)
            {
                iMAudioTrack.TrackGainSet(-1, (double)gain, 0.1);
            }
        }
Esempio n. 8
0
        private void SetAudioGain(MItemClass mItem, int gain)
        {
            int audioTracks = -1;

            ((MItemClass)mItem).AudioTracksGetCount(out audioTracks);
            if (audioTracks > 0)
            {
                string       empty        = string.Empty;
                IMAudioTrack iMAudioTrack = null;
                mItem.AudioTrackGetByIndex(0, out empty, out iMAudioTrack);

                if (iMAudioTrack != null)
                {
                    iMAudioTrack.TrackGainSet(-1, (double)gain, 0.1);
                }
            }
        }
Esempio n. 9
0
 private static void GetTrackLoudness(IMAudioTrack pMAudioTrack, out M_AUDIO_TRACK_LOUDNESS loudOrg, out M_AUDIO_TRACK_LOUDNESS loudOut)
 {
     pMAudioTrack.TrackLoudnessGet(out loudOrg, out loudOut);
 }
Esempio n. 10
0
 private static void SetTrackMute(IMAudioTrack pMAudioTrack, int nChannel, bool mute)
 {
     pMAudioTrack.TrackMuteSet(nChannel, mute ? 1 : 0, 0.1);
 }
Esempio n. 11
0
 private static void SetTrackGain(IMAudioTrack pMAudioTrack, int nChannel, double gain)
 {
     pMAudioTrack.TrackGainSet(nChannel, gain, 0.1);
 }