Merge branch '#174' into tic_0.46.0
This commit is contained in:
commit
44855c6aa8
36
src/music.c
36
src/music.c
|
@ -1495,6 +1495,37 @@ static void drawPianoLayout(Music* music)
|
||||||
music->tic->api.fixed_text(music->tic, Wip, (TIC80_WIDTH - (sizeof Wip - 1) * TIC_FONT_WIDTH) / 2, TIC80_HEIGHT / 2, systemColor(tic_color_white));
|
music->tic->api.fixed_text(music->tic, Wip, (TIC80_WIDTH - (sizeof Wip - 1) * TIC_FONT_WIDTH) / 2, TIC80_HEIGHT / 2, systemColor(tic_color_white));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static void scrollNotes(Music* music, s32 delta)
|
||||||
|
{
|
||||||
|
tic_track_pattern* pattern = getChannelPattern(music);
|
||||||
|
|
||||||
|
if(pattern)
|
||||||
|
{
|
||||||
|
SDL_Rect rect = music->tracker.select.rect;
|
||||||
|
|
||||||
|
if(rect.h <= 0)
|
||||||
|
{
|
||||||
|
rect.y = music->tracker.row;
|
||||||
|
rect.h = 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
for(s32 i = rect.y; i < rect.y + rect.h; i++)
|
||||||
|
{
|
||||||
|
s32 note = pattern->rows[i].note + pattern->rows[i].octave * NOTES - NoteStart;
|
||||||
|
|
||||||
|
note += delta;
|
||||||
|
|
||||||
|
if(note >= 0 && note < NOTES*OCTAVES)
|
||||||
|
{
|
||||||
|
pattern->rows[i].note = note % NOTES + NoteStart;
|
||||||
|
pattern->rows[i].octave = note / NOTES;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
history_add(music->history);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
static void drawTrackerLayout(Music* music)
|
static void drawTrackerLayout(Music* music)
|
||||||
{
|
{
|
||||||
SDL_Event* event = NULL;
|
SDL_Event* event = NULL;
|
||||||
|
@ -1503,6 +1534,11 @@ static void drawTrackerLayout(Music* music)
|
||||||
switch (event->type)
|
switch (event->type)
|
||||||
{
|
{
|
||||||
case SDL_MOUSEWHEEL:
|
case SDL_MOUSEWHEEL:
|
||||||
|
if(SDL_GetModState() & TIC_MOD_CTRL)
|
||||||
|
{
|
||||||
|
scrollNotes(music, event->wheel.y > 0 ? 1 : -1);
|
||||||
|
}
|
||||||
|
else
|
||||||
{
|
{
|
||||||
enum{Scroll = NOTES_PER_BEET};
|
enum{Scroll = NOTES_PER_BEET};
|
||||||
s32 delta = event->wheel.y > 0 ? -Scroll : Scroll;
|
s32 delta = event->wheel.y > 0 ? -Scroll : Scroll;
|
||||||
|
|
Loading…
Reference in New Issue