Example #1
0
        internal string FullRealtimeHost()
        {
            if (RealtimeHost.IsEmpty())
            {
                if (IsLiveEnvironment)
                {
                    return(Defaults.RealtimeHost);
                }
                return(Environment.ToString().ToLower() + "-" + Defaults.RealtimeHost);
            }

            return(RealtimeHost);
        }
Example #2
0
        private void Start()
        {
            selectedInputL  = 0;
            selectedInputR  = 0;
            selectedOutputL = 0;
            selectedOutputR = 1;

            // initialize PortAudio and get singleton host object
            host         = RealtimeHost.Host;
            host.Process = ProcessAudio;

            var settingsFile   = Path.Combine(Path.GetDirectoryName(Assembly.GetEntryAssembly().Location), "settings.json");
            var jsonString     = File.ReadAllText(settingsFile);
            var dict           = JsonConvert.DeserializeObject <Dictionary <string, string> >(jsonString);
            var realtimeConfig = RealtimeHostConfig.Deserialize(dict["AudioSettings"]);

            try
            {
                memoryMap  = MemoryMappedFile.OpenExisting("Global\\IRWorkshopMap");
                mmAccessor = memoryMap.CreateViewAccessor();
            }
            catch (FileNotFoundException)
            {
                Console.WriteLine("Failed to open memory map");
                Environment.Exit(1);


                // for testing only

                /*
                 * this.memoryMap = MemoryMappedFile.CreateNew("Global\\IRWorkshopMap", 65536);
                 * this.mmAccessor = memoryMap.CreateViewAccessor();
                 * var state = new SharedMemoryState { Gain = 1.0f, Id = 1, IrLeft = new[] { 1.0f, 0.0f }, IrRight = new[] { 1.0f, 0.0f }, IrLength = 2, SelectedInputLeft = 0, SelectedInputRight = 0, SelectedOutputLeft = 0, SelectedOutputRight = 0 };
                 * state.Write(mmAccessor);
                 */
            }

            LoadAudioConfig(realtimeConfig);

            while (true)
            {
                Thread.Sleep(1000);
            }
        }