示例#1
0
 public static extern bool TagsLibrary_Free(HTAGS Tags);
示例#2
0
 public static extern int TagsLibrary_TagCount(HTAGS Tags, TTagType TagType);
示例#3
0
 private static extern IntPtr TagsLibrary_GetVendorPtr(HTAGS Tags, TTagType TagType);
示例#4
0
 public static extern bool TagsLibrary_SetTagData(HTAGS Tags, int Index, TTagType TagType, TTagData TagData);
示例#5
0
 public static extern bool TagsLibrary_SetTagLoadPriority(HTAGS Tags, TTagPriority TagPriorities);
示例#6
0
 public static extern bool TagsLibrary_SetConfig(HTAGS Tags, IntPtr Value, TConfigFlags Config, TTagType TagType);
示例#7
0
 public static extern bool TagsLibrary_SetCoverArtFromFile(HTAGS Tags, TTagType TagType, int Index,  [In, MarshalAs(UnmanagedType.LPWStr)] string FileName, TCoverArtData CoverArt);
示例#8
0
 public static extern bool TagsLibrary_GetTagByIndexEx(HTAGS Tags, int Index, TTagType TagType, TMP4TagEx MP4TagEx);
示例#9
0
 public static extern TTagError TagsLibrary_GetTagEx(HTAGS Tags, [In, MarshalAs(UnmanagedType.LPWStr)] string Name, TTagType TagType,  TExtTag ExtTag);
示例#10
0
 public static extern bool TagsLibrary_GetCoverArtToFile(HTAGS Tags, TTagType TagType, int Index, [In, MarshalAs(UnmanagedType.LPWStr)] string FileName);
示例#11
0
 public static extern bool TagsLibrary_GetTagByIndexEx(HTAGS Tags, int Index, TTagType TagType, TSimpleTag SimpleTag);
示例#12
0
 public static extern IntPtr TagsLibrary_GetConfig(HTAGS Tags, TConfigFlags Config, TTagType TagType);
示例#13
0
 public static extern TTagError TagsLibrary_GetAudioAttributes(HTAGS Tags, TAudioType AudioType, ref TMusePackAttributes Attributes);
示例#14
0
 public static extern double TagsLibrary_GetAudioAttribute(HTAGS Tags, TAudioAttribute Attribute);
示例#15
0
   public static extern TTagError TagsLibrary_SaveToMemoryEx(HTAGS Tags, IntPtr MemoryAddress, UInt64 Size, TTagType TagType,
 ref IntPtr SavedAddress, ref UInt64 SavedSize, ref IntPtr SaveHandle);
示例#16
0
 public static extern int TagsLibrary_GetTagSize(HTAGS Tags, TTagType TagType);
示例#17
0
 public static extern bool TagsLibrary_SetCARTPostTimer(HTAGS Tags, int Index, TCARTPostTimer PostTimer);
示例#18
0
 //TagsLibrary_GetVendor
 /// <summary>
 /// Vendor string. Applies to Ogg Vorbis, Opus and Flac.
 /// </summary>
 /// <returns>value is null otherwise string.</returns>    
 public static string TagsLibrary_GetVendor(HTAGS Tags, TTagType TagType)
 {
     IntPtr ptr = TagsLibrary_GetVendorPtr(Tags, TagType);
       if (ptr != IntPtr.Zero)
       {
     return Marshal.PtrToStringAuto(ptr);
       }
       return null;
 }
示例#19
0
 public static extern bool TagsLibrary_SetCoverArt(HTAGS Tags, TTagType TagType, int Index, ref TCoverArtData CoverArt);
示例#20
0
 public static extern TTagError TagsLibrary_Load(HTAGS Tags, [In, MarshalAs(UnmanagedType.LPWStr)] string FileName, TTagType TagType, bool ParseTags);
示例#21
0
   public static extern bool TagsLibrary_SetTag(HTAGS Tags,   [In, MarshalAs(UnmanagedType.LPWStr)] string Name,  
 [In, MarshalAs(UnmanagedType.LPWStr)] string Value, TTagType TagType);
示例#22
0
 public static extern bool TagsLibrary_Loaded(HTAGS Tags, TTagType TagType);
示例#23
0
 public static extern bool TagsLibrary_SetTagEx(HTAGS Tags, TTagType TagType, IntPtr ExtTag);
示例#24
0
 public static extern TTagError TagsLibrary_LoadFromBASS(HTAGS Tags, int Channel);
示例#25
0
 public static extern bool TagsLibrary_SetVendor(HTAGS Tags, [In, MarshalAs(UnmanagedType.LPWStr)] string Vendor, TTagType TagType);
示例#26
0
 public static extern TTagError TagsLibrary_LoadFromMemory(HTAGS Tags, IntPtr MemoryAddress, UInt64 Size, TTagType TagType, bool ParseTags);
示例#27
0
 private static extern IntPtr TagsLibrary_GetTagPtr(HTAGS Tags, [In, MarshalAs(UnmanagedType.LPWStr)] string Name, TTagType TagType);
示例#28
0
 public static extern TTagError TagsLibrary_SaveEx(HTAGS Tags, [In, MarshalAs(UnmanagedType.LPWStr)] string FileName, TTagType TagType);
示例#29
0
        public TrackTags(int music, SourceTypes type)
        {
            onRefreshTags = () => { };

            TagsInfo = new TAG_INFO();
            Pictures = new List<TCoverArtData>();

            bool GetTags = (type == SourceTypes.Http)
                ? BassTags.BASS_TAG_GetFromURL(music, TagsInfo)
                : BassTags.BASS_TAG_GetFromFile(music, TagsInfo);

            TagsLoadOrRefresh();
            LoadCurrentCovers();

            HTags = TagsLib.TagsLibrary_Create();

            MainPicture = (Pictures.Count > 0)
                ? PicFromMem.GetBitmapImageFromMemPtr(Pictures[0].Data,Pictures[0].DataSize)
                : null;

            switch (TagsInfo.channelinfo.ctype)
            {
                case BASSChannelType.BASS_CTYPE_MUSIC_IT:
                    FileExtension = "it";
                    break;
                case BASSChannelType.BASS_CTYPE_MUSIC_MO3:
                    FileExtension = "mo3";
                    break;
                case BASSChannelType.BASS_CTYPE_MUSIC_MOD:
                    FileExtension = "mod";
                    break;
                case BASSChannelType.BASS_CTYPE_MUSIC_MTM:
                    FileExtension = "mtm";
                    break;
                case BASSChannelType.BASS_CTYPE_MUSIC_S3M:
                    FileExtension = "s3m";
                    break;
                case BASSChannelType.BASS_CTYPE_MUSIC_XM:
                    FileExtension = "xm";
                    break;
                case BASSChannelType.BASS_CTYPE_RECORD:
                    FileExtension = "HRECORD";
                    break;
                case BASSChannelType.BASS_CTYPE_SAMPLE:
                    FileExtension = "HCHANNEL";
                    break;
                case BASSChannelType.BASS_CTYPE_STREAM:
                    FileExtension = "HSTREAM";
                    break;
                case BASSChannelType.BASS_CTYPE_STREAM_AAC:
                    FileExtension = "aac";
                    break;
                case BASSChannelType.BASS_CTYPE_STREAM_AC3:
                    FileExtension = "ac3";
                    break;
                case BASSChannelType.BASS_CTYPE_STREAM_ADX:
                    FileExtension = "adx";
                    break;
                case BASSChannelType.BASS_CTYPE_STREAM_AIFF:
                    FileExtension = "aiff";
                    break;
                case BASSChannelType.BASS_CTYPE_STREAM_ALAC:
                    FileExtension = "alac";
                    break;
                case BASSChannelType.BASS_CTYPE_STREAM_APE:
                    FileExtension = "ape";
                    break;
                case BASSChannelType.BASS_CTYPE_STREAM_CA:
                    FileExtension = "caf";
                    break;
                case BASSChannelType.BASS_CTYPE_STREAM_CD:
                    FileExtension = "cda";
                    break;
                case BASSChannelType.BASS_CTYPE_STREAM_FLAC:
                    FileExtension = "flac";
                    break;
                case BASSChannelType.BASS_CTYPE_STREAM_FLAC_OGG:
                    FileExtension = "flac";
                    break;
                case BASSChannelType.BASS_CTYPE_STREAM_MIDI:
                    FileExtension = "midi";
                    break;
                case BASSChannelType.BASS_CTYPE_STREAM_MIXER:
                    FileExtension = "mixer";
                    break;
                case BASSChannelType.BASS_CTYPE_STREAM_MP1:
                    FileExtension = "mp1";
                    break;
                case BASSChannelType.BASS_CTYPE_STREAM_MP2:
                    FileExtension = "mp2";
                    break;
                case BASSChannelType.BASS_CTYPE_STREAM_MP3:
                    FileExtension = "mp3";
                    break;
                case BASSChannelType.BASS_CTYPE_STREAM_MP4:
                    FileExtension = "mp4";
                    break;
                case BASSChannelType.BASS_CTYPE_STREAM_MPC:
                    FileExtension = "mpc";
                    break;
                case BASSChannelType.BASS_CTYPE_STREAM_OFR:
                    FileExtension = "ofr";
                    break;
                case BASSChannelType.BASS_CTYPE_STREAM_OGG:
                    FileExtension = "ogg";
                    break;
                case BASSChannelType.BASS_CTYPE_STREAM_SPLIT:
                    FileExtension = "split";
                    break;
                case BASSChannelType.BASS_CTYPE_STREAM_SPX:
                    FileExtension = "spx";
                    break;
                case BASSChannelType.BASS_CTYPE_STREAM_TTA:
                    FileExtension = "tta";
                    break;
                case BASSChannelType.BASS_CTYPE_STREAM_VIDEO:
                    FileExtension = "video";
                    break;
                case BASSChannelType.BASS_CTYPE_STREAM_WAV:
                    FileExtension = "wav";
                    break;
                case BASSChannelType.BASS_CTYPE_STREAM_WAV_FLOAT:
                    FileExtension = "wav";
                    break;
                case BASSChannelType.BASS_CTYPE_STREAM_WAV_PCM:
                    FileExtension = "wav";
                    break;
                case BASSChannelType.BASS_CTYPE_STREAM_WINAMP:
                    FileExtension = "Winamp";
                    break;
                case BASSChannelType.BASS_CTYPE_STREAM_WMA:
                    FileExtension = "wma";
                    break;
                case BASSChannelType.BASS_CTYPE_STREAM_WMA_MP3:
                    FileExtension = "wma";
                    break;
                case BASSChannelType.BASS_CTYPE_STREAM_WV:
                    FileExtension = "wv";
                    break;
                case BASSChannelType.BASS_CTYPE_STREAM_WV_H:
                    FileExtension = "wv";
                    break;
                case BASSChannelType.BASS_CTYPE_STREAM_WV_L:
                    FileExtension = "wv";
                    break;
                case BASSChannelType.BASS_CTYPE_STREAM_WV_LH:
                    FileExtension = "wv";
                    break;
                case BASSChannelType.BASS_CTYPE_UNKNOWN:
                    FileExtension = "unknown";
                    break;

            }
        }
示例#30
0
 public static extern bool TagsLibrary_DeleteTagByIndex(HTAGS Tags, int Index, TTagType TagType);