Skip to content
Permalink
Browse files
SDL Mixer X: Added the libOPNMIDI support!
The support for custom banks is provided by library API, but not used internally in PGE yet
  • Loading branch information
Wohlstand committed May 14, 2017
1 parent f763320 commit d7f8868a80409ba05f7df854f0fb5011d50632ec
Show file tree
Hide file tree
Showing 27 changed files with 8,383 additions and 13 deletions.
@@ -52,7 +52,7 @@ QCheckBox {
border-width: 0px;
color: rgb(0, 255, 255);
}
QComboBox, QSpinBox{
QComboBox, QSpinBox, QLineEdit{
border-radius: 3px;
border-width: 2px;
border-style: solid;
@@ -313,7 +313,7 @@ border-bottom-color: rgb(0, 120, 0);
<widget class="QComboBox" name="mididevice">
<item>
<property name="text">
<string>ADL Midi (OPL Synth emulation)</string>
<string>ADL Midi (OPL3 Synth emulation)</string>
</property>
</item>
<item>
@@ -326,6 +326,11 @@ border-bottom-color: rgb(0, 120, 0);
<string>Native midi (Built-in MIDI of your OS)</string>
</property>
</item>
<item>
<property name="text">
<string>OPN Midi (YM2612 Synth emulation)</string>
</property>
</item>
<item>
<property name="text">
<string>FluidSynth (SF2-based wavetable MIDI Synth)</string>
@@ -464,6 +469,32 @@ border-bottom-color: rgb(0, 120, 0);
</layout>
</widget>
</item>
<item row="2" column="0" colspan="2">
<widget class="QGroupBox" name="opnmidi_extra">
<property name="title">
<string>OPNMIDI Extra Setup</string>
</property>
<layout class="QGridLayout" name="gridLayout_4">
<item row="0" column="1">
<widget class="QLineEdit" name="opn_bank"/>
</item>
<item row="0" column="0">
<widget class="QLabel" name="label_10">
<property name="text">
<string>Custom bank file:</string>
</property>
</widget>
</item>
<item row="0" column="2">
<widget class="QPushButton" name="opn_bank_browse">
<property name="text">
<string>Browse</string>
</property>
</widget>
</item>
</layout>
</widget>
</item>
</layout>
</widget>
</item>
@@ -94,31 +94,33 @@ MusPlayer_Qt::MusPlayer_Qt(QWidget *parent) : QMainWindow(parent),
restoreGeometry(setup.value("Window-Geometry").toByteArray());
ui->mididevice->setCurrentIndex(setup.value("MIDI-Device", 0).toInt());

ui->opnmidi_extra->setVisible(ui->mididevice->currentIndex() == 3);
ui->adlmidi_xtra->setVisible(ui->mididevice->currentIndex() == 0);

switch(ui->mididevice->currentIndex())
{
case 0:
MIX_SetMidiDevice(MIDI_ADLMIDI);
ui->adlmidi_xtra->setVisible(true);
break;

case 1:
MIX_SetMidiDevice(MIDI_Timidity);
ui->adlmidi_xtra->setVisible(false);
break;

case 2:
MIX_SetMidiDevice(MIDI_Native);
ui->adlmidi_xtra->setVisible(false);
break;

case 3:
MIX_SetMidiDevice(MIDI_OPNMIDI);
break;

case 4:
MIX_SetMidiDevice(MIDI_Fluidsynth);
ui->adlmidi_xtra->setVisible(false);
break;

default:
MIX_SetMidiDevice(MIDI_ADLMIDI);
ui->adlmidi_xtra->setVisible(true);
break;
}

@@ -139,6 +141,7 @@ MusPlayer_Qt::MusPlayer_Qt(QWidget *parent) : QMainWindow(parent),
ui->volume->setValue(setup.value("Volume", 128).toInt());
m_prevTrackID = ui->trackID->value();
ui->adlmidi_xtra->setVisible(false);
ui->opnmidi_extra->setVisible(false);
ui->midi_setup->setVisible(false);
ui->gme_setup->setVisible(false);

@@ -354,6 +357,7 @@ void MusPlayer_Qt::switchMidiDevice(int index)
{
ui->midi_setup->setVisible(false);
ui->adlmidi_xtra->setVisible(false);
ui->opnmidi_extra->setVisible(false);
ui->midi_setup->setVisible(true);

switch(index)
@@ -365,17 +369,19 @@ void MusPlayer_Qt::switchMidiDevice(int index)

case 1:
MIX_SetMidiDevice(MIDI_Timidity);
ui->adlmidi_xtra->setVisible(false);
break;

case 2:
MIX_SetMidiDevice(MIDI_Native);
ui->adlmidi_xtra->setVisible(false);
break;

case 3:
MIX_SetMidiDevice(MIDI_OPNMIDI);
ui->opnmidi_extra->setVisible(true);
break;

case 4:
MIX_SetMidiDevice(MIDI_Fluidsynth);
ui->adlmidi_xtra->setVisible(false);
break;

default:
@@ -450,6 +456,7 @@ void MusPlayer_Qt::on_play_clicked()
ui->musCopyright->setText(PGE_MusicPlayer::MUS_getMusCopy());
ui->gme_setup->setVisible(false);
ui->adlmidi_xtra->setVisible(false);
ui->opnmidi_extra->setVisible(false);
ui->midi_setup->setVisible(false);
ui->frame->setVisible(false);
ui->frame->setVisible(true);
@@ -460,6 +467,7 @@ void MusPlayer_Qt::on_play_clicked()
{
case MUS_MID:
ui->adlmidi_xtra->setVisible(ui->mididevice->currentIndex() == 0);
ui->opnmidi_extra->setVisible(ui->mididevice->currentIndex() == 3);
ui->midi_setup->setVisible(true);
ui->frame->setVisible(true);
break;
@@ -0,0 +1,19 @@
HEADERS += \
$$PWD/opnmidi.h \
$$PWD/opnmidi_xmi2mid.h \
$$PWD/opnmidi_private.hpp \
$$PWD/opnmidi_mus2mid.h \
$$PWD/opnbank.h \
$$PWD/fraction.h \
$$PWD/gm_opn_bank.h \
$$PWD/Ym2612_ChipEmu.h

SOURCES += \
$$PWD/opnmidi_private.cpp \
$$PWD/opnmidi_opn2.cpp \
$$PWD/opnmidi_midiplay.cpp \
$$PWD/opnmidi_load.cpp \
$$PWD/opnmidi.cpp \
$$PWD/opnmidi_xmi2mid.c \
$$PWD/opnmidi_mus2mid.c \
$$PWD/Ym2612_ChipEmu.cpp

0 comments on commit d7f8868

Please sign in to comment.