WIP on adding new tracks from demo while editor is running
This commit is contained in:
parent
c93292fdda
commit
7319e6a8ca
@ -1,6 +1,7 @@
|
||||
#include "TrackData.h"
|
||||
#include "Commands.h"
|
||||
#include "rlog.h"
|
||||
#include <stdio.h>
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
@ -40,7 +41,7 @@ static uint32_t s_colors[] =
|
||||
|
||||
uint32_t TrackData_getNextColor(TrackData* trackData)
|
||||
{
|
||||
return s_colors[(trackData->lastColor++) & 0x7];
|
||||
return s_colors[trackData->lastColor++ & 0x7];
|
||||
}
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
@ -84,7 +85,9 @@ static Group* findOrCreateGroup(const char* name, TrackData* trackData)
|
||||
group->name = strdup(name);
|
||||
group->displayName = strdup(name);
|
||||
group->displayName[strlen(name)-1] = 0;
|
||||
group->trackCount = 0;
|
||||
group->groupIndex = trackData->groupCount - 1;
|
||||
|
||||
printf("creating group %s\n", name);
|
||||
|
||||
return group;
|
||||
}
|
||||
@ -114,6 +117,9 @@ void TrackData_linkTrack(int index, const char* name, TrackData* trackData)
|
||||
group->trackCount = 1;
|
||||
track->group = group;
|
||||
track->displayName = strdup(name);
|
||||
|
||||
printf("Linking track %s to group %s\n", name, name);
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
@ -127,8 +133,10 @@ void TrackData_linkTrack(int index, const char* name, TrackData* trackData)
|
||||
else
|
||||
group->t.tracks = (Track**)realloc(group->t.tracks, sizeof(Track**) * (group->trackCount + 1));
|
||||
|
||||
group->t.tracks[group->trackCount] = track;
|
||||
group->trackCount++;
|
||||
printf("Linking track %s to group %s\n", name, group_name);
|
||||
|
||||
track->groupIndex = group->trackCount;
|
||||
group->t.tracks[group->trackCount++] = track;
|
||||
|
||||
track->group = group;
|
||||
track->displayName = strdup(&name[found + 1]);
|
||||
|
||||
@ -31,6 +31,7 @@ typedef struct Track
|
||||
|
||||
int width; // width in pixels of the track
|
||||
int index;
|
||||
int groupIndex;
|
||||
bool hidden;
|
||||
bool folded;
|
||||
bool selected;
|
||||
@ -56,6 +57,7 @@ typedef struct Group
|
||||
|
||||
enum GroupType type;
|
||||
int trackCount;
|
||||
int groupIndex;
|
||||
} Group;
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
@ -558,9 +558,9 @@ int TrackView_getScrolledTrack(TrackViewInfo* viewInfo, TrackData* trackData, in
|
||||
bool TrackView_render(TrackViewInfo* viewInfo, TrackData* trackData)
|
||||
{
|
||||
struct TrackInfo info;
|
||||
int start_track = 0; //viewInfo->startTrack;
|
||||
int group_count;
|
||||
int x_pos = 128;
|
||||
int end_track = 0;
|
||||
//int end_track = 0;
|
||||
int i = 0;
|
||||
//int track_size;
|
||||
int adjust_top_size;
|
||||
@ -612,13 +612,13 @@ bool TrackView_render(TrackViewInfo* viewInfo, TrackData* trackData)
|
||||
//if (sel_track != trackData->activeTrack)
|
||||
// TrackData_setActiveTrack(trackData, sel_track);
|
||||
|
||||
for (i = start_track, end_track = trackData->syncData.num_tracks; i < end_track; )
|
||||
for (i = 0, group_count = trackData->groupCount; i < group_count; ++i)
|
||||
{
|
||||
Track* track = &trackData->tracks[i];
|
||||
Group* group = track->group;
|
||||
Group* group = &trackData->groups[i];
|
||||
|
||||
if (group->trackCount == 1)
|
||||
{
|
||||
Track* track = group->t.track;
|
||||
int track_size = getTrackSize(viewInfo, track);
|
||||
|
||||
if ((x_pos + track_size > 0) && (x_pos < viewInfo->windowSizeX))
|
||||
@ -630,11 +630,11 @@ bool TrackView_render(TrackViewInfo* viewInfo, TrackData* trackData)
|
||||
}
|
||||
|
||||
x_pos += track_size;
|
||||
++i;
|
||||
}
|
||||
else
|
||||
{
|
||||
x_pos += renderGroup(group, track, x_pos, &i, info, trackData);
|
||||
int temp;
|
||||
x_pos += renderGroup(group, group->t.tracks[0], x_pos, &temp, info, trackData);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user