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.endRow = 10000;
|
||||||
s_editorData.trackData.highlightRowStep = 8;
|
s_editorData.trackData.highlightRowStep = 8;
|
||||||
s_editorData.trackData.isPlaying = false;
|
s_editorData.trackData.isPlaying = false;
|
||||||
|
s_editorData.trackData.isLooping = false;
|
||||||
|
|
||||||
Emgui_setDefaultFont();
|
Emgui_setDefaultFont();
|
||||||
}
|
}
|
||||||
@ -518,6 +519,7 @@ static bool internalUpdate()
|
|||||||
|
|
||||||
void Editor_update()
|
void Editor_update()
|
||||||
{
|
{
|
||||||
|
TrackData* trackData = getTrackData();
|
||||||
bool need_update = internalUpdate();
|
bool need_update = internalUpdate();
|
||||||
|
|
||||||
if (need_update)
|
if (need_update)
|
||||||
@ -525,6 +527,13 @@ void Editor_update()
|
|||||||
Editor_updateTrackScroll();
|
Editor_updateTrackScroll();
|
||||||
internalUpdate();
|
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->rowPos = htonl(newRow);
|
||||||
viewInfo->selectStartRow = viewInfo->selectStopRow = viewInfo->rowPos;
|
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;
|
ret = 1;
|
||||||
@ -1246,6 +1255,30 @@ static void onPlay()
|
|||||||
{
|
{
|
||||||
RemoteConnection_sendPauseCommand(!RemoteConnection_isPaused());
|
RemoteConnection_sendPauseCommand(!RemoteConnection_isPaused());
|
||||||
getTrackData()->isPlaying = !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_PREV_KEY :
|
||||||
case EDITOR_MENU_NEXT_KEY :
|
case EDITOR_MENU_NEXT_KEY :
|
||||||
case EDITOR_MENU_PLAY :
|
case EDITOR_MENU_PLAY :
|
||||||
|
case EDITOR_MENU_PLAY_LOOP :
|
||||||
{
|
{
|
||||||
endEditing();
|
endEditing();
|
||||||
}
|
}
|
||||||
@ -1567,6 +1601,7 @@ void Editor_menuEvent(int menuItem)
|
|||||||
// View
|
// View
|
||||||
|
|
||||||
case EDITOR_MENU_PLAY : onPlay(); break;
|
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_UP : onRowStep(-highlightRowStep , NO_SELECTION); break;
|
||||||
case EDITOR_MENU_ROWS_DOWN : 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;
|
case EDITOR_MENU_ROWS_2X_UP : onRowStep(-highlightRowStep * 2 , NO_SELECTION); break;
|
||||||
|
|||||||
@ -65,6 +65,7 @@ MenuDescriptor g_editMenu[] =
|
|||||||
MenuDescriptor g_viewMenu[] =
|
MenuDescriptor g_viewMenu[] =
|
||||||
{
|
{
|
||||||
{ _T("Start/Stop Playback"), EDITOR_MENU_PLAY, EMGUI_KEY_SPACE, 0, 0 },
|
{ _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(""), 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 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 },
|
{ _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
|
// View
|
||||||
|
|
||||||
EDITOR_MENU_PLAY,
|
EDITOR_MENU_PLAY,
|
||||||
|
EDITOR_MENU_PLAY_LOOP,
|
||||||
EDITOR_MENU_ROW_UP,
|
EDITOR_MENU_ROW_UP,
|
||||||
EDITOR_MENU_ROW_DOWN,
|
EDITOR_MENU_ROW_DOWN,
|
||||||
EDITOR_MENU_TRACK_LEFT,
|
EDITOR_MENU_TRACK_LEFT,
|
||||||
|
|||||||
@ -365,6 +365,8 @@ void RemoteConnection_sendSetRowCommand(int row)
|
|||||||
if (!RemoteConnection_connected())
|
if (!RemoteConnection_connected())
|
||||||
return;
|
return;
|
||||||
|
|
||||||
|
printf("rom %d\n", row);
|
||||||
|
|
||||||
row = htonl(row);
|
row = htonl(row);
|
||||||
RemoteConnection_send((char *)&cmd, 1, 0);
|
RemoteConnection_send((char *)&cmd, 1, 0);
|
||||||
RemoteConnection_send((char *)&row, sizeof(int), 0);
|
RemoteConnection_send((char *)&row, sizeof(int), 0);
|
||||||
|
|||||||
@ -76,6 +76,9 @@ typedef struct TrackData
|
|||||||
int highlightRowStep;
|
int highlightRowStep;
|
||||||
char* editText;
|
char* editText;
|
||||||
bool isPlaying;
|
bool isPlaying;
|
||||||
|
bool isLooping;
|
||||||
|
int startLoop;
|
||||||
|
int endLoop;
|
||||||
} TrackData;
|
} TrackData;
|
||||||
|
|
||||||
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||||
|
|||||||
@ -21,6 +21,8 @@ typedef struct TrackViewInfo
|
|||||||
int selectStopTrack;
|
int selectStopTrack;
|
||||||
int selectStartRow;
|
int selectStartRow;
|
||||||
int selectStopRow;
|
int selectStopRow;
|
||||||
|
int loopStart;
|
||||||
|
int loopEnd;
|
||||||
|
|
||||||
} TrackViewInfo;
|
} 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_ENTER_CURRENT_V:
|
||||||
case EDITOR_MENU_TAB:
|
case EDITOR_MENU_TAB:
|
||||||
case EDITOR_MENU_PLAY:
|
case EDITOR_MENU_PLAY:
|
||||||
|
case EDITOR_MENU_PLAY_LOOP:
|
||||||
case EDITOR_MENU_ROWS_UP:
|
case EDITOR_MENU_ROWS_UP:
|
||||||
case EDITOR_MENU_ROWS_DOWN:
|
case EDITOR_MENU_ROWS_DOWN:
|
||||||
case EDITOR_MENU_ROWS_2X_UP:
|
case EDITOR_MENU_ROWS_2X_UP:
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user