public void Reload() { _title.Text = _sheet.title(); _performer.Text = _sheet.performer(); _composer.Text = _sheet.composer(); _year.Text = _sheet.year(); _subtitle.Text = _sheet.subtitle(); try { _imagefile.SelectFilename(_sheet.imageFullFileName()); Gdk.Pixbuf pb = new Gdk.Pixbuf(_sheet.imageFullFileName(), 100, 100); _image.Pixbuf = pb; } catch (System.Exception e) { Hyena.Log.Information(e.ToString()); } _store.Clear(); int i, N; for (i = 0, N = _sheet.nEntries(); i < N; i++) { double b = _sheet.entry(i).offset(); int m, s, hs, t; t = (int)(b * 100.0); hs = t % 100; m = t / (100 * 60); s = (t / 100) % 60; String offset = String.Format("{0:00}", m) + ":" + String.Format("{0:00}", s) + "." + String.Format("{0:00}", hs); _store.AppendValues(i + 1, _sheet.entry(i).title(), _sheet.entry(i).performer(), _sheet.entry(i).getComposer(), _sheet.entry(i).getPiece(), offset); } }
private void setLatinTags(CueSheet s) { int i, N; for (i = 0, N = s.nEntries(); i < N; i++) { ProgressCurrentTrack = i + 1; setLatinTag(i, s, s.entry(i)); } }
public Boolean previous() { CueSheet sheet = MySource.getSheet(); if (sheet == null) { return(false); } if (index > 0) { index -= 1; } else { index = sheet.nEntries() - 1; } seekSong(index); return(true); }
public Boolean next() { CueSheet sheet = MySource.getSheet(); if (sheet == null) { return(false); } if (index < sheet.nEntries() - 1) { index += 1; } else { index = 0; } seekSong(index); return(true); }
public override void Reload() { store.Clear(); int i = 0; for (i = 0; i < _sheet.nEntries(); i++) { CueSheetEntry e = _sheet.entry(i); store.Add(e); /*double l=e.length (); * int t=(int) (l*100.0); * int m=t/(60*100); * int secs=(t/100)%60; * string ln=String.Format ("{0:00}:{0:00}",m,secs); * store.AppendValues (i+1,e.title (),e.getPiece (),e.performer (),e.getComposer(),ln);*/ } base.RaiseReloaded(); }
//private Stack<DatabaseTrackInfo> stk=new Stack<DatabaseTrackInfo>(); public void ImportSheet(CueSheet s) { if (import_manager==null) { try { import_manager = new LibraryImportManager (false); /*import_manager.ImportResult+=delegate(object sender,DatabaseImportResultArgs args) { DatabaseTrackInfo trk=args.Track; stk.Push (trk); };*/ } catch (Exception ex) { Hyena.Log.Error (ex.ToString ()); } } Hyena.Log.Debug ("Importsheet: Starting transaction"); int i,N; for(i=0,N=s.nEntries ();i<N;i++) { try { CueSheetEntry e=s.entry (i); string file=e.file (); string uuid=Regex.Replace(e.id (),"\\s","_"); string ext=".mp3"; string uid=Guid.NewGuid ().ToString (); string u1=uid.Substring (0,1); string u2=uid.Substring (0,2); string dir=basedir+"/.banshee/"+u1; if (!Directory.Exists (dir)) { Directory.CreateDirectory(dir); } dir+="/"+u2; if (!Directory.Exists(dir)) { Directory.CreateDirectory(dir); } uuid=dir+"/"+uuid+ext; UnixFileInfo f=new UnixFileInfo(file); if (File.Exists (uuid)) { File.Delete(uuid); } //f.CreateLink (uuid); f.CreateSymbolicLink(uuid); DatabaseTrackInfo trk=import_manager.ImportTrack(uuid); //File.Delete (uuid); /*if (trk==null) { Hyena.Log.Warning ("track = null (file="+e.file ()+")"); if (stk.Count>0) { trk=stk.Pop (); } }*/ if (trk==null) { Hyena.Log.Error ("track = null (file="+e.file ()+")"); } else { Hyena.Log.Information ("track!=null (file="+e.file ()+")"); //MySource.DbConnection.BeginTransaction(); trk.PartOfCue=1; trk.CueAudioFile=e.file (); trk.AlbumTitle=s.title (); //trk.Album=s.title (); trk.AlbumArtist=s.performer (); trk.Composer=(e.Composer=="") ? s.composer () : e.Composer; //trk.ArtworkId=s.getArtId (); //trk.Artist= trk.ArtistName=(e.performer ()=="") ? s.performer () : e.performer (); trk.TrackTitle=e.title (); trk.TrackNumber=i+1; trk.Genre=s.genre (); trk.BeginOffset=e.BeginOffset; trk.EndOffset=e.EndOffset; //trk.Uri=trk.CueAudioUri; //trk.MediaAttributes = TrackMediaAttributes.ExternalResource; //trk.PrimarySource = ServiceManager.SourceManager.MusicLibrary; trk.Save (); //MySource.DbConnection.CommitTransaction(); } } catch (Exception ex) { Hyena.Log.Error (ex.ToString ()); } } import_manager.NotifyAllSources (); }
//private Stack<DatabaseTrackInfo> stk=new Stack<DatabaseTrackInfo>(); public void ImportSheet(CueSheet s) { if (import_manager == null) { try { import_manager = new LibraryImportManager(false); /*import_manager.ImportResult+=delegate(object sender,DatabaseImportResultArgs args) { * DatabaseTrackInfo trk=args.Track; * stk.Push (trk); * };*/ } catch (Exception ex) { Hyena.Log.Error(ex.ToString()); } } Hyena.Log.Debug("Importsheet: Starting transaction"); int i, N; for (i = 0, N = s.nEntries(); i < N; i++) { try { CueSheetEntry e = s.entry(i); string file = e.file(); string uuid = Regex.Replace(e.id(), "\\s", "_"); string ext = ".mp3"; string uid = Guid.NewGuid().ToString(); string u1 = uid.Substring(0, 1); string u2 = uid.Substring(0, 2); string dir = basedir + "/.banshee/" + u1; if (!Directory.Exists(dir)) { Directory.CreateDirectory(dir); } dir += "/" + u2; if (!Directory.Exists(dir)) { Directory.CreateDirectory(dir); } uuid = dir + "/" + uuid + ext; UnixFileInfo f = new UnixFileInfo(file); if (File.Exists(uuid)) { File.Delete(uuid); } //f.CreateLink (uuid); f.CreateSymbolicLink(uuid); DatabaseTrackInfo trk = import_manager.ImportTrack(uuid); //File.Delete (uuid); /*if (trk==null) { * Hyena.Log.Warning ("track = null (file="+e.file ()+")"); * if (stk.Count>0) { trk=stk.Pop (); } * }*/ if (trk == null) { Hyena.Log.Error("track = null (file=" + e.file() + ")"); } else { Hyena.Log.Information("track!=null (file=" + e.file() + ")"); //MySource.DbConnection.BeginTransaction(); trk.PartOfCue = 1; trk.CueAudioFile = e.file(); trk.AlbumTitle = s.title(); //trk.Album=s.title (); trk.AlbumArtist = s.performer(); trk.Composer = (e.Composer == "") ? s.composer() : e.Composer; //trk.ArtworkId=s.getArtId (); //trk.Artist= trk.ArtistName = (e.performer() == "") ? s.performer() : e.performer(); trk.TrackTitle = e.title(); trk.TrackNumber = i + 1; trk.Genre = s.genre(); trk.BeginOffset = e.BeginOffset; trk.EndOffset = e.EndOffset; //trk.Uri=trk.CueAudioUri; //trk.MediaAttributes = TrackMediaAttributes.ExternalResource; //trk.PrimarySource = ServiceManager.SourceManager.MusicLibrary; trk.Save(); //MySource.DbConnection.CommitTransaction(); } } catch (Exception ex) { Hyena.Log.Error(ex.ToString()); } } import_manager.NotifyAllSources(); }
public override void Reload() { _filteredList.Clear(); List <CueSheet> s = MySource.getSheets(); int i, N; string artist = ""; if (_artist != null) { artist = Loosely.prepare(_artist.Name); } string composer = ""; if (_composer != null) { composer = Loosely.prepare(_composer.Name); } for (i = 0, N = s.Count; i < N; i++) { bool do_add = true; if (_genre != null) { if (s[i].genre() != _genre.Genre) { do_add = false; } } if (_artist != null && do_add) { if (!Loosely.eqp(artist, s[i].performer())) { do_add = false; } } if (_composer != null && do_add) { if (!Loosely.eqp(composer, s[i].composer())) { do_add = false; } } if (_album_search != null && do_add) { if (!s[i].title().ToLower().Contains(_album_search) && !s[i].performer().ToLower().Contains(_album_search) && !s[i].composer().ToLower().Contains(_album_search)) { if (_also_in_tracks) { CueSheet q = s[i]; int k, M; bool can_add = false; for (k = 0, M = q.nEntries(); k < M && !can_add; k++) { CueSheetEntry e = q.entry(k); if (e.title().ToLower().Contains(_album_search) || e.performer().ToLower().Contains(_album_search) || e.getComposer().ToLower().Contains(_album_search)) { can_add = true; } } do_add = can_add; } else { do_add = false; } } } if (do_add) { _filteredList.Add(new CS_AlbumInfo(s[i])); } } _filteredList.Sort(new CS_AlbumInfo.Comparer()); base.RaiseReloaded(); }
private void setLatinTags(CueSheet s) { int i,N; for(i=0,N=s.nEntries ();i<N;i++) { ProgressCurrentTrack=i+1; setLatinTag (i,s,s.entry (i)); } }