ChartWriter
namespace Griff.Modules.Rhythm;
public static class ChartWriterWrites a rhythm chart from a tune made in Griff, as a charter would by ear: its notes fall on what the player hears (the melody’s notes, and the drums in its gaps), each in the lane its pitch reaches for (higher to the right), a phrase’s last note held through the rest after it, and the first beat of each phrase a two-note chord. Easy keeps to the main beats, a note every one or two; Normal follows the melody’s eighth notes; Hard plays all of it, its sixteenths and the snare under it too. Every chart is fair: a note in a lane comes at least SameLaneGap after the one before it there (so no press can be taken for the wrong one), at most two lanes are pressed at once, and nothing’s played in a lane while it’s held.
Properties
Section titled “Properties”Difficulties
Section titled “Difficulties”public static IReadOnlyList<string> Difficulties { get; }The difficulties it writes, easiest first.
Methods
Section titled “Methods”public static Table Chart(string name, MusicRecipe tune)The chart of tune at each difficulty, as a table named name: a row a note, with its Beat, Lane, Hold and Difficulty, the notes of each difficulty in order. The first bar is left to get ready, and the last notes are held from the downbeat of the last bar but one.
public static IReadOnlyList<ChartWriter.Note> Notes(MusicRecipe tune, string difficulty)The notes of tune’s chart at difficulty (Easy, Normal or Hard), earliest first.
Fields
Section titled “Fields”public const int LanesThe lanes a chart is written for.
SameLaneGap
Section titled “SameLaneGap”public const double SameLaneGapThe least time, in seconds, between a note in a lane and the next in it (or a hold’s end and the next note).