/// <summary> /// Creates an instance of this class and imports the style data from an existing source. /// </summary> /// <param name="Reader">A 2 variation Roland style reader class instance</param> /// <returns>The style data instance</returns> public static RolandStyleData CreateFromReader(IStyleReader_2variation Reader) { RolandStyleData Result = new RolandStyleData(Reader.Name, Reader.Tempo, Reader.Measure); Result.data.AddRange( from Arrange in new Arrangement[] { Arrangement.Basic, Arrangement.Advanced }.Cast <Arrangement>() from Part in Enum.GetValues(typeof(StylePart)).Cast <StylePart>() from Instr in Enum.GetValues(typeof(Instrument)).Cast <Instrument>() from CType in Enum.GetValues(typeof(ChordType)).Cast <ChordType>() from Message in Reader[Arrange == Arrangement.Basic, Part, Instr, CType] select new StyleEntry( Arrange, Part, Instr, CType, Message ) ); return(Result); }
public static StyleTime FromStyleMessage(MidiMessage Message, RolandStyleData StyleData) { return(StyleTime.FromStyleTimestamp(Message.TotalTime, StyleData.Measure)); }