Merge branch 'master' of https://github.com/tildearrow/furnace into command-palette
This commit is contained in:
commit
c8975eaf73
278 changed files with 16092 additions and 971 deletions
|
|
@ -303,6 +303,9 @@ void FurnaceGUI::doAction(int what) {
|
|||
case GUI_ACTION_WINDOW_GROOVES:
|
||||
nextWindow=GUI_WINDOW_GROOVES;
|
||||
break;
|
||||
case GUI_ACTION_WINDOW_XY_OSC:
|
||||
nextWindow=GUI_WINDOW_XY_OSC;
|
||||
break;
|
||||
|
||||
case GUI_ACTION_COLLAPSE_WINDOW:
|
||||
collapseWindow=true;
|
||||
|
|
@ -399,6 +402,9 @@ void FurnaceGUI::doAction(int what) {
|
|||
case GUI_WINDOW_GROOVES:
|
||||
groovesOpen=false;
|
||||
break;
|
||||
case GUI_WINDOW_XY_OSC:
|
||||
xyOscOpen=false;
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
|
@ -696,12 +702,14 @@ void FurnaceGUI::doAction(int what) {
|
|||
if (e->moveInsUp(curIns)) {
|
||||
curIns--;
|
||||
wantScrollList=true;
|
||||
MARK_MODIFIED;
|
||||
}
|
||||
break;
|
||||
case GUI_ACTION_INS_LIST_MOVE_DOWN:
|
||||
if (e->moveInsDown(curIns)) {
|
||||
curIns++;
|
||||
wantScrollList=true;
|
||||
MARK_MODIFIED;
|
||||
}
|
||||
break;
|
||||
case GUI_ACTION_INS_LIST_DELETE:
|
||||
|
|
@ -733,16 +741,48 @@ void FurnaceGUI::doAction(int what) {
|
|||
insListDir=!insListDir;
|
||||
break;
|
||||
|
||||
case GUI_ACTION_WAVE_LIST_ADD:
|
||||
case GUI_ACTION_WAVE_LIST_ADD: {
|
||||
waveSizeList.clear();
|
||||
for (int i=0; i<e->song.systemLen; i++) {
|
||||
const DivSysDef* sysDef=e->getSystemDef(e->song.system[i]);
|
||||
if (sysDef==NULL) continue;
|
||||
|
||||
if (sysDef->waveHeight==0) continue;
|
||||
if (sysDef->waveWidth==0) {
|
||||
// add three preset sizes
|
||||
waveSizeList.push_back(FurnaceGUIWaveSizeEntry(32,sysDef->waveHeight,sysDef->name));
|
||||
waveSizeList.push_back(FurnaceGUIWaveSizeEntry(64,sysDef->waveHeight,sysDef->name));
|
||||
waveSizeList.push_back(FurnaceGUIWaveSizeEntry(128,sysDef->waveHeight,sysDef->name));
|
||||
} else {
|
||||
waveSizeList.push_back(FurnaceGUIWaveSizeEntry(sysDef->waveWidth,sysDef->waveHeight,sysDef->name));
|
||||
}
|
||||
}
|
||||
|
||||
int finalWidth=32;
|
||||
int finalHeight=32;
|
||||
if (waveSizeList.size()==1) {
|
||||
finalWidth=waveSizeList[0].width;
|
||||
finalHeight=waveSizeList[0].height;
|
||||
} else if (waveSizeList.size()>1) {
|
||||
displayWaveSizeList=true;
|
||||
break;
|
||||
}
|
||||
|
||||
curWave=e->addWave();
|
||||
if (curWave==-1) {
|
||||
showError("too many wavetables!");
|
||||
} else {
|
||||
wantScrollList=true;
|
||||
e->song.wave[curWave]->len=finalWidth;
|
||||
e->song.wave[curWave]->max=finalHeight-1;
|
||||
for (int j=0; j<finalWidth; j++) {
|
||||
e->song.wave[curWave]->data[j]=(j*finalHeight)/finalWidth;
|
||||
}
|
||||
MARK_MODIFIED;
|
||||
RESET_WAVE_MACRO_ZOOM;
|
||||
}
|
||||
break;
|
||||
}
|
||||
case GUI_ACTION_WAVE_LIST_DUPLICATE:
|
||||
if (curWave>=0 && curWave<(int)e->song.wave.size()) {
|
||||
int prevWave=curWave;
|
||||
|
|
@ -776,12 +816,14 @@ void FurnaceGUI::doAction(int what) {
|
|||
if (e->moveWaveUp(curWave)) {
|
||||
curWave--;
|
||||
wantScrollList=true;
|
||||
MARK_MODIFIED;
|
||||
}
|
||||
break;
|
||||
case GUI_ACTION_WAVE_LIST_MOVE_DOWN:
|
||||
if (e->moveWaveDown(curWave)) {
|
||||
curWave++;
|
||||
wantScrollList=true;
|
||||
MARK_MODIFIED;
|
||||
}
|
||||
break;
|
||||
case GUI_ACTION_WAVE_LIST_DELETE:
|
||||
|
|
@ -876,6 +918,7 @@ void FurnaceGUI::doAction(int what) {
|
|||
curSample--;
|
||||
wantScrollList=true;
|
||||
updateSampleTex=true;
|
||||
MARK_MODIFIED;
|
||||
}
|
||||
break;
|
||||
case GUI_ACTION_SAMPLE_LIST_MOVE_DOWN:
|
||||
|
|
@ -883,6 +926,7 @@ void FurnaceGUI::doAction(int what) {
|
|||
curSample++;
|
||||
wantScrollList=true;
|
||||
updateSampleTex=true;
|
||||
MARK_MODIFIED;
|
||||
}
|
||||
break;
|
||||
case GUI_ACTION_SAMPLE_LIST_DELETE:
|
||||
|
|
@ -1348,6 +1392,10 @@ void FurnaceGUI::doAction(int what) {
|
|||
MARK_MODIFIED;
|
||||
break;
|
||||
}
|
||||
case GUI_ACTION_SAMPLE_CROSSFADE_LOOP:
|
||||
if (curSample<0 || curSample>=(int)e->song.sample.size()) break;
|
||||
openSampleCrossFadeOpt=true;
|
||||
break;
|
||||
case GUI_ACTION_SAMPLE_FILTER:
|
||||
if (curSample<0 || curSample>=(int)e->song.sample.size()) break;
|
||||
openSampleFilterOpt=true;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue