22#ifndef IMUSE_DRV_FMTOWNS_H
23#define IMUSE_DRV_FMTOWNS_H
25#include "audio/softsynth/fmtowns_pc98/towns_audio.h"
26#include "audio/mididrv.h"
30class TownsMidiOutputChannel;
31class TownsMidiInputChannel;
32class TownsMidiChanState;
35friend class TownsMidiInputChannel;
36friend class TownsMidiOutputChannel;
42 bool isOpen()
const override {
return _isOpen; }
45 void send(uint32 b)
override;
53 void timerCallback(
int timerId)
override;
57 void updateOutputChannels();
59 TownsMidiOutputChannel *allocateOutputChannel(uint8 pri);
61 int randomValue(
int para);
63 TownsMidiInputChannel **_channels;
64 TownsMidiOutputChannel **_out;
65 TownsMidiChanState *_chanState;
66 const uint8 _numParts;
79 uint8 *_operatorLevelTable;
81 const uint16 _baseTempo;
void(* TimerProc)(void *refCon)
Definition: timer.h:42
Definition: mididrv.h:541
Definition: mididrv.h:313
bool isOpen() const override
Definition: fmtowns.h:42
void send(uint32 b) override
uint32 getBaseTempo() override
Definition: towns_audio.h:37
Definition: towns_audio.h:31