internal string FullRealtimeHost() { if (RealtimeHost.IsEmpty()) { if (IsLiveEnvironment) { return(Defaults.RealtimeHost); } return(Environment.ToString().ToLower() + "-" + Defaults.RealtimeHost); } return(RealtimeHost); }
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); } }