/**********************************************************************
*
* Erable: Audio Player
* Copyright (C) 2021 Alee Productions
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see .
*
************************************************************************/
using System;
using Avalonia;
using Avalonia.ReactiveUI;
namespace Erable
{
class Program
{
// Initialization code. Don't use any Avalonia, third-party APIs or any
// SynchronizationContext-reliant code before AppMain is called: things aren't initialized
// yet and stuff might break.
public static void Main(string[] args)
{
Console.WriteLine("Erable {0}: Audio Player by Alee Productions", Sirop.Backend.Version.ErableVersion);
Console.WriteLine("Powered by Sirop Backend {0} ", Sirop.Backend.Version.SiropVersion);
AppDomain.CurrentDomain.UnhandledException += ErrorHandler;
#if DEBUG
Console.WriteLine("Running on .NET " + Environment.Version + ", and " + Environment.OSVersion);
Console.WriteLine("Opening window...");
#endif
BuildAvaloniaApp().StartWithClassicDesktopLifetime(args);
}
static void ErrorHandler(object sender, UnhandledExceptionEventArgs e)
{
Console.WriteLine("Oh no! An error has occurred!");
Console.WriteLine("Erable Version: " + Sirop.Backend.Version.ErableVersion);
Console.WriteLine("Sirop Version: " + Sirop.Backend.Version.SiropVersion);
Console.WriteLine("OS Version: " + Environment.OSVersion);
Console.WriteLine(".NET Version: " + Environment.Version);
Console.WriteLine("Report this to the developers...");
Console.WriteLine("Did this crashed? " + e.IsTerminating);
}
// Avalonia configuration, don't remove; also used by visual designer.
static AppBuilder BuildAvaloniaApp()
=> AppBuilder.Configure()
.UsePlatformDetect()
.LogToTrace()
.UseReactiveUI();
}
}