More WIP on #96
This commit is contained in:
parent
ed306d3c48
commit
bfeca1221d
@ -289,6 +289,7 @@ void Editor_create()
|
||||
s_editorData.trackData.endRow = 10000;
|
||||
s_editorData.trackData.highlightRowStep = 8;
|
||||
s_editorData.trackData.isPlaying = false;
|
||||
s_editorData.trackData.isLooping = false;
|
||||
|
||||
Emgui_setDefaultFont();
|
||||
}
|
||||
@ -518,6 +519,7 @@ static bool internalUpdate()
|
||||
|
||||
void Editor_update()
|
||||
{
|
||||
TrackData* trackData = getTrackData();
|
||||
bool need_update = internalUpdate();
|
||||
|
||||
if (need_update)
|
||||
@ -525,6 +527,13 @@ void Editor_update()
|
||||
Editor_updateTrackScroll();
|
||||
internalUpdate();
|
||||
}
|
||||
|
||||
if (trackData->isPlaying || trackData->isLooping)
|
||||
{
|
||||
printf("loop between %d %d\n", trackData->startLoop, trackData->endLoop);
|
||||
}
|
||||
|
||||
//
|
||||
}
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
@ -854,7 +863,7 @@ static int processCommands()
|
||||
{
|
||||
viewInfo->rowPos = htonl(newRow);
|
||||
viewInfo->selectStartRow = viewInfo->selectStopRow = viewInfo->rowPos;
|
||||
rlog(R_INFO, "row from demo %d\n", s_editorData.trackViewInfo.rowPos);
|
||||
//rlog(R_INFO, "row from demo %d\n", s_editorData.trackViewInfo.rowPos);
|
||||
}
|
||||
|
||||
ret = 1;
|
||||
@ -1246,6 +1255,30 @@ static void onPlay()
|
||||
{
|
||||
RemoteConnection_sendPauseCommand(!RemoteConnection_isPaused());
|
||||
getTrackData()->isPlaying = !RemoteConnection_isPaused();
|
||||
getTrackData()->isLooping = false;
|
||||
}
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
static void onPlayLoop()
|
||||
{
|
||||
TrackData* trackData = getTrackData();
|
||||
const int rowPos = getRowPos();
|
||||
const int startLoop = TrackData_getNextLoopmark(trackData, rowPos);
|
||||
const int endLoop = TrackData_getPrevLoopmark(trackData, rowPos);
|
||||
|
||||
// Make sure we have a range to loop within
|
||||
|
||||
if (startLoop == -1 || endLoop == -1)
|
||||
return;
|
||||
|
||||
trackData->startLoop = startLoop;
|
||||
trackData->endLoop = endLoop;
|
||||
|
||||
RemoteConnection_sendPauseCommand(!RemoteConnection_isPaused());
|
||||
|
||||
trackData->isPlaying = !RemoteConnection_isPaused();
|
||||
trackData->isLooping = true;
|
||||
}
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
@ -1488,6 +1521,7 @@ void Editor_menuEvent(int menuItem)
|
||||
case EDITOR_MENU_PREV_KEY :
|
||||
case EDITOR_MENU_NEXT_KEY :
|
||||
case EDITOR_MENU_PLAY :
|
||||
case EDITOR_MENU_PLAY_LOOP :
|
||||
{
|
||||
endEditing();
|
||||
}
|
||||
@ -1567,6 +1601,7 @@ void Editor_menuEvent(int menuItem)
|
||||
// View
|
||||
|
||||
case EDITOR_MENU_PLAY : onPlay(); break;
|
||||
case EDITOR_MENU_PLAY_LOOP : onPlayLoop(); break;
|
||||
case EDITOR_MENU_ROWS_UP : onRowStep(-highlightRowStep , NO_SELECTION); break;
|
||||
case EDITOR_MENU_ROWS_DOWN : onRowStep(highlightRowStep , NO_SELECTION); break;
|
||||
case EDITOR_MENU_ROWS_2X_UP : onRowStep(-highlightRowStep * 2 , NO_SELECTION); break;
|
||||
|
||||
@ -65,6 +65,7 @@ MenuDescriptor g_editMenu[] =
|
||||
MenuDescriptor g_viewMenu[] =
|
||||
{
|
||||
{ _T("Start/Stop Playback"), EDITOR_MENU_PLAY, EMGUI_KEY_SPACE, 0, 0 },
|
||||
{ _T("Start Loop Playback"), EDITOR_MENU_PLAY_LOOP, EMGUI_KEY_SPACE, 0, EMGUI_KEY_CTRL },
|
||||
{ _T(""), EDITOR_MENU_SEPARATOR, 0, 0, 0 },
|
||||
{ _T("Jump 8 rows up"), EDITOR_MENU_ROWS_UP, EMGUI_KEY_ARROW_UP, EMGUI_KEY_ALT, EMGUI_KEY_ALT },
|
||||
{ _T("Jump 8 rows down"), EDITOR_MENU_ROWS_DOWN, EMGUI_KEY_ARROW_DOWN, EMGUI_KEY_ALT, EMGUI_KEY_ALT },
|
||||
|
||||
@ -69,6 +69,7 @@ enum
|
||||
// View
|
||||
|
||||
EDITOR_MENU_PLAY,
|
||||
EDITOR_MENU_PLAY_LOOP,
|
||||
EDITOR_MENU_ROW_UP,
|
||||
EDITOR_MENU_ROW_DOWN,
|
||||
EDITOR_MENU_TRACK_LEFT,
|
||||
|
||||
@ -365,6 +365,8 @@ void RemoteConnection_sendSetRowCommand(int row)
|
||||
if (!RemoteConnection_connected())
|
||||
return;
|
||||
|
||||
printf("rom %d\n", row);
|
||||
|
||||
row = htonl(row);
|
||||
RemoteConnection_send((char *)&cmd, 1, 0);
|
||||
RemoteConnection_send((char *)&row, sizeof(int), 0);
|
||||
|
||||
@ -76,6 +76,9 @@ typedef struct TrackData
|
||||
int highlightRowStep;
|
||||
char* editText;
|
||||
bool isPlaying;
|
||||
bool isLooping;
|
||||
int startLoop;
|
||||
int endLoop;
|
||||
} TrackData;
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
@ -21,6 +21,8 @@ typedef struct TrackViewInfo
|
||||
int selectStopTrack;
|
||||
int selectStartRow;
|
||||
int selectStopRow;
|
||||
int loopStart;
|
||||
int loopEnd;
|
||||
|
||||
} TrackViewInfo;
|
||||
|
||||
|
||||
@ -545,6 +545,7 @@ LRESULT CALLBACK WndProc(HWND window, UINT message, WPARAM wParam, LPARAM lParam
|
||||
case EDITOR_MENU_ENTER_CURRENT_V:
|
||||
case EDITOR_MENU_TAB:
|
||||
case EDITOR_MENU_PLAY:
|
||||
case EDITOR_MENU_PLAY_LOOP:
|
||||
case EDITOR_MENU_ROWS_UP:
|
||||
case EDITOR_MENU_ROWS_DOWN:
|
||||
case EDITOR_MENU_ROWS_2X_UP:
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user