home *** CD-ROM | disk | FTP | other *** search
- Program SaveAsCue;
-
- var
- i, iCount: integer;
- fDur, fDurTotal: extended;
- slTmp: TStringList;
- sFile, sTrack, sTitle, sComposer, sTime: string;
- begin
-
- iCount := on_getGrdAlbumRowCount;
- if iCount = 0 then exit;
-
- slTmp := TStringList.Create;
- try
-
- sFile := on_getGrdField( 'File' ); // get file from current row
-
- slTmp.Add( 'PERFORMER ' + #34 + on_getArtist + #34 );
- slTmp.Add( 'TITLE ' + #34 + on_getAlbum + #34 );
- slTmp.Add( 'FILE ' + #34 + sFile + #34 + ' ' + UpperCase( Copy( ExtractFileExt( sFile ), 2, 99 ) ) );
-
- fDur := 0;
- fDurTotal := 0;
-
- for i := 1 to iCount do begin
-
- on_getTrack( i, sTrack, sTitle, sComposer, sTime, fDur );
-
- slTmp.Add( ' TRACK ' + PadLeft( IntToStr( i ), 2, '0' ) + ' AUDIO' );
- slTmp.Add( ' TITLE ' + #34 + sTitle + #34 );
-
- if i = 1 then begin
- slTmp.Add( ' INDEX 01 00:00:00' );
- end else begin
- slTmp.Add( ' INDEX 01 ' + sys_FormatDurationEx( Trunc( fDurTotal ), true ) );
- end;
-
- fDurTotal := fDurTotal + ( fDur * 1000 );
-
- end;
-
- sFile := sys_SaveFileDialog( 'CUE|*.cue', sys_getCurrentDirectory );
- if sFile <> '' then slTmp.SaveToFile( ChangeFileExt( sFile, '.cue' ) );
-
- finally
- slTmp.Free;
- end;
-
- end.
-