GUI: wire up the code for custom keybinds

still no way to set them up, and four are missing
please be patient
This commit is contained in:
tildearrow 2022-02-11 18:20:39 -05:00
parent 350bbc8af1
commit 1580e5836b
4 changed files with 773 additions and 300 deletions

View File

@ -5256,6 +5256,17 @@ void DivEngine::muteChannel(int chan, bool mute) {
isBusy.unlock();
}
void DivEngine::unmuteAll() {
isBusy.lock();
for (int i=0; i<chans; i++) {
isMuted[i]=false;
if (disCont[dispatchOfChan[i]].dispatch!=NULL) {
disCont[dispatchOfChan[i]].dispatch->muteChannel(dispatchChanOfChan[i],isMuted[i]);
}
}
isBusy.unlock();
}
int DivEngine::addInstrument(int refChan) {
isBusy.lock();
DivInstrument* ins=new DivInstrument;

View File

@ -368,6 +368,9 @@ class DivEngine {
// set mute status
void muteChannel(int chan, bool mute);
// unmute all
void unmuteAll();
// get channel name
const char* getChannelName(int chan);

File diff suppressed because it is too large Load Diff

View File

@ -84,7 +84,16 @@ enum FurnaceGUIWindows {
GUI_WINDOW_WAVE_EDIT,
GUI_WINDOW_SAMPLE_LIST,
GUI_WINDOW_SAMPLE_EDIT,
GUI_WINDOW_MIXER
GUI_WINDOW_MIXER,
GUI_WINDOW_ABOUT,
GUI_WINDOW_SETTINGS,
GUI_WINDOW_DEBUG,
GUI_WINDOW_VOL_METER,
GUI_WINDOW_STATS,
GUI_WINDOW_COMPAT_FLAGS,
GUI_WINDOW_PIANO,
GUI_WINDOW_NOTES,
GUI_WINDOW_CHANNELS,
};
enum FurnaceGUIFileDialogs {
@ -443,7 +452,8 @@ class FurnaceGUI {
bool pianoOpen, notesOpen, channelsOpen;
SelectionPoint selStart, selEnd, cursor;
bool selecting, curNibble, orderNibble, extraChannelButtons, followOrders, followPattern, changeAllOrders;
FurnaceGUIWindows curWindow;
bool collapseWindow, closeWindow;
FurnaceGUIWindows curWindow, nextWindow;
float peak[2];
// bit 31: ctrl
@ -566,6 +576,8 @@ class FurnaceGUI {
void finishSelection();
void moveCursor(int x, int y, bool select);
void moveCursorPrevChannel(bool overflow);
void moveCursorNextChannel(bool overflow);
void moveCursorTop();
void moveCursorBottom();
void editAdvance();