diff --git a/src/audio/midi/MidiAudio.cpp b/src/audio/midi/MidiAudio.cpp index 66617a0b63f..c87a26cd426 100644 --- a/src/audio/midi/MidiAudio.cpp +++ b/src/audio/midi/MidiAudio.cpp @@ -21,16 +21,25 @@ namespace MidiOut() noexcept { - midiOutOpen(&handle, MIDI_MAPPER, NULL, NULL, CALLBACK_NULL); - OutputMessage(PROGRAM_CHANGE, SQUARE_WAVE_SYNTH); + if constexpr (Feature_DECPSViaMidiPlayer::IsEnabled()) + { + midiOutOpen(&handle, MIDI_MAPPER, NULL, NULL, CALLBACK_NULL); + OutputMessage(PROGRAM_CHANGE, SQUARE_WAVE_SYNTH); + } } ~MidiOut() noexcept { - midiOutClose(handle); + if constexpr (Feature_DECPSViaMidiPlayer::IsEnabled()) + { + midiOutClose(handle); + } } void OutputMessage(const int b1, const int b2, const int b3 = 0, const int b4 = 0) noexcept { - midiOutShortMsg(handle, MAKELONG(MAKEWORD(b1, b2), MAKEWORD(b3, b4))); + if constexpr (Feature_DECPSViaMidiPlayer::IsEnabled()) + { + midiOutShortMsg(handle, MAKELONG(MAKEWORD(b1, b2), MAKEWORD(b3, b4))); + } } MidiOut(const MidiOut&) = delete; diff --git a/src/cascadia/TerminalControl/TerminalControlLib.vcxproj b/src/cascadia/TerminalControl/TerminalControlLib.vcxproj index 92ab903986c..478e7a3983a 100644 --- a/src/cascadia/TerminalControl/TerminalControlLib.vcxproj +++ b/src/cascadia/TerminalControl/TerminalControlLib.vcxproj @@ -147,7 +147,8 @@ - + + diff --git a/src/features.xml b/src/features.xml index cbe55f3a5ad..a8db865ddc7 100644 --- a/src/features.xml +++ b/src/features.xml @@ -117,6 +117,18 @@ + + Feature_DECPSViaMidiPlayer + Enables playing sound via DECPS using the MIDI player. + AlwaysDisabled + + + Dev + Preview + + + Feature_ScrollbarMarks Enables the experimental scrollbar marks feature.