From ad7f2ae1056d0e0697d7063c673e8c6b55871a8e Mon Sep 17 00:00:00 2001 From: Zachary Hall Date: Sun, 21 Jan 2024 15:21:18 -0800 Subject: [PATCH] Rename to Looper --- RendererBackend.h | 4 +- ...com.experimentalcraft.Looper.metainfo.xml} | 0 .../{neko-player.desktop => looper.desktop} | 8 +- .../LC_MESSAGES/{neko_player.po => looper.po} | 0 .../ja_JP/LC_MESSAGES/neko_player.mo | Bin 10726 -> 0 bytes .../ja_JP/LC_MESSAGES/neko_player.po | 585 ------------------ .../{neko_player.pot => looper.pot} | 0 assets/update-assets.sh | 4 +- main.cpp | 15 +- meson.build | 15 +- theme.cpp | 4 +- 11 files changed, 22 insertions(+), 613 deletions(-) rename assets/{com.experimentalcraft.NekoPlayer.metainfo.xml => com.experimentalcraft.Looper.metainfo.xml} (100%) rename assets/{neko-player.desktop => looper.desktop} (76%) rename assets/translations/es_MX/LC_MESSAGES/{neko_player.po => looper.po} (100%) delete mode 100644 assets/translations/ja_JP/LC_MESSAGES/neko_player.mo delete mode 100644 assets/translations/ja_JP/LC_MESSAGES/neko_player.po rename assets/translations/{neko_player.pot => looper.pot} (100%) diff --git a/RendererBackend.h b/RendererBackend.h index 85c8fc2..ac93511 100644 --- a/RendererBackend.h +++ b/RendererBackend.h @@ -10,7 +10,7 @@ #include #include #include "theme.h" -static const char* NAME = "Neko Player"; +static const char* NAME = "Looper"; class RendererBackend { public: double scale = 1.0; @@ -39,4 +39,4 @@ class RendererBackend { void GetWindowsize(int *w, int *h); RendererBackend(); ~RendererBackend(); -}; \ No newline at end of file +}; diff --git a/assets/com.experimentalcraft.NekoPlayer.metainfo.xml b/assets/com.experimentalcraft.Looper.metainfo.xml similarity index 100% rename from assets/com.experimentalcraft.NekoPlayer.metainfo.xml rename to assets/com.experimentalcraft.Looper.metainfo.xml diff --git a/assets/neko-player.desktop b/assets/looper.desktop similarity index 76% rename from assets/neko-player.desktop rename to assets/looper.desktop index dfbb1a4..20bc2c8 100755 --- a/assets/neko-player.desktop +++ b/assets/looper.desktop @@ -1,10 +1,10 @@ [Desktop Entry] Type=Application -Name=Neko Player +Name=Looper Comment=An audio player that can properly loop audio files GenericName=Looping audio player -Exec=neko-player %f -Icon=neko-player +Exec=looper %f +Icon=looper MimeType=audio/x-wav;audio/ogg;audio/x-vorbis+ogg;audio/x-opus+ogg;audio/mpeg;audio/flac;audio/xm;audio/x-mod; -StartupWMClass=neko-player +StartupWMClass=looper Categories=Audio;AudioVideo; diff --git a/assets/translations/es_MX/LC_MESSAGES/neko_player.po b/assets/translations/es_MX/LC_MESSAGES/looper.po similarity index 100% rename from assets/translations/es_MX/LC_MESSAGES/neko_player.po rename to assets/translations/es_MX/LC_MESSAGES/looper.po diff --git a/assets/translations/ja_JP/LC_MESSAGES/neko_player.mo b/assets/translations/ja_JP/LC_MESSAGES/neko_player.mo deleted file mode 100644 index ed9691b65d0291b7ea80e5111f8f3f52c0e65d68..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 10726 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 TApCgB@551C7U1D(zI*=%8me6m diff --git a/assets/translations/ja_JP/LC_MESSAGES/neko_player.po b/assets/translations/ja_JP/LC_MESSAGES/neko_player.po deleted file mode 100644 index df55bfc..0000000 --- a/assets/translations/ja_JP/LC_MESSAGES/neko_player.po +++ /dev/null @@ -1,585 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# FIRST AUTHOR , YEAR. -# ,fuzzy -msgid "" -msgstr "" -"Project-Id-Version: Neko Player\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-07-25 14:02-0700\n" -"PO-Revision-Date: 2023-07-25 14:22-0700\n" -"Last-Translator: \n" -"Language-Team: None\n" -"Language: ja_JP\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=1; plural=0;\n" -"X-Generator: Poedit 3.3.2\n" -"X-Poedit-KeywordsList: _TR;_TRS;_TRIS:2;_TRI:2;_TR_CTX:1c,2;_TRS_CTX:1c,2;" -"_TRIS_CTX:2c,3;_TRI_CTX:2c,3\n" -"X-Poedit-Basepath: ../..\n" -"X-Poedit-SourceCharset: UTF-8\n" -"X-Poedit-SearchPath-0: theme.cpp\n" -"X-Poedit-SearchPath-1: main.cpp\n" - -#: main.cpp:120 -msgctxt "Language name" -msgid "English (United States)" -msgstr "Japanese (Japan)" - -#: main.cpp:292 -msgctxt "Built-in themes | Theme default strings | name" -msgid "(built-in)" -msgstr "(内蔵)" - -#: main.cpp:296 -msgctxt "Built-in light theme | Theme default strings | name" -msgid "Default light" -msgstr "デフォルトのライト" - -#: main.cpp:304 -msgctxt "Built-in dark theme | Theme default strings | name" -msgid "Default dark" -msgstr "デフォルトの暗い" - -#: main.cpp:368 -msgctxt "Main menu" -msgid "File" -msgstr "ファイル" - -#: main.cpp:369 -msgctxt "Main menu | File" -msgid "Open" -msgstr "開ける" - -#: main.cpp:371 -msgctxt "File dialog title" -msgid "Open..." -msgstr "開ける..." - -#: main.cpp:372 -msgctxt "File dialog filter name" -msgid "Audio files" -msgstr "オーディオファイル" - -#: main.cpp:375 -msgctxt "Main menu | File" -msgid "Quit" -msgstr "辞める" - -#: main.cpp:380 -msgctxt "Main menu" -msgid "Edit" -msgstr "編集" - -#: main.cpp:381 -msgctxt "Main menu | Edit" -msgid "Preferences..." -msgstr "設定..." - -#: main.cpp:387 -msgctxt "Main menu (in debug builds)" -msgid "Debug" -msgstr "デバッグ" - -#: main.cpp:388 -msgctxt "Main menu | Debug" -msgid "Show ImGui Demo Window" -msgstr "デモウィンドウを表示" - -#: main.cpp:394 -msgctxt "Main menu" -msgid "Help" -msgstr "ヘルプ" - -#: main.cpp:395 -msgctxt "Main menu | Help" -msgid "About" -msgstr "に関しては" - -#: main.cpp:403 -msgctxt "Main window title" -msgid "Player" -msgstr "プレーヤー" - -#: main.cpp:432 -#, c-format -msgctxt "Playback controls | slider" -msgid "Speed: %.2fx" -msgstr "速度: %.2fx" - -#: main.cpp:436 -#, c-format -msgctxt "Playback controls | slider" -msgid "Tempo: %.2fx" -msgstr "テン: %.2fx" - -#: main.cpp:440 -#, c-format -msgctxt "Playback controls | slider" -msgid "Pitch: %.2fx" -msgstr "ピッチ: %.2fx" - -#: main.cpp:448 -msgctxt "Window title, window opened by menu item" -msgid "Preferences..." -msgstr "設定..." - -#: main.cpp:450 -msgctxt "Preference | VSync checkbox" -msgid "Enable VSync" -msgstr "VSync を有効にする" - -#: main.cpp:455 -#, c-format -msgctxt "Preferences | Framerate slider" -msgid "Max framerate without VSync: %d" -msgstr "最大フレームレート: %d" - -#: main.cpp:456 -msgctxt "Preference | Related non-preference button" -msgid "Theme Editor" -msgstr "テーマエディタ" - -#: main.cpp:460 -msgctxt "Preference | override enable checkbox" -msgid "Override language" -msgstr "言語を上書きする" - -#: main.cpp:476 -msgctxt "Preference | Theme selector | Filter label" -msgid "Filter:" -msgstr "フィルター:" - -#: main.cpp:479 -msgctxt "Preferences | Theme selector | Selector label" -msgid "Select a theme..." -msgstr "テーマを選択する..." - -#: main.cpp:516 -#, c-format -msgctxt "" -"Preference | Accent hue slider, range 0-360 from HSV algorithm hue component" -msgid "Accent color hue: %.0f°" -msgstr "アクセントカラーの色相: %.0f°" - -#: main.cpp:524 -msgctxt "Window title, window opened by menu item" -msgid "About and Licenses" -msgstr "ライセンスについて" - -#: main.cpp:526 -msgctxt "" -"Application name - Japanese word should remain Japanese and stay the same " -"when translating for stylistic purposes." -msgid "ねこ Player" -msgstr "ねこ プレーヤー" - -#: main.cpp:530 -msgctxt "" -"Application name - Japanese word should be converted to the translated " -"language's characters. Use a string with only a single underscore to disable " -"for Japanese." -msgid "(Neko Player)" -msgstr "_" - -#: main.cpp:535 -msgctxt "Version string format specifier" -msgid "Version " -msgstr "バージョン " - -#: main.cpp:535 -msgctxt "Suffix to the version string in the about window, if needed" -msgid " " -msgstr "" - -#: main.cpp:541 -msgctxt "Library name" -msgid "SDL Mixer X" -msgstr "SDL Mixer X" - -#: main.cpp:542 -msgctxt "Library name" -msgid "JsonCpp" -msgstr "JsonCpp" - -#: main.cpp:543 -msgctxt "Library name" -msgid "SoundTouch" -msgstr "SoundTouch" - -#: main.cpp:544 -msgctxt "Library name" -msgid "libintl" -msgstr "libintl" - -#: main.cpp:545 -msgctxt "Library name" -msgid "Dear ImGui" -msgstr "Dear ImGui" - -#: main.cpp:546 -msgctxt "Library name" -msgid "imgui-filebrowser" -msgstr "imgui-filebrowser" - -#: main.cpp:548 -msgctxt "Library name" -msgid "libportal" -msgstr "libportal" - -#: main.cpp:550 -msgctxt "Library name" -msgid "Noto Sans" -msgstr "Noto Sans" - -#: main.cpp:551 -msgctxt "Library name" -msgid "Fork Awesome" -msgstr "Fork Awesome" - -#: main.cpp:552 -msgctxt "Library name" -msgid "IconFontCppHeaders" -msgstr "IconFontCppHeaders" - -#: main.cpp:577 -msgctxt "Project selector label." -msgid "Project" -msgstr "プロジェクト" - -#: main.cpp:592 -msgctxt "License viewer label" -msgid "License" -msgstr "ライセンス" - -#: main.cpp:595 -#, c-format -msgctxt "" -"License viewer | information above license - string 1: selected project, " -"string 2: SPDX license identifier" -msgid "%s: %s" -msgstr "%s: %s" - -#: theme.cpp:39 -msgctxt "Window title" -msgid "Theme Editor" -msgstr "テーマエディタ" - -#: theme.cpp:43 -msgctxt "Theme Editor | preset button" -msgid "Create light" -msgstr "ライトテーマを作成する" - -#: theme.cpp:52 -msgctxt "Theme Editor | preset button" -msgid "Create dark" -msgstr "ダークテーマを作成する" - -#: theme.cpp:60 -msgctxt "Theme Editor | import button. Opens the theme import file dialog" -msgid "Import..." -msgstr "インポート..." - -#: theme.cpp:61 -msgctxt "Theme Editor file dialog title" -msgid "Import theme..." -msgstr "テーマのインポート..." - -#: theme.cpp:62 theme.cpp:76 -msgctxt "Theme Editor file dialog filter name" -msgid "Theme JSON files" -msgstr "テーマの JSON ファイル" - -#: theme.cpp:74 -msgctxt "Theme Editor | export button. Opens the theme export file dialog" -msgid "Export..." -msgstr "テーマをエクス..." - -#: theme.cpp:75 -msgctxt "Theme Editor file dialog title" -msgid "Export theme..." -msgstr "テーマをエクスポート..." - -#: theme.cpp:98 -msgctxt "Theme Editor | button. Reverts to saved file." -msgid "Revert" -msgstr "元に戻す" - -#: theme.cpp:107 -msgctxt "" -"Theme Editor | button. Saves the theme to it's current location. Not shown " -"when it doesn't already have one." -msgid "Save" -msgstr "保存" - -#: theme.cpp:111 -msgctxt "" -"Theme Editor | button. Opens the theme loading dialog for themes created or " -"imported by the user." -msgid "Load..." -msgstr "オープン..." - -#: theme.cpp:115 -msgctxt "" -"Theme Editor | button. Opens the theme saving dialog for themes created or " -"imported by the user." -msgid "Save as..." -msgstr "に名前を付けて保存..." - -#: theme.cpp:120 -msgctxt "Theme Editor | slider. Simplified frame rounding." -msgid "Frame Rounding" -msgstr "フレームの丸め" - -#: theme.cpp:122 -msgctxt "Theme Editor | checkbox" -msgid "Window Border" -msgstr "ウィンドウの境界線" - -#: theme.cpp:124 -msgctxt "Theme Editor | checkbox" -msgid "Frame Border" -msgstr "フレームの境界線" - -#: theme.cpp:126 -msgctxt "Theme Editor | checkbox" -msgid "Popup Border" -msgstr "ポップアップウィンドウの境界線" - -#: theme.cpp:132 -msgctxt "Theme Editor | Tab label" -msgid "Strings" -msgstr "ストリングス" - -#: theme.cpp:134 -msgctxt "Theme Editor | Strings | Name input label" -msgid "Name" -msgstr "名前" - -#: theme.cpp:135 -msgctxt "Theme Editor | Strings | Description input label" -msgid "Description" -msgstr "形容" - -#: theme.cpp:139 -msgctxt "Theme Editor | Tab label" -msgid "Sizes" -msgstr "サイズ" - -#: theme.cpp:141 -msgctxt "Theme Editor | Sizes | Section label" -msgid "Sizing" -msgstr "サイズ" - -#: theme.cpp:142 -msgctxt "Theme Editor | Sizes | Sizing | label of XY sliders" -msgid "Window Padding" -msgstr "ウィンドウのパディング" - -#: theme.cpp:143 -msgctxt "Theme Editor | Sizes | Sizing | label of XY sliders" -msgid "Frame Padding" -msgstr "フレームのパディング" - -#: theme.cpp:144 -msgctxt "Theme Editor | Sizes | Sizing | label of XY sliders" -msgid "Cell Padding" -msgstr "セルの余白" - -#: theme.cpp:145 -msgctxt "Theme Editor | Sizes | Sizing | label of XY sliders" -msgid "Item Spacing" -msgstr "項目の間隔" - -#: theme.cpp:146 -msgctxt "Theme Editor | Sizes | Sizing | label of XY sliders" -msgid "Inner Item Spacing" -msgstr "項目内の間隔" - -#: theme.cpp:149 -msgctxt "Theme Editor | Sizes | Sizing | slider label" -msgid "Scrollbar Size" -msgstr "スクロールバーのサイズ" - -#: theme.cpp:150 -msgctxt "Theme Editor | Sizes | Sizing | slider label" -msgid "Minimum Grabber Size" -msgstr "最小グラバーサイズ" - -#: theme.cpp:151 -msgctxt "Theme Editor | Sizes | Sizing | label of XY sliders" -msgid "Separator Text Padding" -msgstr "区切りテキストの余白" - -#: theme.cpp:153 -msgctxt "Theme Editor | Sizes | Section label" -msgid "Borders" -msgstr "国境" - -#: theme.cpp:154 -msgctxt "Theme Editor | Sizes | Borders | slider label" -msgid "Window Border Size" -msgstr "ウィンドウの境界線のサイズ" - -#: theme.cpp:155 -msgctxt "Theme Editor | Sizes | Borders | slider label" -msgid "Child Border Size" -msgstr "子ウィンドウの境界線のサイズ" - -#: theme.cpp:156 -msgctxt "Theme Editor | Sizes | Borders | slider label" -msgid "Popup Border Size" -msgstr "ポップアップウィンドウの境界線のサイズ" - -#: theme.cpp:157 -msgctxt "Theme Editor | Sizes | Borders | slider label" -msgid "Frame Border Size" -msgstr "枠線サイズ" - -#: theme.cpp:158 -msgctxt "Theme Editor | Sizes | Borders | slider label" -msgid "Tab Border Size" -msgstr "タブの境界線のサイズ" - -#: theme.cpp:159 -msgctxt "Theme Editor | Sizes | Borders | slider label" -msgid "Separator Text Border Size" -msgstr "区切りテキストの境界線のサイズ" - -#: theme.cpp:161 -msgctxt "Theme Editor | Sizes | Section label" -msgid "Rounding" -msgstr "丸め" - -#: theme.cpp:162 -msgctxt "Theme Editor | Sizes | Rounding | slider label" -msgid "Window Rounding" -msgstr "ウィンドウの丸め" - -#: theme.cpp:163 -msgctxt "Theme Editor | Sizes | Rounding | slider label" -msgid "Child Rounding" -msgstr "子ウィンドウの丸め" - -#: theme.cpp:164 -msgctxt "Theme Editor | Sizes | Rounding | slider label" -msgid "Frame Rounding" -msgstr "フレームの丸め" - -#: theme.cpp:165 -msgctxt "Theme Editor | Sizes | Rounding | slider label" -msgid "Popup Rounding" -msgstr "ポップアップウィンドウの丸め" - -#: theme.cpp:166 -msgctxt "Theme Editor | Sizes | Rounding | slider label" -msgid "Scrollbar Rounding" -msgstr "スクロールバーの丸め" - -#: theme.cpp:167 -msgctxt "Theme Editor | Sizes | Rounding | slider label" -msgid "Grabber Rounding" -msgstr "グラバー丸め" - -#: theme.cpp:168 -msgctxt "Theme Editor | Sizes | Rounding | slider label" -msgid "Tab Rounding" -msgstr "タブの丸め" - -#: theme.cpp:173 -msgctxt "Theme Editor | Tab label" -msgid "Colors" -msgstr "色" - -#: theme.cpp:177 -msgctxt "Theme Editor | Colors | text filter" -msgid "Filter colors" -msgstr "フィルターの色" - -#: theme.cpp:180 -msgctxt "Theme Editor | Colors | preview settings radio button" -msgid "Opaque" -msgstr "オペーク" - -#: theme.cpp:181 -msgctxt "Theme Editor | Colors | preview settings radio button" -msgid "Alpha" -msgstr "アルファ" - -#: theme.cpp:182 -msgctxt "Theme Editor | Colors | preview settings radio button" -msgid "Both" -msgstr "両方とも" - -#: theme.cpp:193 -msgctxt "Theme Editor | Colors | (Any color) | recoloring checkbox" -msgid "Match hue preference" -msgstr "色相設定の一致" - -#: theme.cpp:230 theme.cpp:233 -msgctxt "Theme Editor | Custom modal dialog title" -msgid "Load..." -msgstr "オープン..." - -#: theme.cpp:236 -msgctxt "Theme Editor | Load dialog | Theme selector | filter label" -msgid "Filter:" -msgstr "フィルター:" - -#: theme.cpp:239 -msgctxt "Theme Editor | Load dialog | Theme selector | label" -msgid "Available themes..." -msgstr "利用可能なテーマ..." - -#: theme.cpp:255 -msgctxt "Theme Editor | Load dialog | Load button" -msgid "Load" -msgstr "負荷" - -#: theme.cpp:267 -msgctxt "Theme Editor | Load dialog | Cancel button" -msgid "Cancel" -msgstr "キャンセル" - -#: theme.cpp:276 theme.cpp:279 -msgctxt "Theme Editor | Custom modal dialog title" -msgid "Save as..." -msgstr "に名前を付けて保存..." - -#: theme.cpp:282 -msgctxt "Theme Editor | Save as dialog | Theme selector | filter label" -msgid "Filter:" -msgstr "フィルター:" - -#: theme.cpp:285 -msgctxt "Theme Editor | Save as dialog | Theme selector | label" -msgid "Available themes..." -msgstr "利用可能なテーマ..." - -#: theme.cpp:302 -msgctxt "Theme Editor | Save as dialog | Theme name input label" -msgid "Theme name: " -msgstr "テーマ名: " - -#: theme.cpp:303 -msgctxt "Theme Editor | Save as dialog | Save button" -msgid "Save" -msgstr "保存" - -#: theme.cpp:314 -msgctxt "Theme Editor | Save as dialog | Cancel button" -msgid "Cancel" -msgstr "キャンセル" - -#: theme.cpp:473 -msgctxt "Theme default strings | name" -msgid "A theme" -msgstr "テーマ" - -#: theme.cpp:474 -msgctxt "Theme default strings | description" -msgid "(No description)" -msgstr "(説明なし)" diff --git a/assets/translations/neko_player.pot b/assets/translations/looper.pot similarity index 100% rename from assets/translations/neko_player.pot rename to assets/translations/looper.pot diff --git a/assets/update-assets.sh b/assets/update-assets.sh index 967c0b2..39539a2 100755 --- a/assets/update-assets.sh +++ b/assets/update-assets.sh @@ -25,7 +25,7 @@ done add_base85 'icon.png' 'icon' add_basic 'Noto_Sans/OFL.txt' 'notosans_license' add_basic 'Noto_Sans_JP/OFL.txt' 'notosansjp_license' -add_basic '../LICENSE' 'nekoplayer_license' +add_basic '../LICENSE' 'looper_license' add_basic '../subprojects/jsoncpp/LICENSE' 'jsoncpp_license' add_basic '../subprojects/SDL-Mixer-X/COPYING.txt' 'sdl_mixer_x_license' add_basic '../imgui-filebrowser/LICENSE' 'imgui_filebrowser_license' @@ -42,4 +42,4 @@ for i in "${ASSETS[@]}"; do echo "#include \"$i\"" >> 'assets.h' done rm btcc -popd \ No newline at end of file +popd diff --git a/main.cpp b/main.cpp index 3957a05..144ddce 100644 --- a/main.cpp +++ b/main.cpp @@ -37,7 +37,7 @@ string TimeToString(double time_code, uint8_t min_components = 1) { } void MainLoop::Init() { #ifdef PORTALS - g_set_application_name("Neko Player"); + g_set_application_name("Looper"); #endif // Our state show_demo_window = false; @@ -95,8 +95,8 @@ void MainLoop::Init() { stream.close(); } if (is_empty(Theme::themeDir)) { - path lightPath = Theme::themeDir / "light.json"; - path darkPath = Theme::themeDir / "dark.json"; + path lightPath = Theme::themeDir / "light.toml"; + path darkPath = Theme::themeDir / "dark.toml"; string builtinDescription = _TRS_CTX("Built-in themes | Theme default strings | name", "(built-in)"); if (!exists(lightPath)) { Theme light(false); @@ -308,15 +308,10 @@ void MainLoop::GuiFunction() { ImGui::SetNextWindowDockID(dockid); if (ImGui::Begin(_TRI_CTX(ICON_FK_INFO, "Window title, window opened by menu item", "About and Licenses"), &about_window)) { ImGui::PushFont(title); - static const string APP_NAME_STR = _TR_CTX("Application name - Japanese word should remain Japanese and stay the same when translating for stylistic purposes.", "ねこ Player"); + static const string APP_NAME_STR = _TR_CTX("Application name.", "Looper"); ImGui::SetCursorPosX((ImGui::GetWindowWidth() - ImGui::GetFont()->CalcTextSizeA(ImGui::GetFontSize(), FLT_MAX, 0.0f, APP_NAME_STR.c_str()).x) / 2.0f); ImGui::Text(APP_NAME_STR.c_str()); ImGui::PopFont(); - static const string APP_NAME_ROMANIZED = _TR_CTX("Application name - Japanese word should be converted to the translated language's characters. Use a string with only a single underscore to disable for Japanese.", "(Neko Player)"); - if (APP_NAME_ROMANIZED != "_") { - ImGui::SetCursorPosX((ImGui::GetWindowWidth() - ImGui::GetFont()->CalcTextSizeA(ImGui::GetFontSize(), FLT_MAX, 0.0f, APP_NAME_ROMANIZED.c_str()).x) / 2.0f); - ImGui::Text(APP_NAME_ROMANIZED.c_str()); - } static const string VER_STRING = _TR_CTX("Version string format specifier", "Version ") + string(TAG) + _TRS_CTX("Suffix to the version string in the about window, if needed", " "); ImGui::SetCursorPosX((ImGui::GetWindowWidth() - ImGui::GetFont()->CalcTextSizeA(ImGui::GetFontSize(), FLT_MAX, 0.0f, VER_STRING.c_str()).x) / 2.0f); ImGui::Text(VER_STRING.c_str()); @@ -343,7 +338,7 @@ void MainLoop::GuiFunction() { { int i = 0; // Use a variable instead of hardcoding so that a #ifdef can change the indices later on. - LOAD_LICENSE(projects[i], nekoplayer); i++; + LOAD_LICENSE(projects[i], looper); i++; LOAD_LICENSE(projects[i], sdl_mixer_x); i++; LOAD_LICENSE(projects[i], cli11); i++; LOAD_LICENSE(projects[i], jsoncpp); i++; diff --git a/meson.build b/meson.build index ec5a371..4a12745 100644 --- a/meson.build +++ b/meson.build @@ -1,4 +1,4 @@ -project('neko-player', ['c', 'cpp'], +project('looper', ['c', 'cpp'], version : '0.1', default_options : ['warning_level=3', 'cpp_std=c++20']) @@ -62,7 +62,6 @@ if get_option('portals') and target_machine.system() == 'linux' endif srcs = [ - 'IconSet.cpp', 'main.cpp', 'RendererBackend.cpp', 'playback.cpp', @@ -90,7 +89,7 @@ include_dirs = [ res = run_command('./assets/update-assets.sh', check: true) # Validate MetaInfo file -metainfo_file = '/path/to/com.experimentalcraft.NekoPlayer.metainfo.xml' +metainfo_file = './assets/com.experimentalcraft.Looper.metainfo.xml' ascli_exe = find_program('appstreamcli', required: false) if ascli_exe.found() test('validate metainfo file', @@ -101,11 +100,11 @@ if ascli_exe.found() metainfo_file] ) endif -install_data('assets/icon.svg', rename: 'neko-player', install_dir: 'share/icons/hicolor/scalable/apps/') -install_data('assets/neko-player.desktop', install_dir: 'share/applications') -install_data('assets/com.experimentalcraft.NekoPlayer.metainfo.xml', install_dir: 'share/metainfo') -install_subdir('assets/translations/', exclude_files: 'neko_player.pot', strip_directory: true, install_dir: get_option('localedir')) -exe = executable('neko-player', srcs, +install_data('assets/icon.svg', rename: 'looper.svg', install_dir: 'share/icons/hicolor/scalable/apps/') +install_data('assets/looper.desktop', install_dir: 'share/applications') +install_data('assets/com.experimentalcraft.Looper.metainfo.xml', install_dir: 'share/metainfo') +install_subdir('assets/translations/', exclude_files: 'looper.pot', strip_directory: true, install_dir: get_option('localedir')) +exe = executable('looper', srcs, dependencies: deps, include_directories: include_dirs, install : true, diff --git a/theme.cpp b/theme.cpp index 970b8d5..f8a1379 100644 --- a/theme.cpp +++ b/theme.cpp @@ -60,7 +60,7 @@ bool Theme::ShowEditor(bool* open, Theme* &theme, ImGuiID dockid, int window_wid } if (ImGui::Button(_TR_CTX("Theme Editor | import button. Opens the theme import file dialog", "Import..."), buttonSize)) { importDialog.SetTitle(_TR_CTX("Theme Editor file dialog title", "Import theme...")); - importDialog.SetTypeFilters(_TR_CTX("Theme Editor file dialog filter name", "Theme JSON files"), { ".json"}); + importDialog.SetTypeFilters(_TR_CTX("Theme Editor file dialog filter name", "Theme JSON files"), { ".toml"}); std::string userdir = std::getenv( #ifdef _WIN32 "UserProfile" @@ -74,7 +74,7 @@ bool Theme::ShowEditor(bool* open, Theme* &theme, ImGuiID dockid, int window_wid ImGui::SameLine(); if (ImGui::Button(_TR_CTX("Theme Editor | export button. Opens the theme export file dialog", "Export..."), buttonSize)) { exportDialog.SetTitle(_TR_CTX("Theme Editor file dialog title", "Export theme...")); - exportDialog.SetTypeFilters(_TR_CTX("Theme Editor file dialog filter name", "Theme JSON files"), { ".json"}); + exportDialog.SetTypeFilters(_TR_CTX("Theme Editor file dialog filter name", "Theme JSON files"), { ".toml"}); std::string userdir = std::getenv( #ifdef _WIN32 "UserProfile"