Beispiel #1
0
        public static InstrumentInfo ParseInstrumentInfo(OpenMpt.ModuleExt moduleExt)
        {
            string name    = OpenMptUtility.GetModuleExtTitle(moduleExt);
            string message = OpenMptUtility.GetModuleExtMessage(moduleExt);

            fsData data = fsJsonParser.Parse(message);

            object   deserialised = null;
            fsResult result       = s_serialiser.TryDeserialize(data, typeof(SerialisedInstrumentInfo), ref deserialised);

            if (!result.Failed)
            {
                var serialisedInstrumentInfo = (SerialisedInstrumentInfo)deserialised;

                return(new InstrumentInfo(
                           name,
                           ParseAllInstruments(serialisedInstrumentInfo),
                           serialisedInstrumentInfo.Comment
                           ));
            }

            return(null);
        }
Beispiel #2
0
        public static MusicInfo ParseMusicInfo(OpenMpt.ModuleExt moduleExt)
        {
            string message = OpenMptUtility.GetModuleExtMessage(moduleExt);
            string author  = OpenMptUtility.GetModuleExtAuthor(moduleExt);
            string title   = OpenMptUtility.GetModuleExtTitle(moduleExt);

            fsData data = fsJsonParser.Parse(message);

            object   deserialised = null;
            fsResult result       = s_serialiser.TryDeserialize(data, typeof(SerialisedMusicInfo), ref deserialised);

            if (!result.Failed)
            {
                var serialisedMusicInfo = (SerialisedMusicInfo)deserialised;

                return(new MusicInfo(
                           ParseAllMusicSections(serialisedMusicInfo),
                           title,
                           author,
                           serialisedMusicInfo.Comment
                           ));
            }
            return(null);
        }