Beispiel #1
0
        public MainForm()
        {
            logger.Debug("MainForm()");
            InitializeComponent();
            this.Icon = Properties.Resources.clock;
            // create the refresh image button's completely flat appearance
            //btnRefreshImage.FlatStyle = FlatStyle.Flat;
            //btnRefreshImage.FlatAppearance.BorderColor = Color.FromArgb(0, 255, 255, 255); //Transparent
            //btnRefreshImage.FlatAppearance.BorderSize = 0;
            //btnRefreshImage.FlatAppearance.MouseOverBackColor = pnlMainContent.BackColor;
            //btnRefreshImage.FlatAppearance.MouseDownBackColor = pnlMainContent.BackColor;

            _sizMainPanelSize = pnlMainContent.Size;
            _sizMainPanelSize.Height -= pbPictureBox.Height;
            _updateRealClock();

            try
            {
                logger.Debug("setting up audio device control");
                // set up the audio device control
                MMDeviceEnumerator mmdEnumerator = new MMDeviceEnumerator();
                _mmdAudioDevice = mmdEnumerator.GetDefaultAudioEndpoint(EDataFlow.eRender, ERole.eMultimedia);
            }
            catch (Exception ex)
            {
                logger.Error(ex, "Error while trying to set up the audio device: {0}", ex.Message);
            }
            #if !DEBUG
            btnExit.Visible = false;
            #endif
        }
Beispiel #2
0
 public Form1()
 {
     InitializeComponent();
     MMDeviceEnumerator DevEnum = new MMDeviceEnumerator();
     device = DevEnum.GetDefaultAudioEndpoint(EDataFlow.eRender, ERole.eMultimedia);
     tbMaster.Value = (int)(device.AudioEndpointVolume.MasterVolumeLevelScalar * 100);
     device.AudioEndpointVolume.OnVolumeNotification += new AudioEndpointVolumeNotificationDelegate(AudioEndpointVolume_OnVolumeNotification);
     timer1.Enabled = true;
 }
Beispiel #3
0
 public MainForm()
 {
     DevEnum = new MMDeviceEnumerator();
     device = DevEnum.GetDefaultAudioEndpoint(EDataFlow.eRender, ERole.eMultimedia);
     InitializeComponent();
     Rectangle workingArea = Screen.GetWorkingArea(this);
     this.Location = new Point(workingArea.Right - Size.Width,
                               workingArea.Bottom - Size.Height);
     lblStatusBar.Text = "Ready | Stopped";
 }
Beispiel #4
0
        private static void FindApplication(string appName)
        {
            EDataFlow flow = new EDataFlow();
            MMDeviceEnumerator deviceEnum = new MMDeviceEnumerator();

            devCol = deviceEnum.EnumerateAudioEndPoints(flow, DEVICE_STATE.DEVICE_STATE_ACTIVE);

            for (int devIdx = 0; devIdx < devCol.Count; devIdx++)
            {
                for (int sesIdx = 0; sesIdx < devCol[devIdx].AudioSessionManager2.Sessions.Count; sesIdx++)
                {
                    if (devCol[devIdx].AudioSessionManager2.Sessions[sesIdx].GetSessionIdentifier.Contains(appName))
                        devicesAndSessions.Add(new KeyValuePair<int, int>(devIdx, sesIdx));
                }
            }
        }
Beispiel #5
0
        public static List<string> GetListOfApplicationsWithAudio()
        {
            List<string> results = new List<string>();

            EDataFlow flow = new EDataFlow();
            MMDeviceEnumerator deviceEnum = new MMDeviceEnumerator();

            devCol = deviceEnum.EnumerateAudioEndPoints(flow, DEVICE_STATE.DEVICE_STATE_ACTIVE);

            for (int devIdx = 0; devIdx < devCol.Count; devIdx++)
            {
                for (int sesIdx = 0; sesIdx < devCol[devIdx].AudioSessionManager2.Sessions.Count; sesIdx++)
                {
                    results.Add(devCol[devIdx].AudioSessionManager2.Sessions[sesIdx].GetSessionIdentifier);
                }
            }

            return results;
        }
        public MainWindow()
        {
            InitializeComponent();

            MMDeviceEnumerator DevEnum = new MMDeviceEnumerator();
            device = DevEnum.GetDefaultAudioEndpoint(EDataFlow.eRender, ERole.eMultimedia);

            OscServer oscServer;
            oscServer = new OscServer(TransportType.Udp, IPAddress.Any, Port);

            oscServer.FilterRegisteredMethods = false;
            oscServer.RegisterMethod(AliveMethod);
            oscServer.RegisterMethod(TestMethod);
            oscServer.BundleReceived += new EventHandler<OscBundleReceivedEventArgs>(oscServer_BundleReceived);
            oscServer.MessageReceived += new EventHandler<OscMessageReceivedEventArgs>(oscServer_MessageReceived);
            oscServer.ReceiveErrored += new EventHandler<Bespoke.Common.ExceptionEventArgs>(oscServer_ReceiveErrored);
            oscServer.ConsumeParsingExceptions = false;

            oscServer.Start();
        }
Beispiel #7
0
        private static void FindApplication(string appName)
        {
            LogHelper.Debug(null, "Finding any mixers that contain the word '{0}'", appName);

            EDataFlow flow = new EDataFlow();
            MMDeviceEnumerator deviceEnum = new MMDeviceEnumerator();

            devCol = deviceEnum.EnumerateAudioEndPoints(flow, DEVICE_STATE.DEVICE_STATE_ACTIVE);

            for (int devIdx = 0; devIdx < devCol.Count; devIdx++)
            {
                for (int sesIdx = 0; sesIdx < devCol[devIdx].AudioSessionManager2.Sessions.Count; sesIdx++)
                {
                    if (devCol[devIdx].AudioSessionManager2.Sessions[sesIdx].GetSessionIdentifier.Contains(appName))
                    {
                        LogHelper.Debug(null, "Found {0}", devCol[devIdx].AudioSessionManager2.Sessions[sesIdx].GetSessionIdentifier);

                        devicesAndSessions.Add(new KeyValuePair<int, int>(devIdx, sesIdx));
                    }
                }
            }
        }
Beispiel #8
0
        /**
         * Mutes/Unmutes Spotify.

         * i: 0 = unmute, 1 = mute, 2 = toggle
         **/
        private void Mute(int i)
        {
            if (i == 2) // Toggle mute
                i = (muted ? 0 : 1);

            muted = Convert.ToBoolean(i);

            if (spotifyMute) // Mute only Spotify process
            {
                // EZBlocker2.AudioUtilities.SetApplicationMute("spotify", muted);

                MMDeviceEnumerator DevEnum = new MMDeviceEnumerator();
                MMDevice device = DevEnum.GetDefaultAudioEndpoint(EDataFlow.eRender, ERole.eMultimedia);
                AudioSessionManager2 asm = device.AudioSessionManager2;
                SessionCollection sessions = asm.Sessions;
                for (int sid = 0; sid < sessions.Count; sid++)
                {
                    string id = sessions[sid].GetSessionIdentifier;
                    if (id.ToLower().IndexOf("spotify.exe") > -1)
                    {
                        if (muted)
                        {
                            volume = sessions[sid].SimpleAudioVolume.MasterVolume;
                            sessions[sid].SimpleAudioVolume.MasterVolume = 0;
                        }
                        else
                        {
                            sessions[sid].SimpleAudioVolume.MasterVolume = volume;
                        }
                        //sessions[sid].SimpleAudioVolume.Mute = muted;
                    }
                }
            }
            else // Mute all of Windows
            {
                Process process = new Process();
                ProcessStartInfo startInfo = new ProcessStartInfo();
                startInfo.WindowStyle = ProcessWindowStyle.Hidden;
                startInfo.FileName = "cmd.exe";
                startInfo.Arguments = "/C nircmd mutesysvolume " + i.ToString();
                process.StartInfo = startInfo;
                process.Start();
            }
        }
        static void Main(string[] args)
        {
            MMDeviceEnumerator DevEnum = new MMDeviceEnumerator();
            MMDevice device = DevEnum.GetDefaultAudioEndpoint(EDataFlow.eRender, ERole.eMultimedia);
            // Note the AudioSession manager did not have a method to enumerate all sessions in windows Vista
            // this will only work on Win7 and newer.
            for (int i = 0; i < device.AudioSessionManager2.Sessions.Count; i++)
            {
                AudioSessionControl2 session = device.AudioSessionManager2.Sessions[i];
                if (session.State == AudioSessionState.AudioSessionStateActive)
                {
                    Console.WriteLine("Session :{0}", i);
                    Console.WriteLine("DisplayName: {0}", session.DisplayName);
                    Console.WriteLine("State: {0}", session.State);
                    Console.WriteLine("IconPath: {0}", session.IconPath);
                    Console.WriteLine("SessionIdentifier: {0}", session.GetSessionIdentifier);
                    Console.WriteLine("SessionInstanceIdentifier: {0}", session.GetSessionInstanceIdentifier);
                    Console.WriteLine("ProcessID: {0}", session.GetProcessID);
                    Console.WriteLine("IsSystemIsSystemSoundsSession: {0}", session.IsSystemSoundsSession);
                    Process p = Process.GetProcessById((int)session.GetProcessID);
                    Console.WriteLine("ProcessName: {0}", p.ProcessName);
                    Console.WriteLine("MainWindowTitle: {0}", p.MainWindowTitle);
                    AudioMeterInformation mi = session.AudioMeterInformation;
                    SimpleAudioVolume vol = session.SimpleAudioVolume;
                    Console.WriteLine("---[Hotkeys]---");
                    Console.WriteLine("M  Toggle Mute");
                    Console.WriteLine(",  Lower volume");
                    Console.WriteLine(",  Raise volume");
                    Console.WriteLine("Q  Quit");
                    int start = Console.CursorTop;
                    while (true)
                    {
                        //Draw a VU meter
                        int len = (int) (mi.MasterPeakValue * 79);
                        Console.SetCursorPosition(0, start);
                        for (int j = 0; j < len; j++)
                            Console.Write("*");
                        for (int j = 0; j < 79 - len; j++)
                            Console.Write(" ");
                        Console.SetCursorPosition(0, start+1);
                        Console.WriteLine("Mute   : {0}    ",vol.Mute);
                        Console.WriteLine("Master : {0:0.00}    ", vol.MasterVolume*100);
                        if (Console.KeyAvailable)
                        {
                            ConsoleKeyInfo key = Console.ReadKey();
                            switch (key.Key)
                            {
                                case ConsoleKey.M:
                                    vol.Mute = !vol.Mute;
                                    break;
                                case ConsoleKey.Q:
                                    return;
                                case ConsoleKey.OemComma:
                                    float curvol = vol.MasterVolume - 0.1f;
                                    if (curvol < 0) curvol = 0;
                                    vol.MasterVolume = curvol;
                                    break;
                                case ConsoleKey.OemPeriod:
                                    float curvold = vol.MasterVolume + 0.1f;
                                    if (curvold > 1) curvold = 1;
                                    vol.MasterVolume = curvold;
                                    break;
                            }

                        }
                    }
                }
            }
            //If we end up here there where no open audio sessions to monitor.
            Console.WriteLine("No Audio sessions found");
        }