multiple instrument playback, part 1
not implemented for MIDI yet
This commit is contained in:
parent
08a27be76f
commit
5b145b7121
15 changed files with 276 additions and 34 deletions
|
|
@ -309,6 +309,14 @@ enum FurnaceGUIColors {
|
|||
GUI_COLOR_MACRO_ENVELOPE,
|
||||
GUI_COLOR_MACRO_GLOBAL,
|
||||
|
||||
GUI_COLOR_MULTI_INS_1,
|
||||
GUI_COLOR_MULTI_INS_2,
|
||||
GUI_COLOR_MULTI_INS_3,
|
||||
GUI_COLOR_MULTI_INS_4,
|
||||
GUI_COLOR_MULTI_INS_5,
|
||||
GUI_COLOR_MULTI_INS_6,
|
||||
GUI_COLOR_MULTI_INS_7,
|
||||
|
||||
GUI_COLOR_INSTR_STD,
|
||||
GUI_COLOR_INSTR_FM,
|
||||
GUI_COLOR_INSTR_GB,
|
||||
|
|
@ -568,6 +576,7 @@ enum FurnaceGUIWindows {
|
|||
GUI_WINDOW_CS_PLAYER,
|
||||
GUI_WINDOW_USER_PRESETS,
|
||||
GUI_WINDOW_REF_PLAYER,
|
||||
GUI_WINDOW_MULTI_INS_SETUP,
|
||||
GUI_WINDOW_SPOILER
|
||||
};
|
||||
|
||||
|
|
@ -774,6 +783,7 @@ enum FurnaceGUIActions {
|
|||
GUI_ACTION_WINDOW_CS_PLAYER,
|
||||
GUI_ACTION_WINDOW_USER_PRESETS,
|
||||
GUI_ACTION_WINDOW_REF_PLAYER,
|
||||
GUI_ACTION_WINDOW_MULTI_INS_SETUP,
|
||||
|
||||
GUI_ACTION_COLLAPSE_WINDOW,
|
||||
GUI_ACTION_CLOSE_WINDOW,
|
||||
|
|
@ -2376,13 +2386,19 @@ class FurnaceGUI {
|
|||
int pendingLayoutImportStep;
|
||||
FixedQueue<bool*,64> pendingLayoutImportReopen;
|
||||
|
||||
int curIns, curWave, curSample, curOctave, curOrder, playOrder, prevIns, oldRow, editStep, editStepCoarse, soloChan, orderEditMode, orderCursor;
|
||||
// do not set curIns directly! use setCurIns() instead.
|
||||
int curIns, curWave, curSample;
|
||||
int curOctave, curOrder, playOrder, prevIns, oldRow, editStep, editStepCoarse, soloChan, orderEditMode, orderCursor;
|
||||
int isClipping, newSongCategory, latchTarget, undoOrder;
|
||||
int wheelX, wheelY, dragSourceX, dragSourceXFine, dragSourceY, dragSourceOrder, dragDestinationX, dragDestinationXFine, dragDestinationY, dragDestinationOrder, oldBeat, oldBar;
|
||||
int curGroove, exitDisabledTimer;
|
||||
int curPaletteChoice, curPaletteType;
|
||||
float soloTimeout;
|
||||
|
||||
int multiIns[7];
|
||||
int multiInsTranspose[7];
|
||||
bool mobileMultiInsToggle;
|
||||
|
||||
int purgeYear, purgeMonth, purgeDay;
|
||||
|
||||
bool patExtraButtons, patChannelNames, patChannelPairs;
|
||||
|
|
@ -2395,6 +2411,7 @@ class FurnaceGUI {
|
|||
bool pianoOpen, notesOpen, channelsOpen, regViewOpen, logOpen, effectListOpen, chanOscOpen;
|
||||
bool subSongsOpen, findOpen, spoilerOpen, patManagerOpen, sysManagerOpen, clockOpen, speedOpen;
|
||||
bool groovesOpen, xyOscOpen, memoryOpen, csPlayerOpen, cvOpen, userPresetsOpen, refPlayerOpen;
|
||||
bool multiInsSetupOpen;
|
||||
|
||||
bool cvNotSerious;
|
||||
|
||||
|
|
@ -3000,6 +3017,7 @@ class FurnaceGUI {
|
|||
void drawXYOsc();
|
||||
void drawUserPresets();
|
||||
void drawRefPlayer();
|
||||
void drawMultiInsSetup();
|
||||
|
||||
float drawSystemChannelInfo(const DivSysDef* whichDef, int keyHitOffset=-1, float width=-1.0f);
|
||||
void drawSystemChannelInfoText(const DivSysDef* whichDef);
|
||||
|
|
@ -3155,6 +3173,10 @@ class FurnaceGUI {
|
|||
const char* getSystemName(DivSystem which);
|
||||
const char* getSystemPartNumber(DivSystem sys, DivConfig& flags);
|
||||
|
||||
void setCurIns(int newIns);
|
||||
bool setMultiIns(int newIns);
|
||||
bool isMultiInsActive();
|
||||
|
||||
public:
|
||||
void editStr(String* which);
|
||||
void showWarning(String what, FurnaceGUIWarnings type);
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue