public CueSheet GetCueSheet()
        {
            CueSheet s = new CueSheet();

            s.SetTitle(_name);
            s.SheetKind = CueSheet.Kind.PlayList;
            foreach (CS_PlayListEntry ple in _playlist)
            {
                s.AddEntry(ple.GetCueSheetEntry());
            }
            return(s);
        }
        public void OnSave(object sender, EventArgs args)
        {
            string nPerformer = _performer.Text.Trim();
            string nTitle     = _title.Text.Trim();
            string nComposer  = _composer.Text.Trim();
            string nYear      = _year.Text.Trim();
            string nSubtitle  = _subtitle.Text.Trim();

            _sheet.SetPerformer(nPerformer);
            _sheet.SetTitle(nTitle);
            _sheet.SetComposer(nComposer);
            _sheet.SetYear(nYear);
            _sheet.SetSubtitle(nSubtitle);
            _sheet.SetImagePath(_imagefile.Filename);

            _sheet.ClearTracks();

            Gtk.TreeIter iter;
            if (_store.GetIterFirst(out iter))
            {
                do
                {
                    string title    = (string)_store.GetValue(iter, 1);
                    string perf     = (string)_store.GetValue(iter, 2);
                    string composer = (string)_store.GetValue(iter, 3);
                    if (composer.Trim() == "")
                    {
                        composer = nComposer;
                    }
                    string piece = (string)_store.GetValue(iter, 4);
                    piece = piece.Trim();
                    string    offset = (string)_store.GetValue(iter, 5);
                    string [] parts  = Regex.Split(offset, "[.:]");
                    double    e_offset;
                    int       min   = Convert.ToInt32(parts[0]);
                    int       secs  = Convert.ToInt32(parts[1]);
                    int       hsecs = Convert.ToInt32(parts[2]);
                    e_offset = min * 60 + secs + (hsecs / 100.0);
                    if (perf.Trim() == "")
                    {
                        perf = nPerformer;
                    }
                    CueSheetEntry e = _sheet.AddTrack(title, perf, e_offset);
                    e.setComposer(composer);
                    e.setPiece(piece);
                } while(_store.IterNext(ref iter));
            }
            _sheet.Save();
        }