using System; using System.Runtime.Versioning; using System.Threading; using System.Threading.Tasks; // [JSImport]/[JSExport] require the assembly to be marked browser-targeted, or they won't compile. [assembly: SupportedOSPlatform("browser")] namespace Susurrus.WebAudio.Testbed { class Program { private static async Task Main() { await WebAudioInterop.EnsureLoadedAsync(); await TestbedInterop.EnsureLoadedAsync(); if (TestbedInterop.IsTestMode()) { await SelfTests.RunAll(); } else { await Playground.RunAsync(); } // Don't let Main return. The browser drives everything, but the runtime must stay resident. await Task.Delay(Timeout.Infinite); } } }