#1
|
||||
|
||||
xbass.dll - Music plugin
XBass - Music plugin Code:
TYPE 01: type TXBassCallback = procedure(Const FPct: Integer; Const FDuration, FPosition, FCurMusicFile: WideString); type IXBass = Interface(IUnknown) '{3A515F05-FBAE-4D1E-80A0-808E6FAF3187}' function FCreate(AHandle: HWND; AFilename: WideString; ASpeed: Single; RepeatOn: Boolean; ACallback: TXBassCallback): Boolean; function FCreateList(AHandle: HWND; AFolder: WideString; ASpeed: Single; RepeatOn: Boolean; ACallback: TXBassCallback): Boolean; procedure Play; procedure Stop; procedure Pause; procedure Resume; function IsPaused: Boolean; procedure Next; procedure Prev; function ChangeDir(const AFolder: WideString): Boolean; function ChangeFile(const AFilename: WideString): Boolean; function GetPosition: WideString; function GetDuration: WideString; function GetPct: Integer; function GetCurFile: WideString; function GetVolume: Integer; procedure SetVolume(Const Vol: Integer); procedure SeekForward(Const Sec: Integer); procedure SeekBackward(Const Sec: Integer); procedure DoFree; End; function InitXBass: IXBass; external 'InitXBass@files:xbass_f.dll stdcall'; function DeInitXBass: Boolean; external 'DeInitXBass@files:xbass_f.dll stdcall'; Code:
TYPE 02: type TXBassCallback = procedure(Const FPct: Integer; Const FDuration, FPosition, FCurMusicFile: WideString); function xbassCreate(AHandle: HWND; AFilename: WideString; ASpeed: Single; RepeatOn: Boolean; ACallback: TXBassCallback): Boolean; function xbassCreateList(AHandle: HWND; AFolder: WideString; ASpeed: Single; RepeatOn: Boolean; ACallback: TXBassCallback): Boolean; procedure xbassPlay; procedure xbassStop; procedure xbassPause; procedure xbassResume; function xbaseeIsPaused: Boolean; procedure xbassNext; procedure xbassPrev; function xbassChangeDir(const AFolder: WideString): Boolean; function xbassChangeFile(const AFilename: WideString): Boolean; function xbassGetPosition: WideString; function xbassGetDuration: WideString; function xbassGetPct: Integer; function xbassGetCurFile: WideString; function xbassGetVolume: Integer; procedure xbassSetVolume(Const Vol: Integer); procedure xbassSeekForward(Const Sec: Integer); procedure xbassSeekBackward(Const Sec: Integer); procedure xbassFree; Last edited by BLACKFIRE69; 09-03-2023 at 04:00. |
The Following 11 Users Say Thank You to BLACKFIRE69 For This Useful Post: | ||
Sponsored Links |
#2
|
||||
|
||||
xbass - New Update
xbass - New Update What's New:
_ Last edited by BLACKFIRE69; 15-10-2022 at 17:23. |
#3
|
||||
|
||||
Hi friend
It is a simple doubt. I am trying with your example script. But it was played the song one time only. How repeat the song? Any solutions are available
__________________
If you will smile,You will live long Just like the haters,they are helping to improve your skills. |
#4
|
||||
|
||||
xbass.dll v2.0
Quote:
(xbass.dll v2.0 requires "inno setup enhanced edition") xbass.dll v2.0 Quote:
information:
__________________
- All life is an experiment. The more experiments you make the better. - Last edited by Ele; 20-01-2021 at 07:26. |
#5
|
||||
|
||||
xbass.dll v3.0
xbass.dll v3.0
Features: Quote:
Quote:
Details:
__________________
- All life is an experiment. The more experiments you make the better. - |
The Following 4 Users Say Thank You to Ele For This Useful Post: | ||
#6
|
||||
|
||||
XBass - Update
XBass Update Available!
Code:
TYPE 01: type TXBassCallback = procedure(Const FPct: Integer; Const FDuration, FPosition, FCurMusicFile: WideString); type IXBass = Interface(IUnknown) '{3A515F05-FBAE-4D1E-80A0-808E6FAF3187}' function FCreate(AHandle: HWND; AFilename: WideString; ASpeed: Single; RepeatOn: Boolean; ACallback: TXBassCallback): Boolean; function FCreateList(AHandle: HWND; AFolder: WideString; ASpeed: Single; RepeatOn: Boolean; ACallback: TXBassCallback): Boolean; procedure Play; procedure Stop; procedure Pause; procedure Resume; function IsPaused: Boolean; procedure Next; procedure Prev; function ChangeDir(const AFolder: WideString): Boolean; function ChangeFile(const AFilename: WideString): Boolean; function GetPosition: WideString; function GetDuration: WideString; function GetPct: Integer; function GetCurFile: WideString; function GetVolume: Integer; procedure SetVolume(Const Vol: Integer); procedure SeekForward(Const Sec: Integer); procedure SeekBackward(Const Sec: Integer); procedure DoFree; End; function InitXBass: IXBass; external 'InitXBass@files:xbass_f.dll stdcall'; function DeInitXBass: Boolean; external 'DeInitXBass@files:xbass_f.dll stdcall'; Code:
TYPE 02: type TXBassCallback = procedure(Const FPct: Integer; Const FDuration, FPosition, FCurMusicFile: WideString); function xbassCreate(AHandle: HWND; AFilename: WideString; ASpeed: Single; RepeatOn: Boolean; ACallback: TXBassCallback): Boolean; function xbassCreateList(AHandle: HWND; AFolder: WideString; ASpeed: Single; RepeatOn: Boolean; ACallback: TXBassCallback): Boolean; procedure xbassPlay; procedure xbassStop; procedure xbassPause; procedure xbassResume; function xbaseeIsPaused: Boolean; procedure xbassNext; procedure xbassPrev; function xbassChangeDir(const AFolder: WideString): Boolean; function xbassChangeFile(const AFilename: WideString): Boolean; function xbassGetPosition: WideString; function xbassGetDuration: WideString; function xbassGetPct: Integer; function xbassGetCurFile: WideString; function xbassGetVolume: Integer; procedure xbassSetVolume(Const Vol: Integer); procedure xbassSeekForward(Const Sec: Integer); procedure xbassSeekBackward(Const Sec: Integer); procedure xbassFree; |
#7
|
|||
|
|||
Can someone share me an example as how to use .ogg files in IXBass which was supported after xBass.dll v3.0?
|
#8
|
||||
|
||||
XBass_f v4.1
Quote:
it's nothing but you need to have decoders next to the 'XBass.dll'. In this case, they are 'ogg.dll' and 'vorbis*.dll'. * What's new with this release: 1. Compiled in Delphi XE to reduce the file size. - FileSize: 4.51 MB --> 497 KB (Saved: 90%) 2. Play through memory. - Since this build, you can play files through memory, instead of having them on the hard drive. - However, you need to use 'InnoSetup Enhanced Edition' or 'FXStream' to utilize this feature. Code:
function xbassCreateFromMem(AHandle: HWND; const Buffer: PAnsiChar; const Count, BassType: Cardinal; ASpeed: Single; RepeatOn: Boolean; ACallback: TXBassCallback1): Boolean; function xbassChangeMem(const Buffer: PAnsiChar; const Count: Cardinal): Boolean; -------------------------------- type IXBass = Interface(IUnknown) '{3A515F05-FBAE-4D1E-80A0-808E6FAF3187}' ... function FCreateFromMem(AHandle: HWND; const Buffer: PAnsiChar; const Count, BassType: Cardinal; ASpeed: Single; RepeatOn: Boolean; ACallback: TXBassCallback1): Boolean; function ChangeMem(const Buffer: PAnsiChar; const Count: Cardinal): Boolean; ... end; * InnoSetup Enhanced Edition: Code:
procedure InitializeWizard(); var Buffer: AnsiString; Count: Cardinal; begin // Count := ExtractTemporaryFileSize('{#MusicFileOnly}'); SetLength(Buffer, Count); ExtractTemporaryFileToBuffer('{#MusicFileOnly}', CastAnsiStringToInteger(Buffer)); // ExtractTemporaryFile('ogg.dll'); ExtractTemporaryFile('vorbis.dll'); ExtractTemporaryFile('vorbisenc.dll'); ExtractTemporaryFile('vorbisfile.dll'); CreateOrChange; PlayNextBtn.Enabled := False; PlayPrevBtn.Enabled := False; if not xbassCreateFromMem(WizardForm.Handle, Buffer, Count, C_XBASS_OGG, 1, True, @MusicCallback) then MsgBox('XBass - error(s) occured while creating.', mbError, MB_OK); end; * FXStream: Code:
procedure InitializeWizard(); var Buffer: AnsiString; Count: Cardinal; begin // Count := FXUnPckrExtractFileSize('{#MusicFileOnly}'); SetLength(Buffer, Count); FXUnPckrExtractToBuffer2A('{#MusicFileOnly}', Buffer, Count); // ExtractTemporaryFile('ogg.dll'); ExtractTemporaryFile('vorbis.dll'); ExtractTemporaryFile('vorbisenc.dll'); ExtractTemporaryFile('vorbisfile.dll'); CreateOrChange; PlayNextBtn.Enabled := False; PlayPrevBtn.Enabled := False; if not xbassCreateFromMem(WizardForm.Handle, Buffer, Count, C_XBASS_OGG, 1, True, @MusicCallback) then MsgBox('XBass - error(s) occured while creating.', mbError, MB_OK); { CleanUp } FXUnPckrFree; end; . |
The Following 7 Users Say Thank You to BLACKFIRE69 For This Useful Post: | ||
audiofeel (14-07-2024), Ele (16-08-2024), Fak Eid (18-07-2024), hitman797 (14-07-2024), Lord.Freddy (15-07-2024), ScOOt3r (14-07-2024), y_thelastknight (03-08-2024) |
#9
|
|||
|
|||
Hi Blackfire,
With the latest update, it seems that the spectrum is not responding to the music. If it is working as expected, can you please demonstrate it with some example? |
#10
|
||||
|
||||
Visualizer Spectrum
Does this come with a spectrum?
|
#11
|
||||
|
||||
Quote:
to function correctly, the 'spectrum' requires the xbass.dll to be compiled with a newer version of Delphi. in the last release, i compiled xbass with an older Delphi version to reduce file size, as newer Delphi versions typically produce larger executables. here's the same xbass.dll compiled with a newer version of Delphi. the spectrum works as expected with both vanilla InnoSetup and FMXInno. . |
Thread Tools | |
Display Modes | |
|
|
Similar Threads | ||||
Thread | Thread Starter | Forum | Replies | Last Post |
QUERY: editing CloneCD images & best for game data & music CDs | andwan0 | CD/DVD Software & Utilities | 2 | 18-05-2009 19:13 |
HELP: CloneCD+cuesheet games no music | dhruba.bandopadhyay | CD/DVD Copy Protections & Utilities | 1 | 07-10-2006 01:45 |
srs soundtrack | mCrvn | Media Files | 0 | 14-06-2005 12:44 |
problems finding game music | Waffle King | PS2 Games | 0 | 18-08-2003 08:51 |
music but no music | felt | DC Games | 0 | 16-03-2001 16:34 |