NightW0lf
Full Member | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору Код: [Files] Source: "C:\SETUP_FOR\_WC3_TH\TMP_FILES\MUSIC_TRACKER\BASSMOD.dll"; DestDir: "{tmp}"; Flags: dontcopy noencryption Source: "C:\SETUP_FOR\_WC3_TH\TMP_FILES\MUSIC_TRACKER\music.xm"; DestDir: "{tmp}"; Flags: dontcopy noencryption [Code] const BASS_MUSIC_RAMP = 1; // (только для Fast Tracker .xm) BASS_MUSIC_RAMPS = 2; // (только для Fast Tracker .xm) BASS_MUSIC_LOOP = 4; // повторение BASS_MUSIC_FT2MOD = 16; // играть .MOD как FastTracker 2 BASS_MUSIC_PT1MOD = 32; // играть .MOD как ProTracker 1 BASS_MUSIC_SURROUND = 512; // звучание surround BASS_MUSIC_SURROUND2 = 1024; // звучание surround (режим 2) function BASSMOD_Init(device: Integer; freq, flags: DWORD): Boolean; external 'BASSMOD_Init@files:BASSMOD.dll stdcall delayload'; function BASSMOD_MusicLoad(mem: BOOL; f: PChar; offset: DWORD; length: DWORD; flags: DWORD): Boolean; external 'BASSMOD_MusicLoad@files:BASSMOD.dll stdcall delayload'; procedure BASSMOD_MusicFree(); external 'BASSMOD_MusicFree@files:BASSMOD.dll stdcall delayload'; function BASSMOD_MusicPlay(): Boolean; external 'BASSMOD_MusicPlay@files:BASSMOD.dll stdcall delayload'; function BASSMOD_MusicPause(): Boolean; external 'BASSMOD_MusicPause@files:BASSMOD.dll stdcall delayload'; function BASSMOD_MusicStop(): Boolean; external 'BASSMOD_MusicStop@files:BASSMOD.dll stdcall delayload'; procedure BASSMOD_Free(); external 'BASSMOD_Free@files:BASSMOD.dll stdcall delayload'; function InitializeSetup(): Boolean; var ResultCode: Integer; ResultStr:string; begin Result:=True; end; procedure PlayButtonOnClick(Sender: TObject); var Name1: string; begin if not BASSMOD_MusicPlay then begin Name1:=ExpandConstant('{tmp}\music.xm'); if BASSMOD_MusicLoad(FALSE, PChar(Name1), 0, 0, BASS_MUSIC_LOOP or BASS_MUSIC_SURROUND) then BASSMOD_MusicPlay; end; end; procedure PauseButtonOnClick(Sender: TObject); begin BASSMOD_MusicPause; end; procedure StopButtonOnClick(Sender: TObject); begin BASSMOD_MusicStop; BASSMOD_MusicFree; end; //при запуске инсталлятора выполняем вот этот код: procedure InitializeWizard(); var Name1: string; PlayButton, PauseButton, StopButton: TButton; Text: TNewStaticText; Panel1: TPanel; begin ExtractTemporaryFile(ExpandConstant('BASSMOD.dll')); ExtractTemporaryFile(ExpandConstant('music.xm')); if not BASSMOD_Init(-1,44100,0) then begin MsgBox('BASSMOD Can''t initialize the device. Playing is not possible.', mbError, MB_OK) BASSMOD_Free; end else begin Name1:=ExpandConstant('{tmp}\music.xm'); if BASSMOD_MusicLoad(FALSE, PChar(Name1), 0, 0, BASS_MUSIC_LOOP or BASS_MUSIC_SURROUND) then BASSMOD_MusicPlay; end; WizardForm.Position:=poScreenCenter; WizardForm.CancelButton.BringToFront; begin Panel1 := TPanel.Create(WizardForm); with Panel1 do begin Panel1.Parent := WizardForm; Panel1.Left := ScaleX(1); Panel1.Top := ScaleY(315); Panel1.Width := ScaleX(165); Panel1.Height := ScaleY(46); Panel1.TabOrder := 0; Panel1.Color := clWhite; Panel1.BevelInner := bvLowered; Panel1.BevelOuter:= bvRaised; Panel1.BorderStyle := bsSingle; PlayButton := TButton.Create(WizardForm); PlayButton.Left := 5; PlayButton.Top := 335; PlayButton.Width := 50; PlayButton.Height := 20; PlayButton.Caption := 'play'; PlayButton.OnClick := @PlayButtonOnClick; PlayButton.Parent := WizardForm; PlayButton.Cursor := crHand; PauseButton := TButton.Create(WizardForm); PauseButton.Left := 58; PauseButton.Top := 335; PauseButton.Width := 50; PauseButton.Height := 20; PauseButton.Caption := 'pause'; PauseButton.OnClick := @PauseButtonOnClick; PauseButton.Parent := WizardForm; PauseButton.Cursor := crHand; StopButton := TButton.Create(WizardForm); StopButton.Left := 111; StopButton.Top := 335; StopButton.Width := 50; StopButton.Height := 20; StopButton.Caption := 'stop'; StopButton.OnClick := @StopButtonOnClick; StopButton.Parent := WizardForm; StopButton.Cursor := crHand; Text := TNewStaticText.Create(WizardForm); Text.Caption := 'music'; Text.Parent := WizardForm; Text.Font.Style := Text.Font.Style + [fsUnderline]; Text.Font.Color := clNavy; Text.Top := 319; Text.Left :=71; Text.Color := clWhite; end; end; end; | | Всего записей: 479 | Зарегистр. 08-11-2006 | Отправлено: 21:56 14-01-2007 | Исправлено: NightW0lf, 22:06 14-01-2007 |
|