Compare commits
4 Commits
f0a39ec189
...
d813e0805f
Author | SHA1 | Date |
---|---|---|
Zach Bacon | d813e0805f | |
Weiran Wu | 613bd4038a | |
Zach Bacon | b950a7c1a5 | |
Rafael Kitover | ecb69a240a |
|
@ -45,7 +45,7 @@ if(TAG_RELEASE)
|
|||
include(MakeReleaseCommitAndTag)
|
||||
endif()
|
||||
|
||||
set(VCPKG_DEPS pkgconf zlib "sdl2[samplerate]" gettext wxwidgets)
|
||||
set(VCPKG_DEPS pkgconf zlib pthreads "sdl2[samplerate]" gettext wxwidgets)
|
||||
|
||||
set(VCPKG_DEPS_OPTIONAL
|
||||
sfml ENABLE_LINK
|
||||
|
@ -417,6 +417,28 @@ if(ENABLE_ASM_CORE OR ENABLE_ASM_SCALERS)
|
|||
set(ASM_ENABLED ON)
|
||||
endif()
|
||||
|
||||
if(NOT WIN32)
|
||||
find_library(PTHREAD_LIB pthread)
|
||||
if(PTHREAD_LIB)
|
||||
set(CMAKE_REQUIRED_LIBRARIES ${CMAKE_REQUIRED_LIBRARIES} ${PTHREAD_LIB})
|
||||
set(VBAMCORE_LIBS ${VBAMCORE_LIBS} ${PTHREAD_LIB})
|
||||
endif()
|
||||
elseif(MINGW)
|
||||
if(NOT VBAM_STATIC)
|
||||
set(CMAKE_REQUIRED_LIBRARIES ${CMAKE_REQUIRED_LIBRARIES} -lpthread)
|
||||
set(VBAMCORE_LIBS ${VBAMCORE_LIBS} -lpthread)
|
||||
else()
|
||||
set(CMAKE_REQUIRED_LIBRARIES ${CMAKE_REQUIRED_LIBRARIES} "-Wl,-Bstatic -lwinpthread -Wl,-Bdynamic")
|
||||
set(VBAMCORE_LIBS ${VBAMCORE_LIBS} "-Wl,-Bstatic -lwinpthread -Wl,-Bdynamic")
|
||||
endif()
|
||||
else()
|
||||
find_package(PThreads4W)
|
||||
if(PThreads4W_FOUND)
|
||||
set(CMAKE_REQUIRED_LIBRARIES ${CMAKE_REQUIRED_LIBRARIES} PThreads4W::PThreads4W)
|
||||
set(VBAMCORE_LIBS ${VBAMCORE_LIBS} PThreads4W::PThreads4W)
|
||||
endif()
|
||||
endif()
|
||||
|
||||
# Look for some dependencies using CMake scripts
|
||||
find_package(ZLIB REQUIRED)
|
||||
|
||||
|
@ -509,22 +531,6 @@ if(ENABLE_LINK)
|
|||
endif()
|
||||
endif()
|
||||
|
||||
if(NOT WIN32)
|
||||
find_library(PTHREAD_LIB pthread)
|
||||
if(PTHREAD_LIB)
|
||||
set(CMAKE_REQUIRED_LIBRARIES ${CMAKE_REQUIRED_LIBRARIES} ${PTHREAD_LIB})
|
||||
set(VBAMCORE_LIBS ${VBAMCORE_LIBS} ${PTHREAD_LIB})
|
||||
endif()
|
||||
elseif(MINGW)
|
||||
if(NOT VBAM_STATIC)
|
||||
set(CMAKE_REQUIRED_LIBRARIES ${CMAKE_REQUIRED_LIBRARIES} -lpthread)
|
||||
set(VBAMCORE_LIBS ${VBAMCORE_LIBS} -lpthread)
|
||||
else()
|
||||
set(CMAKE_REQUIRED_LIBRARIES ${CMAKE_REQUIRED_LIBRARIES} "-Wl,-Bstatic -lwinpthread -Wl,-Bdynamic")
|
||||
set(VBAMCORE_LIBS ${VBAMCORE_LIBS} "-Wl,-Bstatic -lwinpthread -Wl,-Bdynamic")
|
||||
endif()
|
||||
endif()
|
||||
|
||||
include(CheckFunctionExists)
|
||||
check_function_exists(sem_timedwait SEM_TIMEDWAIT)
|
||||
if(SEM_TIMEDWAIT)
|
||||
|
|
|
@ -8,7 +8,7 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: PACKAGE VERSION\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2024-01-15 14:15-0500\n"
|
||||
"POT-Creation-Date: 2024-03-06 18:49+0800\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
|
@ -262,7 +262,7 @@ msgstr ""
|
|||
msgid "New Value"
|
||||
msgstr ""
|
||||
|
||||
#: guiinit.cpp:2794
|
||||
#: guiinit.cpp:2796
|
||||
msgid "JoyBus host invalid; disabling"
|
||||
msgstr ""
|
||||
|
||||
|
@ -539,33 +539,33 @@ msgstr ""
|
|||
msgid "Waiting for GDB..."
|
||||
msgstr ""
|
||||
|
||||
#: cmdevents.cpp:2215 panel.cpp:260 panel.cpp:372
|
||||
#: cmdevents.cpp:2207 panel.cpp:260 panel.cpp:372
|
||||
msgid "Could not initialize the sound driver!"
|
||||
msgstr ""
|
||||
|
||||
#: cmdevents.cpp:2284
|
||||
#: cmdevents.cpp:2276
|
||||
msgid ""
|
||||
"YOUR CONFIGURATION WILL BE DELETED!\n"
|
||||
"\n"
|
||||
"Are you sure?"
|
||||
msgstr ""
|
||||
|
||||
#: cmdevents.cpp:2285
|
||||
#: cmdevents.cpp:2277
|
||||
msgid "FACTORY RESET"
|
||||
msgstr ""
|
||||
|
||||
#: cmdevents.cpp:2320
|
||||
#: cmdevents.cpp:2312
|
||||
msgid "Nintendo Game Boy / Color / Advance emulator."
|
||||
msgstr ""
|
||||
|
||||
#: cmdevents.cpp:2321
|
||||
#: cmdevents.cpp:2313
|
||||
msgid ""
|
||||
"Copyright (C) 1999-2003 Forgotten\n"
|
||||
"Copyright (C) 2004-2006 VBA development team\n"
|
||||
"Copyright (C) 2007-2020 VBA-M development team"
|
||||
msgstr ""
|
||||
|
||||
#: cmdevents.cpp:2323
|
||||
#: cmdevents.cpp:2315
|
||||
msgid ""
|
||||
"This program is free software: you can redistribute it and / or modify\n"
|
||||
"it under the terms of the GNU General Public License as published by\n"
|
||||
|
@ -581,15 +581,15 @@ msgid ""
|
|||
"along with this program. If not, see http://www.gnu.org/licenses ."
|
||||
msgstr ""
|
||||
|
||||
#: cmdevents.cpp:2508
|
||||
#: cmdevents.cpp:2500
|
||||
msgid "Cannot use Game Boy BIOS when Colorizer Hack is enabled."
|
||||
msgstr ""
|
||||
|
||||
#: cmdevents.cpp:2564
|
||||
#: cmdevents.cpp:2566
|
||||
msgid "LAN link is already active. Disable link mode to disconnect."
|
||||
msgstr ""
|
||||
|
||||
#: cmdevents.cpp:2570
|
||||
#: cmdevents.cpp:2572
|
||||
msgid "Network is not supported in local mode."
|
||||
msgstr ""
|
||||
|
||||
|
@ -1320,8 +1320,8 @@ msgstr ""
|
|||
#: config/internal/option-internal.cpp:666
|
||||
#: config/internal/option-internal.cpp:686
|
||||
#: config/internal/option-internal.cpp:707
|
||||
#: config/internal/option-internal.cpp:727
|
||||
#: config/internal/option-internal.cpp:747
|
||||
#: config/internal/option-internal.cpp:738
|
||||
#: config/internal/option-internal.cpp:758
|
||||
#, c-format
|
||||
msgid "Invalid value %s for option %s; valid values are %s"
|
||||
msgstr ""
|
||||
|
@ -2689,7 +2689,7 @@ msgid ""
|
|||
"entire contents if too small."
|
||||
msgstr ""
|
||||
|
||||
#: xrc/JoyPanel.xrc:14 xrc/MainMenu.xrc:456
|
||||
#: xrc/JoyPanel.xrc:14 xrc/MainMenu.xrc:452
|
||||
msgid "Up"
|
||||
msgstr ""
|
||||
|
||||
|
@ -2697,7 +2697,7 @@ msgstr ""
|
|||
msgid "A"
|
||||
msgstr ""
|
||||
|
||||
#: xrc/JoyPanel.xrc:60 xrc/MainMenu.xrc:460
|
||||
#: xrc/JoyPanel.xrc:60 xrc/MainMenu.xrc:456
|
||||
msgid "Down"
|
||||
msgstr ""
|
||||
|
||||
|
@ -2705,7 +2705,7 @@ msgstr ""
|
|||
msgid "B"
|
||||
msgstr ""
|
||||
|
||||
#: xrc/JoyPanel.xrc:106 xrc/MainMenu.xrc:464
|
||||
#: xrc/JoyPanel.xrc:106 xrc/MainMenu.xrc:460
|
||||
msgid "Left"
|
||||
msgstr ""
|
||||
|
||||
|
@ -2713,7 +2713,7 @@ msgstr ""
|
|||
msgid "L"
|
||||
msgstr ""
|
||||
|
||||
#: xrc/JoyPanel.xrc:152 xrc/MainMenu.xrc:468
|
||||
#: xrc/JoyPanel.xrc:152 xrc/MainMenu.xrc:464
|
||||
msgid "Right"
|
||||
msgstr ""
|
||||
|
||||
|
@ -2721,11 +2721,11 @@ msgstr ""
|
|||
msgid "R"
|
||||
msgstr ""
|
||||
|
||||
#: xrc/JoyPanel.xrc:199 xrc/MainMenu.xrc:488
|
||||
#: xrc/JoyPanel.xrc:199 xrc/MainMenu.xrc:484
|
||||
msgid "Select"
|
||||
msgstr ""
|
||||
|
||||
#: xrc/JoyPanel.xrc:222 xrc/MainMenu.xrc:492
|
||||
#: xrc/JoyPanel.xrc:222 xrc/MainMenu.xrc:488
|
||||
msgid "Start"
|
||||
msgstr ""
|
||||
|
||||
|
@ -3137,8 +3137,8 @@ msgstr ""
|
|||
msgid "&Speed hack"
|
||||
msgstr ""
|
||||
|
||||
#: xrc/MainMenu.xrc:310 xrc/MainMenu.xrc:316 xrc/MainMenu.xrc:387
|
||||
#: xrc/MainMenu.xrc:423
|
||||
#: xrc/MainMenu.xrc:310 xrc/MainMenu.xrc:316 xrc/MainMenu.xrc:383
|
||||
#: xrc/MainMenu.xrc:419
|
||||
msgid "&Configure..."
|
||||
msgstr ""
|
||||
|
||||
|
@ -3199,286 +3199,294 @@ msgid "&Keep window on top"
|
|||
msgstr ""
|
||||
|
||||
#: xrc/MainMenu.xrc:372
|
||||
msgid "&Status bar"
|
||||
msgstr ""
|
||||
|
||||
#: xrc/MainMenu.xrc:376
|
||||
msgid "&Disable on-screen display"
|
||||
msgstr ""
|
||||
|
||||
#: xrc/MainMenu.xrc:380
|
||||
#: xrc/MainMenu.xrc:376
|
||||
msgid "&Transparent on-screen display"
|
||||
msgstr ""
|
||||
|
||||
#: xrc/MainMenu.xrc:385
|
||||
#: xrc/MainMenu.xrc:381
|
||||
msgid "&Audio"
|
||||
msgstr ""
|
||||
|
||||
#: xrc/MainMenu.xrc:390
|
||||
#: xrc/MainMenu.xrc:386
|
||||
msgid "&Increase volume"
|
||||
msgstr ""
|
||||
|
||||
#: xrc/MainMenu.xrc:394
|
||||
#: xrc/MainMenu.xrc:390
|
||||
msgid "&Decrease volume"
|
||||
msgstr ""
|
||||
|
||||
#: xrc/MainMenu.xrc:398
|
||||
#: xrc/MainMenu.xrc:394
|
||||
msgid "&Toggle sound"
|
||||
msgstr ""
|
||||
|
||||
#: xrc/MainMenu.xrc:403
|
||||
#: xrc/MainMenu.xrc:399
|
||||
msgid "&Game Boy Advance sound interpolation"
|
||||
msgstr ""
|
||||
|
||||
#: xrc/MainMenu.xrc:408
|
||||
#: xrc/MainMenu.xrc:404
|
||||
msgid "&Game Boy sound enhancement"
|
||||
msgstr ""
|
||||
|
||||
#: xrc/MainMenu.xrc:412
|
||||
#: xrc/MainMenu.xrc:408
|
||||
msgid "&Game Boy surround sound effect"
|
||||
msgstr ""
|
||||
|
||||
#: xrc/MainMenu.xrc:416
|
||||
#: xrc/MainMenu.xrc:412
|
||||
msgid "&Game Boy sound declicking"
|
||||
msgstr ""
|
||||
|
||||
#: xrc/MainMenu.xrc:421
|
||||
#: xrc/MainMenu.xrc:417
|
||||
msgid "&Input"
|
||||
msgstr ""
|
||||
|
||||
#: xrc/MainMenu.xrc:426
|
||||
#: xrc/MainMenu.xrc:422
|
||||
msgid "Allow &keyboard background input"
|
||||
msgstr ""
|
||||
|
||||
#: xrc/MainMenu.xrc:430
|
||||
#: xrc/MainMenu.xrc:426
|
||||
msgid "Allow &joystick background input"
|
||||
msgstr ""
|
||||
|
||||
#: xrc/MainMenu.xrc:435
|
||||
#: xrc/MainMenu.xrc:431
|
||||
msgid "&Autofire"
|
||||
msgstr ""
|
||||
|
||||
#: xrc/MainMenu.xrc:454
|
||||
#: xrc/MainMenu.xrc:450
|
||||
msgid "&Autohold"
|
||||
msgstr ""
|
||||
|
||||
#: xrc/MainMenu.xrc:472
|
||||
#: xrc/MainMenu.xrc:468
|
||||
msgid "&A"
|
||||
msgstr ""
|
||||
|
||||
#: xrc/MainMenu.xrc:476
|
||||
#: xrc/MainMenu.xrc:472
|
||||
msgid "&B"
|
||||
msgstr ""
|
||||
|
||||
#: xrc/MainMenu.xrc:480
|
||||
#: xrc/MainMenu.xrc:476
|
||||
msgid "&L"
|
||||
msgstr ""
|
||||
|
||||
#: xrc/MainMenu.xrc:484
|
||||
#: xrc/MainMenu.xrc:480
|
||||
msgid "&R"
|
||||
msgstr ""
|
||||
|
||||
#: xrc/MainMenu.xrc:500 xrc/MainMenu.xrc:523
|
||||
#: xrc/MainMenu.xrc:496 xrc/MainMenu.xrc:519
|
||||
msgid "Configure..."
|
||||
msgstr ""
|
||||
|
||||
#: xrc/MainMenu.xrc:504
|
||||
#: xrc/MainMenu.xrc:500
|
||||
msgid "&Real-time clock"
|
||||
msgstr ""
|
||||
|
||||
#: xrc/MainMenu.xrc:508
|
||||
#: xrc/MainMenu.xrc:504
|
||||
msgid "&Use BIOS file"
|
||||
msgstr ""
|
||||
|
||||
#: xrc/MainMenu.xrc:512
|
||||
#: xrc/MainMenu.xrc:508
|
||||
msgid "&Debug print"
|
||||
msgstr ""
|
||||
|
||||
#: xrc/MainMenu.xrc:516 xrc/MainMenu.xrc:531
|
||||
#: xrc/MainMenu.xrc:512 xrc/MainMenu.xrc:527
|
||||
msgid "&LCD Filter"
|
||||
msgstr ""
|
||||
|
||||
#: xrc/MainMenu.xrc:527
|
||||
#: xrc/MainMenu.xrc:523
|
||||
msgid "&Game Boy color option"
|
||||
msgstr ""
|
||||
|
||||
#: xrc/MainMenu.xrc:535
|
||||
#: xrc/MainMenu.xrc:531
|
||||
msgid "&Game Boy Colorizer Hack (requires restart)"
|
||||
msgstr ""
|
||||
|
||||
#: xrc/MainMenu.xrc:539
|
||||
#: xrc/MainMenu.xrc:535
|
||||
msgid "&Game Boy printer"
|
||||
msgstr ""
|
||||
|
||||
#: xrc/MainMenu.xrc:543
|
||||
#: xrc/MainMenu.xrc:539
|
||||
msgid "&Gather a full page before printing"
|
||||
msgstr ""
|
||||
|
||||
#: xrc/MainMenu.xrc:547
|
||||
#: xrc/MainMenu.xrc:543
|
||||
msgid "&Save printouts as screen captures"
|
||||
msgstr ""
|
||||
|
||||
#: xrc/MainMenu.xrc:552
|
||||
#: xrc/MainMenu.xrc:548
|
||||
msgid "&Use Game Boy BIOS file (requires restart)"
|
||||
msgstr ""
|
||||
|
||||
#: xrc/MainMenu.xrc:556
|
||||
#: xrc/MainMenu.xrc:552
|
||||
msgid "&Use Game Boy Color BIOS file"
|
||||
msgstr ""
|
||||
|
||||
#: xrc/MainMenu.xrc:561
|
||||
#: xrc/MainMenu.xrc:557
|
||||
msgid "&General..."
|
||||
msgstr ""
|
||||
|
||||
#: xrc/MainMenu.xrc:564
|
||||
#: xrc/MainMenu.xrc:560
|
||||
msgid "&Speedup / Turbo..."
|
||||
msgstr ""
|
||||
|
||||
#: xrc/MainMenu.xrc:567
|
||||
#: xrc/MainMenu.xrc:563
|
||||
msgid "D&irectories..."
|
||||
msgstr ""
|
||||
|
||||
#: xrc/MainMenu.xrc:570
|
||||
#: xrc/MainMenu.xrc:566
|
||||
msgid "&Key Shortcuts..."
|
||||
msgstr ""
|
||||
|
||||
#: xrc/MainMenu.xrc:573
|
||||
msgid "&UI Settings..."
|
||||
#: xrc/MainMenu.xrc:569
|
||||
msgid "UI Settings"
|
||||
msgstr ""
|
||||
|
||||
#: xrc/MainMenu.xrc:577
|
||||
msgid "&Tools"
|
||||
#: xrc/MainMenu.xrc:571
|
||||
msgid "Enable &Status bar"
|
||||
msgstr ""
|
||||
|
||||
#: xrc/MainMenu.xrc:575
|
||||
msgid "Hide &Menu Bar"
|
||||
msgstr ""
|
||||
|
||||
#: xrc/MainMenu.xrc:579
|
||||
msgid "Suspend &Screen Saver"
|
||||
msgstr ""
|
||||
|
||||
#: xrc/MainMenu.xrc:585
|
||||
msgid "&Tools"
|
||||
msgstr ""
|
||||
|
||||
#: xrc/MainMenu.xrc:587
|
||||
msgid "&Cheats"
|
||||
msgstr ""
|
||||
|
||||
#: xrc/MainMenu.xrc:581
|
||||
#: xrc/MainMenu.xrc:589
|
||||
msgid "List &cheats..."
|
||||
msgstr ""
|
||||
|
||||
#: xrc/MainMenu.xrc:584
|
||||
#: xrc/MainMenu.xrc:592
|
||||
msgid "Find c&heat..."
|
||||
msgstr ""
|
||||
|
||||
#: xrc/MainMenu.xrc:588
|
||||
#: xrc/MainMenu.xrc:596
|
||||
msgid "A&utomatically save / load cheats"
|
||||
msgstr ""
|
||||
|
||||
#: xrc/MainMenu.xrc:592
|
||||
#: xrc/MainMenu.xrc:600
|
||||
msgid "&Enable cheats"
|
||||
msgstr ""
|
||||
|
||||
#: xrc/MainMenu.xrc:599
|
||||
#: xrc/MainMenu.xrc:607
|
||||
msgid "&Break into GDB"
|
||||
msgstr ""
|
||||
|
||||
#: xrc/MainMenu.xrc:603
|
||||
#: xrc/MainMenu.xrc:611
|
||||
msgid "&Configure port..."
|
||||
msgstr ""
|
||||
|
||||
#: xrc/MainMenu.xrc:606
|
||||
#: xrc/MainMenu.xrc:614
|
||||
msgid "&Break on load"
|
||||
msgstr ""
|
||||
|
||||
#: xrc/MainMenu.xrc:611
|
||||
#: xrc/MainMenu.xrc:619
|
||||
msgid "&Disconnect"
|
||||
msgstr ""
|
||||
|
||||
#: xrc/MainMenu.xrc:616
|
||||
#: xrc/MainMenu.xrc:624
|
||||
msgid "&Disassemble..."
|
||||
msgstr ""
|
||||
|
||||
#: xrc/MainMenu.xrc:619
|
||||
#: xrc/MainMenu.xrc:627
|
||||
msgid "&Logging..."
|
||||
msgstr ""
|
||||
|
||||
#: xrc/MainMenu.xrc:622
|
||||
#: xrc/MainMenu.xrc:630
|
||||
msgid "&IO Viewer..."
|
||||
msgstr ""
|
||||
|
||||
#: xrc/MainMenu.xrc:625
|
||||
#: xrc/MainMenu.xrc:633
|
||||
msgid "&Map Viewer..."
|
||||
msgstr ""
|
||||
|
||||
#: xrc/MainMenu.xrc:628
|
||||
#: xrc/MainMenu.xrc:636
|
||||
msgid "M&emory Viewer..."
|
||||
msgstr ""
|
||||
|
||||
#: xrc/MainMenu.xrc:631
|
||||
#: xrc/MainMenu.xrc:639
|
||||
msgid "&OAM Viewer..."
|
||||
msgstr ""
|
||||
|
||||
#: xrc/MainMenu.xrc:634
|
||||
#: xrc/MainMenu.xrc:642
|
||||
msgid "&Palette Viewer..."
|
||||
msgstr ""
|
||||
|
||||
#: xrc/MainMenu.xrc:637
|
||||
#: xrc/MainMenu.xrc:645
|
||||
msgid "&Tile Viewer..."
|
||||
msgstr ""
|
||||
|
||||
#: xrc/MainMenu.xrc:642
|
||||
#: xrc/MainMenu.xrc:650
|
||||
msgid "Show all video layers"
|
||||
msgstr ""
|
||||
|
||||
#: xrc/MainMenu.xrc:685
|
||||
#: xrc/MainMenu.xrc:693
|
||||
msgid "&View Layers"
|
||||
msgstr ""
|
||||
|
||||
#: xrc/MainMenu.xrc:689
|
||||
#: xrc/MainMenu.xrc:697
|
||||
msgid "Channel &1"
|
||||
msgstr ""
|
||||
|
||||
#: xrc/MainMenu.xrc:694
|
||||
#: xrc/MainMenu.xrc:702
|
||||
msgid "Channel &2"
|
||||
msgstr ""
|
||||
|
||||
#: xrc/MainMenu.xrc:699
|
||||
#: xrc/MainMenu.xrc:707
|
||||
msgid "Channel &3"
|
||||
msgstr ""
|
||||
|
||||
#: xrc/MainMenu.xrc:704
|
||||
#: xrc/MainMenu.xrc:712
|
||||
msgid "Channel &4"
|
||||
msgstr ""
|
||||
|
||||
#: xrc/MainMenu.xrc:709
|
||||
#: xrc/MainMenu.xrc:717
|
||||
msgid "Direct Sound &A"
|
||||
msgstr ""
|
||||
|
||||
#: xrc/MainMenu.xrc:714
|
||||
#: xrc/MainMenu.xrc:722
|
||||
msgid "Direct Sound &B"
|
||||
msgstr ""
|
||||
|
||||
#: xrc/MainMenu.xrc:718
|
||||
#: xrc/MainMenu.xrc:726
|
||||
msgid "&Sound Channels"
|
||||
msgstr ""
|
||||
|
||||
#: xrc/MainMenu.xrc:722
|
||||
#: xrc/MainMenu.xrc:730
|
||||
msgid "&Help"
|
||||
msgstr ""
|
||||
|
||||
#: xrc/MainMenu.xrc:724
|
||||
#: xrc/MainMenu.xrc:732
|
||||
msgid "Report &Bugs"
|
||||
msgstr ""
|
||||
|
||||
#: xrc/MainMenu.xrc:727
|
||||
#: xrc/MainMenu.xrc:735
|
||||
msgid "Visual Boy Advance-M Support &Forum"
|
||||
msgstr ""
|
||||
|
||||
#: xrc/MainMenu.xrc:730
|
||||
#: xrc/MainMenu.xrc:738
|
||||
msgid "Translations"
|
||||
msgstr ""
|
||||
|
||||
#: xrc/MainMenu.xrc:738
|
||||
#: xrc/MainMenu.xrc:746
|
||||
msgid "Check for updates"
|
||||
msgstr ""
|
||||
|
||||
#: xrc/MainMenu.xrc:741
|
||||
#: xrc/MainMenu.xrc:749
|
||||
msgid "&Factory Reset..."
|
||||
msgstr ""
|
||||
|
||||
#: xrc/MainMenu.xrc:745
|
||||
#: xrc/MainMenu.xrc:753
|
||||
msgid "&About..."
|
||||
msgstr ""
|
||||
|
||||
|
@ -3697,15 +3705,3 @@ msgstr ""
|
|||
#: xrc/SpeedupConfig.xrc:50
|
||||
msgid "Frame skip"
|
||||
msgstr ""
|
||||
|
||||
#: xrc/UIConfig.xrc:4
|
||||
msgid "User Interface Settings"
|
||||
msgstr ""
|
||||
|
||||
#: xrc/UIConfig.xrc:9
|
||||
msgid "Hide Menu Bar"
|
||||
msgstr ""
|
||||
|
||||
#: xrc/UIConfig.xrc:16
|
||||
msgid "Suspend ScreenSaver"
|
||||
msgstr ""
|
||||
|
|
|
@ -55,7 +55,7 @@ endif()
|
|||
|
||||
if(ENABLE_FAUDIO)
|
||||
find_package(FAudio REQUIRED)
|
||||
list(APPEND VBAM_LIBS FAudio)
|
||||
list(APPEND VBAM_LIBS FAudio::FAudio)
|
||||
else()
|
||||
add_definitions(-DNO_FAUDIO)
|
||||
endif()
|
||||
|
@ -652,7 +652,6 @@ set(
|
|||
xrc/SoundConfig.xrc
|
||||
xrc/TileViewer.xrc
|
||||
xrc/SpeedupConfig.xrc
|
||||
xrc/UIConfig.xrc
|
||||
)
|
||||
|
||||
# wxrc does not support xrs files in -c output (> 10x compression)
|
||||
|
|
|
@ -1957,14 +1957,6 @@ EVT_HANDLER(SpeedupConfigure, "Speedup / Turbo options...")
|
|||
}
|
||||
}
|
||||
|
||||
EVT_HANDLER(UIConfigure, "UI Settings...")
|
||||
{
|
||||
wxDialog* dlg = GetXRCDialog("UIConfig");
|
||||
|
||||
if (ShowModal(dlg) == wxID_OK)
|
||||
update_opts();
|
||||
}
|
||||
|
||||
EVT_HANDLER(GameBoyConfigure, "Game Boy options...")
|
||||
{
|
||||
ShowModal(GetXRCDialog("GameBoyConfig"));
|
||||
|
@ -2521,6 +2513,16 @@ EVT_HANDLER(VSync, "Wait for vertical sync")
|
|||
GetMenuOptionConfig("VSync", config::OptionID::kPrefVsync);
|
||||
}
|
||||
|
||||
EVT_HANDLER(HideMenuBar, "Hide menu bar when mouse is inactive")
|
||||
{
|
||||
GetMenuOptionConfig("HideMenuBar", config::OptionID::kUIHideMenuBar);
|
||||
}
|
||||
|
||||
EVT_HANDLER(SuspendScreenSaver, "Suspend screensaver when game is running")
|
||||
{
|
||||
GetMenuOptionConfig("SuspendScreenSaver", config::OptionID::kUISuspendScreenSaver);
|
||||
}
|
||||
|
||||
#ifndef NO_LINK
|
||||
|
||||
void MainFrame::EnableNetworkMenu()
|
||||
|
|
|
@ -574,8 +574,8 @@ const std::array<OptionData, kNbOptions + 1> kAllOptionsData = {
|
|||
OptionData{"ui/allowJoystickBackgroundInput",
|
||||
"AllowJoystickBackgroundInput",
|
||||
_("Capture joy events while on background")},
|
||||
OptionData{"ui/hideMenuBar", "", _("Hide menu bar when mouse is inactive")},
|
||||
OptionData{"ui/suspendScreenSaver", "", _("Suspend screensaver when game is running")},
|
||||
OptionData{"ui/hideMenuBar", "HideMenuBar", _("Hide menu bar when mouse is inactive")},
|
||||
OptionData{"ui/suspendScreenSaver", "SuspendScreenSaver", _("Suspend screensaver when game is running")},
|
||||
|
||||
/// Sound
|
||||
OptionData{"Sound/AudioAPI", "",
|
||||
|
|
|
@ -8,9 +8,8 @@
|
|||
#include "../common/SoundDriver.h"
|
||||
|
||||
// FAudio
|
||||
#include <faudio.h>
|
||||
#include <FAudio.h>
|
||||
|
||||
// MMDevice API
|
||||
#include <mmdeviceapi.h>
|
||||
#include <string>
|
||||
#include <vector>
|
||||
|
@ -22,27 +21,26 @@
|
|||
int GetFADevices(FAudio* fa, wxArrayString* names, wxArrayString* ids,
|
||||
const wxString* match)
|
||||
{
|
||||
HRESULT hr;
|
||||
UINT32 dev_count = 0;
|
||||
|
||||
uint32_t hr;
|
||||
uint32_t dev_count = 0;
|
||||
hr = FAudio_GetDeviceCount(fa, &dev_count);
|
||||
|
||||
if (hr != S_OK) {
|
||||
if (hr != 0) {
|
||||
wxLogError(_("FAudio: Enumerating devices failed!"));
|
||||
return true;
|
||||
} else {
|
||||
FAudioDeviceDetails dd;
|
||||
|
||||
for (UINT32 i = 0; i < dev_count; i++) {
|
||||
for (uint32_t i = 0; i < dev_count; i++) {
|
||||
hr = FAudio_GetDeviceDetails(fa, i, &dd);
|
||||
|
||||
if (hr != S_OK) {
|
||||
if (hr != 0) {
|
||||
continue;
|
||||
} else {
|
||||
if (ids) {
|
||||
ids->push_back((wchar_t*) dd.DeviceID); //FAudio is an interesting beast, but not that hard to adapt... once you get used to it, XAudio2 wouldn't need this, but FAudio declares FAudioDeviceDetails as int32_t
|
||||
ids->push_back((wchar_t*) dd.DeviceID);
|
||||
names->push_back((wchar_t*) dd.DisplayName);
|
||||
} else if (*match == dd.DeviceID)
|
||||
} else if (*match == wxString((wchar_t*) dd.DeviceID))
|
||||
return i;
|
||||
}
|
||||
}
|
||||
|
@ -53,22 +51,20 @@ int GetFADevices(FAudio* fa, wxArrayString* names, wxArrayString* ids,
|
|||
|
||||
bool GetFADevices(wxArrayString& names, wxArrayString& ids)
|
||||
{
|
||||
HRESULT hr;
|
||||
uint32_t hr;
|
||||
FAudio* fa = NULL;
|
||||
UINT32 flags = 0;
|
||||
uint32_t flags = 0;
|
||||
#ifdef _DEBUG
|
||||
flags = FAUDIO_DEBUG_ENGINE;
|
||||
#endif
|
||||
hr = FAudioCreate(&fa, flags, FAUDIO_DEFAULT_PROCESSOR);
|
||||
|
||||
hr = FAudioCreate(&fa, flags, FAUDIO_DEFAULT_PROCESSOR); //Apparently this needs 3 parameters, the processor.
|
||||
|
||||
if (hr != S_OK) {
|
||||
if (hr != 0) {
|
||||
wxLogError(_("The FAudio interface failed to initialize!"));
|
||||
return false;
|
||||
}
|
||||
|
||||
GetFADevices(fa, &names, &ids, NULL);
|
||||
//fa->Release();
|
||||
FAudio_Release(fa);
|
||||
return true;
|
||||
}
|
||||
|
@ -194,41 +190,42 @@ public:
|
|||
// Synchronization Event
|
||||
class FAudio_BufferNotify : public FAudioVoiceCallback {
|
||||
public:
|
||||
HANDLE hBufferEndEvent;
|
||||
void *hBufferEndEvent;
|
||||
|
||||
FAudio_BufferNotify()
|
||||
{
|
||||
hBufferEndEvent = NULL;
|
||||
hBufferEndEvent = CreateEvent(NULL, FALSE, FALSE, NULL);
|
||||
assert(hBufferEndEvent != NULL);
|
||||
}
|
||||
|
||||
OnBufferEnd = &FAudio_BufferNotify::StaticOnBufferEnd;
|
||||
OnVoiceProcessingPassStart = &FAudio_BufferNotify::StaticOnVoiceProcessingPassStart;
|
||||
OnVoiceProcessingPassEnd = &FAudio_BufferNotify::StaticOnVoiceProcessingPassEnd;
|
||||
OnStreamEnd = &FAudio_BufferNotify::StaticOnStreamEnd;
|
||||
OnBufferStart = &FAudio_BufferNotify::StaticOnBufferStart;
|
||||
OnLoopEnd = &FAudio_BufferNotify::StaticOnLoopEnd;
|
||||
OnVoiceError = &FAudio_BufferNotify::StaticOnVoiceError;
|
||||
}
|
||||
~FAudio_BufferNotify()
|
||||
{
|
||||
CloseHandle(hBufferEndEvent);
|
||||
hBufferEndEvent = NULL;
|
||||
}
|
||||
|
||||
STDMETHOD_(void, OnBufferEnd)
|
||||
(void* pBufferContext)
|
||||
{
|
||||
assert(hBufferEndEvent != NULL);
|
||||
SetEvent(hBufferEndEvent);
|
||||
}
|
||||
|
||||
// dummies:
|
||||
STDMETHOD_(void, OnVoiceProcessingPassStart)
|
||||
(UINT32 BytesRequired) {}
|
||||
STDMETHOD_(void, OnVoiceProcessingPassEnd)
|
||||
() {}
|
||||
STDMETHOD_(void, OnStreamEnd)
|
||||
() {}
|
||||
STDMETHOD_(void, OnBufferStart)
|
||||
(void* pBufferContext) {}
|
||||
STDMETHOD_(void, OnLoopEnd)
|
||||
(void* pBufferContext) {}
|
||||
STDMETHOD_(void, OnVoiceError)
|
||||
(void* pBufferContext, HRESULT Error){};
|
||||
static void StaticOnBufferEnd(FAudioVoiceCallback* callback, void * pBufferContext) {
|
||||
FAudio_BufferNotify* self = static_cast<FAudio_BufferNotify*>(callback);
|
||||
if (self != nullptr && self->hBufferEndEvent != NULL)
|
||||
{
|
||||
SetEvent(self->hBufferEndEvent);
|
||||
}
|
||||
}
|
||||
static void StaticOnVoiceProcessingPassStart(FAudioVoiceCallback* callback, uint32_t BytesRequired) {}
|
||||
static void StaticOnVoiceProcessingPassEnd(FAudioVoiceCallback* callback) {}
|
||||
static void StaticOnStreamEnd(FAudioVoiceCallback* callback) {}
|
||||
static void StaticOnBufferStart(FAudioVoiceCallback* callback, void * pBufferContext) {}
|
||||
static void StaticOnLoopEnd(FAudioVoiceCallback* callback, void * pBufferContext) {}
|
||||
static void StaticOnVoiceError(FAudioVoiceCallback* callback, void * pBufferContext, uint32_t Error) {}
|
||||
};
|
||||
|
||||
// Class Declaration
|
||||
|
@ -258,9 +255,9 @@ private:
|
|||
bool failed;
|
||||
bool initialized;
|
||||
bool playing;
|
||||
UINT32 freq;
|
||||
UINT32 bufferCount;
|
||||
BYTE* buffers;
|
||||
uint32_t freq;
|
||||
uint32_t bufferCount;
|
||||
uint8_t* buffers;
|
||||
int currentBuffer;
|
||||
int soundBufferLen;
|
||||
|
||||
|
@ -288,8 +285,8 @@ FAudio_Output::FAudio_Output()
|
|||
faud = NULL;
|
||||
mVoice = NULL;
|
||||
sVoice = NULL;
|
||||
ZeroMemory(&buf, sizeof(buf));
|
||||
ZeroMemory(&vState, sizeof(vState));
|
||||
memset(&buf, NULL, sizeof(buf));
|
||||
memset(&vState, NULL, sizeof(vState));
|
||||
g_notifier.do_register(this);
|
||||
}
|
||||
|
||||
|
@ -305,8 +302,7 @@ void FAudio_Output::close()
|
|||
|
||||
if (sVoice) {
|
||||
if (playing) {
|
||||
HRESULT hr = FAudioSourceVoice_Stop(sVoice, 0, FAUDIO_COMMIT_NOW);
|
||||
assert(hr == S_OK);
|
||||
assert(FAudioSourceVoice_Stop(sVoice, 0, FAUDIO_COMMIT_NOW) == 0);
|
||||
}
|
||||
|
||||
FAudioVoice_DestroyVoice(sVoice);
|
||||
|
@ -339,15 +335,15 @@ bool FAudio_Output::init(long sampleRate)
|
|||
if (failed || initialized)
|
||||
return false;
|
||||
|
||||
HRESULT hr;
|
||||
uint32_t hr;
|
||||
// Initialize FAudio
|
||||
UINT32 flags = 0;
|
||||
uint32_t flags = 0;
|
||||
//#ifdef _DEBUG
|
||||
// flags = FAUDIO_DEBUG_ENGINE;
|
||||
//#endif
|
||||
hr = FAudioCreate(&faud, flags, FAUDIO_DEFAULT_PROCESSOR);
|
||||
|
||||
if (hr != S_OK) {
|
||||
if (hr != 0) {
|
||||
wxLogError(_("The FAudio interface failed to initialize!"));
|
||||
failed = true;
|
||||
return false;
|
||||
|
@ -359,19 +355,18 @@ bool FAudio_Output::init(long sampleRate)
|
|||
soundBufferLen = (freq / 60) * 4;
|
||||
// create own buffers to store sound data because it must not be
|
||||
// manipulated while the voice plays from it
|
||||
buffers = (BYTE*)malloc((bufferCount + 1) * soundBufferLen);
|
||||
buffers = (uint8_t*)malloc((bufferCount + 1) * soundBufferLen);
|
||||
// + 1 because we need one temporary buffer when all others are in use
|
||||
WAVEFORMATEX wfx;
|
||||
ZeroMemory(&wfx, sizeof(wfx));
|
||||
wfx.wFormatTag = WAVE_FORMAT_PCM;
|
||||
FAudioWaveFormatEx wfx;
|
||||
memset(&wfx, NULL, sizeof(wfx));
|
||||
wfx.wFormatTag = FAUDIO_FORMAT_PCM;
|
||||
wfx.nChannels = 2;
|
||||
wfx.nSamplesPerSec = freq;
|
||||
wfx.wBitsPerSample = 16;
|
||||
wfx.nBlockAlign = wfx.nChannels * (wfx.wBitsPerSample / 8);
|
||||
wfx.nAvgBytesPerSec = wfx.nSamplesPerSec * wfx.nBlockAlign;
|
||||
// create sound receiver
|
||||
hr = FAudio_CreateMasteringVoice(
|
||||
faud,
|
||||
hr = FAudio_CreateMasteringVoice(faud,
|
||||
&mVoice,
|
||||
FAUDIO_DEFAULT_CHANNELS,
|
||||
FAUDIO_DEFAULT_SAMPLERATE,
|
||||
|
@ -379,7 +374,7 @@ bool FAudio_Output::init(long sampleRate)
|
|||
FAGetDev(faud),
|
||||
NULL);
|
||||
|
||||
if (hr != S_OK) {
|
||||
if (hr != 0) {
|
||||
wxLogError(_("FAudio: Creating mastering voice failed!"));
|
||||
failed = true;
|
||||
return false;
|
||||
|
@ -387,10 +382,9 @@ bool FAudio_Output::init(long sampleRate)
|
|||
|
||||
// create sound emitter
|
||||
//This should be FAudio_CreateSourceVoice()
|
||||
//hr = faud->CreateSourceVoice(&sVoice, &wfx, 0, 4.0f, ¬ify);
|
||||
hr = FAudio_CreateSourceVoice(faud, &sVoice, (const FAudioWaveFormatEx*)&wfx, 0, 4.0f, ¬ify, NULL, NULL);
|
||||
hr = FAudio_CreateSourceVoice(faud, &sVoice, &wfx, 0, 4.0f, ¬ify, NULL, NULL);
|
||||
|
||||
if (hr != S_OK) {
|
||||
if (hr != 0) {
|
||||
wxLogError(_("FAudio: Creating source voice failed!"));
|
||||
failed = true;
|
||||
return false;
|
||||
|
@ -399,9 +393,8 @@ bool FAudio_Output::init(long sampleRate)
|
|||
if (gopts.upmix) {
|
||||
// set up stereo upmixing
|
||||
FAudioDeviceDetails dd;
|
||||
ZeroMemory(&dd, sizeof(dd));
|
||||
hr = FAudio_GetDeviceDetails(faud, 0, &dd);
|
||||
assert(hr == S_OK);
|
||||
memset(&dd, NULL, sizeof(dd));
|
||||
assert(FAudio_GetDeviceDetails(faud, 0, &dd) == 0);
|
||||
float* matrix = NULL;
|
||||
matrix = (float*)malloc(sizeof(float) * 2 * dd.OutputFormat.Format.nChannels);
|
||||
|
||||
|
@ -497,8 +490,8 @@ bool FAudio_Output::init(long sampleRate)
|
|||
}
|
||||
|
||||
if (matrixAvailable) {
|
||||
hr = FAudioVoice_SetOutputMatrix(sVoice, NULL, 2, dd.OutputFormat.Format.nChannels, matrix, FAUDIO_DEFAULT_CHANNELS); //What I have here for the OperationSet maybe wrong...
|
||||
assert(hr == S_OK);
|
||||
hr = FAudioVoice_SetOutputMatrix(sVoice, NULL, 2, dd.OutputFormat.Format.nChannels, matrix, FAUDIO_DEFAULT_CHANNELS);
|
||||
assert(hr == 0);
|
||||
}
|
||||
|
||||
free(matrix);
|
||||
|
@ -506,7 +499,7 @@ bool FAudio_Output::init(long sampleRate)
|
|||
}
|
||||
|
||||
hr = FAudioSourceVoice_Start(sVoice, 0, FAUDIO_COMMIT_NOW);
|
||||
assert(hr == S_OK);
|
||||
assert(hr == 0);
|
||||
playing = true;
|
||||
currentBuffer = 0;
|
||||
device_changed = false;
|
||||
|
@ -516,7 +509,7 @@ bool FAudio_Output::init(long sampleRate)
|
|||
|
||||
void FAudio_Output::write(uint16_t* finalWave, int length)
|
||||
{
|
||||
UINT32 flags = 0;
|
||||
uint32_t flags = 0;
|
||||
if (!initialized || failed)
|
||||
return;
|
||||
|
||||
|
@ -557,13 +550,13 @@ void FAudio_Output::write(uint16_t* finalWave, int length)
|
|||
}
|
||||
|
||||
// copy & protect the audio data in own memory area while playing it
|
||||
CopyMemory(&buffers[currentBuffer * soundBufferLen], finalWave, soundBufferLen);
|
||||
memcpy(&buffers[currentBuffer * soundBufferLen], finalWave, soundBufferLen);
|
||||
buf.AudioBytes = soundBufferLen;
|
||||
buf.pAudioData = &buffers[currentBuffer * soundBufferLen];
|
||||
currentBuffer++;
|
||||
currentBuffer %= (bufferCount + 1); // + 1 because we need one temporary buffer
|
||||
HRESULT hr = FAudioSourceVoice_SubmitSourceBuffer(sVoice, &buf, NULL); // send buffer to queue.
|
||||
assert(hr == S_OK);
|
||||
uint32_t hr = FAudioSourceVoice_SubmitSourceBuffer(sVoice, &buf, NULL);
|
||||
assert(hr == 0);
|
||||
}
|
||||
|
||||
void FAudio_Output::pause()
|
||||
|
@ -572,8 +565,8 @@ void FAudio_Output::pause()
|
|||
return;
|
||||
|
||||
if (playing) {
|
||||
HRESULT hr = FAudioSourceVoice_Stop(sVoice, 0, FAUDIO_COMMIT_NOW);
|
||||
assert(hr == S_OK);
|
||||
uint32_t hr = FAudioSourceVoice_Stop(sVoice, 0, FAUDIO_COMMIT_NOW);
|
||||
assert(hr == 0);
|
||||
playing = false;
|
||||
}
|
||||
}
|
||||
|
@ -584,8 +577,8 @@ void FAudio_Output::resume()
|
|||
return;
|
||||
|
||||
if (!playing) {
|
||||
HRESULT hr = FAudioSourceVoice_Start(sVoice, 0, FAUDIO_COMMIT_NOW);
|
||||
assert(hr == S_OK);
|
||||
uint32_t hr = FAudioSourceVoice_Start(sVoice, 0, FAUDIO_COMMIT_NOW);
|
||||
assert(hr == 0);
|
||||
playing = true;
|
||||
}
|
||||
}
|
||||
|
@ -596,8 +589,8 @@ void FAudio_Output::reset()
|
|||
return;
|
||||
|
||||
if (playing) {
|
||||
HRESULT hr = FAudioSourceVoice_Stop(sVoice, 0, FAUDIO_COMMIT_NOW);
|
||||
assert(hr == S_OK);
|
||||
uint32_t hr = FAudioSourceVoice_Stop(sVoice, 0, FAUDIO_COMMIT_NOW);
|
||||
assert(hr == 0);
|
||||
}
|
||||
|
||||
FAudioSourceVoice_FlushSourceBuffers(sVoice);
|
||||
|
@ -613,8 +606,8 @@ void FAudio_Output::setThrottle(unsigned short throttle_)
|
|||
if (throttle_ == 0)
|
||||
throttle_ = 100;
|
||||
|
||||
HRESULT hr = FAudioSourceVoice_SetFrequencyRatio(sVoice, (float)throttle_ / 100.0f, FAUDIO_MAX_FILTER_FREQUENCY);
|
||||
assert(hr == S_OK);
|
||||
uint32_t hr = FAudioSourceVoice_SetFrequencyRatio(sVoice, (float)throttle_ / 100.0f, FAUDIO_MAX_FILTER_FREQUENCY);
|
||||
assert(hr == 0);
|
||||
}
|
||||
|
||||
void faudio_device_changed(FAudio_Output* instance)
|
||||
|
|
|
@ -2612,18 +2612,18 @@ bool MainFrame::BindControls()
|
|||
d->Fit();
|
||||
}
|
||||
|
||||
d = LoadXRCDialog("UIConfig");
|
||||
{ getcbb("HideMenuBar", gopts.hide_menu_bar); }
|
||||
wxMenuItem* suspend_scr_saver_mi = XRCITEM("SuspendScreenSaver");
|
||||
if (suspend_scr_saver_mi)
|
||||
{
|
||||
getcbb("SuspendScreenSaver", gopts.suspend_screensaver);
|
||||
// TODO: change preprocessor directive to fit other platforms
|
||||
// TODO: change preprocessor directive to fit other platforms
|
||||
#if !defined(HAVE_XSS)
|
||||
cb->Hide();
|
||||
suspend_scr_saver_mi->GetMenu()->Remove(suspend_scr_saver_mi);
|
||||
#else
|
||||
if (wxGetApp().UsingWayland())
|
||||
cb->Hide();
|
||||
suspend_scr_saver_mi->GetMenu()->Remove(suspend_scr_saver_mi);
|
||||
#endif // !HAVE_XSS
|
||||
}
|
||||
|
||||
wxFilePickerCtrl* fp;
|
||||
#define getfp(n, o, l) \
|
||||
do { \
|
||||
|
|
|
@ -1900,14 +1900,14 @@ void DrawingPanelBase::DrawArea(uint8_t** data)
|
|||
|
||||
// draw OSD text old-style (directly into output buffer), if needed
|
||||
// new style flickers too much, so we'll stick to this for now
|
||||
if (wxGetApp().frame->IsFullScreen() || !OPTION(kGenStatusBar)) {
|
||||
if (wxGetApp().frame->IsFullScreen() || !OPTION(kPrefDisableStatus)) {
|
||||
GameArea* panel = wxGetApp().frame->GetPanel();
|
||||
|
||||
if (panel->osdstat.size())
|
||||
drawText(todraw + outstride * (systemColorDepth != 24), outstride,
|
||||
10, 20, UTF8(panel->osdstat), OPTION(kPrefShowSpeedTransparent));
|
||||
|
||||
if (!OPTION(kPrefDisableStatus) && !panel->osdtext.empty()) {
|
||||
if (!panel->osdtext.empty()) {
|
||||
if (systemGetClock() - panel->osdtime < OSD_TIME) {
|
||||
wxString message = panel->osdtext;
|
||||
int linelen = std::ceil(width * scale - 20) / 8;
|
||||
|
|
|
@ -368,10 +368,6 @@
|
|||
<checkable>1</checkable>
|
||||
</object>
|
||||
<object class="separator"/>
|
||||
<object class="wxMenuItem" name="StatusBar">
|
||||
<label>_Status bar</label>
|
||||
<checkable>1</checkable>
|
||||
</object>
|
||||
<object class="wxMenuItem" name="NoStatusMsg">
|
||||
<label>_Disable on-screen display</label>
|
||||
<checkable>1</checkable>
|
||||
|
@ -569,8 +565,20 @@
|
|||
<object class="wxMenuItem" name="Customize">
|
||||
<label>_Key Shortcuts...</label>
|
||||
</object>
|
||||
<object class="wxMenuItem" name="UIConfigure">
|
||||
<label>_UI Settings...</label>
|
||||
<object class="wxMenu" name="UIConfigure">
|
||||
<label>UI Settings</label>
|
||||
<object class="wxMenuItem" name="StatusBar">
|
||||
<label>Enable _Status bar</label>
|
||||
<checkable>1</checkable>
|
||||
</object>
|
||||
<object class="wxMenuItem" name="HideMenuBar">
|
||||
<label>Hide _Menu Bar</label>
|
||||
<checkable>1</checkable>
|
||||
</object>
|
||||
<object class="wxMenuItem" name="SuspendScreenSaver">
|
||||
<label>Suspend _Screen Saver</label>
|
||||
<checkable>1</checkable>
|
||||
</object>
|
||||
</object>
|
||||
</object>
|
||||
<object class="wxMenu">
|
||||
|
|
|
@ -1,35 +0,0 @@
|
|||
<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
|
||||
<resource xmlns="http://www.wxwidgets.org/wxxrc" version="2.5.3.0">
|
||||
<object class="wxDialog" name="UIConfig">
|
||||
<title>User Interface Settings</title>
|
||||
<object class="wxBoxSizer">
|
||||
<orient>wxVERTICAL</orient>
|
||||
<object class="sizeritem">
|
||||
<object class="wxCheckBox" name="HideMenuBar">
|
||||
<label>Hide Menu Bar</label>
|
||||
</object>
|
||||
<flag>wxALL</flag>
|
||||
<border>5</border>
|
||||
</object>
|
||||
<object class="sizeritem">
|
||||
<object class="wxCheckBox" name="SuspendScreenSaver">
|
||||
<label>Suspend ScreenSaver</label>
|
||||
</object>
|
||||
<flag>wxALL</flag>
|
||||
<border>5</border>
|
||||
</object>
|
||||
<object class="sizeritem">
|
||||
<flag>wxALL|wxEXPAND</flag>
|
||||
<border>5</border>
|
||||
<object class="wxStdDialogButtonSizer">
|
||||
<object class="button">
|
||||
<object class="wxButton" name="wxID_OK"/>
|
||||
</object>
|
||||
<object class="button">
|
||||
<object class="wxButton" name="wxID_CANCEL"/>
|
||||
</object>
|
||||
</object>
|
||||
</object>
|
||||
</object>
|
||||
</object>
|
||||
</resource>
|
Loading…
Reference in New Issue