unit verifyform; {* * EMPRIP - Verifyform Verify track names and import artwork * Windows CD Audio extraction and MP3 Encoder * (C) 2003 Matthew J. Smith, Librarysmith Software * Based on AKRIP (http://akrip.sourceforge.net) cddb and audio extraction library * and the LAME projects (http://wwww.mp3dev.org) LAME_ENC.DLL. * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published * by the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU Lesser General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA *} interface uses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, StdCtrls,global, ExtCtrls,shellapi, OleCtrls, filectrl, ScrollListbox, bitmapactionbutton,isconnected, TransparentPanel; //NB: ScanLibCtl is the Kodak Windows Imaging ActiveX Control IMGSCAN.OCX for Scanner TWAIN support. // You need to import this for this module to compile or you can do with out it. You must also remove // out the Tverify.aquireClick procedure below. type Tverify = class(TForm) lab: TLabel; titleedit: TEdit; settitle: TBitmapActionButton; cancel1: TBitmapActionButton; next: TBitmapActionButton; lbpanel: TPanel; lb: TScrollListbox; procedure FormActivate(Sender: TObject); procedure lbClick(Sender: TObject); procedure settitleClick(Sender: TObject); procedure amazonClick(Sender: TObject); procedure cancelClick(Sender: TObject); procedure nextClick(Sender: TObject); procedure FormCreate(Sender: TObject); procedure FormResize(Sender: TObject); procedure FormPaint(Sender: TObject); private { Private declarations } public { Public declarations } end; var verify: Tverify; mode : integer; function doverify(m : integer) : integer; implementation uses empripmain; function doverify(m : integer) : integer; begin mode:=m; verify:=Tverify.Create(application); try verify.showmodal; finally result:=verify.modalresult; verify.free; end; end; {$R *.DFM} procedure Tverify.FormActivate(Sender: TObject); var n : integer; begin doublebuffered:=true; sizeform(self,'Verify Tracks',true); osk(true,false); if mode=1 then begin next.visible:=false; cancel1.caption:='Go Back'; end; //panel.left:=(self.width div 2)-(panel.width div 2); //panel.top:=40; lb.items.clear; for n:=0 to trackscount-1 do begin lb.items.add(tracks[n]); end; lb.itemindex:=0; settitle.tag:=0; lbClick(sender); end; procedure Tverify.lbClick(Sender: TObject); begin if lb.items.count=0 then begin verify.close; exit; end; if (lb.itemindex<0) or (lb.itemindex>lb.items.count-1) then exit; titleedit.text:=lb.items[lb.itemindex]; settitle.caption:='Set Track'; titleedit.selstart:=length(titleedit.text); settitle.tag:=lb.itemindex; end; procedure Tverify.settitleClick(Sender: TObject); begin if settitle.tag<0 then exit; lb.items[settitle.tag]:=titleedit.text; tracks[settitle.tag]:=titleedit.text; lb.repaint; end; procedure Tverify.amazonClick(Sender: TObject); begin {$IFNDEF kiosk} ShellExecute (0, nil, 'http://www.amazon.com', nil, nil, SW_SHOWNORMAL); {$ENDIF} end; procedure Tverify.cancelClick(Sender: TObject); begin osk(false,false); modalresult:=mrCancel; end; procedure Tverify.nextClick(Sender: TObject); begin osk(false,false); modalresult:=mrOK; end; procedure Tverify.FormResize(Sender: TObject); var spacing : integer; begin verify.color:=clblack; lbpanel.color:=clblack; spacing := aspx(40); settitle.font.color:=FONTCOL; next.font.color:=FONTCOL; cancel1.font.color:=FONTCOL; cancel1.width:=aspx(150); //OK.font.color:=FONTCOL; //cancel1.font.color:=FONTCOL; //setcover.font.color:=FONTCOL; lab.autosize:=true; lab.Font.size:=aspx(16); lab.font.color:=FONTCOL; lab.font.name:=JUKEBOXFONT; lab.Caption:='Please verify the track titles and correct if necessary'; lab.left:=0; lab.top:=spacing; lab.AutoSize:=false; lab.width:=width; lab.alignment:=taCenter; lbpanel.top:=lab.top+lab.height+aspy(10); lbpanel.height:=height-lbpanel.top-((spacing*2)+titleedit.height); lbpanel.width:=width-(cancel1.width+spacing*2); lbpanel.left:=spacing; titleedit.font.color:=clgray; lb.top:=0; lb.left:=0; lb.height:=lbpanel.height; lb.width:=lbpanel.width; lb.font.color:=clgray; lb.font.name:=JUKEBOXFONT; lb.font.size:=aspx(15); lb.linespacing:=1.5; titleedit.Font.size:=aspx(16); titleedit.left:=spacing; titleedit.top:=lbpanel.top+lbpanel.height+spacing; titleedit.width:=width div 2; settitle.font.size:=aspx(16); settitle.top:=titleedit.top; settitle.left:=titleedit.left+titleedit.width+spacing; next.font.size:=aspx(16); next.top:=lbpanel.top; next.left:=lbpanel.left+lbpanel.width+spacing; cancel1.font.size:=aspx(16); cancel1.left:=next.left; cancel1.top:=next.top+next.height+spacing; end; procedure Tverify.FormCreate(Sender: TObject); begin doublebuffered:=true; end; procedure Tverify.FormPaint(Sender: TObject); begin dobg(self); end; end.