Open_Screen() -- create the default output screen, set up defaults for mouse cursors, font and font colours, etc.
Timer_Update() -- used in a loop, updates the milliseconds to the current time
Update_Objects() -- used in a loop, updates all animations to the current time, plays sounds
Render_Objects() -- used in a loop, draws objects onto the screen
Load_Image() -- load an image, frees it once the object is removed
Load_Sound() -- load a sound file, free it once the object is removed
Text_Create() -- create a new text object
Obj_Show() -- display object
Obj_Hide() -- don't display object
Obj_Opacity -- from fully transparent to fully opaque, respecting the image's partially translucent pixels
Obj_Move_X() -- supports alignments [Left, Middle, Right]
Obj_Move_Y() -- supports alignments [Top, Middle, Bottom]
Obj_Move_XY() -- supports alignments
Obj_Scale_Width() -- ignores aspect ratio
Obj_Scale_Height() -- ignores aspect ratio
Obj_Scale_By_Width() -- maintains initial aspect ratio
Obj_Scale_By_Height() -- maintains initial aspect ratio
Obj_Scale_By_Box() -- incomplete
Obj_Text_Colour() -- change text colour
Obj_Remove() -- remove object and free any handles
Obj_Play_Sound() -- start playing sounds at specific times in the animation
TYPE Object_Data
Exists AS _BYTE
Visible AS _BYTE
Opacity AS DOUBLE
Object_Type AS _BYTE
Handle AS LONG
Filename AS STRING * 512
Text AS _BYTE
Text_Colour AS LONG
X AS _FLOAT
Y AS _FLOAT
Orient_X AS _BYTE
Orient_Y AS _BYTE
Width_Orig AS INTEGER
Height_Orig AS INTEGER
Width AS DOUBLE
Height AS DOUBLE
END TYPE
TYPE Action_Data
Exists AS _BYTE
Started AS _BYTE
Action_Type AS _BYTE
Object_ID AS LONG
Time_Start AS _INTEGER64
Start_Orient_X AS _BYTE
Start_Orient_Y AS _BYTE
Start_X AS _FLOAT
Start_Y AS _FLOAT
Start_Width AS DOUBLE
Start_Height AS DOUBLE
Start_Text_Colour AS LONG
Start_Opacity AS DOUBLE
Time_End AS _INTEGER64
End_Orient_X AS _BYTE
End_Orient_Y AS _BYTE
End_X AS _FLOAT
End_Y AS _FLOAT
End_Width AS DOUBLE
End_Height AS DOUBLE
End_Text_Colour AS LONG
End_Opacity AS DOUBLE
END TYPE
' Action types
CONST A_Remove = 1
CONST A_Show = 2
CONST A_Hide = 3
CONST A_Opacity = 4
CONST A_Move_X = 5
CONST A_Move_Y = 6
CONST A_Scale_Width = 7
CONST A_Scale_Height = 8
CONST A_Scale_By_Width = 9
CONST A_Scale_By_Height = 10
CONST A_Scale_By_Box = 11
CONST A_Text_Colour = 12
CONST A_Play_Sound = 13
(Do these forums have any way to embed YouTube videos?)
I would be interested in the way you insert synchronized audio to an image.
Do you have an editor, or do you have to program each video using this library?
You may be interested in using GetTicks:Code: QB64: [Select]
Example 4: NTport is a commercial library hosted at http://www.zealsoftstudio.com/ntport/, but it does provide an evaluation
version (it has a 3 second wait pop-up window) which we will use here. You don't need to download NTport, just download the
following 3 files and put them in your QB64 folder:
NTport.lib http://www.[abandoned, outdated and now likely malicious qb64 dot net website - don’t go there]/ntport/ntport.lib            NTport.h http://www.[abandoned, outdated and now likely malicious qb64 dot net website - don’t go there]/ntport/ntport.h
              Ntport.dll http://www.[abandoned, outdated and now likely malicious qb64 dot net website - don’t go there]/ntport/ntport.dll
IMPORTANT: The DLL is loaded automatically by the static library, we are not linking directly to the DLL, we are static
linking (NOT directly or dynamically linking). This is an important concept to understand!
Any idea why my v1.3 is messing up the page for DECLARE LIBRARY? Updating the page didn't help.
Where is it coming from?
, and will it disappear in future¯\_(ツ)_/¯