Skip to content

Commit

Permalink
Fixed main function
Browse files Browse the repository at this point in the history
  • Loading branch information
EX3exp committed Oct 4, 2024
1 parent 95cef0d commit abd5d26
Show file tree
Hide file tree
Showing 6 changed files with 72 additions and 25 deletions.
60 changes: 40 additions & 20 deletions Mirivoice.Desktop/Program.cs
Original file line number Diff line number Diff line change
@@ -1,9 +1,16 @@
using Avalonia;
using Avalonia.Controls;
using Avalonia.ReactiveUI;
using Mirivoice.Mirivoice.Core;
using Mirivoice.Mirivoice.Core.Managers;
using Mirivoice.Mirivoice.Core.Utils;
using Serilog;
using System;
using System.Diagnostics;
using System.IO;
using System.Linq;
using System.Reflection;
using System.Runtime.InteropServices;
using System.Text;

namespace Mirivoice.Desktop;
Expand All @@ -17,34 +24,54 @@ class Program
[STAThread]
public static void Main(string[] args)
{
try
Encoding.RegisterProvider(CodePagesEncodingProvider.Instance);
InitLogging();
string processName = Process.GetCurrentProcess().ProcessName;
if (processName != "dotnet")
{
Encoding.RegisterProvider(CodePagesEncodingProvider.Instance);
InitLogging();
InitMirivoice();


BuildAvaloniaApp().StartWithClassicDesktopLifetime(args);
var exists = Process.GetProcessesByName(processName).Count() > 1;
if (exists)
{
Log.Information($"Process {processName} already open. Exiting.");
return;
}
}
catch (Exception e)
Log.Information($"{Environment.OSVersion}");
Log.Information($"{RuntimeInformation.OSDescription} " +
$"{RuntimeInformation.OSArchitecture} " +
$"{RuntimeInformation.ProcessArchitecture}");
Log.Information($"MiriVoice v{Assembly.GetEntryAssembly()?.GetName().Version} " +
$"{RuntimeInformation.RuntimeIdentifier}");
Log.Information($"Data path = {MainManager.Instance.PathM.DataPath}");
Log.Information($"Cache path = {MainManager.Instance.PathM.CachePath}");
try
{
Log.Error($"{e.Message}\n{e.StackTrace}");
Run(args);
Log.Information($"Exiting.");
}
finally
catch (Exception e)
{
Log.CloseAndFlush();
Log.Error(e, "Unhandled exception");
}
Log.Information($"Exited.");

}

public static void Run(string[] args)
=> BuildAvaloniaApp()
.StartWithClassicDesktopLifetime(
args, ShutdownMode.OnMainWindowClose);


// Avalonia configuration, don't remove; also used by visual designer.
public static AppBuilder BuildAvaloniaApp()
=> AppBuilder.Configure<App>()
.UsePlatformDetect()
.WithInterFont()
.LogToTrace()
.UseReactiveUI()
.UseR3();
.UseR3()
.With(new X11PlatformOptions {EnableIme = true});

public static void InitLogging()
{
Expand All @@ -62,14 +89,7 @@ public static void InitLogging()
Log.Information("Logging initialized.");
}

public static void InitMirivoice()
{

Log.Information("Mirivoice init");
MainManager.Instance.Initialize();


}



}
5 changes: 2 additions & 3 deletions Mirivoice.Desktop/appveyor.py
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,7 @@ def write_info_plist():
<key>CFBundleDisplayName</key>
<string>MiriVoice</string>
<key>CFBundleIdentifier</key>
<string>com.ex3.mirivoice</string>
<string>com.ex3exp.mirivoice</string>
<key>CFBundleVersion</key>
<string>@@</string>
<key>CFBundlePackageType</key>
Expand All @@ -50,8 +50,6 @@ def write_info_plist():
<string>MiriVoice</string>
<key>CFBundleIconFile</key>
<string>mirivoice.icns</string>
<key>CFBundleShortVersionString</key>
<string>@@</string>
<key>NSPrincipalClass</key>
<string>NSApplication</string>
<key>NSHighResolutionCapable</key>
Expand Down Expand Up @@ -91,6 +89,7 @@ def write_info_plist():
os.system("dotnet restore Mirivoice.Desktop/Mirivoice.Desktop.csproj -r osx-x64")
os.system("dotnet publish Mirivoice.Desktop/Mirivoice.Desktop.csproj -r osx-x64 -c Release -o Mirivoice.Desktop/bin/osx-x64 -p:AssemblyVersion=%s" % (appcast_ver))
os.system("cp -a Mirivoice.Desktop/bin/osx-x64/ Mirivoice.Desktop/osxbuild/MiriVoice.app/Contents/MacOS/")
os.system("chmod +x Mirivoice.Desktop/osxbuild/MiriVoice.app/Contents/MacOS/run.sh")
os.system("ditto -c -k --keepParent Mirivoice.Desktop/osxbuild/MiriVoice.app Mirivoice.Desktop/osxbuild/MiriVoice-osx-x64.zip")
os.system("git checkout Mirivoice.Desktop/Mirivoice.Desktop.csproj")

Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
#!/bin/bash
PROJECT_PATH=$1
APP_PATH="/Applications/MiriVoice.app/Contents/MacOS/MiriVoice"

"$APP_PATH" --args $PROJECT_PATH
17 changes: 16 additions & 1 deletion Mirivoice/App.axaml.cs
Original file line number Diff line number Diff line change
Expand Up @@ -24,12 +24,27 @@ public partial class App : Application
public override void Initialize()
{
Log.Information("App Initialize");
AvaloniaXamlLoader.Load(this);
InitMirivoice();
InitializeComponent();
InitializeCulture();
}
public static void InitMirivoice()
{

Log.Information("Mirivoice init");
MainManager.Instance.Initialize();


}
public static string[] Languages = new string[] { "en-US", "ko-KR"};

private void InitializeComponent()
{
AvaloniaXamlLoader.Load(this);
}



public override void OnFrameworkInitializationCompleted()
{

Expand Down
8 changes: 8 additions & 0 deletions Mirivoice/Mirivoice.Core/Managers/MainManager.cs
Original file line number Diff line number Diff line change
Expand Up @@ -36,6 +36,14 @@ public class MainManager : SingletonBase<MainManager>
public void Initialize()
{
Log.Information($"RootPath: {MainManager.Instance.PathM.RootPath}");
Log.Information($"DataPath: {MainManager.Instance.PathM.DataPath}");
Log.Information($"CachePath: {MainManager.Instance.PathM.CachePath}");
Log.Information($"SettingsPath: {MainManager.Instance.PathM.SettingsPath}");
Log.Information($"RecentFilesPath: {MainManager.Instance.PathM.RecentFilesPath}");
Log.Information($"LogFilePath: {MainManager.Instance.PathM.LogFilePath}");
Log.Information($"VoicerPath: {MainManager.Instance.PathM.VoicerPath}");
Log.Information($"AssetsPath: {MainManager.Instance.PathM.AssetsPath}");

CheckDirs();
UpdateDefaultVoicers();
LoadVoicerManager();
Expand Down
2 changes: 1 addition & 1 deletion appveyor.yml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
version: 0.0.0.{build}
version: 0.1.0.{build}
environment:
access_token:
secure: EZGpxMjy4Z14QdM0UqgRTRn+GRbehi7bp6TtZVjH04PqNqMljX9d1QU29YDHOhld
Expand Down

0 comments on commit abd5d26

Please sign in to comment.