mirror of
https://github.com/tildearrow/furnace.git
synced 2024-11-27 06:53:01 +00:00
only output playback status in console mode
This commit is contained in:
parent
d4046de2e1
commit
beceefd34b
5 changed files with 45 additions and 15 deletions
|
@ -1484,6 +1484,10 @@ void DivEngine::setView(DivStatusView which) {
|
|||
view=which;
|
||||
}
|
||||
|
||||
void DivEngine::setConsoleMode(bool enable) {
|
||||
consoleMode=enable;
|
||||
}
|
||||
|
||||
void DivEngine::initDispatch() {
|
||||
if (dispatch!=NULL) return;
|
||||
isBusy.lock();
|
||||
|
|
|
@ -72,6 +72,7 @@ class DivEngine {
|
|||
bool playing;
|
||||
bool speedAB;
|
||||
bool endOfSong;
|
||||
bool consoleMode;
|
||||
int ticks, cycles, curRow, curOrder, remainingLoops, nextSpeed, clockDrift;
|
||||
int changeOrd, changePos, totalTicks, totalCmds, lastCmds, cmdsPerSecond;
|
||||
DivStatusView view;
|
||||
|
@ -208,6 +209,9 @@ class DivEngine {
|
|||
// set the view mode.
|
||||
void setView(DivStatusView which);
|
||||
|
||||
// set the console mode.
|
||||
void setConsoleMode(bool enable);
|
||||
|
||||
// public render samples
|
||||
void renderSamplesP();
|
||||
|
||||
|
@ -233,6 +237,7 @@ class DivEngine {
|
|||
playing(false),
|
||||
speedAB(false),
|
||||
endOfSong(false),
|
||||
consoleMode(false),
|
||||
ticks(0),
|
||||
cycles(0),
|
||||
curRow(0),
|
||||
|
|
|
@ -505,7 +505,7 @@ void DivEngine::processRow(int i, bool afterDelay) {
|
|||
}
|
||||
break;
|
||||
case 0xee: // external command
|
||||
printf("\x1b[1;36m%d: extern command %d\x1b[m\n",i,effectVal);
|
||||
//printf("\x1b[1;36m%d: extern command %d\x1b[m\n",i,effectVal);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
@ -772,7 +772,7 @@ bool DivEngine::nextTick() {
|
|||
} else {
|
||||
hz=50;
|
||||
}
|
||||
fprintf(stderr,"\x1b[2K> %d:%.2d:%.2d.%.2d %.2x/%.2x:%.3d/%.3d %4dcmd/s\x1b[G",totalTicks/(hz*3600),(totalTicks/(hz*60))%60,(totalTicks/hz)%60,totalTicks%hz,curOrder,song.ordersLen,curRow,song.patLen,cmdsPerSecond);
|
||||
if (consoleMode) fprintf(stderr,"\x1b[2K> %d:%.2d:%.2d.%.2d %.2x/%.2x:%.3d/%.3d %4dcmd/s\x1b[G",totalTicks/(hz*3600),(totalTicks/(hz*60))%60,(totalTicks/hz)%60,totalTicks%hz,curOrder,song.ordersLen,curRow,song.patLen,cmdsPerSecond);
|
||||
|
||||
if ((totalTicks%hz)==0) {
|
||||
cmdsPerSecond=totalCmds-lastCmds;
|
||||
|
|
18
src/log.cpp
18
src/log.cpp
|
@ -6,7 +6,11 @@ int logD(const char* format, ...) {
|
|||
va_list va;
|
||||
int ret;
|
||||
if (logLevel<LOGLEVEL_DEBUG) return 0;
|
||||
#ifdef _WIN32
|
||||
printf("[debug] ");
|
||||
#else
|
||||
printf("\x1b[1;34m[debug]\x1b[m ");
|
||||
#endif
|
||||
va_start(va,format);
|
||||
ret=vprintf(format,va);
|
||||
va_end(va);
|
||||
|
@ -18,7 +22,11 @@ int logI(const char* format, ...) {
|
|||
va_list va;
|
||||
int ret;
|
||||
if (logLevel<LOGLEVEL_INFO) return 0;
|
||||
#ifdef _WIN32
|
||||
printf("[info] ");
|
||||
#else
|
||||
printf("\x1b[1;32m[info]\x1b[m ");
|
||||
#endif
|
||||
va_start(va,format);
|
||||
ret=vprintf(format,va);
|
||||
va_end(va);
|
||||
|
@ -29,7 +37,11 @@ int logW(const char* format, ...) {
|
|||
va_list va;
|
||||
int ret;
|
||||
if (logLevel<LOGLEVEL_WARN) return 0;
|
||||
#ifdef _WIN32
|
||||
printf("[warning] ");
|
||||
#else
|
||||
printf("\x1b[1;33m[warning]\x1b[m ");
|
||||
#endif
|
||||
va_start(va,format);
|
||||
ret=vprintf(format,va);
|
||||
va_end(va);
|
||||
|
@ -40,7 +52,11 @@ int logE(const char* format, ...) {
|
|||
va_list va;
|
||||
int ret;
|
||||
if (logLevel<LOGLEVEL_ERROR) return 0;
|
||||
printf("\x1b[1;31m[ERROR]\x1b[m ");
|
||||
#ifdef _WIN32
|
||||
printf("[ERROR] ");
|
||||
#else
|
||||
printf("\x0b[1;31m[ERROR]\x1b[m ");
|
||||
#endif
|
||||
va_start(va,format);
|
||||
ret=vprintf(format,va);
|
||||
va_end(va);
|
||||
|
|
29
src/main.cpp
29
src/main.cpp
|
@ -180,18 +180,6 @@ void initParams() {
|
|||
|
||||
int main(int argc, char** argv) {
|
||||
outName="";
|
||||
#ifdef _WIN32
|
||||
HANDLE winin=GetStdHandle(STD_INPUT_HANDLE);
|
||||
HANDLE winout=GetStdHandle(STD_OUTPUT_HANDLE);
|
||||
int termprop=0;
|
||||
int termpropi=0;
|
||||
GetConsoleMode(winout,(LPDWORD)&termprop);
|
||||
GetConsoleMode(winin,(LPDWORD)&termpropi);
|
||||
termprop|=ENABLE_VIRTUAL_TERMINAL_PROCESSING;
|
||||
termpropi&=~ENABLE_LINE_INPUT;
|
||||
SetConsoleMode(winout,termprop);
|
||||
SetConsoleMode(winin,termpropi);
|
||||
#endif
|
||||
|
||||
initParams();
|
||||
|
||||
|
@ -233,6 +221,23 @@ int main(int argc, char** argv) {
|
|||
}
|
||||
}
|
||||
|
||||
e.setConsoleMode(consoleMode);
|
||||
|
||||
#ifdef _WIN32
|
||||
if (consoleMode) {
|
||||
HANDLE winin=GetStdHandle(STD_INPUT_HANDLE);
|
||||
HANDLE winout=GetStdHandle(STD_OUTPUT_HANDLE);
|
||||
int termprop=0;
|
||||
int termpropi=0;
|
||||
GetConsoleMode(winout,(LPDWORD)&termprop);
|
||||
GetConsoleMode(winin,(LPDWORD)&termpropi);
|
||||
termprop|=ENABLE_VIRTUAL_TERMINAL_PROCESSING;
|
||||
termpropi&=~ENABLE_LINE_INPUT;
|
||||
SetConsoleMode(winout,termprop);
|
||||
SetConsoleMode(winin,termpropi);
|
||||
}
|
||||
#endif
|
||||
|
||||
if (fileName.empty() && consoleMode) {
|
||||
logI("usage: %s file\n",argv[0]);
|
||||
return 1;
|
||||
|
|
Loading…
Reference in a new issue