/// ID3v1 edit /// </summary> /// <param name="item">the item</param> public override void EditItem(TagListViewItem item) { // call base first base.EditItem(item); if (item.Id3v2 != null) { TagV2Ext tag = new TagV2Ext(item.Id3v2); if (!multi_edit || ckOrginalAlbum.Checked) { tag.TOAL = txtOrginalAlbum.Text; } if (!multi_edit || ckOrginalFileName.Checked) { tag.TOFN = txtOrginalFileName.Text; } if (!multi_edit || ckOrginalLyricsWriter.Checked) { tag.TOLY = txtOrginalLyricsWriter.Text; } if (!multi_edit || ckOriginalArtist.Checked) { tag.TOPE = txtOriginalArtist.Text; } if (!multi_edit || ckOriginalReleaseDate.Checked) { tag.TORY = txtOriginalReleaseDate.Text; } if (!multi_edit || ckOriginalOwner.Checked) { tag.TOWN = txtOriginalOwner.Text; } } }
/// ID3v1 edit /// </summary> /// <param name="item">the item</param> public override void EditItem(TagListViewItem item) { // call base first base.EditItem(item); if (item.Id3v2 != null) { TagV2Ext tag = new TagV2Ext(item.Id3v2); } }
/// ID3v1 edit /// </summary> /// <param name="item">the item</param> public override void EditItem(TagListViewItem item) { // call base first base.EditItem(item); if (item.Id3v2 != null) { UpdatePictureFrames(item); } }
/// <summary> /// edit a item /// </summary> /// <param name="item"></param> protected override void EditItem(TagListViewItem item) { item.BackColor = Color.Yellow; main.EditItem(item); details.EditItem(item); original.EditItem(item); people.EditItem(item); web.EditItem(item); rating.EditItem(item); pictures.EditItem(item); item.RefreshItem(); }
/// <summary> /// /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void listView_ItemDrag(object sender, ItemDragEventArgs e) { if (this.listView.SelectedItems.Count > 0) { TagListViewItem item = (TagListViewItem)this.listView.SelectedItems[0]; FileInfo fi = (FileInfo)item.Tag; DataObject data = new DataObject(DataFormats.FileDrop, new string[1] { fi.FullName }); DoDragDrop(data, DragDropEffects.Copy); } }
/// <summary> /// ID3v1 edit /// </summary> /// <param name="item">the item</param> public override void EditItem(TagListViewItem item) { base.EditItem(item); if (item.Id3v2 != null) { if (!multi_edit || ckArtist.Checked) { item.Id3v2.Performers = Functions.GetArray(this.txtArtists.Text); } if (!multi_edit || ckAlbum.Checked) { item.Id3v2.Album = this.txtAlbum.Text; } if (!multi_edit || ckTitle.Checked) { item.Id3v2.Title = this.txtTitle.Text; } uint num = 0; if (!multi_edit || ckYear.Checked) { item.Id3v2.Year = uint.TryParse(this.txtYear.Text, out num) ? num : 0; } if (!multi_edit || ckTrack.Checked) { item.Id3v2.Track = uint.TryParse(this.txtTrack.Text, out num) ? num : 0; item.Id3v2.TrackCount = uint.TryParse(this.txtTrackCount.Text, out num) ? num : 0; } if (!multi_edit || ckDisc.Checked) { item.Id3v2.Disc = uint.TryParse(this.txtDisc.Text, out num) ? num : 0; item.Id3v2.DiscCount = uint.TryParse(this.txtDiscCount.Text, out num) ? num : 0; } if (!multi_edit || ckBMP.Checked) { item.Id3v2.BeatsPerMinute = uint.TryParse(this.txtBPM.Text, out num) ? num : 0; } if (!multi_edit || ckGenre.Checked) { item.Id3v2.Genres = Functions.GetArray(txtGenres.Text); } if (!multi_edit || ckComment.Checked) { item.Id3v2.Comment = this.txtComment.Text; } UpdateCommentFrames(item); } }
/// <summary> /// Update the comment frame /// </summary> private void UpdatePictureFrames(TagListViewItem item) { //BKP use IPicture ? if (this.pictures_dirty) { TagLib.IPicture[] pics = new TagLib.IPicture[pictureList.Items.Count]; int len = pictureList.Items.Count; for (int i = 0; i < len; ++i) { TagLib.IPicture p = pictureList.Items[i].Tag as TagLib.IPicture; pics[i] = p; } item.Id3v2.Pictures = pics; } }
/// <summary> /// Update the comment frame /// </summary> private void UpdateCommentFrames(TagListViewItem item) { if (comments_dirty) { item.Id3v2.RemoveFrames("COMM"); foreach (ListViewItem ci in commentList.Items) { string desc = ci.Text; string lang = ci.SubItems[2].Text; TagLib.Id3v2.CommentsFrame cf = new TagLib.Id3v2.CommentsFrame(desc, lang); cf.Text = ci.SubItems[1].Text; item.Id3v2.AddFrame(cf); } } }
/// <summary> /// Update the comment frame /// </summary> private void UpdateCommentFrames(TagListViewItem item) { if (ratings_dirty) { item.Id3v2.RemoveFrames("POPM"); foreach (ListViewItem i in ratingList.Items) { string user = i.Text; string rating = i.SubItems[1].Text; string count = i.SubItems[2].Text; PopularimeterFrame f = new PopularimeterFrame(user); f.Rating = byte.Parse(rating); f.PlayCount = ulong.Parse(count); item.Id3v2.AddFrame(f); } } }
/// ID3v1 edit /// </summary> /// <param name="item">the item</param> public override void EditItem(TagListViewItem item) { // call base first base.EditItem(item); if (item.Id3v2 != null) { TagV2Ext tag = new TagV2Ext(item.Id3v2); if (!multi_edit || ckCopyrightURL.Checked) { tag.WCOP = txtCopyrightURL.Text; } if (!multi_edit || ckFileURL.Checked) { tag.WOAF = txtFileURL.Text; } if (!multi_edit || ckArtistURL.Checked) { tag.WOAR = txtArtistURL.Text; } if (!multi_edit || ckAudioSourceURL.Checked) { tag.WOAS = txtAudioSourceURL.Text; } if (!multi_edit || ckRadioStationURL.Checked) { tag.WORS = txtRadioStationURL.Text; } if (!multi_edit || ckPaymentURL.Checked) { tag.WPAY = txtPaymentURL.Text; } if (!multi_edit || ckPublisherURL.Checked) { tag.WPUB = txtPublisherURL.Text; } if (!multi_edit || ckCommercialURL.Checked) { tag.WCOM = txtCommercialURL.Text; } } }
/// <summary> /// ID3v1 edit /// </summary> /// <param name="item">the item</param> public override void EditItem(TagListViewItem item) { // call the base base.EditItem(item); item.BackColor = Color.Yellow; if (!multi_edit || ckArtist.Checked) { item.Id3v1.Performers = Functions.GetArray(this.txtArtists.Text); } if (!multi_edit || ckAlbum.Checked) { item.Id3v1.Album = this.txtAlbum.Text; } if (!multi_edit || this.ckTitle.Checked) { item.Id3v1.Title = this.txtTitle.Text; } uint num = 0; if (!multi_edit || this.ckYear.Checked) { item.Id3v1.Year = uint.TryParse(this.txtYear.Text, out num) ? num : 0; } if (!multi_edit || this.ckTrack.Checked) { item.Id3v1.Track = uint.TryParse(this.txtTrack.Text, out num) ? num : 0; } if (!multi_edit || this.ckGenre.Checked) { item.Id3v1.Genres = new string[1] { this.cmbGenre.Text }; } if (!multi_edit || this.ckComment.Checked) { item.Id3v1.Comment = this.txtComment.Text; } item.RefreshItem(); }
/// <summary> /// ID3v1 edit /// </summary> /// <param name="item">the item</param> public override void EditItem(TagListViewItem item) { // call base first base.EditItem(item); if (v2 != null) { TagV2Ext tag = new TagV2Ext(item.Id3v2); tag.TPE2 = txtBand.Text; tag.TPE4 = txtRemixed.Text; tag.TEXT = txtWriter.Text; tag.TPUB = txtPublisher.Text; tag.TENC = txtEncoded.Text; tag.TIT3 = txtSubTitle.Text; tag.TMED = cmbMediaType.Text; tag.TLEN = txtTrackLength.Text; item.Id3v2.Copyright = txtCopyright.Text; item.Id3v2.Grouping = txtContentGroup.Text; item.Id3v2.Conductor = txtConductor.Text; item.Id3v2.Composers = Functions.GetArray(this.txtComposer.Text);; } }
/// <summary> /// /// </summary> /// <param name="lv"></param> public EditV2Frm(ListView lv, bool multi_edit) : base(lv, multi_edit) { InitializeComponent(); if (multi_edit) { this.Text = Properties.Resources.editv2frm_multi; taskNext.Enabled = false; taskPrevious.Enabled = false; } else { TagListViewItem item = (TagListViewItem)lv.Items[0]; this.Text = String.Format("{0}.{1}", Properties.Resources.editv2frm_single, item.Id3v2.Version); } this.panel1.Controls.Add(main); main.Initialize(lv, multi_edit); main.Location = this.panel1.Location; main.Dock = DockStyle.Fill; main.Show(); this.panel1.Controls.Add(details); details.Location = this.panel1.Location; details.Dock = DockStyle.Fill; details.Initialize(lv, multi_edit); details.Hide(); this.panel1.Controls.Add(lyrics); lyrics.Location = this.panel1.Location; lyrics.Dock = DockStyle.Fill; lyrics.Initialize(lv, multi_edit); lyrics.Hide(); this.panel1.Controls.Add(pictures); pictures.Location = this.panel1.Location; pictures.Dock = DockStyle.Fill; pictures.Initialize(lv, multi_edit); pictures.Hide(); this.panel1.Controls.Add(web); web.Location = this.panel1.Location; web.Dock = DockStyle.Fill; web.Initialize(lv, multi_edit); web.Hide(); this.panel1.Controls.Add(original); original.Location = this.panel1.Location; original.Dock = DockStyle.Fill; original.Initialize(lv, multi_edit); original.Hide(); this.panel1.Controls.Add(people); people.Location = this.panel1.Location; people.Dock = DockStyle.Fill; people.Initialize(lv, multi_edit); people.Hide(); //this.panel1.Controls.Add( user ); //user.Location = this.panel1.Location; //user.Dock = DockStyle.Fill; //user.Initialize( lv, multi_edit ); //user.Hide(); this.panel1.Controls.Add(rating); rating.Location = this.panel1.Location; rating.Dock = DockStyle.Fill; rating.Initialize(lv, multi_edit); rating.Hide(); current = main; }
/// <summary> /// /// </summary> /// <param name="item"></param> protected virtual void EditItem(TagListViewItem item) { }
/// <summary> /// ID3v1 edit /// </summary> /// <param name="item">the item</param> public virtual void EditItem(TagListViewItem item) { dirty = true; item.Dirty = true; }
/// <summary> /// ID3v1 edit /// </summary> /// <param name="item">the item</param> public override void EditItem(TagListViewItem item) { // call base first base.EditItem(item); }