summaryrefslogtreecommitdiff
path: root/muse_qt4_evolution/synti/fluid/fluidgui.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'muse_qt4_evolution/synti/fluid/fluidgui.cpp')
-rw-r--r--muse_qt4_evolution/synti/fluid/fluidgui.cpp68
1 files changed, 68 insertions, 0 deletions
diff --git a/muse_qt4_evolution/synti/fluid/fluidgui.cpp b/muse_qt4_evolution/synti/fluid/fluidgui.cpp
new file mode 100644
index 00000000..aea6e38a
--- /dev/null
+++ b/muse_qt4_evolution/synti/fluid/fluidgui.cpp
@@ -0,0 +1,68 @@
+//=========================================================
+// MusE
+// Linux Music Editor
+// $Id: fluidgui.cpp,v 1.10 2005/11/23 13:55:32 wschweer Exp $
+//
+// This is a simple GUI implemented with QT for
+// fluid software synthesizer.
+//
+// (C) Copyright 2001-2004 Werner Schweer (ws@seh.de)
+//=========================================================
+
+#include "fluidgui.h"
+#include "muse/midi.h"
+
+//---------------------------------------------------------
+// FLUIDGui
+//---------------------------------------------------------
+
+FLUIDGui::FLUIDGui()
+ : QDialog(0), MessGui()
+ {
+ setupUi(this);
+ connect(fdialogButton, SIGNAL(clicked()), SLOT(soundFontFileDialog()));
+ connect(loadButton, SIGNAL(clicked()), SLOT(loadFont()));
+ }
+
+//---------------------------------------------------------
+// loadFont
+// sysex f0 lenH lenM lenL 7c 00 01 name
+//---------------------------------------------------------
+
+void FLUIDGui::loadFont()
+ {
+ if (pathEntry->text().isEmpty())
+ return;
+ QFileInfo fi(pathEntry->text());
+ if (!fi.exists()) {
+ QString s = QString("SoundFont ") + pathEntry->text() + QString(" does not exists");
+ QMessageBox::critical(this, tr("FLUID: open Soundfile"), s);
+ return;
+ }
+ const char* path = pathEntry->text().toLatin1().data();
+ int len = strlen(path) + 1 + 3;
+ unsigned char buffer[len];
+ int k = 0;
+ buffer[k++] = 0x7c;
+ buffer[k++] = 0x00; // fluid
+ buffer[k++] = 0x01; // load sound font
+ strcpy((char*)(&buffer[k]), path);
+ sendSysex(buffer, len);
+ }
+
+//---------------------------------------------------------
+// soundFontFileDialog
+//---------------------------------------------------------
+
+void FLUIDGui::soundFontFileDialog()
+ {
+ QString s = QFileDialog::getOpenFileName(
+ this,
+ tr("Fluid: select Sound Font"),
+ ".",
+ QString("*.[Ss][Ff]2"));
+ if (!s.isEmpty()) {
+ pathEntry->setText(s);
+ }
+ }
+