Merge branch '#174' into tic_0.46.0
This commit is contained in:
		
							
								
								
									
										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;
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user