uFMOD dll usage build 2018-02-01 [Windows and 32-bit only!]

Post your FreeBASIC source, examples, tips and tricks here. Please don’t post code without including an explanation.
Post Reply
UEZ
Posts: 988
Joined: May 05, 2017 19:59
Location: Germany

uFMOD dll usage build 2018-02-01 [Windows and 32-bit only!]

Post by UEZ »

Here a small function collection to play tracker music using uFMOD dll.

uFMOD.bi -> code too long to post it here directly -> check out https://pastebin.com/Li5gbNCK

uFMOD.dll will be extracted automatically if doesn't exist.

Example1 (play from memory):

Code: Select all

#include "uFMOD.bi"

declare Function CharRepeat(iRepeatCount as UByte, sChar as String = "#") as String

'Generated by *FB File2Bas Code Generator v0.50 build 2017-03-15 beta*

Dim Shared As UByte __1999xm(0 To ...) = _
	{&h45, &h78, &h74, &h65, &h6E, &h64, &h65, &h64, &h20, &h4D, &h6F, &h64, &h75, &h6C, &h65, &h3A, &h20, &h31, &h39, &h39, &h39, &h20, &h62, &h79, &h20, &h57, &h41, &h56, &h45, &h20, &h2F, &h20, &h4D, &h2E, &h6F, &h2E, &h4E, &h1A, &h46, &h61, &h73, &h74, &h54, &h72, &h61, &h63, &h6B, &h65, &h72, &h20, &h76, &h32, &h2E, &h30, &h30, &h20, &h20, &h20, &h04, &h01, &h14, &h01, &h00, &h00, &h01, &h00, &h00, &h00, &h0A, &h00, &h01, &h00, &h01, &h00, &h01, &h00, &h18, &h00, &h85, &h00, &h00, &h00, &h00, &h00, &h00, &h00, &h00, &h00, &h00, &h00, &h00, &h00, &h00, &h00, &h00, &h00, &h00, &h00, &h00, &h00, &h00, &h00, &h00, &h00, &h00, &h00, &h00, &h00, &h00, &h00, &h00, &h00, &h00, &h00, &h00, &h00, &h00, &h00, &h00, &h00, &h00, &h00, &h00, &h00, &h00, &h00, &h00, &h00, &h00, &h00, &h00, &h00, &h00, &h00, &h00, &h00, &h00, &h00, &h00, &h00, &h00, &h00, &h00, &h00, &h00, &h00, &h00, &h00, &h00, &h00, &h00, &h00, &h00, &h00, &h00, &h00, &h00, &h00, &h00, &h00, &h00, &h00, &h00, &h00, &h00, &h00, &h00, &h00, &h00, &h00, &h00, &h00, &h00, &h00, &h00, &h00, &h00, &h00, &h00, &h00, &h00, &h00, &h00, &h00, &h00, &h00, &h00, &h00, &h00, &h00, &h00, &h00, &h00, &h00, &h00, &h00, &h00, &h00, &h00, &h00, &h00, &h00, &h00, &h00, &h00, &h00, &h00, &h00, &h00, &h00, &h00, &h00, &h00, &h00, &h00, &h00, &h00, &h00, &h00, &h00, &h00, &h00, &h00, &h00, &h00, &h00, &h00, &h00, &h00, &h00, &h00, &h00, &h00, &h00, &h00, &h00, &h00, &h00, &h00, &h00, &h00, &h00, &h00, &h00, &h00, &h00, &h00, &h00, &h00, &h00, &h00, &h00, &h00, &h00, &h00, &h00, &h00, &h00, &h00, &h00, &h00, &h00, &h00, &h00, &h00, &h00, &h00, &h00, &h00, &h00, &h00, &h00, &h00, &h00, &h00, &h00, &h00, &h00, &h00, &h00, &h00, &h00, &h00, &h00, &h00, &h00, &h00, &h00, &h00, &h00, &h00, &h00, &h00, &h00, &h00, &h00, &h00, &h00, &h00, &h00, &h00, &h00, &h00, &h00, &h00, &h00, &h00, &h00, &h00, &h00, &h00, &h00, &h00, &h00, &h00, &h00, &h00, &h00, &h00, &h00, &h00, &h00, &h00, &h00, &h00, &h00, &h00, &h00, &h00, &h00, &h00, &h00, &h00, &h00, &h00, &h00, &h09, &h00, &h00, &h00, &h00, &h40, &h00, &hE3, &h04, &h83, &h31, &h01, &h9B, &h33, &h01, &h0E, &hDC, &h80, &h80, &h83, &h25, &h01, &h8D, &h61, &h10, &h0C, &h83, &h50, &h01, &h85, &h61, &h10, &h83, &h19, &h01, &h85, &h61, &h10, &h80, &h80, &h83, &h34, &h01, &h9B, &h38, &h01, &h0E, &hDC, &h80, &h80, &h80, &h80, &h80, &h80, &h83, &h31, &h01, &h9B, &h33, &h01, &h0E, &hDC, &h80, &h80, &h80, &h80, &h80, &h80, &h80, &h80, &h80, &h80, &h83, &h34, &h01, &h9B, &h38, &h01, &h0E, &hDC, &h80, &h80, &h80, &h83, &h4C, &h01, &h80, &h80, &h83, &h2F, &h01, &h9B, &h34, &h01, &h0E, &hDC, &h80, &h80, &h80, &h83, &h28, &h01, &h83, &h4B, &h01, &h80, &h80, &h83, &h1C, &h01, &h80, &h80, &h83, &h36, &h01, &h9B, &h38, &h01, &h0E, &hDC, &h80, &h80, &h80, &h80, &h80, &h80, &h83, &h2F, &h01, &h9B, &h34, &h01, &h0E, &hDC, &h80, &h80, &h80, &h80, &h80, &h83, &h44, &h01, &h80, &h80, &h80, &h80, &h83, &h36, &h01, &h9B, &h38, &h01, &h0E, &hDC, &h80, &h80, &h80, &h80, &h80, &h80, &h83, &h2D, &h01, &h9B, _
	 &h33, &h01, &h0E, &hDC, &h80, &h80, &h83, &h27, &h01, &h80, &h83, &h47, &h01, &h80, &h83, &h1B, &h01, &h80, &h80, &h80, &h83, &h34, &h01, &h9B, &h36, &h01, &h0E, &hDC, &h80, &h80, &h80, &h9B, &h45, &h01, &h0E, &hDC, &h80, &h80, &h83, &h2D, &h01, &h9B, &h33, &h01, &h0E, &hDC, &h80, &h80, &h80, &h80, &h80, &h80, &h80, &h80, &h80, &h80, &h83, &h34, &h01, &h9B, &h36, &h01, &h0E, &hDC, &h80, &h80, &h83, &h44, &h01, &h80, &h80, &h80, &h83, &h30, &h01, &h9B, &h36, &h01, &h0E, &hDC, &h80, &h80, &h80, &h83, &h2C, &h01, &h80, &h80, &h80, &h83, &h20, &h01, &h80, &h80, &h83, &h38, &h01, &h9B, &h39, &h01, &h0E, &hDC, &h80, &h80, &h80, &h80, &h80, &h80, &h83, &h30, &h01, &h9B, &h36, &h01, &h0E, &hDC, &h80, &h80, &h83, &h20, &h01, &h80, &h80, &h83, &h3F, &h01, &h83, &h14, &h01, &h80, &h80, &h80, &h83, &h38, &h01, &h9B, &h39, &h01, &h0E, &hDC, &h80, &h80, &h83, &h40, &h01, &h9B, &h42, &h01, &h0E, &hDC, &h80, &h80, &h83, &h31, &h01, &h9B, &h33, &h01, &h0E, &hDC, &h80, &h80, &h80, &h83, &h25, &h01, &h83, &h40, &h01, &h80, &h80, &h83, &h19, &h01, &h80, &h80, &h83, &h34, &h01, &h9B, &h38, &h01, &h0E, &hDC, &h80, &h80, &h80, &h83, &h38, &h01, &h80, &h80, &h83, &h31, &h01, &h9B, &h33, &h01, &h0E, &hDC, &h80, &h80, &h80, &h80, &h83, &h3D, &h01, &h9B, &h3F, &h01, &h0E, &hDC, &h80, &h80, &h80, &h80, &h83, &h34, &h01, &h9B, &h38, &h01, &h0E, &hDC, &h80, &h80, &h83, &h40, &h01, &h9B, &h42, &h01, &h0E, &hDC, &h80, &h80, &h83, &h2F, &h01, &h9B, &h34, &h01, &h0E, &hDC, &h80, &h80, &h83, &h28, &h01, &h80, &h83, &h44, &h01, &h80, &h83, &h1C, &h01, &h80, &h80, &h80, &h83, &h36, &h01, &h9B, &h38, &h01, &h0E, &hDC, &h80, &h80, &h80, &h83, &h3B, &h01, &h80, &h80, &h83, &h2F, &h01, &h9B, &h34, &h01, &h0E, &hDC, &h80, &h80, &h80, &h80, &h83, &h44, &h01, &h80, &h80, &h80, &h80, &h80, &h83, &h36, &h01, &h9B, &h38, &h01, &h0E, &hDC, &h80, &h80, &h80, &h83, &h40, &h01, &h80, &h80, &h83, &h2D, &h01, &h9B, &h33, &h01, &h0E, &hDC, &h80, &h80, &h80, &h83, &h27, &h01, &h83, &h47, &h01, &h80, &h80, &h83, &h1B, &h01, &h80, &h80, &h83, &h34, &h01, &h9B, &h36, &h01, &h0E, &hDC, &h80, &h80, &h80, &h9B, &h49, &h01, &h0E, &hDC, &h80, &h80, &h83, &h2D, &h01, &h9B, &h33, &h01, &h0E, &hDC, &h80, &h80, &h80, &h80, &h80, &h80, &h80, &h80, &h80, &h80, &h83, &h34, &h01, &h9B, &h36, &h01, &h0E, &hDC, &h80, &h80, &h83, &h48, &h01, &h80, &h80, &h80, &h83, &h30, &h01, &h9B, &h36, &h01, &h0E, &hDC, &h80, &h80, &h83, &h2C, &h01, &h80, &h80, &h80, &h83, &h20, &h01, &h80, &h80, &h80, &h83, &h38, &h01, &h9B, &h39, &h01, &h0E, &hDC, &h80, &h80, &h80, &h80, &h80, &h80, &h83, &h30, &h01, &h9B, &h36, &h01, &h0E, &hDC, &h80, &h80, &h80, &h83, &h20, &h01, &h80, &h83, &h44, &h01, &h80, &h83, &h14, &h01, &h80, &h80, &h83, &h38, &h01, &h9B, &h39, &h01, &h0E, &hDC, &h80, &h80, &h83, &h49, &h01, &h9B, &h4B, &h01, &h0E, &hDC, &h80, &h80, &h83, &h31, &h01, &h9B, &h33, &h01, &h0E, &hDC, &h80, &h80, &h83, &h25, &h01, &h80, &h83, &h4C, &h01, &h80, &h83, &h19, &h01, &h80, &h80, &h80, &h83, &h34, &h01, &h9B, &h38, &h01, &h0E, &hDC, _
	 &h80, &h80, &h80, &h80, &h80, &h80, &h83, &h31, &h01, &h9B, &h33, &h01, &h0E, &hDC, &h80, &h80, &h80, &h80, &h80, &h80, &h80, &h80, &h80, &h80, &h83, &h34, &h01, &h9B, &h38, &h01, &h0E, &hDC, &h80, &h80, &h9B, &h49, &h01, &h0E, &hDC, &h83, &h4B, &h01, &h80, &h80, &h83, &h2F, &h01, &h9B, &h34, &h01, &h0E, &hDC, &h80, &h80, &h80, &h83, &h28, &h01, &h80, &h83, &h47, &h01, &h80, &h83, &h1C, &h01, &h80, &h80, &h83, &h36, &h01, &h9B, &h38, &h01, &h0E, &hDC, &h80, &h80, &h83, &h40, &h01, &h80, &h80, &h80, &h83, &h2F, &h01, &h9B, &h34, &h01, &h0E, &hDC, &h80, &h80, &h80, &h80, &h9B, &h49, &h01, &h0E, &hDC, &h83, &h47, &h01, &h80, &h80, &h80, &h80, &h83, &h36, &h01, &h9B, &h38, &h01, &h0E, &hDC, &h80, &h80, &h9B, &h4C, &h01, &h0E, &hDC, &h83, &h4B, &h01, &h80, &h80, &h83, &h2D, &h01, &h9B, &h33, &h01, &h0E, &hDC, &h80, &h80, &h83, &h27, &h01, &h80, &h80, &h83, &h4E, &h01, &h83, &h1B, &h01, &h80, &h80, &h80, &h83, &h34, &h01, &h9B, &h36, &h01, &h0E, &hDC, &h80, &h80, &h83, &h50, &h01, &h80, &h80, &h80, &h83, &h2D, &h01, &h9B, &h33, &h01, &h0E, &hDC, &h80, &h80, &h80, &h80, &h80, &h83, &h4E, &h01, &h80, &h80, &h80, &h80, &h83, &h34, &h01, &h9B, &h36, &h01, &h0E, &hDC, &h80, &h80, &h83, &h49, &h01, &h80, &h80, &h80, &h83, &h30, &h01, &h9B, &h36, &h01, &h0E, &hDC, &h80, &h80, &h80, &h83, &h2C, &h01, &h80, &h83, &h48, &h01, &h80, &h83, &h20, &h01, &h80, &h80, &h83, &h38, &h01, &h9B, &h39, &h01, &h0E, &hDC, &h80, &h80, &h80, &h80, &h80, &h80, &h83, &h30, &h01, &h9B, &h36, &h01, &h0E, &hDC, &h80, &h80, &h83, &h20, &h01, &h80, &h83, &h50, &h01, &h80, &h83, &h14, &h01, &h80, &h80, &h80, &h83, &h38, &h01, &h9B, &h39, &h01, &h0E, &hDC, &h80, &h80, &h80, &h83, &h4E, &h01, &h80, &h80, &h83, &h31, &h01, &h9B, &h33, &h01, &h0E, &hDC, &h80, &h80, &h80, &h83, &h25, &h01, &h83, &h4C, &h01, &h80, &h80, &h83, &h19, &h01, &h80, &h80, &h83, &h34, &h01, &h9B, &h38, &h01, &h0E, &hDC, &h80, &h80, &h80, &h83, &h4B, &h01, &h80, &h80, &h83, &h31, &h01, &h9B, &h33, &h01, &h0E, &hDC, &h80, &h80, &h80, &h80, &h83, &h49, &h01, &h9B, &h4B, &h01, &h0E, &hDC, &h80, &h80, &h80, &h80, &h83, &h34, &h01, &h9B, &h38, &h01, &h0E, &hDC, &h80, &h80, &h83, &h4C, &h01, &h9B, &h4E, &h01, &h0E, &hDC, &h80, &h80, &h83, &h2F, &h01, &h9B, &h34, &h01, &h0E, &hDC, &h80, &h80, &h83, &h28, &h01, &h80, &h83, &h50, &h01, &h9B, &h51, &h01, &h0E, &hDC, &h83, &h1C, &h01, &h80, &h80, &h80, &h83, &h36, &h01, &h9B, &h38, &h01, &h0E, &hDC, &h80, &h80, &h83, &h50, &h01, &h9B, &h4C, &h01, &h0E, &hDC, &h80, &h80, &h83, &h2F, &h01, &h9B, &h34, &h01, &h0E, &hDC, &h80, &h80, &h80, &h80, &h83, &h47, &h01, &h80, &h80, &h80, &h80, &h80, &h83, &h36, &h01, &h9B, &h38, &h01, &h0E, &hDC, &h80, &h80, &h80, &h83, &h40, &h01, &h80, &h80, &h83, &h2D, &h01, &h9B, &h33, &h01, &h0E, &hDC, &h80, &h80, &h80, &h83, &h27, &h01, &h83, &h47, &h01, &h80, &h80, &h83, &h1B, &h01, &h80, &h80, &h83, &h34, &h01, &h9B, &h36, &h01, &h0E, &hDC, &h80, &h80, &h80, &h9B, &h45, &h01, &h0E, &hDC, &h80, &h80, &h83, &h2D, &h01, &h9B, &h33, &h01, &h0E, &hDC, _
	 &h80, &h80, &h80, &h80, &h80, &h80, &h80, &h80, &h80, &h80, &h83, &h34, &h01, &h9B, &h36, &h01, &h0E, &hDC, &h80, &h80, &h83, &h42, &h01, &h80, &h80, &h80, &h83, &h30, &h01, &h9B, &h36, &h01, &h0E, &hDC, &h80, &h80, &h83, &h2C, &h01, &h80, &h80, &h83, &h44, &h01, &h83, &h20, &h01, &h80, &h80, &h80, &h83, &h38, &h01, &h9B, &h39, &h01, &h0E, &hDC, &h80, &h80, &h80, &h80, &h80, &h80, &h83, &h30, &h01, &h9B, &h36, &h01, &h0E, &hDC, &h80, &h80, &h80, &h80, &h80, &h80, &h80, &h80, &h80, &h80, &h83, &h38, &h01, &h9B, &h39, &h01, &h0E, &hDC, &h80, &h80, &h80, &h80, &h80, &h80, &h07, &h01, &h00, &h00, &h28, &h43, &h29, &h20, &h31, &h39, &h39, &h39, &h20, &h4A, &h65, &h72, &h6F, &h65, &h6E, &h20, &h47, &h2E, &h20, &h54, &h65, &h6C, &h1F, &h01, &h00, &h28, &h00, &h00, &h00, &h00, &h00, &h00, &h00, &h00, &h00, &h00, &h00, &h00, &h00, &h00, &h00, &h00, &h00, &h00, &h00, &h00, &h00, &h00, &h00, &h00, &h00, &h00, &h00, &h00, &h00, &h00, &h00, &h00, &h00, &h00, &h00, &h00, &h00, &h00, &h00, &h00, &h00, &h00, &h00, &h00, &h00, &h00, &h00, &h00, &h00, &h00, &h00, &h00, &h00, &h00, &h00, &h00, &h00, &h00, &h00, &h00, &h00, &h00, &h00, &h00, &h00, &h00, &h00, &h00, &h00, &h00, &h00, &h00, &h00, &h00, &h00, &h00, &h00, &h00, &h00, &h00, &h00, &h00, &h00, &h00, &h00, &h00, &h00, &h00, &h00, &h00, &h00, &h00, &h00, &h00, &h00, &h00, &h00, &h00, &h00, &h00, &h00, &h30, &h00, &h04, &h00, &h2B, &h00, &h09, &h00, &h1E, &h00, &h0D, &h00, &h18, &h00, &h13, &h00, &h12, &h00, &h1B, &h00, &h0E, &h00, &h25, &h00, &h0A, &h00, &h32, &h00, &h07, &h00, &h40, &h00, &h05, &h00, &h4D, &h00, &h03, &h00, &h8D, &h00, &h00, &h00, &h00, &h00, &h30, &h00, &h00, &h00, &h20, &h00, &h44, &h01, &h20, &h00, &h50, &h00, &h20, &h00, &h50, &h00, &h20, &h00, &h50, &h00, &h20, &h00, &h50, &h00, &h20, &h00, &h50, &h00, &h20, &h00, &h5A, &h00, &h20, &h00, &h64, &h00, &h20, &h00, &h6E, &h00, &h20, &h00, &h78, &h00, &h20, &h00, &h82, &h00, &h20, &h00, &h0B, &h02, &h06, &h01, &h01, &h01, &h01, &h01, &h01, &h00, &h00, &h1A, &h0B, &h15, &h80, &h00, &h00, &h00, &h00, &h00, &h00, &h00, &h00, &h00, &h00, &h00, &h00, &h00, &h00, &h00, &h00, &h00, &h00, &h00, &h00, &h00, &h00, &h00, &h64, &h00, &h00, &h00, &h00, &h00, &h00, &h00, &h64, &h00, &h00, &h00, &h40, &hDC, &h11, &h80, &h0A, &h0C, &h54, &h72, &h69, &h61, &h6E, &h67, &h6C, &h65, &h2E, &h77, &h61, &h76, &h20, &h20, &h20, &h20, &h20, &h20, &h20, &h20, &h20, &h20, &h01, &hD0, &hB0, &h03, &hAF, &h03, &hB0, &h03, &hB0, &h03, &hAF, &h03, &hB0, &h03, &hAF, &h03, &hB1, &h03, &hAF, &h03, &hB0, &h03, &hAF, &h03, &hB0, &h03, &h9A, &h05, &hB0, &h03, &hAF, &h03, &hB1, &h03, &hAF, &h03, &hB0, &h03, &hAF, &h03, &hB0, &h03, &hB0, &h03, &hAF, &h03, &hB0, &h03, &hB0, &h03, &hC3, &h03, &h51, &hFC, &h50, &hFC, &h50, &hFC, &h50, &hFC, &h51, &hFC, &h50, &hFC, &h50, &hFC, &h51, &hFC, &h50, &hFC, &h51, &hFC, &h4F, &hFC, &h66, &hFA, &h51, &hFC, &h50, &hFC, &h51, &hFC, &h50, &hFC, &h50, &hFC, &h51, &hFC, &h50, &hFC, &h50, &hFC, &h50, &hFC, &h51, &hFC, &h50, &hFC, &h50, &hFC}

Dim as any Ptr hLib = _uFMOD_Startup()
_uFMOD_SetVolume(hLib, 25)

_uFMOD_PlaySongMem(hLib, @__1999xm(0), Ubound(__1999xm) * SizeOf(Ubyte), 1)

Print "Press ESC to exit!" : ?

'? "Title: "; *_uFMOD_GetTitle(hLib)
? "Title: "; _uFMOD_GetTitle(hLib)[0] : ?
? "RMS volume coefficients:"

Dim as Uinteger iStats, iLeft, iRight, iMs, iRowOrder
Do
   iStats = _uFMOD_GetStats(hLib)
   iLeft = HiWord(iStats) : iRight = LoWord(iStats)
   Locate 6, 1, 0
   ? "Left: "; Hex(iLeft, 4), "Right: "; Hex(iRight, 4),
   
   Locate 8, 1, 0
   ? CharRepeat(60, " ")
   Locate 8, 1, 0
   ? CharRepeat(CUbyte(iLeft / &h7FFF * 400)),
   
   Locate 9, 1, 0
   ? CharRepeat(60, " ")
   Locate 9, 1, 0
   ? CharRepeat(CUbyte(iRight / &h7FFF * 400)),
   
   Locate 11, 1, 0
   iRowOrder = _uFMOD_GetRowOrder(hLib)
   ? "Row: "; LoWord(iRowOrder), "Order: "; HiWord(iRowOrder),
   
   Locate 14, 1, 0
   iMs = _uFMOD_GetTime(hLib)
   ? Using "Time elapsed: ###.## s"; iMS / 1000;
   
   Sleep 30
Loop Until InKey = Chr(27)

_uFMOD_StopSong(hLib)
_uFMOD_Shutdown(hLib)

Function CharRepeat(iRepeatCount as UByte, sChar as String = "#") as String
   If iRepeatCount < 1 Then Return ""
   Dim as String sString
   For x as UByte = 1 to iRepeatCount
      sString &= sChar 
   Next
   Return sString
End Function
Example2 (play file from disk):

Code: Select all

#include "uFMOD.bi"

declare Function CharRepeat(iRepeatCount as UByte, sChar as String = "*") As String

Dim as any Ptr hLib = _uFMOD_Startup()
_uFMOD_SetVolume(hLib, 25)
_uFMOD_PlaySongFile(hLib, Curdir & "\Jeroen Tel -  Letgo.xm")
Print "Press ESC to exit!" : ?

'? "Title: "; *_uFMOD_GetTitle(hLib)
? "Title: "; _uFMOD_GetTitle(hLib)[0] : ?
? "RMS volume coefficients:"

Dim as Uinteger iStats, iLeft, iRight, iMs, iRowOrder
Do
   iStats = _uFMOD_GetStats(hLib)
   iLeft = HiWord(iStats) : iRight = LoWord(iStats)
   Locate 6, 1, 0
   ? "Left: "; Hex(iLeft, 4), "Right: "; Hex(iRight, 4),
   
   Locate 8, 1, 0
   ? CharRepeat(70, " ")
   Locate 8, 1, 0
   ? CharRepeat(CUbyte(iLeft / &h7FFF * 150)),
   
   Locate 9, 1, 0
   ? CharRepeat(70, " ")
   Locate 9, 1, 0
   ? CharRepeat(CUbyte(iRight / &h7FFF * 150)),
   
   Locate 11, 1, 0
   iRowOrder = _uFMOD_GetRowOrder(hLib)
   ? "Row: "; LoWord(iRowOrder), "Order: "; HiWord(iRowOrder),
   
   Locate 14, 1, 0
   iMs = _uFMOD_GetTime(hLib)
   ? Using "Time elapsed: ###.## s"; iMS / 1000;
   
   Sleep 30
Loop Until InKey = Chr(27)

_uFMOD_StopSong(hLib)
_uFMOD_Shutdown(hLib)

Function CharRepeat(iRepeatCount as UByte, sChar as String = "*") As String
   If iRepeatCount < 1 Then Return ""
   Dim as String sString
   For x as UByte = 1 to iRepeatCount
      sString &= sChar 
   Next
   Return sString
End Function
Just replace the filename with your favorite one. ;-)

Thanks dodicat for his support.

More info about uFMOD.dll incl. Linux version can be found here: https://sourceforge.net/projects/ufmod/
Post Reply