Minor refactoring...

This commit is contained in:
Ognjen Milan Robovic 2024-04-05 09:36:42 -04:00
parent 84ea061e0f
commit 967550e0b8

View File

@ -657,9 +657,9 @@ package Raylib is
No_Font : Font;
type Camera_3D is record
Position : Vector_3D := (0.0, 0.0, 0.0);
Target : Vector_3D := (0.0, 0.0, 0.0);
Up : Vector_3D := (0.0, 0.0, 0.0);
Position : Vector_3D := (others => 0.0);
Target : Vector_3D := (others => 0.0);
Up : Vector_3D := (others => 0.0);
Field_Of_View : Float := 0.0;
Projection : Camera_Projection := Camera_Perspective;
end record with Convention => C_Pass_By_Copy;
@ -667,8 +667,8 @@ package Raylib is
No_Camera_3D : Camera_3D;
type Camera_2D is record
Offset : Vector_2D := (0.0, 0.0);
Target : Vector_2D := (0.0, 0.0);
Offset : Vector_2D := (others => 0.0);
Target : Vector_2D := (others => 0.0);
Rotation : Float := 0.0;
Zoom : Float := 0.0;
end record with Convention => C_Pass_By_Copy;
@ -723,9 +723,9 @@ package Raylib is
No_Material : Material;
type Transform is record
Translation : Vector_3D := (0.0, 0.0, 0.0);
Rotation : Vector_4D := (0.0, 0.0, 0.0, 0.0);
Scale : Vector_3D := (0.0, 0.0, 0.0);
Translation : Vector_3D := (others => 0.0);
Rotation : Vector_4D := (others => 0.0);
Scale : Vector_3D := (others => 0.0);
end record with Convention => C_Pass_By_Copy;
type Character_Array_32 is array (0 .. 31) of Character;
@ -767,8 +767,8 @@ package Raylib is
No_Model_Animation : Model_Animation;
type Ray is record
Position : Vector_3D := (0.0, 0.0, 0.0);
Direction : Vector_3D := (0.0, 0.0, 0.0);
Position : Vector_3D := (others => 0.0);
Direction : Vector_3D := (others => 0.0);
end record with Convention => C_Pass_By_Copy;
No_Ray : Ray;
@ -776,15 +776,15 @@ package Raylib is
type Ray_Collision is record
Hit : Logical := False;
Distance : Float := 0.0;
Point : Vector_3D := (0.0, 0.0, 0.0);
Normal : Vector_3D := (0.0, 0.0, 0.0);
Point : Vector_3D := (others => 0.0);
Normal : Vector_3D := (others => 0.0);
end record with Convention => C_Pass_By_Copy;
No_Ray_Collision : Ray_Collision;
type Bounding_Box is record
Min : Vector_3D := (0.0, 0.0, 0.0);
Max : Vector_3D := (0.0, 0.0, 0.0);
Min : Vector_3D := (others => 0.0);
Max : Vector_3D := (others => 0.0);
end record with Convention => C_Pass_By_Copy;
No_Bounding_Box : Bounding_Box;
@ -835,8 +835,8 @@ package Raylib is
Eye_To_Screen_Distance : Float := 0.0;
Lens_Separate_Distance : Float := 0.0;
Interpupillary_Distance : Float := 0.0;
Lens_Distortion_Values : Float_Array_4 := (0.0, 0.0, 0.0, 0.0);
Chroma_Abberation_Correction : Float_Array_4 := (0.0, 0.0, 0.0, 0.0);
Lens_Distortion_Values : Float_Array_4 := (others => 0.0);
Chroma_Abberation_Correction : Float_Array_4 := (others => 0.0);
end record with Convention => C_Pass_By_Copy;
No_VR_Device_Info : VR_Device_Info;
@ -847,12 +847,12 @@ package Raylib is
type VR_Stereo_Config is record
Projection : Matrix_4D_Array_2 := (Id_Matrix, Id_Matrix);
View_Offset : Matrix_4D_Array_2 := (Id_Matrix, Id_Matrix);
Left_Lens_Center : Float_Array_2 := (0.0, 0.0);
Right_Lens_Center : Float_Array_2 := (0.0, 0.0);
Left_Screen_Center : Float_Array_2 := (0.0, 0.0);
Right_Screen_Center : Float_Array_2 := (0.0, 0.0);
Scale : Float_Array_2 := (0.0, 0.0);
Scale_In : Float_Array_2 := (0.0, 0.0);
Left_Lens_Center : Float_Array_2 := (others => 0.0);
Right_Lens_Center : Float_Array_2 := (others => 0.0);
Left_Screen_Center : Float_Array_2 := (others => 0.0);
Right_Screen_Center : Float_Array_2 := (others => 0.0);
Scale : Float_Array_2 := (others => 0.0);
Scale_In : Float_Array_2 := (others => 0.0);
end record with Convention => C_Pass_By_Copy;
No_VR_Stereo_Config : VR_Stereo_Config;
@ -1441,7 +1441,7 @@ package Raylib is
External_Name => "UnloadShader";
function Get_Mouse_Ray (
Mouse_Position : Vector_2D := (0.0, 0.0);
Mouse_Position : Vector_2D := (others => 0.0);
Camera : Camera_3D := No_Camera_3D
) return Ray with
Import => True,
@ -1463,7 +1463,7 @@ package Raylib is
External_Name => "GetCameraMatrix2D";
function Get_World_To_Screen_3D (
Position : Vector_3D := (0.0, 0.0, 0.0);
Position : Vector_3D := (others => 0.0);
Camera : Camera_3D := No_Camera_3D
) return Vector_2D with
Import => True,
@ -1471,7 +1471,7 @@ package Raylib is
External_Name => "GetWorldToScreen";
function Get_Screen_To_World_2D (
Position : Vector_2D := (0.0, 0.0);
Position : Vector_2D := (others => 0.0);
Camera : Camera_2D := No_Camera_2D
) return Vector_2D with
Import => True,
@ -1479,7 +1479,7 @@ package Raylib is
External_Name => "GetScreenToWorld2D";
function Get_World_To_Screen_Ex (
Position : Vector_3D := (0.0, 0.0, 0.0);
Position : Vector_3D := (others => 0.0);
Camera : Camera_3D := No_Camera_3D;
Width : Integer := 0;
Height : Integer := 0
@ -1489,7 +1489,7 @@ package Raylib is
External_Name => "GetWorldToScreenEx";
function Get_World_To_Screen_2D (
Position : Vector_2D := (0.0, 0.0);
Position : Vector_2D := (others => 0.0);
Camera : Camera_2D := No_Camera_2D
) return Vector_2D with
Import => True,
@ -1587,11 +1587,6 @@ package Raylib is
Convention => C,
External_Name => "OpenURL";
--~procedure TraceLog (int logLevel, const char *text, ...) with
--~Import => True,
--~Convention => C,
--~External_Name => "TraceLog";
procedure Set_Trace_Log_Level (
Level : Trace_Log_Level := Log_All
) with
@ -2087,8 +2082,8 @@ package Raylib is
procedure Update_Camera_Pro (
Data : access Camera_3D := null;
Movement : Vector_3D := (0.0, 0.0, 0.0);
Rotation : Vector_3D := (0.0, 0.0, 0.0);
Movement : Vector_3D := (others => 0.0);
Rotation : Vector_3D := (others => 0.0);
Zoom : Float := 0.0
) with
Import => True,
@ -2113,7 +2108,7 @@ package Raylib is
External_Name => "DrawPixel";
procedure Draw_Pixel_V (
Position : Vector_2D := (0.0, 0.0);
Position : Vector_2D := (others => 0.0);
Tint : Color := White
) with
Import => True,
@ -2132,8 +2127,8 @@ package Raylib is
External_Name => "DrawLine";
procedure Draw_Line_V (
From : Vector_2D := (0.0, 0.0);
To : Vector_2D := (0.0, 0.0);
From : Vector_2D := (others => 0.0);
To : Vector_2D := (others => 0.0);
Tint : Color := Black
) with
Import => True,
@ -2141,8 +2136,8 @@ package Raylib is
External_Name => "DrawLineV";
procedure Draw_Line_Ex (
From : Vector_2D := (0.0, 0.0);
To : Vector_2D := (0.0, 0.0);
From : Vector_2D := (others => 0.0);
To : Vector_2D := (others => 0.0);
Thick : Float := 0.0;
Tint : Color := Black
) with
@ -2160,8 +2155,8 @@ package Raylib is
External_Name => "DrawLineStrip";
procedure Draw_Line_Bezier (
From : Vector_2D := (0.0, 0.0);
To : Vector_2D := (0.0, 0.0);
From : Vector_2D := (others => 0.0);
To : Vector_2D := (others => 0.0);
Thick : Float := 0.0;
Tint : Color := Black
) with
@ -2180,7 +2175,7 @@ package Raylib is
External_Name => "DrawCircle";
procedure Draw_Circle_Sector (
Center : Vector_2D := (0.0, 0.0);
Center : Vector_2D := (others => 0.0);
Radius : Float := 0.0;
From : Float := 0.0;
To : Float := 0.0;
@ -2192,7 +2187,7 @@ package Raylib is
External_Name => "DrawCircleSector";
procedure Draw_Circle_Sector_Lines (
Center : Vector_2D := (0.0, 0.0);
Center : Vector_2D := (others => 0.0);
Radius : Float := 0.0;
From : Float := 0.0;
To : Float := 0.0;
@ -2215,7 +2210,7 @@ package Raylib is
External_Name => "DrawCircleGradient";
procedure Draw_Circle_V (
Center : Vector_2D := (0.0, 0.0);
Center : Vector_2D := (others => 0.0);
Radius : Float := 0.0;
Tint : Color := Black
) with
@ -2234,7 +2229,7 @@ package Raylib is
External_Name => "DrawCircleLines";
procedure Draw_Circle_Lines_V (
Center : Vector_2D := (0.0, 0.0);
Center : Vector_2D := (others => 0.0);
Radius : Float := 0.0;
Tint : Color := Black
) with
@ -2265,7 +2260,7 @@ package Raylib is
External_Name => "DrawEllipseLines";
procedure Draw_Ring (
Center : Vector_2D := (0.0, 0.0);
Center : Vector_2D := (others => 0.0);
Inner_Radius : Float := 0.0;
Outer_Radius : Float := 0.0;
From : Float := 0.0;
@ -2278,7 +2273,7 @@ package Raylib is
External_Name => "DrawRing";
procedure Draw_Ring_Lines (
Center : Vector_2D := (0.0, 0.0);
Center : Vector_2D := (others => 0.0);
Inner_Radius : Float := 0.0;
Outer_Radius : Float := 0.0;
From : Float := 0.0;
@ -2302,8 +2297,8 @@ package Raylib is
External_Name => "DrawRectangle";
procedure Draw_Rectangle_V (
Position : Vector_2D := (0.0, 0.0);
Size : Vector_2D := (0.0, 0.0);
Position : Vector_2D := (others => 0.0);
Size : Vector_2D := (others => 0.0);
Tint : Color := Black
) with
Import => True,
@ -2320,7 +2315,7 @@ package Raylib is
procedure Draw_Rectangle_Pro (
Data : Rectangle := No_Rectangle;
Origin : Vector_2D := (0.0, 0.0);
Origin : Vector_2D := (others => 0.0);
Rotation : Float := 0.0;
Tint : Color := Black
) with
@ -3024,7 +3019,7 @@ package Raylib is
procedure Draw_Texture_V (
Data : Texture := No_Texture;
Position : Vector_2D := (0.0, 0.0);
Position : Vector_2D := (others => 0.0);
Tint : Color := White
) with
Import => True,
@ -3033,7 +3028,7 @@ package Raylib is
procedure Draw_Texture_Ex (
Data : Texture := No_Texture;
Position : Vector_2D := (0.0, 0.0);
Position : Vector_2D := (others => 0.0);
Rotation : Float := 0.0;
Scale : Float := 0.0;
Tint : Color := White
@ -3045,7 +3040,7 @@ package Raylib is
procedure Draw_Texture_Rec (
Data : Texture := No_Texture;
Source : Rectangle := No_Rectangle;
Position : Vector_2D := (0.0, 0.0);
Position : Vector_2D := (others => 0.0);
Tint : Color := White
) with
Import => True,
@ -3056,7 +3051,7 @@ package Raylib is
Data : Texture := No_Texture;
Source : Rectangle := No_Rectangle;
Destination : Rectangle := No_Rectangle;
Origin : Vector_2D := (0.0, 0.0);
Origin : Vector_2D := (others => 0.0);
Rotation : Float := 0.0;
Tint : Color := White
) with
@ -3263,7 +3258,7 @@ package Raylib is
procedure Draw_Text_Ex (
Data : Font := Get_Font_Default;
Text : String := "";
Position : Vector_2D := (0.0, 0.0);
Position : Vector_2D := (others => 0.0);
Font_Size : Float := 0.0;
Spacing : Float := 0.0;
Tint : Color := White
@ -3275,8 +3270,8 @@ package Raylib is
procedure Draw_Text_Pro (
Data : Font := Get_Font_Default;
Text : String := "";
Position : Vector_2D := (0.0, 0.0);
Origin : Vector_2D := (0.0, 0.0);
Position : Vector_2D := (others => 0.0);
Origin : Vector_2D := (others => 0.0);
Rotation : Float := 0.0;
Font_Size : Float := 0.0;
Spacing : Float := 0.0;
@ -3496,7 +3491,7 @@ package Raylib is
--~External_Name => "";
procedure Draw_Cube (
Position : Vector_3D := (0.0, 0.0, 0.0);
Position : Vector_3D := (others => 0.0);
Width : Float := 0.0;
Height : Float := 0.0;
Length : Float := 0.0;
@ -3512,7 +3507,7 @@ package Raylib is
--~External_Name => "";
procedure Draw_Cube_Wires (
Position : Vector_3D := (0.0, 0.0, 0.0);
Position : Vector_3D := (others => 0.0);
Width : Float := 0.0;
Height : Float := 0.0;
Length : Float := 0.0;
@ -3573,8 +3568,8 @@ package Raylib is
--~External_Name => "";
procedure Draw_Plane (
Center : Vector_3D := (0.0, 0.0, 0.0);
Size : Vector_2D := (0.0, 0.0);
Center : Vector_3D := (others => 0.0);
Size : Vector_2D := (others => 0.0);
Tint : Color := White
) with
Import => True,
@ -3615,14 +3610,16 @@ package Raylib is
Convention => C,
External_Name => "UnloadModel";
--~function BoundingBox GetModelBoundingBox (Model model) with
--~Import => True,
--~Convention => C,
--~External_Name => "";
function GetModelBoundingBox (
Data : Model := No_Model
) return Bounding_Box with
Import => True,
Convention => C,
External_Name => "GetModelBoundingBox";
procedure Draw_Model (
Data : Model := No_Model;
Position : Vector_3D := (0.0, 0.0, 0.0);
Position : Vector_3D := (others => 0.0);
Scale : Float := 1.0;
Tint : Color := White
) with
@ -3632,8 +3629,8 @@ package Raylib is
procedure Draw_Model_Ex (
Data : Model := No_Model;
Position : Vector_3D := (0.0, 0.0, 0.0);
Axis : Vector_3D := (0.0, 0.0, 0.0);
Position : Vector_3D := (others => 0.0);
Axis : Vector_3D := (others => 0.0);
Angle : Float := 0.0;
Scale : Vector_3D := (1.0, 1.0, 1.0);
Tint : Color := White
@ -3642,15 +3639,20 @@ package Raylib is
Convention => C,
External_Name => "DrawModelEx";
--~procedure DrawModelWires (Model model, Vector3 position, float scale, Color tint) with
--~Import => True,
--~Convention => C,
--~External_Name => "";
procedure Draw_Model_Wires (
Data : Model := No_Model;
Position : Vector_3D := (others => 0.0);
Scale : Float := 0.0;
Tint : Color := White
) with
Import => True,
Convention => C,
External_Name => "DrawModelWires";
procedure Draw_Model_Wires_Ex (
Data : Model := No_Model;
Position : Vector_3D := (0.0, 0.0, 0.0);
Axis : Vector_3D := (0.0, 0.0, 0.0);
Position : Vector_3D := (others => 0.0);
Axis : Vector_3D := (others => 0.0);
Angle : Float := 0.0;
Scale : Vector_3D := (1.0, 1.0, 1.0);
Tint : Color := White
@ -3659,37 +3661,47 @@ package Raylib is
Convention => C,
External_Name => "DrawModelWiresEx";
--~procedure DrawBoundingBox (BoundingBox box, Color color) with
--~Import => True,
--~Convention => C,
--~External_Name => "";
procedure Draw_Bounding_Box (
Box : BoundingBox := No_Bounding_Box;
Tint : Color := White
) with
Import => True,
Convention => C,
External_Name => "DrawBoundingBox";
procedure Draw_Billboard (
Camera : Camera_3D := No_Camera_3D;
Billboard : Texture := No_Texture;
Position : Vector_3D := (0.0, 0.0, 0.0);
Size : Float := 0.0;
Tint : Color := White
Camera : Camera_3D := No_Camera_3D;
Billboard : Texture := No_Texture;
Position : Vector_3D := (others => 0.0);
Size : Float := 0.0;
Tint : Color := White
) with
Import => True,
Convention => C,
External_Name => "DrawBillboard";
--~procedure DrawBillboardRec (Camera camera, Texture2D texture, Rectangle source, Vector3 position, Vector2 size, Color tint) with
--~Import => True,
--~Convention => C,
--~External_Name => "";
procedure Draw_Billboard_Rec (
Camera : Camera_3D := No_Camera_3D;
Billboard : Texture := No_Texture;
Source : Rectangle := No_Rectangle;
Position : Vector_3D := (others => 0.0);
Size : Vector_2D := (others => 0.0);
Tint : Color := White
) with
Import => True,
Convention => C,
External_Name => "DrawBillboardRec";
procedure Draw_Billboard_Pro (
Camera : Camera_3D := No_Camera_3D;
Billboard : Texture := No_Texture;
Source : Rectangle := No_Rectangle;
Position : Vector_3D := (0.0, 0.0, 0.0);
Up : Vector_3D := (0.0, 0.0, 0.0);
Size : Vector_2D := (0.0, 0.0);
Origin : Vector_2D := (0.0, 0.0);
Rotation : Float := 0.0;
Tint : Color := White
Camera : Camera_3D := No_Camera_3D;
Billboard : Texture := No_Texture;
Source : Rectangle := No_Rectangle;
Position : Vector_3D := (others => 0.0);
Up : Vector_3D := (others => 0.0);
Size : Vector_2D := (others => 0.0);
Origin : Vector_2D := (others => 0.0);
Rotation : Float := 0.0;
Tint : Color := White
) with
Import => True,
Convention => C,
@ -3703,15 +3715,23 @@ package Raylib is
Convention => C,
External_Name => "UploadMesh";
--~procedure UpdateMeshBuffer (Mesh mesh, int index, const void *data, int dataSize, int offset) with
--~Import => True,
--~Convention => C,
--~External_Name => "";
procedure Update_Mesh_Buffer (
Data : Mesh := No_Mesh;
Index : Integer := 0;
This : Pointer := null;
Data_Size : Natural := 0;
Offset : Integer := 0
) with
Import => True,
Convention => C,
External_Name => "UpdateMeshBuffer";
--~procedure UnloadMesh (Mesh mesh) with
--~Import => True,
--~Convention => C,
--~External_Name => "";
procedure Unload_Mesh (
Data : Mesh := No_Mesh
) with
Import => True,
Convention => C,
External_Name => "UnloadMesh";
procedure Draw_Mesh (
Data : Mesh := No_Mesh;
@ -3722,35 +3742,53 @@ package Raylib is
Convention => C,
External_Name => "DrawMesh";
--~procedure DrawMeshInstanced (Mesh mesh, Material material, const Matrix *transforms, int instances) with
--~Import => True,
--~Convention => C,
--~External_Name => "";
procedure Draw_Mesh_Instanced (
Data : Mesh := No_Mesh;
Use_Material : Material := No_Material;
Transforms : access Matrix_4D := null;
Instances : Integer := 0
) with
Import => True,
Convention => C,
External_Name => "DrawMeshInstanced";
--~function BoundingBox GetMeshBoundingBox (Mesh mesh) with
--~Import => True,
--~Convention => C,
--~External_Name => "";
function Get_Mesh_Bounding_Box (
Data : Mesh := No_Mesh
) return Bounding_Box with
Import => True,
Convention => C,
External_Name => "GetMeshBoundingBox";
--~procedure GenMeshTangents (Mesh *mesh) with
--~Import => True,
--~Convention => C,
--~External_Name => "";
procedure Gen_Mesh_Tangents (
Data : access Mesh := null
) with
Import => True,
Convention => C,
External_Name => "GenMeshTangents";
--~function bool ExportMesh (Mesh mesh, const char *fileName) with
--~Import => True,
--~Convention => C,
--~External_Name => "";
function Export_Mesh (
Data : Mesh := No_Mesh;
File_Name : String := ""
) return Logical with
Import => True,
Convention => C,
External_Name => "ExportMesh";
--~function bool ExportMeshAsCode (Mesh mesh, const char *fileName) with
--~Import => True,
--~Convention => C,
--~External_Name => "";
function Export_Mesh_As_Code (
Data : Mesh := No_Mesh;
File_Name : String := ""
) return Logical with
Import => True,
Convention => C,
External_Name => "ExportMeshAsCode";
--~function Mesh GenMeshPoly (int sides, float radius) with
--~Import => True,
--~Convention => C,
--~External_Name => "";
function Gen_Mesh_Poly (
Sides : Integer := 0;
Radius : Float := 0.0
) return Mesh with
Import => True,
Convention => C,
External_Name => "GenMeshPoly";
function Gen_Mesh_Plane (
Width : Float := 1.0;
@ -3829,7 +3867,7 @@ package Raylib is
function Gen_Mesh_Height_Map (
Height_Map : Image := No_Image;
Size : Vector_3D := (0.0, 0.0, 0.0)
Size : Vector_3D := (others => 0.0)
) return Mesh with
Import => True,
Convention => C,
@ -3837,7 +3875,7 @@ package Raylib is
function Gen_Mesh_Cubic_Map (
Cubic_Map : Image := No_Image;
Size : Vector_3D := (0.0, 0.0, 0.0)
Size : Vector_3D := (others => 0.0)
) return Mesh with
Import => True,
Convention => C,
@ -3929,9 +3967,9 @@ package Raylib is
External_Name => "IsModelAnimationValid";
function Check_Collision_Spheres (
Center_1 : Vector_3D := (0.0, 0.0, 0.0);
Center_1 : Vector_3D := (others => 0.0);
Radius_1 : Float := 0.0;
Center_2 : Vector_3D := (0.0, 0.0, 0.0);
Center_2 : Vector_3D := (others => 0.0);
Radius_2 : Float := 0.0
) return Logical with
Import => True,
@ -3948,7 +3986,7 @@ package Raylib is
function Check_Collision_Box_Sphere (
Box : Bounding_Box := No_Bounding_Box;
Center : Vector_3D := (0.0, 0.0, 0.0);
Center : Vector_3D := (others => 0.0);
Radius : Float := 0.0
) return Logical with
Import => True,
@ -3957,7 +3995,7 @@ package Raylib is
function Get_Ray_Collision_Sphere (
Hit : Ray := No_Ray;
Center : Vector_3D := (0.0, 0.0, 0.0);
Center : Vector_3D := (others => 0.0);
Radius : Float := 0.0
) return Ray_Collision with
Import => True,
@ -3983,9 +4021,9 @@ package Raylib is
function Get_Ray_Collision_Triangle (
Hit : Ray := No_Ray;
Point_1 : Vector_3D := (0.0, 0.0, 0.0);
Point_2 : Vector_3D := (0.0, 0.0, 0.0);
Point_3 : Vector_3D := (0.0, 0.0, 0.0)
Point_1 : Vector_3D := (others => 0.0);
Point_2 : Vector_3D := (others => 0.0);
Point_3 : Vector_3D := (others => 0.0)
) return Ray_Collision with
Import => True,
Convention => C,
@ -3993,10 +4031,10 @@ package Raylib is
function Get_Ray_Collision_Quad (
Hit : Ray := No_Ray;
Point_1 : Vector_3D := (0.0, 0.0, 0.0);
Point_2 : Vector_3D := (0.0, 0.0, 0.0);
Point_3 : Vector_3D := (0.0, 0.0, 0.0);
Point_4 : Vector_3D := (0.0, 0.0, 0.0)
Point_1 : Vector_3D := (others => 0.0);
Point_2 : Vector_3D := (others => 0.0);
Point_3 : Vector_3D := (others => 0.0);
Point_4 : Vector_3D := (others => 0.0)
) return Ray_Collision with
Import => True,
Convention => C,
@ -4017,7 +4055,9 @@ package Raylib is
Convention => C,
External_Name => "IsAudioDeviceReady";
procedure Set_Master_Volume (Volume : Float := 1.0) with
procedure Set_Master_Volume (
Volume : Float := 1.0
) with
Import => True,
Convention => C,
External_Name => "SetMasterVolume";