diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml
index 4f7fa89aa12..74cf7924831 100644
--- a/.github/workflows/build.yml
+++ b/.github/workflows/build.yml
@@ -57,6 +57,9 @@ jobs:
- name: Windows 2019 (MSVC)
os: windows-2019
# TODO: Reenable FFmpeg after licensing issues have been clarified
+ # Attention: If you change the cmake_args for the Windows CI build,
+ # also adjust the for the local Windows build setup in
+ # ./tools/windows_buildenv.bat
cmake_args: >-
-DBULK=OFF
-DFFMPEG=OFF
diff --git a/res/Mixxx-Keyboard-Shortcuts.pdf b/res/Mixxx-Keyboard-Shortcuts.pdf
index 3e5623f8eb4..6efd3a85851 100644
Binary files a/res/Mixxx-Keyboard-Shortcuts.pdf and b/res/Mixxx-Keyboard-Shortcuts.pdf differ
diff --git a/res/images/templates/ic_template_keyboard_mapping_sheet.svg b/res/images/templates/ic_template_keyboard_mapping_sheet.svg
index 6b921e86981..1d9651e790e 100644
--- a/res/images/templates/ic_template_keyboard_mapping_sheet.svg
+++ b/res/images/templates/ic_template_keyboard_mapping_sheet.svg
@@ -9,7 +9,7 @@
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
sodipodi:docname="ic_template_keyboard_mapping_sheet.svg"
- inkscape:version="1.0.1 (0767f8302a, 2020-10-17)"
+ inkscape:version="1.0.2 (394de47547, 2021-03-26)"
style="display:inline"
xml:space="preserve"
id="Layer_1"
@@ -29,13 +29,13 @@
inkscape:window-height="1056"
id="namedview8739"
showgrid="false"
- inkscape:zoom="2.7869995"
- inkscape:cx="255.18168"
- inkscape:cy="175.81754"
+ inkscape:zoom="1.7564101"
+ inkscape:cx="405.98341"
+ inkscape:cy="148.62522"
inkscape:window-x="0"
inkscape:window-y="0"
inkscape:window-maximized="1"
- inkscape:current-layer="g3458"
+ inkscape:current-layer="layer2"
showguides="true"
inkscape:guide-bbox="true"
units="px"
@@ -139,13 +139,7 @@
x1="1.2294425"
y1="-0.099446326"
x2="0.34167257"
- y2="-0.099446379" />
-
-
-
-
-
-
-
-
-
-Mixxx default keyboard mapping sheet *www.mixxx.org
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+rate - small
+ style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:20px;line-height:1.25;font-family:sans-serif;-inkscape-font-specification:'Sans Bold';text-align:center;text-anchor:middle"
+ y="528.76453"
+ x="394.76688"
+ id="tspan2004"
+ sodipodi:role="line">Mixxx default keyboard mapping sheet *www.mixxx.org
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-rate + small
-temp - small
-temp + small
@@ -13421,1207 +8618,146 @@
-loopin
-loopout
-reloop/ exit
-QuickEffect
-sync tap
-loopin
-loopout
-reloop/ exit
-QuickEffect
-4-barloop
-loop÷ 2
-loopx 2
-headphone
-headphone
-4-barloop
-loop÷ 2
-loopx 2
-back rev
-play cue set
-cue cue go
-xFader small
-xFader small
-fwd
-back rev
-play cue set
-fwd
-cue cue go
-load 1eject 1
-load 2 eject 2
-talkover
-hot 1 clear
-hot 2 clear
-hot 3 clear
-hot 4 clear
-lowkill
-lowkill
@@ -14714,191 +8850,6 @@
width="46.276413"
id="rect3140"
style="color:#000000;display:inline;overflow:visible;visibility:visible;fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:#606163;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:accumulate" />Each control inside Mixxx is identified by a unique string. These strings are used in the keyboard mappings, the MIDI mappings, and inside Mixxx to gain access to the controls. The following is a list of controls that can be used in any of the above contexts.
+Each control inside Mixxx is identified by a unique string. These strings are used in the keyboard mappings, the MIDI mappings, and inside Mixxx to gain access to the controls. The following is a list of controls that can be used in any of the above contexts.
+
+
+
+
+Each control inside Mixxx is identified by a unique string. These strings are used in the keyboard mappings, the MIDI mappings, and inside Mixxx to gain access to the controls. The following is a list of controls that can be used in any of the above contexts.https://manual.mixxx.org/2.3/en/chapters/advanced_topics.html#making-a-custom-keyboard-mapping
+
+
+
+
+List of controls that can be used in the keyboard mapping:
+
+
+
+
+
+Each control inside Mixxx is identified by a unique string. These strings are used in the keyboard mappings, the MIDI mappings, and inside Mixxx to gain access to the controls. The following is a list of controls that can be used in any of the above contexts.https://mixxx.discourse.group/c/keyboard-mappings/12
+
+
-Each control inside Mixxx is identified by a unique string. These strings are used in the keyboard mappings, the MIDI mappings, and inside Mixxx to gain access to the controls. The following is a list of controls that can be used in any of the above contexts.https://manual.mixxx.org/2.3/en/chapters/advanced_topics.html#making-a-custom-keyboard-mapping
-List of controls that can be used in the keyboard mapping:
@@ -15431,1221 +9337,7376 @@
Each control inside Mixxx is identified by a unique string. These strings are used in the keyboard mappings, the MIDI mappings, and inside Mixxx to gain access to the controls. The following is a list of controls that can be used in any of the above contexts.https://mixxx.discourse.group/c/keyboard-mappings/12For the packaged doc file, export the entire pageas Mixxx-Keyboard-Shortcuts.pdf (embed fonts).For the manual image, export the custom range defined by the rectangle in 'doc_file_frame' layer x0: 0 px width: 782 px y0: 23 px height: 241 pxas PNG: width: 1280 px height: 393 pxrate - small rate + small temp - small temp + small loopin loopout reloop/ exit QuickEffectsync tap loopin loopout reloop/ exit QuickEffect 4-barloop loop÷ 2 loopx 2 headphone headphone 4-barloop loop÷ 2 loopx 2 back rev play cue set cue cue go xFader small xFader small fwd back rev play cue set fwd cue cue go talkover hot 1 clear hot 2 clear hot 3 clear hot 4 clear lowkill lowkill AutoDJtoggle AutoDJshuffle AutoDJskip AutoDJfade Deck 1Deck 2hot 1 clear hot 2 clear hot 3 clear hot 4 clear rate - small rate + small temp - small temp + small sync tap load 1eject 1 load 2 eject 2 autoDJtoggle
-
-
-
-autoDJshuffle
-
-
-
-autoDJskip
-
-
-
-autoDJfade
-
-
-
-For the packaged doc file, export the entire pageas Mixxx-Keyboard-Shortcuts.pdf (embed fonts).For the manual image, export the custom range defined by the rectangle in 'doc_file_frame' layer x0: 0 px width: 782 px y0: 23 px height: 241 pxas PNG: width: 1280 px height: 393 pxDeck 1Deck 2hot 1 clear hot 2 clear hot 3 clear hot 4 clear rate - small rate + small ±§temp - small temp + small sync tap * for en-us keyboard layout±§
+ x="22.07848">±§
diff --git a/src/soundio/sounddeviceportaudio.cpp b/src/soundio/sounddeviceportaudio.cpp
index d14cb8272fa..68118c1ade0 100644
--- a/src/soundio/sounddeviceportaudio.cpp
+++ b/src/soundio/sounddeviceportaudio.cpp
@@ -113,7 +113,7 @@ SoundDevicePortAudio::SoundDevicePortAudio(UserSettingsPointer config,
m_deviceId.name = deviceInfo->name;
}
m_deviceId.portAudioIndex = devIndex;
- m_strDisplayName = QString::fromLocal8Bit(deviceInfo->name);
+ m_strDisplayName = QString::fromUtf8(deviceInfo->name);
m_iNumInputChannels = m_deviceInfo->maxInputChannels;
m_iNumOutputChannels = m_deviceInfo->maxOutputChannels;
diff --git a/tools/windows_buildenv.bat b/tools/windows_buildenv.bat
index eae170dffe5..8d03e7d5308 100644
--- a/tools/windows_buildenv.bat
+++ b/tools/windows_buildenv.bat
@@ -176,12 +176,12 @@ REM Generate CMakeSettings.json which is read by MS Visual Studio to determine t
CALL :AddCMakeVar2CMakeSettings_JSON "VCPKG_TARGET_TRIPLET" "STRING" "x64-windows"
CALL :AddCMakeVar2CMakeSettings_JSON "BATTERY" "BOOL" "True"
CALL :AddCMakeVar2CMakeSettings_JSON "BROADCAST" "BOOL" "True"
- CALL :AddCMakeVar2CMakeSettings_JSON "BULK" "BOOL" "True"
+ CALL :AddCMakeVar2CMakeSettings_JSON "BULK" "BOOL" "False"
CALL :AddCMakeVar2CMakeSettings_JSON "CMAKE_EXPORT_COMPILE_COMMANDS" "BOOL" "True"
REM Replace all \ by \\ in CMAKE_PREFIX_PATH
CALL :AddCMakeVar2CMakeSettings_JSON "CMAKE_PREFIX_PATH" "STRING" "!CMAKE_PREFIX_PATH:\=\\!"
CALL :AddCMakeVar2CMakeSettings_JSON "DEBUG_ASSERTIONS_FATAL" "BOOL" "True"
- CALL :AddCMakeVar2CMakeSettings_JSON "FFMPEG" "BOOL" "True"
+ CALL :AddCMakeVar2CMakeSettings_JSON "FFMPEG" "BOOL" "False"
CALL :AddCMakeVar2CMakeSettings_JSON "HID" "BOOL" "True"
CALL :AddCMakeVar2CMakeSettings_JSON "HSS1394" "BOOL" "True"
CALL :AddCMakeVar2CMakeSettings_JSON "KEYFINDER" "BOOL" "False"
@@ -189,12 +189,14 @@ REM Generate CMakeSettings.json which is read by MS Visual Studio to determine t
CALL :AddCMakeVar2CMakeSettings_JSON "LILV" "BOOL" "True"
CALL :AddCMakeVar2CMakeSettings_JSON "MAD" "BOOL" "True"
CALL :AddCMakeVar2CMakeSettings_JSON "MEDIAFOUNDATION" "BOOL" "True"
+ CALL :AddCMakeVar2CMakeSettings_JSON "MODPLUG" "BOOL" "True"
CALL :AddCMakeVar2CMakeSettings_JSON "OPUS" "BOOL" "True"
CALL :AddCMakeVar2CMakeSettings_JSON "OPTIMIZE" "STRING" "%1"
CALL :AddCMakeVar2CMakeSettings_JSON "QTKEYCHAIN" "BOOL" "True"
CALL :AddCMakeVar2CMakeSettings_JSON "STATIC_DEPS" "BOOL" "False"
- SET variableElementTermination=
CALL :AddCMakeVar2CMakeSettings_JSON "VINYLCONTROL" "BOOL" "True"
+ SET variableElementTermination=
+ CALL :AddCMakeVar2CMakeSettings_JSON "WAVPACK" "BOOL" "True"
>>%CMakeSettings% echo ]
>>%CMakeSettings% echo }!configElementTermination!
GOTO :EOF