Example #1
0
        internal bool ParseHeader(TabStream s)
        {
            var marker = s.LE_ReadUInt32();

            if (marker != POWERTABFILE_MARKER)
            {
                Console.WriteLine("Marker error: {0:X}", marker);
                return(false);
            }

            m_version = s.LE_ReadUInt16();

            switch (m_version)
            {
            case FILEVERSION_1_0:
            case FILEVERSION_1_0_2:
                throw new NotImplementedException("Need to implement 1.0.x reader");

            case FILEVERSION_1_5:
                throw new NotImplementedException("Need to implement 1.5 reader");

            case FILEVERSION_1_7:
                return(ParseHeader_1_7(s));

            default:
                return(false);
            }
        }
Example #2
0
        internal bool ParseHeader(TabStream s)
        {
            var marker = s.LE_ReadUInt32();
            if (marker != POWERTABFILE_MARKER)
            {
                Console.WriteLine("Marker error: {0:X}", marker);
                return false;
            }

            m_version = s.LE_ReadUInt16();

            switch (m_version)
            {
                case FILEVERSION_1_0:
                case FILEVERSION_1_0_2:
                    throw new NotImplementedException("Need to implement 1.0.x reader");
                case FILEVERSION_1_5:
                    throw new NotImplementedException("Need to implement 1.5 reader");
                case FILEVERSION_1_7:
                    return ParseHeader_1_7(s);
                default:
                    return false;
            }
        }
 public static bool IsType(TabStream s)
 {
     s.Position = 0;
     return(s.LE_ReadUInt32() == PowerTabHeader.POWERTABFILE_MARKER);
 }
 public PowerTabDocument(TabStream s) : base(s)
 {
 }
 public static bool IsType(TabStream s)
 {
     s.Position = 0;
     return s.LE_ReadUInt32() == PowerTabHeader.POWERTABFILE_MARKER;
 }
 public PowerTabDocument(TabStream s)
     : base(s)
 {
 }
Example #7
0
        private bool ParseHeader_1_7(TabStream s)
        {
            m_fileType = s.LE_ReadUInt8();

            switch (m_fileType)
            {
            case FILETYPE_SONG:
                m_songData = new SongData();

                m_songData.contentType = s.LE_ReadUInt8();
                m_songData.title       = s.ReadStringWithLength();
                m_songData.artist      = s.ReadStringWithLength();
                m_songData.releaseType = s.LE_ReadUInt8();
                switch (m_songData.releaseType)
                {
                case RELEASETYPE_PUBLIC_AUDIO:
                    m_songData.audioData       = new SongData.AudioData();
                    m_songData.audioData.type  = s.LE_ReadUInt8();
                    m_songData.audioData.title = s.ReadStringWithLength();
                    m_songData.audioData.year  = s.LE_ReadUInt16();
                    m_songData.audioData.live  = s.LE_ReadUInt8();
                    break;

                case RELEASETYPE_PUBLIC_VIDEO:
                    m_songData.videoData       = new SongData.VideoData();
                    m_songData.videoData.title = s.ReadStringWithLength();
                    m_songData.videoData.live  = s.LE_ReadUInt8();
                    break;

                case RELEASETYPE_BOOTLEG:
                    m_songData.bootlegData       = new SongData.BootlegData();
                    m_songData.bootlegData.title = s.ReadStringWithLength();
                    m_songData.bootlegData.month = s.LE_ReadUInt16();
                    m_songData.bootlegData.day   = s.LE_ReadUInt16();
                    m_songData.bootlegData.year  = s.LE_ReadUInt16();
                    break;
                }

                m_songData.authorType = s.LE_ReadUInt8();
                if (m_songData.authorType == AUTHORTYPE_AUTHORKNOWN)
                {
                    m_songData.authorData          = new SongData.AuthorData();
                    m_songData.authorData.composer = s.ReadStringWithLength();
                    m_songData.authorData.lyricist = s.ReadStringWithLength();
                }

                m_songData.arranger = s.ReadStringWithLength();

                m_songData.guitarScoreTranscriber = s.ReadStringWithLength();
                m_songData.bassScoreTranscriber   = s.ReadStringWithLength();
                m_songData.copyright        = s.ReadStringWithLength();
                m_songData.lyrics           = s.ReadStringWithLength();
                m_songData.guitarScoreNotes = s.ReadStringWithLength();
                m_songData.bassScoreNotes   = s.ReadStringWithLength();

                break;

            case FILETYPE_LESSON:
                m_lessonData = new LessonData();

                m_lessonData.title      = s.ReadStringWithLength();
                m_lessonData.subtitle   = s.ReadStringWithLength();
                m_lessonData.musicStyle = s.LE_ReadUInt16();
                m_lessonData.level      = s.LE_ReadUInt8();
                m_lessonData.author     = s.ReadStringWithLength();
                m_lessonData.notes      = s.ReadStringWithLength();
                m_lessonData.copyright  = s.ReadStringWithLength();

                break;
            }
            return(true);
        }
Example #8
0
 public GuitarProDocument(TabStream s) : base(s)
 {
 }
Example #9
0
 public static bool IsType(TabStream s)
 {
     s.Position = 0;
     return(s.ReadStringWithLength().StartsWith("FICHIER GUITAR PRO"));
 }
Example #10
0
        private bool ParseHeader_1_7(TabStream s)
        {
            m_fileType = s.LE_ReadUInt8();

            switch (m_fileType)
            {
                case FILETYPE_SONG:
                    m_songData = new SongData();

                    m_songData.contentType = s.LE_ReadUInt8();
                    m_songData.title = s.ReadStringWithLength();
                    m_songData.artist = s.ReadStringWithLength();
                    m_songData.releaseType = s.LE_ReadUInt8();
                    switch (m_songData.releaseType)
                    {
                        case RELEASETYPE_PUBLIC_AUDIO:
                            m_songData.audioData = new SongData.AudioData();
                            m_songData.audioData.type = s.LE_ReadUInt8();
                            m_songData.audioData.title = s.ReadStringWithLength();
                            m_songData.audioData.year = s.LE_ReadUInt16();
                            m_songData.audioData.live = s.LE_ReadUInt8();
                            break;
                        case RELEASETYPE_PUBLIC_VIDEO:
                            m_songData.videoData = new SongData.VideoData();
                            m_songData.videoData.title = s.ReadStringWithLength();
                            m_songData.videoData.live = s.LE_ReadUInt8();
                            break;
                        case RELEASETYPE_BOOTLEG:
                            m_songData.bootlegData = new SongData.BootlegData();
                            m_songData.bootlegData.title = s.ReadStringWithLength();
                            m_songData.bootlegData.month = s.LE_ReadUInt16();
                            m_songData.bootlegData.day = s.LE_ReadUInt16();
                            m_songData.bootlegData.year = s.LE_ReadUInt16();
                            break;
                    }

                    m_songData.authorType = s.LE_ReadUInt8();
                    if (m_songData.authorType == AUTHORTYPE_AUTHORKNOWN)
                    {
                        m_songData.authorData = new SongData.AuthorData();
                        m_songData.authorData.composer = s.ReadStringWithLength();
                        m_songData.authorData.lyricist = s.ReadStringWithLength();
                    }

                    m_songData.arranger = s.ReadStringWithLength();

                    m_songData.guitarScoreTranscriber = s.ReadStringWithLength();
                    m_songData.bassScoreTranscriber = s.ReadStringWithLength();
                    m_songData.copyright = s.ReadStringWithLength();
                    m_songData.lyrics = s.ReadStringWithLength();
                    m_songData.guitarScoreNotes = s.ReadStringWithLength();
                    m_songData.bassScoreNotes = s.ReadStringWithLength();

                    break;
                case FILETYPE_LESSON:
                    m_lessonData = new LessonData();

                    m_lessonData.title = s.ReadStringWithLength();
                    m_lessonData.subtitle = s.ReadStringWithLength();
                    m_lessonData.musicStyle = s.LE_ReadUInt16();
                    m_lessonData.level = s.LE_ReadUInt8();
                    m_lessonData.author = s.ReadStringWithLength();
                    m_lessonData.notes = s.ReadStringWithLength();
                    m_lessonData.copyright = s.ReadStringWithLength();

                    break;
            }
            return true;
        }
 public static bool IsType(TabStream s)
 {
     s.Position = 0;
     return s.ReadStringWithLength().StartsWith("FICHIER GUITAR PRO");
 }
 public GuitarProDocument(TabStream s)
     : base(s)
 {
 }