GUI: add mono/poly note preview button
This commit is contained in:
parent
a6b33d0955
commit
1f1d2c85bd
6 changed files with 47 additions and 3 deletions
|
|
@ -2500,7 +2500,7 @@ void DivEngine::autoNoteOn(int ch, int ins, int note, int vol) {
|
|||
|
||||
// 2. find a free channel
|
||||
do {
|
||||
if (isViable[finalChan] && chan[finalChan].midiNote==-1 && (insInst->type==DIV_INS_OPL || getChannelType(finalChan)==finalChanType || notInViableChannel)) {
|
||||
if ((!midiPoly) || (isViable[finalChan] && chan[finalChan].midiNote==-1 && (insInst->type==DIV_INS_OPL || getChannelType(finalChan)==finalChanType || notInViableChannel))) {
|
||||
chan[finalChan].midiNote=note;
|
||||
chan[finalChan].midiAge=midiAgeCounter++;
|
||||
pendingNotes.push(DivNoteEvent(finalChan,ins,note,vol,true));
|
||||
|
|
@ -2556,6 +2556,10 @@ void DivEngine::autoNoteOffAll() {
|
|||
}
|
||||
}
|
||||
|
||||
void DivEngine::setAutoNotePoly(bool poly) {
|
||||
midiPoly=poly;
|
||||
}
|
||||
|
||||
void DivEngine::setOrder(unsigned char order) {
|
||||
BUSY_BEGIN_SOFT;
|
||||
curOrder=order;
|
||||
|
|
|
|||
|
|
@ -352,6 +352,7 @@ class DivEngine {
|
|||
int reversePitchTable[4096];
|
||||
int pitchTable[4096];
|
||||
int midiBaseChan;
|
||||
bool midiPoly;
|
||||
size_t midiAgeCounter;
|
||||
|
||||
blip_buffer_t* samp_bb;
|
||||
|
|
@ -725,6 +726,9 @@ class DivEngine {
|
|||
void autoNoteOn(int chan, int ins, int note, int vol=-1);
|
||||
void autoNoteOff(int chan, int note, int vol=-1);
|
||||
void autoNoteOffAll();
|
||||
|
||||
// set whether autoNoteIn is mono or poly
|
||||
void setAutoNotePoly(bool poly);
|
||||
|
||||
// go to order
|
||||
void setOrder(unsigned char order);
|
||||
|
|
@ -956,6 +960,7 @@ class DivEngine {
|
|||
audioEngine(DIV_AUDIO_NULL),
|
||||
exportMode(DIV_EXPORT_MODE_ONE),
|
||||
midiBaseChan(0),
|
||||
midiPoly(true),
|
||||
midiAgeCounter(0),
|
||||
samp_bb(NULL),
|
||||
samp_bbInLen(0),
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue