$OpenBSD: patch-libs_hydrogen_src_preferences_cpp,v 1.2 2019/01/08 21:24:29 sebastia Exp $
Index: libs/hydrogen/src/preferences.cpp
--- libs/hydrogen/src/preferences.cpp.orig
+++ libs/hydrogen/src/preferences.cpp
@@ -183,7 +183,7 @@ Preferences::Preferences()
 	m_patternCategories.push_back( QString("not_categorized") );
 
 	//___ audio engine properties ___
-	m_sAudioDriver = QString("Auto");
+	m_sAudioDriver = QString("SndioAudio");
 	m_bUseMetronome = false;
 	m_fMetronomeVolume = 0.5;
 	m_nMaxNotes = 256;
@@ -193,8 +193,11 @@ Preferences::Preferences()
 	//___ oss driver properties ___
 	m_sOSSDevice = QString("/dev/dsp");
 
+	//___ SndioAudio driver properties ___
+	m_sSndioDevice = QString("");
+
 	//___ MIDI Driver properties
-	m_sMidiDriver = QString("ALSA");
+	m_sMidiDriver = QString("SndioMidi");
 	m_sMidiPortName = QString("None");
 	m_nMidiChannelFilter = -1;
 	m_bMidiNoteOffIgnore = false;
@@ -484,6 +487,15 @@ void Preferences::loadPreferences( bool bGlobal )
 					m_sOSSDevice = LocalFileMng::readXmlString( ossDriverNode, "ossDevice", m_sOSSDevice );
 				}
 
+				//// SNDIO AUDIO DRIVER ////
+				QDomNode sndioAudioDriverNode = audioEngineNode.firstChildElement( "sndio_driver" );
+				if ( sndioAudioDriverNode.isNull() ) {
+					WARNINGLOG( "sndio_driver node not found" );
+					recreate = true;
+				} else {
+					m_sSndioDevice = LocalFileMng::readXmlString( sndioAudioDriverNode, "sndioDevice", m_sSndioDevice );
+				}
+
 				//// JACK DRIVER ////
 				QDomNode jackDriverNode = audioEngineNode.firstChildElement( "jack_driver" );
 				if ( jackDriverNode.isNull() ) {
@@ -530,7 +542,7 @@ void Preferences::loadPreferences( bool bGlobal )
 					WARNINGLOG( "midi_driver node not found" );
 					recreate = true;
 				} else {
-					m_sMidiDriver = LocalFileMng::readXmlString( midiDriverNode, "driverName", "ALSA" );
+					m_sMidiDriver = LocalFileMng::readXmlString( midiDriverNode, "driverName", "SndioMidi" );
 					m_sMidiPortName = LocalFileMng::readXmlString( midiDriverNode, "port_name", "None" );
 					m_nMidiChannelFilter = LocalFileMng::readXmlInt( midiDriverNode, "channel_filter", -1 );
 					m_bMidiNoteOffIgnore = LocalFileMng::readXmlBool( midiDriverNode, "ignore_note_off", true );
@@ -830,6 +842,13 @@ void Preferences::savePreferences()
 			LocalFileMng::writeXmlString( ossDriverNode, "ossDevice", m_sOSSDevice );
 		}
 		audioEngineNode.appendChild( ossDriverNode );
+
+		//// SNDIO DRIVER ////
+		QDomNode sndioAudioDriverNode = doc.createElement( "sndio_driver" );
+		{
+			 LocalFileMng::writeXmlString( sndioAudioDriverNode, "sndioDevice", m_sSndioDevice );
+		}
+		audioEngineNode.appendChild( sndioAudioDriverNode );
 
 		//// JACK DRIVER ////
 		QDomNode jackDriverNode = doc.createElement( "jack_driver" );
