unit loadalbumcovers;

interface

uses
  Classes,graphics,loadjpegorbmp;

type
  loadcovers = class(TThread)
  private
    vis : boolean;
    o : tbitmap;

    { Private declarations }
    procedure controlsvisible;
    procedure addthumb;
  protected
    procedure Execute; override;
  end;

implementation

uses main,jukeboxform;

{ Important: Methods and properties of objects in VCL can only be used in a
  method called using Synchronize, for example,

      Synchronize(UpdateCaption);

  and UpdateCaption could look like,

    procedure loadcovers.UpdateCaption;
    begin
      Form1.Caption := 'Updated in a thread';
    end; }

{ loadcovers }

procedure loadcovers.controlsvisible;
begin
mainform.coverpickbut.visible:=vis;
jukebox.gothumb.Visible:=vis;
end;

procedure loadcovers.addthumb;
begin
jukebox.thumbs.add(o);
end;


procedure loadcovers.Execute;
var
n : integer;
begin
  { Place thread code here }
vis:=false;
  synchronize(controlsvisible);
  o:=tbitmap.create;

  for  n:=1 to albumcount  do begin
       loadjpegbmp(config.pathtocd+album[n].artist+'__'+album[n].album,o);
       synchronize(addthumb);
  end;
o.free;
vis:=true;
synchronize(controlsvisible);

end;

end.