/// <summary>
 /// Adds audio from vk.com to collection.
 /// </summary>
 /// <param name="vkAudio">Audio to add.</param>
 /// <param name="audioType">Set AudioType.atFile to save locally not only link, but also .mp3 itself.</param>
 /// <returns>Returns <c>mpAudio</c> instance that refers to the new element of collection.</returns>
 public mpAudio addAudio(PashaAudio vkAudio, AudioType audioType = AudioType.atLink)
 {
     mpAudio audio;
     if (audioType == AudioType.atFile)
         audio = new mpAudioLink(vkAudio);
     else
         audio = new mpLocalAudio(vkAudio);
     audio.Id = ++maxId;
     if (audio.Id == int.MaxValue)
         OptimizeIndex();
     return audio;
 }
 /// <summary>
 /// Adds audio from local computer to collection.
 /// </summary>
 /// <param name="filename">File to add</param>
 /// <param name="artist, title">Tags for file</param>
 /// <param name="audioType">If atFile, copies audio to working directory, it's also default behavior.
 /// If atLink, saves filename and uses it to access file later.</param>
 /// <returns>Returns <c>mpAudio</c> instance that refers to the new element of collection.</returns>
 public mpAudio addAudio(string filename, string artist, string title, AudioType audioType = AudioType.atFile)
 {
     mpAudio audio;
     if (audioType == AudioType.atLink)
         audio = new mpLocalAudioLink(filename, artist, title);
     else
         audio = new mpLocalAudio(filename, artist, title);
     audio.Id = ++maxId;
     if (audio.Id == int.MaxValue)
         OptimizeIndex();
     return audio;
 }
 private void Init()
 {
     MusicFolder = Environment.GetFolderPath(Environment.SpecialFolder.MyMusic);
     maxId = -1;
     FileStream fs;
     mpLocalAudio audio;
     foreach(string file in MP3List(MusicFolder))
     {
         audio = new mpLocalAudio();
         TagLib.File audioFile = TagLib.File.Create(file);
         audio.Artist = audioFile.Tag.Performers[0];
         audio.Title = audioFile.Tag.Title;
         audio.Id = ++maxId;
         audio.Link = file;
         fs = new FileStream(file, FileMode.Open);
         fs.Close();
         audioList.Add(audio);
     }
 }