mirror of
				https://github.com/vsariola/sointu.git
				synced 2025-11-04 00:45:35 -05:00 
			
		
		
		
	feat(tracker): show notes for whole song, instead of single pattern
This commit is contained in:
		@ -26,13 +26,26 @@ func (t *Tracker) layoutTracker(gtx layout.Context) layout.Dimensions {
 | 
				
			|||||||
	if t.DisplayPattern != t.PlayPattern {
 | 
						if t.DisplayPattern != t.PlayPattern {
 | 
				
			||||||
		playRow = -1
 | 
							playRow = -1
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	for i, trk := range t.song.Tracks {
 | 
						for i, trk := range t.song.Tracks {
 | 
				
			||||||
 | 
							sumLen := 0
 | 
				
			||||||
 | 
							for _, patIndex := range trk.Sequence {
 | 
				
			||||||
 | 
								sumLen += len(trk.Patterns[patIndex])
 | 
				
			||||||
 | 
							}
 | 
				
			||||||
 | 
							notes := make([]byte, sumLen)
 | 
				
			||||||
 | 
							window := notes
 | 
				
			||||||
 | 
							for _, patIndex := range trk.Sequence {
 | 
				
			||||||
 | 
								elementsCopied := copy(window, trk.Patterns[patIndex])
 | 
				
			||||||
 | 
								window = window[elementsCopied:]
 | 
				
			||||||
 | 
							}
 | 
				
			||||||
 | 
							songCursorRow := t.CursorRow + t.DisplayPattern*t.song.PatternRows()
 | 
				
			||||||
 | 
							songPlayRow := playRow + t.PlayPattern*t.song.PatternRows()
 | 
				
			||||||
		flexTracks[i] = layout.Rigid(Lowered(t.layoutTrack(
 | 
							flexTracks[i] = layout.Rigid(Lowered(t.layoutTrack(
 | 
				
			||||||
			trk.Patterns[trk.Sequence[t.DisplayPattern]],
 | 
								notes,
 | 
				
			||||||
			t.ActiveTrack == i,
 | 
								t.ActiveTrack == i,
 | 
				
			||||||
			t.CursorRow,
 | 
								songCursorRow,
 | 
				
			||||||
			t.CursorColumn,
 | 
								t.CursorColumn,
 | 
				
			||||||
			playRow,
 | 
								songPlayRow,
 | 
				
			||||||
		)))
 | 
							)))
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
	return layout.Flex{Axis: layout.Horizontal}.Layout(gtx,
 | 
						return layout.Flex{Axis: layout.Horizontal}.Layout(gtx,
 | 
				
			||||||
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user