~ubuntu-branches/ubuntu/raring/scummvm/raring

« back to all changes in this revision

Viewing changes to backends/midi/stmidi.cpp

  • Committer: Bazaar Package Importer
  • Author(s): Moritz Muehlenhoff
  • Date: 2011-05-25 19:02:23 UTC
  • mto: (21.1.2 sid)
  • mto: This revision was merged to the branch mainline in revision 24.
  • Revision ID: james.westby@ubuntu.com-20110525190223-fiqm0oaec714xk31
Tags: upstream-1.3.0
ImportĀ upstreamĀ versionĀ 1.3.0

Show diffs side-by-side

added added

removed removed

Lines of Context:
18
18
 * along with this program; if not, write to the Free Software
19
19
 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
20
20
 *
21
 
 * $URL: https://scummvm.svn.sourceforge.net/svnroot/scummvm/scummvm/tags/release-1-2-1/backends/midi/stmidi.cpp $
22
 
 * $Id: stmidi.cpp 50128 2010-06-21 21:36:36Z fingolfin $
 
21
 * $URL$
 
22
 * $Id$
23
23
 */
24
24
 
25
25
/*
34
34
 * cycles.  I might change so sysex messages are sent the other way later.
35
35
 */
36
36
 
 
37
// Disable symbol overrides so that we can use system headers.
 
38
#define FORBIDDEN_SYMBOL_ALLOW_ALL
 
39
 
 
40
#include "common/scummsys.h"
 
41
 
37
42
#if defined __MINT__
38
43
 
39
44
#include <osbind.h>
40
 
#include "sound/mpu401.h"
 
45
#include "audio/mpu401.h"
41
46
#include "common/util.h"
42
 
#include "sound/musicplugin.h"
 
47
#include "audio/musicplugin.h"
43
48
 
44
49
class MidiDriver_STMIDI : public MidiDriver_MPU401 {
45
50
public:
46
 
        MidiDriver_STMIDI() : _isOpen (false) { }
 
51
        MidiDriver_STMIDI() : _isOpen (false) { }
47
52
        int open();
 
53
        bool isOpen() const { return _isOpen; }
48
54
        void close();
49
55
        void send(uint32 b);
50
56
        void sysEx(const byte *msg, uint16 length);
54
60
};
55
61
 
56
62
int MidiDriver_STMIDI::open() {
57
 
        if ((_isOpen) && (!Bcostat(4)))
 
63
        if (_isOpen && (!Bcostat(4)))
58
64
                return MERR_ALREADY_OPEN;
59
65
        warning("ST Midi Port Open");
60
66
        _isOpen = true;
118
124
 
119
125
class StMidiMusicPlugin : public MusicPluginObject {
120
126
public:
121
 
        const char *getName() const {
122
 
                return "STMIDI";
123
 
        }
124
 
 
125
 
        const char *getId() const {
126
 
                return "stmidi";
127
 
        }
128
 
 
129
 
        MusicDevices getDevices() const;
130
 
                Common::Error createInstance(MidiDriver **mididriver, MidiDriver::DeviceHandle = 0) const;
 
127
        const char *getName() const {
 
128
                return "STMIDI";
 
129
        }
 
130
 
 
131
        const char *getId() const {
 
132
                return "stmidi";
 
133
        }
 
134
 
 
135
        MusicDevices getDevices() const;
 
136
        Common::Error createInstance(MidiDriver **mididriver, MidiDriver::DeviceHandle = 0) const;
131
137
};
132
138
 
133
139
MusicDevices StMidiMusicPlugin::getDevices() const {
134
 
        MusicDevices devices;
135
 
        // TODO: Return a different music type depending on the configuration
136
 
        // TODO: List the available devices
137
 
        devices.push_back(MusicDevice(this, "", MT_GM));
138
 
        return devices;
 
140
        MusicDevices devices;
 
141
        // TODO: Return a different music type depending on the configuration
 
142
        // TODO: List the available devices
 
143
        devices.push_back(MusicDevice(this, "", MT_GM));
 
144
        return devices;
139
145
}
140
146
 
141
147
Common::Error StMidiMusicPlugin::createInstance(MidiDriver **mididriver, MidiDriver::DeviceHandle) const {
142
 
        *mididriver = new MidiDriver_STMIDI();
 
148
        *mididriver = new MidiDriver_STMIDI();
143
149
 
144
 
        return Common::kNoError;
 
150
        return Common::kNoError;
145
151
}
146
152
 
147
153
//#if PLUGIN_ENABLED_DYNAMIC(STMIDI)
148
 
        //REGISTER_PLUGIN_DYNAMIC(STMIDI, PLUGIN_TYPE_MUSIC, StMidiMusicPlugin);
 
154
        //REGISTER_PLUGIN_DYNAMIC(STMIDI, PLUGIN_TYPE_MUSIC, StMidiMusicPlugin);
149
155
//#else
150
 
        REGISTER_PLUGIN_STATIC(STMIDI, PLUGIN_TYPE_MUSIC, StMidiMusicPlugin);
 
156
        REGISTER_PLUGIN_STATIC(STMIDI, PLUGIN_TYPE_MUSIC, StMidiMusicPlugin);
151
157
//#endif
152
158
 
153
159
#endif