Various fixes
This commit is contained in:
parent
28cd240b2e
commit
c6f52ad6c3
1
mktags.bash
Executable file
1
mktags.bash
Executable file
@ -0,0 +1 @@
|
||||
ctags --extra=+f -R *
|
||||
@ -69,92 +69,6 @@
|
||||
<reference key="NSOnImage" ref="35465992"/>
|
||||
<reference key="NSMixedImage" ref="502551668"/>
|
||||
</object>
|
||||
<object class="NSMenuItem" id="304266470">
|
||||
<reference key="NSMenu" ref="110575045"/>
|
||||
<bool key="NSIsDisabled">YES</bool>
|
||||
<bool key="NSIsSeparator">YES</bool>
|
||||
<string key="NSTitle"/>
|
||||
<string key="NSKeyEquiv"/>
|
||||
<int key="NSKeyEquivModMask">1048576</int>
|
||||
<int key="NSMnemonicLoc">2147483647</int>
|
||||
<reference key="NSOnImage" ref="35465992"/>
|
||||
<reference key="NSMixedImage" ref="502551668"/>
|
||||
</object>
|
||||
<object class="NSMenuItem" id="609285721">
|
||||
<reference key="NSMenu" ref="110575045"/>
|
||||
<string key="NSTitle">Preferences…</string>
|
||||
<string key="NSKeyEquiv">,</string>
|
||||
<int key="NSKeyEquivModMask">1048576</int>
|
||||
<int key="NSMnemonicLoc">2147483647</int>
|
||||
<reference key="NSOnImage" ref="35465992"/>
|
||||
<reference key="NSMixedImage" ref="502551668"/>
|
||||
</object>
|
||||
<object class="NSMenuItem" id="481834944">
|
||||
<reference key="NSMenu" ref="110575045"/>
|
||||
<bool key="NSIsDisabled">YES</bool>
|
||||
<bool key="NSIsSeparator">YES</bool>
|
||||
<string key="NSTitle"/>
|
||||
<string key="NSKeyEquiv"/>
|
||||
<int key="NSKeyEquivModMask">1048576</int>
|
||||
<int key="NSMnemonicLoc">2147483647</int>
|
||||
<reference key="NSOnImage" ref="35465992"/>
|
||||
<reference key="NSMixedImage" ref="502551668"/>
|
||||
</object>
|
||||
<object class="NSMenuItem" id="1046388886">
|
||||
<reference key="NSMenu" ref="110575045"/>
|
||||
<string key="NSTitle">Services</string>
|
||||
<string key="NSKeyEquiv"/>
|
||||
<int key="NSKeyEquivModMask">1048576</int>
|
||||
<int key="NSMnemonicLoc">2147483647</int>
|
||||
<reference key="NSOnImage" ref="35465992"/>
|
||||
<reference key="NSMixedImage" ref="502551668"/>
|
||||
<string key="NSAction">submenuAction:</string>
|
||||
<object class="NSMenu" key="NSSubmenu" id="752062318">
|
||||
<string key="NSTitle">Services</string>
|
||||
<object class="NSMutableArray" key="NSMenuItems">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
</object>
|
||||
<string key="NSName">_NSServicesMenu</string>
|
||||
</object>
|
||||
</object>
|
||||
<object class="NSMenuItem" id="646227648">
|
||||
<reference key="NSMenu" ref="110575045"/>
|
||||
<bool key="NSIsDisabled">YES</bool>
|
||||
<bool key="NSIsSeparator">YES</bool>
|
||||
<string key="NSTitle"/>
|
||||
<string key="NSKeyEquiv"/>
|
||||
<int key="NSKeyEquivModMask">1048576</int>
|
||||
<int key="NSMnemonicLoc">2147483647</int>
|
||||
<reference key="NSOnImage" ref="35465992"/>
|
||||
<reference key="NSMixedImage" ref="502551668"/>
|
||||
</object>
|
||||
<object class="NSMenuItem" id="755159360">
|
||||
<reference key="NSMenu" ref="110575045"/>
|
||||
<string key="NSTitle">Hide Rocket</string>
|
||||
<string key="NSKeyEquiv">h</string>
|
||||
<int key="NSKeyEquivModMask">1048576</int>
|
||||
<int key="NSMnemonicLoc">2147483647</int>
|
||||
<reference key="NSOnImage" ref="35465992"/>
|
||||
<reference key="NSMixedImage" ref="502551668"/>
|
||||
</object>
|
||||
<object class="NSMenuItem" id="342932134">
|
||||
<reference key="NSMenu" ref="110575045"/>
|
||||
<string key="NSTitle">Hide Others</string>
|
||||
<string key="NSKeyEquiv">h</string>
|
||||
<int key="NSKeyEquivModMask">1572864</int>
|
||||
<int key="NSMnemonicLoc">2147483647</int>
|
||||
<reference key="NSOnImage" ref="35465992"/>
|
||||
<reference key="NSMixedImage" ref="502551668"/>
|
||||
</object>
|
||||
<object class="NSMenuItem" id="908899353">
|
||||
<reference key="NSMenu" ref="110575045"/>
|
||||
<string key="NSTitle">Show All</string>
|
||||
<string key="NSKeyEquiv"/>
|
||||
<int key="NSKeyEquivModMask">1048576</int>
|
||||
<int key="NSMnemonicLoc">2147483647</int>
|
||||
<reference key="NSOnImage" ref="35465992"/>
|
||||
<reference key="NSMixedImage" ref="502551668"/>
|
||||
</object>
|
||||
<object class="NSMenuItem" id="1056857174">
|
||||
<reference key="NSMenu" ref="110575045"/>
|
||||
<bool key="NSIsDisabled">YES</bool>
|
||||
@ -376,7 +290,7 @@
|
||||
<string key="NSName">_NSMainMenu</string>
|
||||
</object>
|
||||
<object class="NSWindowTemplate" id="972006081">
|
||||
<int key="NSWindowStyleMask">15</int>
|
||||
<int key="NSWindowStyleMask">13</int>
|
||||
<int key="NSWindowBacking">2</int>
|
||||
<string key="NSWindowRect">{{335, 390}, {800, 600}}</string>
|
||||
<int key="NSWTFlags">1954021376</int>
|
||||
@ -396,7 +310,6 @@
|
||||
<string key="NSFrameSize">{800, 600}</string>
|
||||
<reference key="NSSuperview" ref="439893737"/>
|
||||
<reference key="NSWindow"/>
|
||||
<reference key="NSNextKeyView"/>
|
||||
<string key="NSReuseIdentifierKey">_NS:9</string>
|
||||
<string key="NSClassName">RocketView</string>
|
||||
</object>
|
||||
@ -480,30 +393,6 @@
|
||||
</object>
|
||||
<object class="IBConnectionRecord">
|
||||
<object class="IBActionConnection" key="connection">
|
||||
<string key="label">hide:</string>
|
||||
<reference key="source" ref="1014"/>
|
||||
<reference key="destination" ref="755159360"/>
|
||||
</object>
|
||||
<int key="connectionID">367</int>
|
||||
</object>
|
||||
<object class="IBConnectionRecord">
|
||||
<object class="IBActionConnection" key="connection">
|
||||
<string key="label">hideOtherApplications:</string>
|
||||
<reference key="source" ref="1014"/>
|
||||
<reference key="destination" ref="342932134"/>
|
||||
</object>
|
||||
<int key="connectionID">368</int>
|
||||
</object>
|
||||
<object class="IBConnectionRecord">
|
||||
<object class="IBActionConnection" key="connection">
|
||||
<string key="label">unhideAllApplications:</string>
|
||||
<reference key="source" ref="1014"/>
|
||||
<reference key="destination" ref="908899353"/>
|
||||
</object>
|
||||
<int key="connectionID">370</int>
|
||||
</object>
|
||||
<object class="IBConnectionRecord">
|
||||
<object class="IBActionConnection" key="connection">
|
||||
<string key="label">showHelp:</string>
|
||||
<reference key="source" ref="1014"/>
|
||||
<reference key="destination" ref="105068016"/>
|
||||
@ -687,79 +576,22 @@
|
||||
<object class="NSMutableArray" key="children">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<reference ref="238522557"/>
|
||||
<reference ref="755159360"/>
|
||||
<reference ref="908899353"/>
|
||||
<reference ref="632727374"/>
|
||||
<reference ref="646227648"/>
|
||||
<reference ref="609285721"/>
|
||||
<reference ref="481834944"/>
|
||||
<reference ref="304266470"/>
|
||||
<reference ref="1046388886"/>
|
||||
<reference ref="1056857174"/>
|
||||
<reference ref="342932134"/>
|
||||
</object>
|
||||
<reference key="parent" ref="694149608"/>
|
||||
</object>
|
||||
<object class="IBObjectRecord">
|
||||
<int key="objectID">134</int>
|
||||
<reference key="object" ref="755159360"/>
|
||||
<reference key="parent" ref="110575045"/>
|
||||
</object>
|
||||
<object class="IBObjectRecord">
|
||||
<int key="objectID">150</int>
|
||||
<reference key="object" ref="908899353"/>
|
||||
<reference key="parent" ref="110575045"/>
|
||||
</object>
|
||||
<object class="IBObjectRecord">
|
||||
<int key="objectID">136</int>
|
||||
<reference key="object" ref="632727374"/>
|
||||
<reference key="parent" ref="110575045"/>
|
||||
</object>
|
||||
<object class="IBObjectRecord">
|
||||
<int key="objectID">144</int>
|
||||
<reference key="object" ref="646227648"/>
|
||||
<reference key="parent" ref="110575045"/>
|
||||
</object>
|
||||
<object class="IBObjectRecord">
|
||||
<int key="objectID">129</int>
|
||||
<reference key="object" ref="609285721"/>
|
||||
<reference key="parent" ref="110575045"/>
|
||||
</object>
|
||||
<object class="IBObjectRecord">
|
||||
<int key="objectID">143</int>
|
||||
<reference key="object" ref="481834944"/>
|
||||
<reference key="parent" ref="110575045"/>
|
||||
</object>
|
||||
<object class="IBObjectRecord">
|
||||
<int key="objectID">236</int>
|
||||
<reference key="object" ref="304266470"/>
|
||||
<reference key="parent" ref="110575045"/>
|
||||
</object>
|
||||
<object class="IBObjectRecord">
|
||||
<int key="objectID">131</int>
|
||||
<reference key="object" ref="1046388886"/>
|
||||
<object class="NSMutableArray" key="children">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<reference ref="752062318"/>
|
||||
</object>
|
||||
<reference key="parent" ref="110575045"/>
|
||||
</object>
|
||||
<object class="IBObjectRecord">
|
||||
<int key="objectID">149</int>
|
||||
<reference key="object" ref="1056857174"/>
|
||||
<reference key="parent" ref="110575045"/>
|
||||
</object>
|
||||
<object class="IBObjectRecord">
|
||||
<int key="objectID">145</int>
|
||||
<reference key="object" ref="342932134"/>
|
||||
<reference key="parent" ref="110575045"/>
|
||||
</object>
|
||||
<object class="IBObjectRecord">
|
||||
<int key="objectID">130</int>
|
||||
<reference key="object" ref="752062318"/>
|
||||
<reference key="parent" ref="1046388886"/>
|
||||
</object>
|
||||
<object class="IBObjectRecord">
|
||||
<int key="objectID">24</int>
|
||||
<reference key="object" ref="835318025"/>
|
||||
<object class="NSMutableArray" key="children">
|
||||
@ -884,19 +716,10 @@
|
||||
<string>124.IBPluginDependency</string>
|
||||
<string>125.IBPluginDependency</string>
|
||||
<string>126.IBPluginDependency</string>
|
||||
<string>129.IBPluginDependency</string>
|
||||
<string>130.IBPluginDependency</string>
|
||||
<string>131.IBPluginDependency</string>
|
||||
<string>134.IBPluginDependency</string>
|
||||
<string>136.IBPluginDependency</string>
|
||||
<string>143.IBPluginDependency</string>
|
||||
<string>144.IBPluginDependency</string>
|
||||
<string>145.IBPluginDependency</string>
|
||||
<string>149.IBPluginDependency</string>
|
||||
<string>150.IBPluginDependency</string>
|
||||
<string>19.IBPluginDependency</string>
|
||||
<string>23.IBPluginDependency</string>
|
||||
<string>236.IBPluginDependency</string>
|
||||
<string>239.IBPluginDependency</string>
|
||||
<string>24.IBPluginDependency</string>
|
||||
<string>29.IBPluginDependency</string>
|
||||
@ -941,15 +764,6 @@
|
||||
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||
<string>{{928, 459}, {480, 360}}</string>
|
||||
<integer value="1"/>
|
||||
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||
|
||||
@ -16,6 +16,8 @@
|
||||
#include "../../sync/base.h"
|
||||
#include "../../sync/data.h"
|
||||
|
||||
extern void Window_setTitle(const char* title);
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
typedef struct CopyEntry
|
||||
@ -91,6 +93,13 @@ static inline int getTrackCount()
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
static inline int getRowPos()
|
||||
{
|
||||
return s_editorData.trackViewInfo.rowPos;
|
||||
}
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
static int getNextTrack()
|
||||
{
|
||||
TrackData* trackData = &s_editorData.trackData;
|
||||
@ -160,8 +169,6 @@ void Editor_create()
|
||||
s_editorData.trackViewInfo.endRow = 10000;
|
||||
|
||||
Emgui_setDefaultFont();
|
||||
|
||||
LoadSave_loadRocketXML("/Users/emoon/code/amiga/tbl-newage/OriginalData/Demo4.rocket", getTrackData());
|
||||
}
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
@ -170,6 +177,7 @@ void Editor_setWindowSize(int x, int y)
|
||||
{
|
||||
s_editorData.trackViewInfo.windowSizeX = x;
|
||||
s_editorData.trackViewInfo.windowSizeY = y;
|
||||
Editor_updateTrackScroll();
|
||||
}
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
@ -210,13 +218,12 @@ static int drawCurrentValue(int posX, int sizeY)
|
||||
struct sync_track** tracks = getTracks();
|
||||
|
||||
active_track = getActiveTrack();
|
||||
current_row = s_editorData.trackViewInfo.rowPos;
|
||||
current_row = getRowPos();
|
||||
|
||||
if (tracks)
|
||||
{
|
||||
const struct sync_track* track = tracks[active_track];
|
||||
int row = s_editorData.trackViewInfo.rowPos;
|
||||
int idx = key_idx_floor(track, row);
|
||||
int idx = key_idx_floor(track, current_row);
|
||||
|
||||
if (idx >= 0)
|
||||
{
|
||||
@ -230,7 +237,7 @@ static int drawCurrentValue(int posX, int sizeY)
|
||||
}
|
||||
}
|
||||
|
||||
value = sync_get_val(track, row);
|
||||
value = sync_get_val(track, current_row);
|
||||
}
|
||||
|
||||
snprintf(valueText, 256, "%f", value);
|
||||
@ -293,32 +300,48 @@ static void drawStatus()
|
||||
size += drawNameValue("Start Row", size, sizeY, &s_editorData.trackViewInfo.startRow, 0, 10000000, s_startRow);
|
||||
size += drawNameValue("End Row", size, sizeY, &s_editorData.trackViewInfo.endRow, 0, 10000000, s_endRow);
|
||||
|
||||
printf("activeTrack %d\n", getActiveTrack());
|
||||
|
||||
Emgui_setDefaultFont();
|
||||
}
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
void Editor_updateTrackScroll()
|
||||
{
|
||||
int track_start_offset, sel_track, total_track_width = 0;
|
||||
int track_start_pixel = s_editorData.trackViewInfo.startPixel;
|
||||
TrackData* track_data = getTrackData();
|
||||
TrackViewInfo* view_info = getTrackViewInfo();
|
||||
|
||||
total_track_width = TrackView_getWidth(getTrackViewInfo(), getTrackData());
|
||||
track_start_offset = TrackView_getStartOffset();
|
||||
|
||||
track_start_pixel = eclampi(track_start_pixel, 0, emaxi(total_track_width - (view_info->windowSizeX / 2), 0));
|
||||
|
||||
sel_track = TrackView_getScrolledTrack(view_info, track_data, track_data->activeTrack,
|
||||
track_start_offset - track_start_pixel);
|
||||
|
||||
if (sel_track != track_data->activeTrack)
|
||||
TrackData_setActiveTrack(track_data, sel_track);
|
||||
|
||||
s_editorData.trackViewInfo.startPixel = track_start_pixel;
|
||||
}
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
static void drawHorizonalSlider()
|
||||
{
|
||||
int track_size, large_val;
|
||||
int large_val;
|
||||
TrackViewInfo* info = getTrackViewInfo();
|
||||
//const int old_start = s_editorData.trackViewInfo.startTrack;
|
||||
const int total_track_width = TrackView_getWidth(getTrackViewInfo(), getTrackData());
|
||||
const int old_start = s_editorData.trackViewInfo.startPixel;
|
||||
const int total_track_width = TrackView_getWidth(info, getTrackData()) - (info->windowSizeX / 2);
|
||||
|
||||
track_size = emaxi(total_track_width - info->windowSizeX, 0);
|
||||
large_val = emaxi(track_size / 10, 1);
|
||||
large_val = emaxi(total_track_width / 10, 1);
|
||||
|
||||
Emgui_slider(0, info->windowSizeY - 36, info->windowSizeX, 14, 0, track_size, large_val,
|
||||
Emgui_slider(0, info->windowSizeY - 36, info->windowSizeX, 14, 0, total_track_width, large_val,
|
||||
EMGUI_SLIDERDIR_HORIZONTAL, 1, &s_editorData.trackViewInfo.startPixel);
|
||||
|
||||
/*
|
||||
if (old_start != s_editorData.trackViewInfo.startTrack)
|
||||
{
|
||||
setActiveTrack(s_editorData.trackViewInfo.startTrack);
|
||||
}
|
||||
*/
|
||||
if (old_start != s_editorData.trackViewInfo.startPixel)
|
||||
Editor_updateTrackScroll();
|
||||
}
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
@ -346,7 +369,10 @@ void Editor_update()
|
||||
bool need_update = internalUpdate();
|
||||
|
||||
if (need_update)
|
||||
{
|
||||
Editor_updateTrackScroll();
|
||||
internalUpdate();
|
||||
}
|
||||
}
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
@ -591,6 +617,7 @@ bool Editor_keyDown(int key, int modifiers)
|
||||
else
|
||||
t->folded = true;
|
||||
|
||||
Editor_updateTrackScroll();
|
||||
Editor_update();
|
||||
return true;
|
||||
}
|
||||
@ -598,7 +625,15 @@ bool Editor_keyDown(int key, int modifiers)
|
||||
if (modifiers & EMGUI_KEY_COMMAND)
|
||||
track = 0;
|
||||
|
||||
setActiveTrack(track < 0 ? 0 : track);
|
||||
track = emaxi(0, track);
|
||||
|
||||
setActiveTrack(track);
|
||||
|
||||
if (!TrackView_isSelectedTrackVisible(getTrackViewInfo(), getTrackData(), track))
|
||||
{
|
||||
s_editorData.trackViewInfo.startPixel += TrackView_getTracksOffset(getTrackViewInfo(), getTrackData(), current_track, track);
|
||||
Editor_updateTrackScroll();
|
||||
}
|
||||
|
||||
if (modifiers & EMGUI_KEY_SHIFT)
|
||||
{
|
||||
@ -640,6 +675,7 @@ bool Editor_keyDown(int key, int modifiers)
|
||||
else
|
||||
t->folded = false;
|
||||
|
||||
Editor_updateTrackScroll();
|
||||
Editor_update();
|
||||
return true;
|
||||
}
|
||||
@ -652,6 +688,12 @@ bool Editor_keyDown(int key, int modifiers)
|
||||
|
||||
setActiveTrack(track);
|
||||
|
||||
if (!TrackView_isSelectedTrackVisible(getTrackViewInfo(), getTrackData(), track))
|
||||
{
|
||||
s_editorData.trackViewInfo.startPixel += TrackView_getTracksOffset(getTrackViewInfo(), getTrackData(), current_track, track);
|
||||
Editor_updateTrackScroll();
|
||||
}
|
||||
|
||||
if (modifiers & EMGUI_KEY_SHIFT)
|
||||
{
|
||||
Track* t = &trackData->tracks[track];
|
||||
@ -863,15 +905,21 @@ bool Editor_keyDown(int key, int modifiers)
|
||||
void Editor_scroll(float deltaX, float deltaY)
|
||||
{
|
||||
int current_row = s_editorData.trackViewInfo.rowPos;
|
||||
int pixel_offset = s_editorData.trackViewInfo.startPixel;
|
||||
int old_offset = s_editorData.trackViewInfo.startPixel;
|
||||
TrackViewInfo* viewInfo = &s_editorData.trackViewInfo;
|
||||
const int total_track_width = TrackView_getWidth(getTrackViewInfo(), getTrackData());
|
||||
|
||||
current_row += (int)deltaY;
|
||||
pixel_offset += (int)(deltaX * 4.0f);
|
||||
|
||||
if (current_row < viewInfo->startRow || current_row >= viewInfo->endRow)
|
||||
return;
|
||||
|
||||
s_editorData.trackViewInfo.startPixel += (int)(deltaX * 4.0f);
|
||||
s_editorData.trackViewInfo.rowPos = eclampi(current_row, viewInfo->startRow, viewInfo->endRow);
|
||||
s_editorData.trackViewInfo.startPixel = eclampi(pixel_offset, 0, total_track_width);
|
||||
|
||||
RemoteConnection_sendSetRowCommand(s_editorData.trackViewInfo.rowPos);
|
||||
|
||||
if (old_offset != s_editorData.trackViewInfo.startPixel)
|
||||
Editor_updateTrackScroll();
|
||||
|
||||
Editor_update();
|
||||
}
|
||||
@ -987,7 +1035,7 @@ void Editor_timedUpdate()
|
||||
{
|
||||
int processed_commands = 0;
|
||||
|
||||
RemoteConnection_updateListner();
|
||||
RemoteConnection_updateListner(getRowPos());
|
||||
|
||||
updateTrackStatus();
|
||||
|
||||
@ -1002,17 +1050,35 @@ void Editor_timedUpdate()
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
static void setWindowTitle(const char* path)
|
||||
{
|
||||
char windowTitle[4096];
|
||||
sprintf(windowTitle, "RocketEditor - (%s)", path);
|
||||
Window_setTitle(windowTitle);
|
||||
}
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
static void onOpen()
|
||||
{
|
||||
if (LoadSave_loadRocketXMLDialog(&s_editorData.trackData))
|
||||
char path[2048];
|
||||
|
||||
if (LoadSave_loadRocketXMLDialog(path, &s_editorData.trackData))
|
||||
{
|
||||
Editor_update();
|
||||
setWindowTitle(path);
|
||||
}
|
||||
}
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
static void onSave()
|
||||
{
|
||||
LoadSave_saveRocketXMLDialog(&s_editorData.trackData);
|
||||
char path[2048];
|
||||
if (!LoadSave_saveRocketXMLDialog(path, &s_editorData.trackData))
|
||||
return;
|
||||
|
||||
setWindowTitle(path);
|
||||
}
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
@ -1022,7 +1088,6 @@ void Editor_menuEvent(int menuItem)
|
||||
printf("%d\n", menuItem);
|
||||
switch (menuItem)
|
||||
{
|
||||
//case EDITOR_MENU_NEW : onNew(); break;
|
||||
case EDITOR_MENU_OPEN : onOpen(); break;
|
||||
case EDITOR_MENU_SAVE :
|
||||
case EDITOR_MENU_SAVE_AS : onSave(); break;
|
||||
|
||||
@ -11,6 +11,7 @@ bool Editor_keyDown(int keyCode, int mod);
|
||||
void Editor_setWindowSize(int x, int y);
|
||||
void Editor_menuEvent(int menuItem);
|
||||
void Editor_scroll(float deltaX, float deltaY);
|
||||
void Editor_updateTrackScroll();
|
||||
|
||||
enum
|
||||
{
|
||||
|
||||
@ -205,7 +205,7 @@ static SOCKET clientConnect(SOCKET serverSocket, struct sockaddr_in* host)
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
void RemoteConnection_updateListner()
|
||||
void RemoteConnection_updateListner(int currentRow)
|
||||
{
|
||||
SOCKET clientSocket;
|
||||
struct sockaddr_in client;
|
||||
@ -225,7 +225,7 @@ void RemoteConnection_updateListner()
|
||||
s_socket = clientSocket;
|
||||
s_clientIndex = 0;
|
||||
RemoteConnection_sendPauseCommand(true);
|
||||
//RemoteConnection_sendSetRowCommand(trackView->getEditRow());
|
||||
RemoteConnection_sendSetRowCommand(currentRow);
|
||||
}
|
||||
else
|
||||
{
|
||||
|
||||
@ -9,7 +9,7 @@ struct sync_track;
|
||||
// Listen for incoming connections
|
||||
|
||||
bool RemoteConnection_createListner();
|
||||
void RemoteConnection_updateListner();
|
||||
void RemoteConnection_updateListner(int currentRow);
|
||||
void RemoteConnection_close();
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
@ -463,7 +463,7 @@ static int processTrack(Track* track, int posX, int* startTrack, int* endTrack,
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
static int setActiveTrack(TrackViewInfo* viewInfo, TrackData* trackData, int activeTrack, int posX)
|
||||
int TrackView_getScrolledTrack(TrackViewInfo* viewInfo, TrackData* trackData, int activeTrack, int posX)
|
||||
{
|
||||
int i, j, track_count = trackData->syncData.num_tracks;
|
||||
int start_track = -1, end_track = -1;
|
||||
@ -496,25 +496,15 @@ static int setActiveTrack(TrackViewInfo* viewInfo, TrackData* trackData, int act
|
||||
}
|
||||
|
||||
if (activeTrack > start_track && activeTrack < end_track)
|
||||
{
|
||||
if (activeTrack == -1)
|
||||
__asm__ ("int $3");
|
||||
return activeTrack;
|
||||
}
|
||||
|
||||
if (activeTrack < start_track)
|
||||
{
|
||||
if (start_track == -1)
|
||||
__asm__ ("int $3");
|
||||
|
||||
return start_track;
|
||||
}
|
||||
|
||||
if (activeTrack > end_track)
|
||||
{
|
||||
if (end_track == -1)
|
||||
__asm__ ("int $3");
|
||||
return end_track;
|
||||
if (end_track != -1)
|
||||
return end_track;
|
||||
}
|
||||
|
||||
return activeTrack;
|
||||
@ -525,7 +515,6 @@ static int setActiveTrack(TrackViewInfo* viewInfo, TrackData* trackData, int act
|
||||
bool TrackView_render(TrackViewInfo* viewInfo, TrackData* trackData)
|
||||
{
|
||||
struct TrackInfo info;
|
||||
int sel_track = 0; //trackData->activeTrack;
|
||||
int start_track = 0; //viewInfo->startTrack;
|
||||
int x_pos = 128;
|
||||
int end_track = 0;
|
||||
@ -566,7 +555,7 @@ bool TrackView_render(TrackViewInfo* viewInfo, TrackData* trackData)
|
||||
if (trackData->groupCount == 0)
|
||||
return false;
|
||||
|
||||
x_pos = 50 + -viewInfo->startPixel;
|
||||
x_pos = TrackView_getStartOffset() + -viewInfo->startPixel;
|
||||
|
||||
printRowNumbers(2, adjust_top_size, end_row, y_pos_row, font_size, 8, y_end_border);
|
||||
Emgui_drawBorder(border_color, border_color, 48, info.startY - font_size * 4, viewInfo->windowSizeX - 80, (info.endSizeY - info.startY) + 40);
|
||||
@ -575,10 +564,10 @@ bool TrackView_render(TrackViewInfo* viewInfo, TrackData* trackData)
|
||||
Emgui_setScissor(48, 0, viewInfo->windowSizeX - 80, viewInfo->windowSizeY);
|
||||
Emgui_setFont(viewInfo->smallFontId);
|
||||
|
||||
sel_track = setActiveTrack(viewInfo, trackData, trackData->activeTrack, x_pos);
|
||||
///sel_track = setActiveTrack(viewInfo, trackData, trackData->activeTrack, x_pos);
|
||||
|
||||
if (sel_track != trackData->activeTrack)
|
||||
TrackData_setActiveTrack(trackData, sel_track);
|
||||
//if (sel_track != trackData->activeTrack)
|
||||
// TrackData_setActiveTrack(trackData, sel_track);
|
||||
|
||||
for (i = start_track, end_track = trackData->syncData.num_tracks; i < end_track; )
|
||||
{
|
||||
@ -637,3 +626,73 @@ int TrackView_getWidth(TrackViewInfo* viewInfo, struct TrackData* trackData)
|
||||
return size;
|
||||
}
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
int TrackView_getStartOffset()
|
||||
{
|
||||
return 50;
|
||||
}
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
bool TrackView_isSelectedTrackVisible(TrackViewInfo* viewInfo, TrackData* trackData, int track)
|
||||
{
|
||||
return TrackView_getScrolledTrack(viewInfo, trackData, track, TrackView_getStartOffset() - viewInfo->startPixel) == track;
|
||||
}
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
int TrackView_getTracksOffset(TrackViewInfo* viewInfo, TrackData* trackData, int prevTrack, int nextTrack)
|
||||
{
|
||||
int i, j, size = 0;
|
||||
bool flip = false;
|
||||
|
||||
if (prevTrack == nextTrack)
|
||||
return 0;
|
||||
|
||||
// handle the case when tracks are flipped
|
||||
|
||||
if (prevTrack > nextTrack)
|
||||
{
|
||||
int temp = nextTrack;
|
||||
nextTrack = prevTrack;
|
||||
prevTrack = temp;
|
||||
flip = true;
|
||||
}
|
||||
|
||||
for (i = prevTrack; i < nextTrack; )
|
||||
{
|
||||
Track* t = &trackData->tracks[i];
|
||||
|
||||
// if track has no group its always safe to assume that can select the track
|
||||
|
||||
if (t->group->trackCount == 1)
|
||||
{
|
||||
size += getTrackSize(viewInfo, t); ++i;
|
||||
continue;
|
||||
}
|
||||
|
||||
if (t->group->folded)
|
||||
{
|
||||
size += track_size_folded;
|
||||
i += t->group->trackCount;
|
||||
continue;
|
||||
}
|
||||
|
||||
for (j = 0; j < t->group->trackCount; ++j)
|
||||
{
|
||||
if (i + j == nextTrack)
|
||||
goto end;
|
||||
|
||||
size += getTrackSize(viewInfo, t->group->t.tracks[j]);
|
||||
|
||||
}
|
||||
|
||||
i += t->group->trackCount;
|
||||
}
|
||||
|
||||
end:;
|
||||
|
||||
return flip ? -size : size;
|
||||
}
|
||||
|
||||
|
||||
@ -5,6 +5,7 @@
|
||||
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
struct TrackData* trackData;
|
||||
struct TrackViewInfo;
|
||||
|
||||
typedef struct TrackViewInfo
|
||||
{
|
||||
@ -30,4 +31,8 @@ typedef struct TrackViewInfo
|
||||
void TrackView_init();
|
||||
bool TrackView_render(TrackViewInfo* viewInfo, struct TrackData* trackData);
|
||||
int TrackView_getWidth(TrackViewInfo* viewInfo, struct TrackData* trackData);
|
||||
int TrackView_getScrolledTrack(struct TrackViewInfo* viewInfo, struct TrackData* trackData, int activeTrack, int posX);
|
||||
int TrackView_getStartOffset();
|
||||
int TrackView_getTracksOffset(struct TrackViewInfo* viewInfo, struct TrackData* trackData, int prevTrack, int nextTrack);
|
||||
bool TrackView_isSelectedTrackVisible(struct TrackViewInfo* viewInfo, struct TrackData* trackData, int track);
|
||||
|
||||
|
||||
@ -162,10 +162,8 @@ int LoadSave_loadRocketXML(const char* path, TrackData* trackData)
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
int LoadSave_loadRocketXMLDialog(TrackData* trackData)
|
||||
int LoadSave_loadRocketXMLDialog(char* path, TrackData* trackData)
|
||||
{
|
||||
char path[512];
|
||||
|
||||
if (!Dialog_open(path))
|
||||
return false;
|
||||
|
||||
@ -239,14 +237,11 @@ int LoadSave_saveRocketXML(const char* path, TrackData* trackData)
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
int LoadSave_saveRocketXMLDialog(TrackData* trackData)
|
||||
int LoadSave_saveRocketXMLDialog(char* path, TrackData* trackData)
|
||||
{
|
||||
char path[512];
|
||||
|
||||
if (!Dialog_save(path))
|
||||
return false;
|
||||
|
||||
|
||||
return LoadSave_saveRocketXML(path, trackData);
|
||||
}
|
||||
|
||||
|
||||
@ -3,7 +3,7 @@
|
||||
struct TrackData;
|
||||
|
||||
int LoadSave_loadRocketXML(const char* path, struct TrackData* trackData);
|
||||
int LoadSave_loadRocketXMLDialog(struct TrackData* trackData);
|
||||
int LoadSave_loadRocketXMLDialog(char* path, struct TrackData* trackData);
|
||||
int LoadSave_saveRocketXML(const char* path, struct TrackData* trackData);
|
||||
int LoadSave_saveRocketXMLDialog(struct TrackData* trackData);
|
||||
int LoadSave_saveRocketXMLDialog(char* path, struct TrackData* trackData);
|
||||
|
||||
|
||||
@ -5,6 +5,7 @@
|
||||
#include <GFXBackend.h>
|
||||
|
||||
NSOpenGLContext* g_context = 0;
|
||||
NSWindow* g_window = 0;
|
||||
|
||||
@implementation RocketView
|
||||
|
||||
@ -33,6 +34,7 @@ NSOpenGLContext* g_context = 0;
|
||||
[oglContext makeCurrentContext];
|
||||
|
||||
g_context = oglContext;
|
||||
g_window = [self window];
|
||||
|
||||
EMGFXBackend_create();
|
||||
Editor_create();
|
||||
@ -66,6 +68,7 @@ NSOpenGLContext* g_context = 0;
|
||||
- (void)drawRect:(NSRect)frameRect
|
||||
{
|
||||
[oglContext update];
|
||||
g_window = [self window];
|
||||
|
||||
EMGFXBackend_updateViewPort((int)frameRect.size.width, (int)frameRect.size.height);
|
||||
Editor_setWindowSize((int)frameRect.size.width, (int)frameRect.size.height);
|
||||
@ -159,7 +162,6 @@ NSOpenGLContext* g_context = 0;
|
||||
Editor_update();
|
||||
}
|
||||
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
- (void)scrollWheel:(NSEvent *)theEvent
|
||||
@ -209,3 +211,11 @@ void swapBuffers()
|
||||
{
|
||||
[g_context flushBuffer];
|
||||
}
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
void Window_setTitle(const char* title)
|
||||
{
|
||||
[g_window setTitle:[NSString stringWithUTF8String:title]];
|
||||
}
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user