public Mp3Split(CueSheet s)
        {
            int error = 0;

            _sheet = s;

            _mp3_state = mp3splt_new_state(out error);
            error      = mp3splt_find_plugins(_mp3_state);
            Hyena.Log.Information("mp3splt: find_plugins result:" + error);

            mp3splt_set_int_option(_mp3_state, Mp3SpltOptions.SPLT_OPT_SET_FILE_FROM_CUE_IF_FILE_TAG_FOUND, 1);
            mp3splt_set_int_option(_mp3_state, Mp3SpltOptions.SPLT_OPT_OUTPUT_FILENAMES, (int)SpltOutputFileNamesOptions.SPLT_OUTPUT_FORMAT);
            mp3splt_set_oformat(_mp3_state, "@A - @b - @n - @t", out error);
            _file_format = "@A - @b - @n - @t";
            mp3splt_put_cue_splitpoints_from_file(_mp3_state, s.cueFile(), out error);
            mp3splt_set_default_genre_tag(_mp3_state, s.genre());

            int    count, ctags;
            IntPtr pointarray = mp3splt_get_splitpoints(_mp3_state, out count, out error);
            IntPtr tagarray   = mp3splt_get_tags(_mp3_state, out ctags, out error);

            Hyena.Log.Information("count=" + count + ", ctags=" + ctags);

            {
                int i;
                _tracks.Clear();
                int N = (count < ctags) ? count : ctags;
                for (i = 0; i < N; i++)
                {
                    _tracks.Add(new Mp3SplitTrack(pointarray, tagarray, i));
                }
            }
        }
예제 #2
0
        public void EditSheet(CueSheet s)
        {
            Hyena.Log.Information(s.cueFile());
            CueSheetEditor edt = new CueSheetEditor(s);

            edt.Do();
            MySource.getAlbumModel().Reload();
            MySource.getArtistModel().Reload();
        }
예제 #3
0
        public void OpenContainingFolder(CS_AlbumInfo a)
        {
            CueSheet s    = a.getSheet();
            string   path = System.IO.Path.GetDirectoryName(s.cueFile());

            if (Banshee.IO.Directory.Exists(path))
            {
                System.Diagnostics.Process.Start(path);
            }
        }
 public void EditSheet(CueSheet s)
 {
     Hyena.Log.Information (s.cueFile ());
     CueSheetEditor edt=new CueSheetEditor(s);
     edt.Do ();
     MySource.getAlbumModel ().Reload ();
     MySource.getArtistModel ().Reload ();
 }
        public Mp3Split(CueSheet s)
        {
            int error=0;
            _sheet=s;

            _mp3_state=mp3splt_new_state (out error);
            error=mp3splt_find_plugins (_mp3_state);
            Hyena.Log.Information ("mp3splt: find_plugins result:"+error);

            mp3splt_set_int_option(_mp3_state,Mp3SpltOptions.SPLT_OPT_SET_FILE_FROM_CUE_IF_FILE_TAG_FOUND,1);
            mp3splt_set_int_option(_mp3_state,Mp3SpltOptions.SPLT_OPT_OUTPUT_FILENAMES,(int) SpltOutputFileNamesOptions.SPLT_OUTPUT_FORMAT);
            mp3splt_set_oformat(_mp3_state,"@A - @b - @n - @t",out error);
            _file_format="@A - @b - @n - @t";
            mp3splt_put_cue_splitpoints_from_file(_mp3_state,s.cueFile (),out error);
            mp3splt_set_default_genre_tag(_mp3_state,s.genre ());

            int count,ctags;
            IntPtr pointarray=mp3splt_get_splitpoints(_mp3_state,out count,out error);
            IntPtr tagarray=mp3splt_get_tags (_mp3_state,out ctags,out error);
            Hyena.Log.Information ("count="+count+", ctags="+ctags);

            {
                int i;
                _tracks.Clear ();
                int N=(count<ctags) ? count : ctags;
                for(i=0;i<N;i++) {
                    _tracks.Add (new Mp3SplitTrack(pointarray,tagarray,i));
                }
            }
        }