Add files via upload

This commit is contained in:
Carldric Clement 2023-03-14 12:07:54 +08:00 committed by GitHub
parent 6ee5cb2645
commit 2a14502873
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
11 changed files with 1993 additions and 1831 deletions

View file

@ -2,6 +2,9 @@ unit MC_DLL;
interface
uses
Winapi.Windows;
(*
procedure Website(URL: string); stdcall; external 'Aio_FP.dll';
procedure Exec(sExe, sCommandLine: string; wait: Boolean); stdcall; external 'Aio_FP.dll';
@ -10,6 +13,8 @@ function SelDir: string; stdcall; external 'Aio_FP.dll';
function IniRead(Filez, A, B: string): string; stdcall; external 'MiniCompressor_Library.dll';
procedure IniCreate(Filez, A, B, C: string); stdcall; external 'MiniCompressor_Library.dll';
procedure ExecAndWait(HandleForm: HWND; const AProgram, AParams, AWorking: string); stdcall; external 'MiniCompressor_Library.dll';
procedure ExecAndNoWait(ACommand, AParams: string); stdcall; external 'MiniCompressor_Library.dll';
implementation

View file

@ -1,12 +1,12 @@
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<ProjectGuid>{963E1685-338D-4638-9A78-EB3001D78B39}</ProjectGuid>
<ProjectGuid>{FF21CBFE-D85C-4B04-BBA5-63F6DB0791C0}</ProjectGuid>
</PropertyGroup>
<ItemGroup>
<Projects Include="MiniCompressor_Library.dproj">
<Projects Include="MiniCompressor.dproj">
<Dependencies/>
</Projects>
<Projects Include="MiniCompressor.dproj">
<Projects Include="MiniCompressor_Library.dproj">
<Dependencies/>
</Projects>
</ItemGroup>
@ -17,15 +17,6 @@
<Default.Personality/>
</BorlandProject>
</ProjectExtensions>
<Target Name="MiniCompressor_Library">
<MSBuild Projects="MiniCompressor_Library.dproj"/>
</Target>
<Target Name="MiniCompressor_Library:Clean">
<MSBuild Projects="MiniCompressor_Library.dproj" Targets="Clean"/>
</Target>
<Target Name="MiniCompressor_Library:Make">
<MSBuild Projects="MiniCompressor_Library.dproj" Targets="Make"/>
</Target>
<Target Name="MiniCompressor">
<MSBuild Projects="MiniCompressor.dproj"/>
</Target>
@ -35,14 +26,23 @@
<Target Name="MiniCompressor:Make">
<MSBuild Projects="MiniCompressor.dproj" Targets="Make"/>
</Target>
<Target Name="MiniCompressor_Library">
<MSBuild Projects="MiniCompressor_Library.dproj"/>
</Target>
<Target Name="MiniCompressor_Library:Clean">
<MSBuild Projects="MiniCompressor_Library.dproj" Targets="Clean"/>
</Target>
<Target Name="MiniCompressor_Library:Make">
<MSBuild Projects="MiniCompressor_Library.dproj" Targets="Make"/>
</Target>
<Target Name="Build">
<CallTarget Targets="MiniCompressor_Library;MiniCompressor"/>
<CallTarget Targets="MiniCompressor;MiniCompressor_Library"/>
</Target>
<Target Name="Clean">
<CallTarget Targets="MiniCompressor_Library:Clean;MiniCompressor:Clean"/>
<CallTarget Targets="MiniCompressor:Clean;MiniCompressor_Library:Clean"/>
</Target>
<Target Name="Make">
<CallTarget Targets="MiniCompressor_Library:Make;MiniCompressor:Make"/>
<CallTarget Targets="MiniCompressor:Make;MiniCompressor_Library:Make"/>
</Target>
<Import Project="$(BDS)\Bin\CodeGear.Group.Targets" Condition="Exists('$(BDS)\Bin\CodeGear.Group.Targets')"/>
</Project>

View file

@ -1,9 +1,7 @@
<?xml version="1.0" encoding="utf-8"?>
<BorlandProject>
<Transactions>
<Transaction>2023/03/07 14:33:11.853,E:\Doc\Mini Compressor\MiniCompressor_Group.groupproj=C:\Users\carld\Documents\Embarcadero\Studio\Projects\ProjectGroup1.groupproj</Transaction>
</Transactions>
<Transactions/>
<Default.Personality>
<Projects ActiveProject="E:\Doc\Mini Compressor\MiniCompressor.dproj"/>
<Projects ActiveProject="E:\Doc\Mini Compressor\MiniCompressor_Library.dproj"/>
</Default.Personality>
</BorlandProject>

View file

@ -1,7 +1,7 @@
library MiniCompressor_Library;
uses
Windows, IniFiles;
Windows, IniFiles, ShellAPI, VCL.Forms;
function IniRead(Filez, A, B: string): string; stdcall;
var
@ -29,8 +29,40 @@ begin
end;
end;
procedure ExecAndWait(HandleForm: HWND; const AProgram, AParams, AWorking: string); stdcall;
var
EAWInfo: TShellExecuteInfo;
ExitCode: DWORD;
begin
FillChar(EAWInfo, SizeOf(EAWInfo), 0);
EAWInfo.cbSize:= SizeOf(TShellExecuteInfo);
with EAWInfo do
begin
fMask := SEE_MASK_NOCLOSEPROCESS;
Wnd := HandleForm;
lpFile := PChar(AProgram);
lpParameters := PChar(AParams);
lpDirectory := PChar(AWorking);
nShow := SW_SHOWNORMAL;
end;
if ShellExecuteEx(@EAWInfo) then
begin
repeat
Application.ProcessMessages;
GetExitCodeProcess(EAWInfo.hProcess, ExitCode);
until (ExitCode <> STILL_ACTIVE) or Application.Terminated;
end;
end;
procedure ExecAndNoWait(ACommand, AParams: string); stdcall;
begin
ShellExecute(Application.Handle, 'open', PChar(ACommand), PChar(AParams), nil, SW_SHOWNORMAL);
end;
exports
IniRead, IniCreate;
IniRead, IniCreate, ExecAndWait, ExecAndNoWait;
begin
end.

View file

@ -1,6 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<BorlandProject>
<Transactions>
<Transaction>2023/03/07 14:35:22.000.081,E:\Doc\Mini Compressor\MiniCompressor_Library.dproj=E:\Doc\Mini Compressor\MC_Ini.dproj</Transaction>
<Transaction>2023/03/07 14:35:22.000.081,E:\Doc\Mini Compressor\MC_Ini.dproj=E:\Doc\Mini Compressor\MiniCompressor_Library.dproj</Transaction>
</Transactions>
</BorlandProject>

3247
Unit1.fmx

File diff suppressed because it is too large Load diff

147
Unit1.pas
View file

@ -361,6 +361,7 @@ type
MenuItem30: TMenuItem;
MenuItem21: TMenuItem;
MenuItem31: TMenuItem;
Button41: TButton;
procedure FormCreate(Sender: TObject);
procedure SearchEditButton1Click(Sender: TObject);
procedure SearchEditButton2Click(Sender: TObject);
@ -457,6 +458,7 @@ type
procedure Button39Click(Sender: TObject);
procedure Button40Click(Sender: TObject);
procedure MenuItem30Click(Sender: TObject);
procedure Button41Click(Sender: TObject);
private
{ Private declarations }
public
@ -464,6 +466,8 @@ type
var
BassHandle, BassMusicPlayer: HWND;
BassMusicFile: PChar;
BassVolume: Single;
function GenHashMultiCallback(FileName: WideString; FileSize: extended;
FileProgress, TotalProgress, TotalFiles, FileCounted, StatusCode: Integer): Boolean;
function ChkHashMultiCallback(FileName: WideString; FileSize: extended;
@ -493,33 +497,6 @@ var
Ok, Bad, Missing: Integer;
HashErrCode: Integer = H_ERROR_GENERAL;
procedure ExecAndWait(const AProgram, AParams, AWorking: string);
var
EAWInfo: TShellExecuteInfo;
ExitCode: DWORD;
begin
FillChar(EAWInfo, SizeOf(EAWInfo), 0);
EAWInfo.cbSize:= SizeOf(TShellExecuteInfo);
with EAWInfo do
begin
fMask := SEE_MASK_NOCLOSEPROCESS;
Wnd := TWinWindowHandle(Form1).Wnd;
lpFile := PChar(AProgram);
lpParameters := PChar(AParams);
lpDirectory := PChar(AWorking);
nShow := SW_SHOWNORMAL;
end;
if ShellExecuteEx(@EAWInfo) then
begin
repeat
Application.ProcessMessages;
GetExitCodeProcess(EAWInfo.hProcess, ExitCode);
until (ExitCode <> STILL_ACTIVE) or Application.Terminated;
end;
end;
function ProcessMemory: longint;
var
pmc: PPROCESS_MEMORY_COUNTERS;
@ -1031,7 +1008,9 @@ begin
IniCreate('..\Resources\records.ini','Record1','Disk','1');
IniCreate('..\Resources\records.ini','Record1','Password',Edit3.Text);
ExecAndWait(GetAnySource('..\Resources\MC_SFX2.exe'), '', GetAnySource('..\Resources'));
ExecAndWait(TWinWindowHandle(Form1).Wnd,
GetAnySource('..\Resources\MC_SFX2.exe'), '',
GetAnySource('..\Resources'));
with TMemo.Create(nil) do
try
@ -1050,7 +1029,8 @@ begin
Application.ProcessMessages;
Sleep(150);
ExecAndWait(GetAnySource('SFX_Make.bat'), '', GetAnySource(''));
ExecAndWait(TWinWindowHandle(Form1).Wnd,
GetAnySource('SFX_Make.bat'), '', GetAnySource(''));
with TMemo.Create(nil) do
begin
@ -1258,7 +1238,8 @@ begin
begin
CopyFile(GetAnySource('..\Resources\IM_Bg2.jpg'),
GetAnySource('..\Installer\Graphics\Background.jpg'), False);
ExecAndWait(GetAnySource('..\Installer\Compiler.exe'), '',
ExecAndWait(TWinWindowHandle(Form1).Wnd,
GetAnySource('..\Installer\Compiler.exe'), '',
GetAnySource('..\Installer'));
Application.ProcessMessages;
@ -1266,7 +1247,8 @@ begin
DeleteFile(GetAnySource('..\Installer\Graphics\Background.jpg'));
end else
ExecAndWait(GetAnySource('..\Installer\Compiler.exe'), '',
ExecAndWait(TWinWindowHandle(Form1).Wnd,
GetAnySource('..\Installer\Compiler.exe'), '',
GetAnySource('..\Installer'));
Application.ProcessMessages;
@ -1312,12 +1294,14 @@ begin
MessageBox(0, 'Looks like the file still exist. Would create another one.', 'Resource Exist',
MB_ICONINFORMATION or MB_OK);
DeleteFile(GetAnySource('..\Resources\ISD_List_Manual.txt'));
ExecAndWait(GetAnySource('..\Resources\MC_Update.exe'),'',
ExecAndWait(TWinWindowHandle(Form1).Wnd,
GetAnySource('..\Resources\MC_Update.exe'),'',
GetAnySource('..\Resources'));
end
else
if not FileExists(GetAnySource('..\Resources\ISD_List_Manual.txt')) then
ExecAndWait(GetAnySource('..\Resources\MC_Update.exe'),'',
ExecAndWait(TWinWindowHandle(Form1).Wnd,
GetAnySource('..\Resources\MC_Update.exe'),'',
GetAnySource('..\Resources'))
end;
@ -1385,7 +1369,8 @@ begin
Application.ProcessMessages;
Sleep(150);
ExecAndWait(GetAnySource('..\Resources\7za.exe'),'a -bb3 -r0 -mmt2 -mx9 -pIMP "'
ExecAndWait(TWinWindowHandle(Form1).Wnd,
GetAnySource('..\Resources\7za.exe'),'a -bb3 -r0 -mmt2 -mx9 -pIMP "'
+FileNameProj +'.7z" "' +GetAnySource('..\Resources\Project') +'\*"',
GetAnySource('..\Resources'));
@ -1451,7 +1436,8 @@ begin
Application.ProcessMessages;
Sleep(150);
ExecAndWait(GetAnySource('..\Resources\7za.exe'),'x -pIMP -O"'
ExecAndWait(TWinWindowHandle(Form1).Wnd,
GetAnySource('..\Resources\7za.exe'),'x -pIMP -O"'
+GetAnySource('..\Resources\Project') +'" "' +PChar(LoadProj) +'"',
GetAnySource('..\Resources'));
@ -1853,7 +1839,8 @@ begin
Sleep(150);
FA_Error := False;
ExecAndWait(GetAnySource('Run_FA.bat'),'',GetAnySource(''));
ExecAndWait(TWinWindowHandle(Form1).Wnd,
GetAnySource('Run_FA.bat'),'',GetAnySource(''));
Application.ProcessMessages;
Sleep(150);
@ -1912,7 +1899,8 @@ begin
IniCreate('..\Resources\records.ini','Record1','Disk','1');
IniCreate('..\Resources\records.ini','Record1','Password',Edit3.Text);
ExecAndWait(GetAnySource('..\Resources\MC_SFX2.exe'),'',GetAnySource('..\Resources'));
ExecAndWait(TWinWindowHandle(Form1).Wnd,
GetAnySource('..\Resources\MC_SFX2.exe'),'',GetAnySource('..\Resources'));
with TMemo.Create(nil) do
try
@ -1931,7 +1919,8 @@ begin
Application.ProcessMessages;
Sleep(150);
ExecAndWait(GetAnySource('SFX_Make.bat'),'',GetAnySource(''));
ExecAndWait(TWinWindowHandle(Form1).Wnd,
GetAnySource('SFX_Make.bat'),'',GetAnySource(''));
with TMemo.Create(nil) do
begin
@ -2061,7 +2050,8 @@ begin
Sleep(150);
FA_Error := False;
ExecAndWait(GetAnySource('Run_FA.bat'),'',GetAnySource(''));
ExecAndWait(TWinWindowHandle(Form1).Wnd,
GetAnySource('Run_FA.bat'),'',GetAnySource(''));
Application.ProcessMessages;
Sleep(150);
@ -2215,7 +2205,8 @@ begin
Application.ProcessMessages;
Sleep(150);
ExecAndWait(GetAnySource('Run_7Z.bat'), '', GetAnySource(''));
ExecAndWait(TWinWindowHandle(Form1).Wnd,
GetAnySource('Run_7Z.bat'), '', GetAnySource(''));
Error7z:= False;
Application.ProcessMessages;
@ -2263,7 +2254,8 @@ begin
Application.ProcessMessages;
Sleep(150);
ExecAndWait(GetAnySource('SFX_Make.bat'),'',GetAnySource(''));
ExecAndWait(TWinWindowHandle(Form1).Wnd,
GetAnySource('SFX_Make.bat'),'',GetAnySource(''));
Application.ProcessMessages;
Sleep(150);
@ -2400,6 +2392,11 @@ begin
end;
end;
procedure TForm1.Button41Click(Sender: TObject);
begin
ExecAndNoWait(GetAnySource('..\Compression\FreeArc'), '');
end;
procedure TForm1.Button4Click(Sender: TObject);
var
Command7z, Thread7z, Method7z, Password7z, Archive7z, Source7z,
@ -2533,7 +2530,8 @@ begin
Application.ProcessMessages;
Sleep(150);
ExecAndWait(GetAnySource('SFX_Make.bat'),'',GetAnySource(''));
ExecAndWait(TWinWindowHandle(Form1).Wnd,
GetAnySource('SFX_Make.bat'),'',GetAnySource(''));
Application.ProcessMessages;
Sleep(150);
@ -2661,10 +2659,10 @@ end;
procedure TForm1.CheckBox1Change(Sender: TObject);
begin
if CheckBox1.IsChecked = True then
if CheckBox1.IsChecked then
BASS_ChannelPause(BassMusicPlayer)
else
if BASS_ChannelIsActive(BassMusicPlayer) = BASS_ACTIVE_PAUSED then
if not CheckBox1.IsChecked then
BASS_ChannelPlay(BassMusicPlayer, false);
end;
@ -3023,6 +3021,12 @@ begin
BassMusicFile := PChar(GetAnySource('..\Resources\Music.mp3'));
BassMusicPlayer := BASS_StreamCreateFile(False, BassMusicFile, 0, 0,
BASS_SAMPLE_LOOP {$IFDEF UNICODE} or BASS_UNICODE {$ENDIF});
BassVolume := StrToFloat(IniRead(GetAnySource('..\Resources\BASS_Setting.ini'),
'BASS', 'Volume'));
BASS_ChannelSetAttribute(Form1.BassMusicPlayer, BASS_ATTRIB_VOL,
Round(BassVolume) / 100);
BASS_Start();
BASS_ChannelPlay(BassMusicPlayer, False);
end
@ -3063,30 +3067,33 @@ end;
procedure TForm1.MenuItem10Click(Sender: TObject);
begin
ExecAndWait(GetAnySource('..\Tools\IS5\Compil32.exe'), '',
GetAnySource('..\Tools\IS5'));
ExecAndNoWait(GetAnySource('..\Tools\IS5\Compil32.exe'), '');
end;
procedure TForm1.MenuItem11Click(Sender: TObject);
begin
ExecAndWait(GetAnySource('..\Tools\SafeCopy\SafeCopyFree.exe'), '', GetAnySource('..\Tools\SafeCopy'));
ExecAndNoWait(GetAnySource('..\Tools\SafeCopy\SafeCopyFree.exe'), '');
end;
procedure TForm1.MenuItem12Click(Sender: TObject);
begin
ExecAndWait(GetAnySource('..\Tools\GraphicStudio.exe'), '', GetAnySource('..\Tools'));
ExecAndNoWait(GetAnySource('..\Tools\GraphicStudio.exe'), '');
end;
procedure TForm1.MenuItem14Click(Sender: TObject);
begin
sndPlaySound(GetAnySource('..\Resources\MC_OK.wav'),SND_ASYNC);
ExecAndWait(GetAnySource('..\Resources\MC_SFX.exe'), '', GetAnySource('..\Resources'));
ExecAndWait(TWinWindowHandle(Form1).Wnd,
GetAnySource('..\Resources\MC_SFX.exe'), '',
GetAnySource('..\Resources'));
end;
procedure TForm1.MenuItem15Click(Sender: TObject);
begin
sndPlaySound(GetAnySource('..\Resources\MC_OK.wav'),SND_ASYNC);
ExecAndWait(GetAnySource('..\Resources\MC_UpdateSFX.exe'), '', GetAnySource('..\Resources'));
ExecAndWait(TWinWindowHandle(Form1).Wnd,
GetAnySource('..\Resources\MC_UpdateSFX.exe'), '',
GetAnySource('..\Resources'));
end;
procedure TForm1.MenuItem19Click(Sender: TObject);
@ -3159,10 +3166,14 @@ begin
if IC_ConfirmReg = '' then
begin
if IC_CreateShortcut = True then
ExecAndWait(GetAnySource('..\Resources\IC_Registry2.exe'),'/verysilent',GetAnySource('..\Resources'))
ExecAndWait(TWinWindowHandle(Form1).Wnd,
GetAnySource('..\Resources\IC_Registry2.exe'),'/verysilent',
GetAnySource('..\Resources'))
else
if IC_CreateShortcut = False then
ExecAndWait(GetAnySource('..\Resources\IC_Registry.exe'),'/verysilent',GetAnySource('..\Resources'));
ExecAndWait(TWinWindowHandle(Form1).Wnd,
GetAnySource('..\Resources\IC_Registry.exe'),'/verysilent',
GetAnySource('..\Resources'));
end;
sndPlaySound(GetAnySource('..\Resources\MC_OK.wav'),SND_ASYNC);
@ -3250,7 +3261,7 @@ begin
end;
if FileExists(FA_Filename) then
ExecAndWait(GetAnySource('..\Tools\FreeArc_P.exe'), '"' +FA_Filename +'"', GetAnySource('..\Tools'))
ExecAndNoWait(GetAnySource('..\Tools\FreeArc_P.exe'), '"' +FA_Filename +'"')
else
if not FileExists(FA_Filename) then
begin
@ -3302,9 +3313,14 @@ begin
if OutDB <> '' then
begin
ExecAndWait(GetAnySource('..\Resources\ISDone_List_Manual_SFX.exe'),'',GetAnySource('..\Resources'));
ExecAndWait('C:\Windows\notepad.exe', GetAnySource('..\Resources\ISD_List_Manual_SFX.txt'), 'C:\Windows');
ExecAndWait(GetAnySource('..\Resources\uha.exe'),
ExecAndWait(TWinWindowHandle(Form1).Wnd,
GetAnySource('..\Resources\ISDone_List_Manual_SFX.exe'),'',
GetAnySource('..\Resources'));
ExecAndWait(TWinWindowHandle(Form1).Wnd,
'C:\Windows\notepad.exe',
GetAnySource('..\Resources\ISD_List_Manual_SFX.txt'), 'C:\Windows');
ExecAndWait(TWinWindowHandle(Form1).Wnd,
GetAnySource('..\Resources\uha.exe'),
'a -r+ -ed- -p- -m1 -mm+ -md+ -md32768 -b32768 "' + OutDB + '\Setup.db"' + '"ISDone_resource\*" @ISD_List_Manual_SFX.txt', GetAnySource('..\Resources'));
Application.ProcessMessages;
Sleep(150);
@ -3352,7 +3368,8 @@ end;
procedure TForm1.MenuItem30Click(Sender: TObject);
begin
ExecAndWait(GetAnySource('..\Resources\XTool\XTool_Plugin.exe'), '',
ExecAndWait(TWinWindowHandle(Form1).Wnd,
GetAnySource('..\Resources\XTool\XTool_Plugin.exe'), '',
GetAnySource('..\Resources\XTool'));
if FileExists(GetAnySource('..\Resources\XTool\xtool_inj.exe')) then
@ -3392,32 +3409,27 @@ end;
procedure TForm1.MenuItem5Click(Sender: TObject);
begin
ExecAndWait(GetAnySource('..\Tools\AllDup\AllDupPortable.exe'), '',
GetAnySource('..\Tools\AllDup'));
ExecAndNoWait(GetAnySource('..\Tools\AllDup\AllDupPortable.exe'), '');
end;
procedure TForm1.MenuItem6Click(Sender: TObject);
begin
ExecAndWait(GetAnySource('..\Tools\DirectorySlicer\DirectorySlicer.exe'), '',
GetAnySource('..\Tools\DirectorySlicer'));
ExecAndNoWait(GetAnySource('..\Tools\DirectorySlicer\DirectorySlicer.exe'), '');
end;
procedure TForm1.MenuItem7Click(Sender: TObject);
begin
ExecAndWait(GetAnySource('..\Tools\GFS\GFS.exe'), '',
GetAnySource('..\Tools\GFS'));
ExecAndNoWait(GetAnySource('..\Tools\GFS\GFS.exe'), '');
end;
procedure TForm1.MenuItem8Click(Sender: TObject);
begin
ExecAndWait(GetAnySource('..\Tools\InnoSProtect\InnoSProtect.exe'), '',
GetAnySource('..\Tools\InnoSProtect'));
ExecAndNoWait(GetAnySource('..\Tools\InnoSProtect\InnoSProtect.exe'), '');
end;
procedure TForm1.MenuItem9Click(Sender: TObject);
begin
ExecAndWait(GetAnySource('..\Tools\InstallerCreator\Bin\InstallerCreator.exe'), '',
GetAnySource('..\Tools\InstallerCreator\Bin'));
ExecAndNoWait(GetAnySource('..\Tools\InstallerCreator\Bin\InstallerCreator.exe'), '');
end;
procedure TForm1.PopupBox1Change(Sender: TObject);
@ -3547,6 +3559,7 @@ procedure TForm1.SearchEditButton6Click(Sender: TObject);
var
MusicInstaller: string;
begin
OpenDialog1.FileName := '';
OpenDialog1.Title := 'Choose your music installer.';
OpenDialog1.Filter:= '.mp3|*.mp3|All files|*.*';
OpenDialog1.Execute;

148
Unit2.fmx
View file

@ -115,81 +115,81 @@ object Form2: TForm2
PNG = {
89504E470D0A1A0A0000000D4948445200000080000000800806000000C33E61
CB000000017352474200AECE1CE90000000467414D410000B18F0BFC61050000
093649444154785EED9D6B6C1C571580CFDC79D95EDB1BDBB4D0A650B5A531A4
0A29843434E1D196565014895F8D024504292A45802AA1D409102113113976E2
28A9F801A9844AF881A0A9D4564A4BD20A51AA3C681A8A48D30AA20A90884965
07C78D1FFB98993BDC335C4B76BCB3BBDE9DD91DCF3DDFEA2ADEB38E1FF77E3B
73CEBD77C640100441100441100441A88426FF8D85CF3DB5A5E5BADEEE58BF47
1817E1DF70B778ECFFD4F764A4349BFEB44D7C2EC04DFF7F5A17CFAC3F90931F
2E1962199C075ED8BA016CBF0F8ADA4ACEC004F0E52B8DC3730A70C7751F8183
6BBE2F230BC9FB79F8D6A91FC3A5C971D0CC3ABB42D76055DB075EF94466D977
BF7E67DFB48C269EC805B8F7F896356681FF9E7566B2DCF164B4F138DC85D5DD
2BE0C027C30528820B8F9CFC118CCC8C89F163325A1BBE78AC7FDF6DD0EDDB47
DDBCBF65DBFA6DE3F2A54453DF6F5D02DD61DF66D94CD6CB3BE07BBCA98D8B56
0ED77583CF29F57F6B69C55C110CDBDC082DF06CFF89FE1BE5B74934910BA019
EC66EC0C5529E68B605AC667B3AD9D47074E0D7C5886134BE402081A7FC24F18
8E38FA1996F171DBB45FDCFFC69ED5329C48E210801038052181ADDF0EDC3A3A
787AF0D3329C38488018718B2E18A67E93D1623C37747AE84B329C28522D8056
A1C831991164EFE51EF5E23A42024DEFB1B8F9F4BE33FB36CB706288BC0C7CE0
D8D69799A5DFCF8BCD2B0111DFF7A1C3CAC047B3B7C9C87C7CE0D0AAB7C0C60F
DE0306D34564615760E4F03BCFC3D9CBE70359CA81B2ACEDBC19AEB7DB818BEF
7D2D4C17EFB569283AB6FBD8F6B5DB0FC970D349AD00084AE0F8AE7C361FEE73
586675C26FEEDD0F6D42843006CE1D82E3174F82AD5B32529A4A02208C31D072
1A770D67E7E3EBB60FCA705349F72940D3C06266D9E6F2D282CC123698B5C039
07DECA99D96AED193EBB7750081AF91B70B15012D8607CEE83E77860D9F68EE1
33C33F3B74F690295F6A0A244013084E4D4507EC8CFDE8244CFEAAFF0FFDEDF2
A5864302340B716671F245B05BADCD9D1D9D4F0FBC36D0235F6928244093C1F5
03ABC57CD032ACE7779FDABF5C861B46AA05C0CC1C5705C39ACBBD8AE51DAB73
95B01A70FDC0B2CD0D9956EF85A1D343B7CB7043486D19E8FA1EDCD2BE1C1E59
F15020422930C3FFCBF8DB30E5CC941C68EC9C73572EC0A599B18A2254530656
C2B44DC83B857FF89EFFD08EB53BDE90E15849AD00F80E5FDDD30B07EFFA818C
2CC4114780AFBDDA0723D3A3A1FB01F00851CD51200A0110C33280BB854BAEC3
36F7ADEB7B55866323FEE35B13C16CBB1C0E7782B9009CE4096B8D3805CC05D7
0F34DDBA41D7F4E7865F1BDA28C3B1916A01962A384FC02CAD0B2CFDB7C36787
1F96E1582001128AE77AA0036BCB1BB9A7F69ED9FB1D198E1C12204298A605A7
8CA89A4826A0C36F373DD7F9E9137F1EDEE9F7F7473E5E2440844CE4A6617472
0246A7DE8BA85D8577AF4EC0A4EB68978BB9DD8FDD9DFB09F4473B66A9AE02EE
1455C081325580E773F8CA2BDB6064A65C156056B76358F424CF7BE04D1430FB
8CB667C59763860E5E815F18EB7057BDBDE94851BE5237A91500977BAF6FED81
07977F4646E683659BC8B4A1C36C0BE60CC2368FBCF49F93F0F7897FC93D0315
4009A65DE057C5F844DCB39ACE803BDEF9D18CB78604A812ACC78BA2D42B0517
83DE6565E199CF1F049B85AFF5EF39F7241CBB78222809AB02251002A00851F6
6E5C02A43A07C0A4AC450C5CE96607835AF0CAF7259E2616051EAE3B2CD05AC4
11A3F6F9A0864149604CE85921015E6E9670094880B860A224CCDAC135834986
04880B2C044C067A6795B943932001E2042510B9802E7282A49E0A522D005601
7991E4956E852001C4C5A072D47BD5702041C600265A1225486D1988D9FBFB5B
7BE00BCB37C8C87C70A5D0600664AD0EF0B817EC20BE168C1C1B39017F9BF867
75F30015F0AE14C02F887EA9A1D7691E6091543B13F8D53F3E0E17A747C1089D
09AC6E3F4055701F5C2181F8E116DDF3340F5003953666CC9E02705E60EE1E80
B92DB2C147444580E561922A83540B9038301F4858654002341A94405406ACA3
29B74E5A0009D00CC4C0B38C9988CA800468162801AE19D8CD5D3348B500A54A
BBB960868FAB85980C86355C568E0DF1E3056B0686F8A04912449E8E26A50C9C
BD2EE09BBD9B64643EB81F00E7025EBF7C5E5E17B0B02B708FC09B572EC0BBB9
CBD1560373C1B11765A1372E37928440F3003580831CB69C8BEFEC2EAB137E7D
CFBEE04611610C9C7B128E2F663F402DA004B3BB8942A079801AC077B0A1E9A1
0D7704E1845139623D05CC22DEF84165D0DEF8CA8092C0A420063EA80CDA1A5B
19900009837536B63220019286C8071A591990004903075D97BB8958E439FA02
522D00967958E787354C002B2DF3962A0F634748A059B86610FFED8322FFED92
52066209D86EE27D026F9591F9A01CAD460B7CF943F795BD49C42FDF79165E1F
7B33B840A4E188D1E1530EF049076FC24DF3008B21B83F40772F1C5C17BE1FA0
E039B0F5C4CEB25706E16C62D845238D02AF33F08B9CE601160B1E05CAE1E115
416280672FC62CD59A3DF808AE1930714A88034A029702629430290CAE33784B
C6228204580A6052282A036D990570878C450409B09410A315F1F89300AAA3BC
0078B368AC18C25A3D77FC5A0A282D0066F9BDD95BE163DD2B6055D7C286F165
567B30679056523D0F8003F8C4BA1FCA486DECFEEBCFE1E59153F1EE07A80266
30708AC5F33D53336B8ED03C0011152480E290008A4302280E09A03824400592
B0181427A9160057FBDE2B4ED5D570E3489A2548ED3C00825BBF3BCC8C7C561B
D36E0E0A8104CD85E6016A00AF0EFA6F61A2AE56E0C5549F04529F035CBBC163
B18D720022D590008A4302280E09A0382480E290008A4302280E09A0382480E2
093549444154785EED9D6B6C1C571580CFDC79D95E7B37B669A14DA16A4B6348
1552086968C2A32DADA02812BF1A058A0852548A005542A9132042262272ECC4
5152F103520995F0034153A9AD9496A415A25479D0341491A6154415201193CA
0E8E1B3F771E77B867B896EC7867BDDE9DD91DCF3DDFEA2ADEB38E1FF77E3B73
CEBD77C640100441100441100441A88426FF4D84CF3DB5A5E9BAAE8E44BF4714
17E1DF70B778ECFFD4F764A4349BFEB44D7C2EC04DFF7F5A13CFAC3F30253F5C
322432380FBCB07503D8413738DA4ACEC00408E42BF5C3778B70C7751F81836B
BE2F23F3990EA6E15BA77E0C97C64640336BEC0A5D83552D1F78E513B965DFFD
FA9DDD13329A7A6217E0DEE35BD69845FE7B96CF15B8EBCB68FD71B907AB3B56
C0814F460BE080078F9CFC110C4E0E8BF163325A1D8178AC7FDF6DD011D847BD
E960CBB6F5DB46E44BA9A6B6DFBA04BACBBECD0AB9823FED42E0F386362E5A39
3CCF0B3FA7D4FFADA639530E18B6B9119AE0D99E133D37CA6F936A62174033D8
CDD819AAE24C3B605AC6670BCDF9A3BDA77A3F2CC3A925760104F53FE1A70C57
1CFD0CCBF8B86DDA2FEE7F63CF6A194E2549084008DCA290C0D66F076E1DED3B
DDF769194E1D244082788E0786A9DF643419CFF59FEEFF920CA78A4C0BA02D50
E498CC08B3F7728F5AF15C2181A6775ADC7C7ADF997D9B653835C45E063E706C
EBCBCCD2EFE74EE34A4024080268B372F0D1C26D323297003834EB4DB0F183F7
80C1741199DF151839FCCEF370F6F2F9509672A02C6BF337C3F5762B70F1BDAF
85E9E2BD36068EDBEC3DB67DEDF64332DC70322B008212B881279FCD85071C96
5979F8CDBDFBA145881045EFB94370FCE249B0754B464AB3900008630CB4098D
7B96BBF3F175DBFB64B8A164FB14A0696031B36CF378694166881ACC6AE09C03
CF7166365B7B06CEEEED1382C6FE065C2C9404D6998007E0BB3E58B6BD63E0CC
C0CF0E9D3D64CA971A0209D000C25393E3829DB31F1D83B15FF5FCA1A755BE54
7748804621CE2CEEB40376B3B539DF967FBAF7B5DE4EF94A5D21011A0CAE1F58
4DE68396613DBFFBD4FEE5325C37322D0066E6B82A18D53CEE2F58DEB11A5709
2B01D70F2CDBDC906BF65FE83FDD7FBB0CD785CC96815EE0C32DADCBE191150F
8522940233FCBF8CBC0DE3EE64C981C6CE3977E5025C9A1C5E50844ACAC08530
6D13A6DDE23F023F7868C7DA1D6FC870A26456007C87AFEEEC828377FD4046E6
E38A23C0D75EED86C189A1C8FD007884A8E428108700886119C0BDE225CF659B
BBD775BF2AC38991FCF1AD8160B65D0E97BBE15C004EF244B57A9C026683EB07
9A6EDDA06BFA7303AFF56F94E1C4C8B4004B159C276096D60E96FEDB81B3030F
CB7022900029C5F77CD081B54C1A134FED3DB3F73B321C3B24408C304D0B4F19
7135914C4021C89BAE53FCE9137F1ED819F4F4C43E5E24408C8C4E4DC0D0D828
0C8DBF1753BB0AEF5E1D8509EE6B979DA9DD8FDD3DF513E88977CC325D05DC29
AA800365AA003FE0F09557B6C1E064B92AC0AC6CC7B0E8493EED833F5AC4EC33
DE9E155F8E193AF8457E61B8CD5BF5F6A6238E7CA566322B002EF75EDFDC090F
2EFF8C8CCC05CB369169439BD912CE19446D1E79E93F27E1EFA3FF927B061600
2598F0805F15E31373CF6A3A03EEFAE78772FE1A12A042B01E7744A9570A2E06
BDDD2AC0339F3F08368B5EEBDF73EE493876F144581256044A20044011E2ECDD
A404C8740E8049599318B8D2CD0E07B5E897EF4B3C4D2C0A3C5CB759A0358923
46F5F341758392C084D00B4202BCDC2CE512900049C1444958B0C36B06D30C09
90145808980CF47C85B94383200192042510B9802E7282B49E0A322D005601D3
22C92BDD8A6102888B41E5A8F5AAE150829C014CB4344A90D93210B3F7F73777
C217966F9091B9E04AA1C10C28586DE0733FDC417C2D1839367802FE36FACFCA
E60116C0BF5284A028FAA58A5EA779804552E94CE057FFF8385C9C1802237226
B0B2FD0015C103F08404E2875B74CFD33C40152CB43163E61480F302B3F700CC
6EB10D3E222A022C0FD35419645A80D481F940CA2A0312A0DEA004A232606D0D
B975D23C48804620069EE5CC5454062440A3400970CDC06EEC9A41A6052855DA
CD06337C5C2DC46430AAE1B27262881F2F5C3330C4070D9220F674342D65E0CC
7501DFECDA242373C1FD003817F0FAE5F3F2BA80F95D817B04DEBC7201DE9DBA
1C6F35301B1C7B5116FA2372234904340F500538C851CBB9F8CE6EB7F2F0EB7B
F685378A88A2F7DC93707C31FB01AA012598D94D1401CD035401BE830D4D8F6C
B82308278CCA91E8296006F1C60F2B83D6FA57069404A60531F06165D052DFCA
800448192C5FDFCA8004481B221FA867654002A40D1C745DEE2662B1E7E8F3C8
B40058E6619D1FD530015C6899B7547998384202CDC23583E46F1F14FB6F9796
32104BC05613EF1378AB8CCC05E568369AE0CB1FBAAFEC4D227EF9CEB3F0FAF0
9BE1052275478C0E1F77818FB978136E9A07580CE1FD013ABAE0E0BAE8FD0045
DF85AD277696BD32086713A32E1AA917789D41E0709A07582C781428878F5704
89019EB918B3546BF4E023B866C0C429210928095C0A8851C2A430BCCEE02D19
8B091260298049A1A80CB46516C01D32161324C052428C56CCE34F02A88EF202
E0CDA2B162886AB5DCF16B29A0B40098E577156E858F75AC8055EDF31BC69759
ADE19C4156C9F43C000EE013EB7E2823D5B1FBAF3F8797074F25BB1FA00298C1
C0759CF39DE3936B8ED03C0011172480E290008A4302280E09A03824C002A461
312849322D00AEF6BDE78CD7D470E3489625C8EC3C00825BBFDBCC9C7C561D13
DE141443091A0BCD0354015E1DF4DFE2684DADC89D4C9F04329F035CBBC163B1
8D720022D390008A4302280E09A0382480E290008A4302280E09A0382480E290
008A4302280E09A0382480E290008A4302280E09A0382480E290008A4302280E
09A0382480E290008A4302280E09A0382480E290008A4302280E09A0382480E2
90008A4302280E09A0382480E290008A4302280E09A0382480E290008A430228
0E09A0382480E290008A4302280E09A0382480E290008A4302280E09A0382480
E290008A4302280E09A0382480E290008A4302280E09A0382480E290008A4302
284E0C0234E38FEDAA0163D1FF35E9C805F07D7E456BC05FBD560ED1A7DC87C9
956FAD74652412A21740F30F739707F7B60D0E06D4EA6E9ACE20785371EDF0AE
5DBBB8ECEA48105F357AEEFBDD371ED519EB1336DC08B994DF6BB501B8EDDA98
EE7987BAAE4E0D1ED97424D2BB70C7363877BDF8706746B36F30358F04A81B63
F4A52FFE625C3E210882200882200882200882A80180FF01E9F3F3F74B3B20B2
0000000049454E44AE426082}
4E020234E28FEDAA0163F1FF35E9D80508027E45ABC35FBD560ED1A73C80B195
6FADF4642416E217400B0E738F87F7B60D0F06D46A6E9ACE207C5371EDF0AE5D
BBB8ECEA58105F357EEEFBDD371ED519EB1636DC085319BFD76A1DF05AB561DD
F70FB55F1DEF3BB2E948AC77E14E6C70EE7AF1E17C4EB36F30359F04A81963E8
A52FFE62443E210882200882200882200882A80280FF018BEFF3F900A652B500
00000049454E44AE426082}
FileName = 'C:\Users\Alvin\Desktop\Mini Compressor\MiniCompressor_Icon.ico'
end>
Size.Width = 41.000000000000000000

View file

@ -79,7 +79,7 @@ begin
MB_ICONERROR or MB_OK);
end;
StringGrid1.RowCount:= 31;
StringGrid1.RowCount:= 32;
// The Name of Creator
StringGrid1.Cells[0,0] := '7-Zip';
StringGrid1.Cells[1,0] := 'Igor Pavlov and Shelwien';
@ -173,6 +173,9 @@ begin
StringGrid1.Cells[0,30] := 'XHash Library';
StringGrid1.Cells[1,30] := 'BLACKFIRE69@FileForums';
StringGrid1.Cells[0,31] := 'Bass Library';
StringGrid1.Cells[1,31] := 'Un4seen Developments';
end;
procedure TForm2.FormShow(Sender: TObject);

117
Unit6.fmx
View file

@ -4,7 +4,7 @@ object Form6: TForm6
BorderIcons = [biSystemMenu, biMinimize]
BorderStyle = Single
Caption = 'BASS Setting'
ClientHeight = 105
ClientHeight = 193
ClientWidth = 273
Position = MainFormCenter
StyleBook = Form1.StyleBook1
@ -16,51 +16,94 @@ object Form6: TForm6
object Layout1: TLayout
Align = Client
Size.Width = 273.000000000000000000
Size.Height = 105.000000000000000000
Size.Height = 193.000000000000000000
Size.PlatformDefault = False
TabOrder = 1
object Rectangle1: TRectangle
Align = Client
Fill.Bitmap.WrapMode = Tile
Fill.Bitmap.WrapMode = TileStretch
Fill.Kind = Bitmap
Size.Width = 273.000000000000000000
Size.Height = 105.000000000000000000
Size.Height = 193.000000000000000000
Size.PlatformDefault = False
Stroke.Kind = None
object GroupBox1: TGroupBox
object Panel1: TPanel
Align = Client
Size.Width = 273.000000000000000000
Size.Height = 49.000000000000000000
Size.Height = 193.000000000000000000
Size.PlatformDefault = False
Text = 'Volume'
TabOrder = 0
object TrackBar1: TTrackBar
CanParentFocus = True
Orientation = Horizontal
Position.X = 16.000000000000000000
Position.Y = 16.000000000000000000
Size.Width = 241.000000000000000000
Size.Height = 19.000000000000000000
object GroupBox1: TGroupBox
Size.Width = 273.000000000000000000
Size.Height = 49.000000000000000000
Size.PlatformDefault = False
TabOrder = 38
OnChange = TrackBar1Change
Text = 'Volume'
TabOrder = 0
object TrackBar1: TTrackBar
CanParentFocus = True
Orientation = Horizontal
Position.X = 16.000000000000000000
Position.Y = 16.000000000000000000
Size.Width = 241.000000000000000000
Size.Height = 19.000000000000000000
Size.PlatformDefault = False
TabOrder = 38
OnChange = TrackBar1Change
end
end
end
object GroupBox2: TGroupBox
Position.Y = 48.000000000000000000
Size.Width = 273.000000000000000000
Size.Height = 49.000000000000000000
Size.PlatformDefault = False
Text = 'Change Music'
TabOrder = 1
object Button1: TButton
Position.X = 16.000000000000000000
Position.Y = 16.000000000000000000
Size.Width = 241.000000000000000000
Size.Height = 22.000000000000000000
object GroupBox2: TGroupBox
Position.Y = 48.000000000000000000
Size.Width = 273.000000000000000000
Size.Height = 49.000000000000000000
Size.PlatformDefault = False
TabOrder = 38
Text = 'Browse'
OnClick = Button1Click
Text = 'Change Music'
TabOrder = 1
object Button1: TButton
Position.X = 16.000000000000000000
Position.Y = 16.000000000000000000
Size.Width = 241.000000000000000000
Size.Height = 22.000000000000000000
Size.PlatformDefault = False
TabOrder = 38
Text = 'Browse'
OnClick = Button1Click
end
end
object GroupBox3: TGroupBox
Position.Y = 96.000000000000000000
Size.Width = 273.000000000000000000
Size.Height = 97.000000000000000000
Size.PlatformDefault = False
Text = 'Playing'
TabOrder = 2
object Label1: TLabel
Position.X = 16.000000000000000000
Position.Y = 16.000000000000000000
Size.Width = 241.000000000000000000
Size.Height = 17.000000000000000000
Size.PlatformDefault = False
TextSettings.HorzAlign = Center
Text = 'Label1'
TabOrder = 38
end
object ProgressBar1: TProgressBar
Orientation = Horizontal
Position.X = 16.000000000000000000
Position.Y = 40.000000000000000000
Size.Width = 241.000000000000000000
Size.Height = 20.000000000000000000
Size.PlatformDefault = False
end
object CheckBox1: TCheckBox
Position.X = 16.000000000000000000
Position.Y = 64.000000000000000000
Size.Width = 49.000000000000000000
Size.Height = 19.000000000000000000
Size.PlatformDefault = False
TabOrder = 40
Text = '||'
OnChange = CheckBox1Change
end
end
end
end
@ -75,7 +118,13 @@ object Form6: TForm6
end
end
object OpenDialog1: TOpenDialog
Left = 120
Top = 56
Left = 240
Top = 144
end
object Timer1: TTimer
Interval = 1
OnTimer = Timer1Timer
Left = 208
Top = 144
end
end

View file

@ -18,9 +18,17 @@ type
Rectangle1: TRectangle;
Layout1: TLayout;
FloatAnimation1: TFloatAnimation;
GroupBox3: TGroupBox;
Timer1: TTimer;
Label1: TLabel;
ProgressBar1: TProgressBar;
CheckBox1: TCheckBox;
Panel1: TPanel;
procedure TrackBar1Change(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure Button1Click(Sender: TObject);
procedure Timer1Timer(Sender: TObject);
procedure CheckBox1Change(Sender: TObject);
private
{ Private declarations }
public
@ -39,6 +47,31 @@ uses
MC_DLL,
Unit1;
function TimeToString(Time: Longint): string;
begin
if Time >= 3600000 then
Result := Format('%d:%2.2d:%2.2d.%3.3d',[Time div 3600000,
(Time mod 3600000) div 60000,
(Time mod 60000) div 1000,
Time mod 1000])
else
Result := Format('%d:%2.2d.%3.3d',[Time div 60000,
(Time mod 60000) div 1000,
Time mod 1000]);
end;
function GetTimePos : int64;
begin
Result := Round(BASS_ChannelBytes2Seconds(Form1.BassMusicPlayer,
BASS_ChannelGetPosition(Form1.BassMusicPlayer, BASS_POS_BYTE))*1000);
end;
function GetTimeLen : int64;
begin
Result := Round(BASS_ChannelBytes2Seconds(Form1.BassMusicPlayer,
BASS_ChannelGetLength(Form1.BassMusicPlayer, BASS_POS_BYTE))*1000);
end;
{$R *.fmx}
function GetAnySource(FileSource: string): PChar;
@ -49,49 +82,71 @@ end;
procedure TForm6.Button1Click(Sender: TObject);
var
ChangeMP3File: string;
ChangeMusicFile: string;
begin
OpenDialog1.FileName := '';
OpenDialog1.Title:= 'Choose your music';
OpenDialog1.Filter:= '.mp3|*.mp3|All Files|*.*';
OpenDialog1.Filter:= 'MP3 File|*.mp3';
OpenDialog1.Execute;
ChangeMP3File := OpenDialog1.FileName;
ChangeMusicFile := OpenDialog1.FileName;
if ChangeMP3File = '' then
if ChangeMusicFile = '' then
begin
sndPlaySound(GetAnySource('..\Resources\MC_OK.wav'),SND_ASYNC);
MessageBox(0,'Failed to change music.', 'Error',
MB_ICONEXCLAMATION or MB_OK);
end
else
if ChangeMP3File <> '' then
if ChangeMusicFile <> '' then
begin
BASS_ChannelStop(Form1.BassMusicPlayer);
BASS_StreamFree(Form1.BassMusicPlayer);
Form1.BassMusicFile := PChar(ChangeMP3File);
Form1.BassMusicFile := PChar(ChangeMusicFile);
Form1.BassMusicPlayer := BASS_StreamCreateFile(false, Form1.BassMusicFile, 0, 0,
BASS_SAMPLE_LOOP {$IFDEF UNICODE} or BASS_UNICODE {$ENDIF});
BASS_ChannelPlay(Form1.BassMusicPlayer, True);
CopyFile(PChar(ChangeMP3File), GetAnySource('..\Resources\Music.mp3'),
CopyFile(PChar(ChangeMusicFile), GetAnySource('..\Resources\Music.mp3'),
False);
if CheckBox1.IsChecked then
CheckBox1.IsChecked := False;
end;
end;
procedure TForm6.CheckBox1Change(Sender: TObject);
begin
if CheckBox1.IsChecked then
begin
CheckBox1.Text := '>';
BASS_ChannelPause(Form1.BassMusicPlayer);
end
else
if not CheckBox1.IsChecked then
begin
CheckBox1.Text := '||';
BASS_ChannelPlay(Form1.BassMusicPlayer, false);
end;
end;
procedure TForm6.FormCreate(Sender: TObject);
var
BASS_Volume: string;
begin
BASS_Volume := IniRead(GetAnySource('..\Resources\BASS_Setting.ini'),
'BASS', 'Volume');
TrackBar1.Value := StrToFloat(BASS_Volume);
Form1.BassVolume := StrToFloat(IniRead(GetAnySource('..\Resources\BASS_Setting.ini'),
'BASS', 'Volume'));
TrackBar1.Value := Form1.BassVolume;
Rectangle1.Fill.Bitmap.Bitmap.LoadFromFile(GetAnySource('..\Resources\Wallpaper.jpg'));
end;
procedure TForm6.Timer1Timer(Sender: TObject);
begin
Label1.Text := TimeToString(GetTimePos) + ' | ' + TimetoString(GetTimeLen);
ProgressBar1.Max := GetTimeLen;
ProgressBar1.Value := GetTimePos;
end;
procedure TForm6.TrackBar1Change(Sender: TObject);
begin
BASS_ChannelSetAttribute(Form1.BassMusicPlayer, BASS_ATTRIB_VOL, TrackBar1.Value / 100);
BASS_ChannelSetAttribute(Form1.BassMusicPlayer, BASS_ATTRIB_VOL, Round(TrackBar1.Value) / 100);
IniCreate(GetAnySource('..\Resources\BASS_Setting.ini'), 'BASS', 'Volume',
FloatToStr(Round(TrackBar1.Value)));
end;