/// <summary> /// Loads the IMET Header of a stream. /// </summary> /// <param name="fileOrHeader"></param> /// <returns></returns> public static IMET Load(Stream fileOrHeader) { HeaderType type = DetectHeader(fileOrHeader); if (type != HeaderType.IMET && type != HeaderType.ShortIMET) { throw new Exception("No IMET Header found!"); } IMET s = new IMET(); if (type == HeaderType.ShortIMET) { s.isShortImet = true; } s.parseHeader(fileOrHeader); return(s); }
/// <summary> /// Creates a new IMET Header. /// </summary> /// <param name="isShortImet"></param> /// <param name="iconSize"></param> /// <param name="bannerSize"></param> /// <param name="soundSize"></param> /// <param name="titles"></param> /// <returns></returns> public static IMET Create(bool isShortImet, int iconSize, int bannerSize, int soundSize, params string[] titles) { IMET s = new IMET(); s.isShortImet = isShortImet; for (int i = 0; i < titles.Length; i++) { s.setTitleFromString(titles[i], i); } for (int i = titles.Length; i < 8; i++) { s.setTitleFromString((titles.Length > 1) ? titles[1] : titles[0], i); } s.iconSize = (uint)iconSize; s.bannerSize = (uint)bannerSize; s.soundSize = (uint)soundSize; return(s); }
/// <summary> /// Loads the IMET Header of a byte array. /// </summary> /// <param name="fileOrHeader"></param> /// <returns></returns> public static IMET Load(byte[] fileOrHeader) { HeaderType type = DetectHeader(fileOrHeader); if (type != HeaderType.IMET && type != HeaderType.ShortIMET) { throw new Exception("No IMET Header found!"); } IMET s = new IMET(); if (type == HeaderType.ShortIMET) { s.isShortImet = true; } MemoryStream ms = new MemoryStream(fileOrHeader); try { s.parseHeader(ms); } catch { ms.Dispose(); throw; } ms.Dispose(); return(s); }
/// <summary> /// Creates a new IMET Header. /// </summary> /// <param name="isShortImet"></param> /// <param name="iconSize"></param> /// <param name="bannerSize"></param> /// <param name="soundSize"></param> /// <param name="titles"></param> /// <returns></returns> public static IMET Create(bool isShortImet, int iconSize, int bannerSize, int soundSize, params string[] titles) { IMET s = new IMET(); s.isShortImet = isShortImet; for (int i = 0; i < titles.Length; i++) s.setTitleFromString(titles[i], i); for (int i = titles.Length; i < 8; i++) s.setTitleFromString((titles.Length > 1) ? titles[1] : titles[0], i); s.iconSize = (uint)iconSize; s.bannerSize = (uint)bannerSize; s.soundSize = (uint)soundSize; return s; }
/// <summary> /// Loads the IMET Header of a stream. /// </summary> /// <param name="fileOrHeader"></param> /// <returns></returns> public static IMET Load(Stream fileOrHeader) { HeaderType type = DetectHeader(fileOrHeader); if (type != HeaderType.IMET && type != HeaderType.ShortIMET) throw new Exception("No IMET Header found!"); IMET s = new IMET(); if (type == HeaderType.ShortIMET) s.isShortImet = true; s.parseHeader(fileOrHeader); return s; }
/// <summary> /// Loads the IMET Header of a byte array. /// </summary> /// <param name="fileOrHeader"></param> /// <returns></returns> public static IMET Load(byte[] fileOrHeader) { HeaderType type = DetectHeader(fileOrHeader); if (type != HeaderType.IMET && type != HeaderType.ShortIMET) throw new Exception("No IMET Header found!"); IMET s = new IMET(); if (type == HeaderType.ShortIMET) s.isShortImet = true; MemoryStream ms = new MemoryStream(fileOrHeader); try { s.parseHeader(ms); } catch { ms.Dispose(); throw; } ms.Dispose(); return s; }