public static void Draw(Track track, Rect rect, float start, float end)
        {
            TrackDrawer trackDrawer = GetTrackDrawer(track);

            GUIStyle style = GUI.skin.box;
            style.alignment = TextAnchor.UpperLeft;

            GUI.Box(new Rect(0, 0, rect.width, rect.height), track.name, style);

            Rect trackRect = new Rect(5, 5, rect.width - 10, rect.height - 10);

            GUI.BeginGroup(trackRect);

            trackDrawer.DrawTrack(track, trackRect, start, end);

            GUI.EndGroup();
        }
        void OnGUI()
        {
            if (rhythmPlayer.rhythmData == null)
                return;

            List<Track> tracks = rhythmPlayer.rhythmData.tracks;

            GUI.BeginGroup(new Rect(10, 10, width, (height + padding) * tracks.Count));

            Rect rect = new Rect(0, 0, width, height);

            for (int i = 0; i < tracks.Count; i++)
            {
                GUI.BeginGroup(new Rect(0, i * (height + padding), width, height));

                TrackDrawer.Draw(tracks[i], rect, rhythmPlayer.time, rhythmPlayer.time + 6);

                GUI.EndGroup();
            }

            GUI.EndGroup();
        }