public static extern bool TagsLibrary_Free(HTAGS Tags);
public static extern int TagsLibrary_TagCount(HTAGS Tags, TTagType TagType);
private static extern IntPtr TagsLibrary_GetVendorPtr(HTAGS Tags, TTagType TagType);
public static extern bool TagsLibrary_SetTagData(HTAGS Tags, int Index, TTagType TagType, TTagData TagData);
public static extern bool TagsLibrary_SetTagLoadPriority(HTAGS Tags, TTagPriority TagPriorities);
public static extern bool TagsLibrary_SetConfig(HTAGS Tags, IntPtr Value, TConfigFlags Config, TTagType TagType);
public static extern bool TagsLibrary_SetCoverArtFromFile(HTAGS Tags, TTagType TagType, int Index, [In, MarshalAs(UnmanagedType.LPWStr)] string FileName, TCoverArtData CoverArt);
public static extern bool TagsLibrary_GetTagByIndexEx(HTAGS Tags, int Index, TTagType TagType, TMP4TagEx MP4TagEx);
public static extern TTagError TagsLibrary_GetTagEx(HTAGS Tags, [In, MarshalAs(UnmanagedType.LPWStr)] string Name, TTagType TagType, TExtTag ExtTag);
public static extern bool TagsLibrary_GetCoverArtToFile(HTAGS Tags, TTagType TagType, int Index, [In, MarshalAs(UnmanagedType.LPWStr)] string FileName);
public static extern bool TagsLibrary_GetTagByIndexEx(HTAGS Tags, int Index, TTagType TagType, TSimpleTag SimpleTag);
public static extern IntPtr TagsLibrary_GetConfig(HTAGS Tags, TConfigFlags Config, TTagType TagType);
public static extern TTagError TagsLibrary_GetAudioAttributes(HTAGS Tags, TAudioType AudioType, ref TMusePackAttributes Attributes);
public static extern double TagsLibrary_GetAudioAttribute(HTAGS Tags, TAudioAttribute Attribute);
public static extern TTagError TagsLibrary_SaveToMemoryEx(HTAGS Tags, IntPtr MemoryAddress, UInt64 Size, TTagType TagType, ref IntPtr SavedAddress, ref UInt64 SavedSize, ref IntPtr SaveHandle);
public static extern int TagsLibrary_GetTagSize(HTAGS Tags, TTagType TagType);
public static extern bool TagsLibrary_SetCARTPostTimer(HTAGS Tags, int Index, TCARTPostTimer PostTimer);
//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; }
public static extern bool TagsLibrary_SetCoverArt(HTAGS Tags, TTagType TagType, int Index, ref TCoverArtData CoverArt);
public static extern TTagError TagsLibrary_Load(HTAGS Tags, [In, MarshalAs(UnmanagedType.LPWStr)] string FileName, TTagType TagType, bool ParseTags);
public static extern bool TagsLibrary_SetTag(HTAGS Tags, [In, MarshalAs(UnmanagedType.LPWStr)] string Name, [In, MarshalAs(UnmanagedType.LPWStr)] string Value, TTagType TagType);
public static extern bool TagsLibrary_Loaded(HTAGS Tags, TTagType TagType);
public static extern bool TagsLibrary_SetTagEx(HTAGS Tags, TTagType TagType, IntPtr ExtTag);
public static extern TTagError TagsLibrary_LoadFromBASS(HTAGS Tags, int Channel);
public static extern bool TagsLibrary_SetVendor(HTAGS Tags, [In, MarshalAs(UnmanagedType.LPWStr)] string Vendor, TTagType TagType);
public static extern TTagError TagsLibrary_LoadFromMemory(HTAGS Tags, IntPtr MemoryAddress, UInt64 Size, TTagType TagType, bool ParseTags);
private static extern IntPtr TagsLibrary_GetTagPtr(HTAGS Tags, [In, MarshalAs(UnmanagedType.LPWStr)] string Name, TTagType TagType);
public static extern TTagError TagsLibrary_SaveEx(HTAGS Tags, [In, MarshalAs(UnmanagedType.LPWStr)] string FileName, TTagType TagType);
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; } }
public static extern bool TagsLibrary_DeleteTagByIndex(HTAGS Tags, int Index, TTagType TagType);