Exemple #1
0
        /// <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);
        }
Exemple #2
0
 public static StyleTime FromStyleMessage(MidiMessage Message, RolandStyleData StyleData)
 {
     return(StyleTime.FromStyleTimestamp(Message.TotalTime, StyleData.Measure));
 }