Implements Module Player working in Form

* Implements Embedding .xm music in Final Application
This commit is contained in:
2025-06-02 15:15:16 +05:30
parent c09c434653
commit 6a1d80d3b8
342 changed files with 137595 additions and 146 deletions

527
UOS/examples/main_fp.lfm Normal file
View File

@@ -0,0 +1,527 @@
object Form1: TForm1
Left = 232
Height = 363
Top = 133
Width = 506
BorderIcons = [biSystemMenu]
Caption = 'Player with Filters U0S PortAudio + SndFile + Mpg123'
ClientHeight = 363
ClientWidth = 506
Color = clMoneyGreen
Icon.Data = {
BE0800000000010001002020000001000800A808000016000000280000002000
0000400000000100080000000000000000000000000000000000000000000000
0000000000000101010001020100010301000203020001040100020402000304
0300040404000405040005060500060706000409040007080700040A04000809
0800050C0500060D06000A0C0A00060E06000B0D0B000C0E0C000E100E000813
08000E110E000F110F000914090010121000091509000A180A00121512000B19
0B00141714000C1B0C000C1C0C00161916000C1D0C000D1E0D000F220F000F23
0F001C211C001F241F0020252000132B13002126210024292400252A2500272C
2700282E28002A302A002B312B002B322B001D421D00323A3200333B33001E45
1E00353D3500373F3700204B2000214C2100224D22003B443B003D463D003E47
3E0023522300414A410025562500414B4100285B280045504500485348004A55
4A002D682D00306E3000306F3000327232005966590033763300596759003477
34005B685B005C695C005D6A5D00606E6000387F380063716300398339006473
64003A843A003A853A003B873B003B883B003D8C3D003F903F00419441007181
710072827200429742004398430077897700788A78007A8C7A007C8E7C007D8F
7D007D907D007F927F00809380004BAB4B00839683004CAD4C004CAE4C008598
8500869986004DB04D004FB54F0050B650008A9F8A008BA08B008FA48F0053BD
530090A5900053BE530091A6910054BF540054C1540055C2550055C3550058C9
580058CA58005ACD5A009CB39C009DB49D005BCF5B005BD05B005CD35C00A1B8
A100A1B9A100A2B9A2005DD65D00A3BBA300A4BCA4005FD95F00A5BEA5005FDA
5F00A6BEA600A6BFA60060DC6000A7C0A70061DD6100AAC3AA0062E06200ABC4
AB0064E36400ADC6AD00AFC9AF0065E76500B0CAB000B1CAB100B1CBB10066E9
6600B2CCB200B3CDB300B4CEB400B6D1B60069F06900B9D4B900BAD5BA006BF5
6B00BAD6BA00BBD6BB00BCD8BC006CF86C00BDD8BD006DF86D00BDD9BD006DFA
6D00BEDABE006EFB6E00BFDBBF00C0DCC000C0DDC000C1DDC1006FFE6F00C1DE
C100C2DEC20070FF700071FF710072FF7200C3DFC30073FF730074FF740075FF
7500C3E0C30076FF7600C4E0C40077FF7700C4E1C400C5E1C5007CFF7C00C5E2
C500C7E4C700C8E6C800C9E6C900C9E7C900CBE8CB00CCEACC00CEECCE00D1EF
D100D6F5D6000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000B3B3B3B3B3B3B3B3B3B3B3B5A5A19A9A9A9AA1A5B5B3B3B3B3B3B3B3B3B3
B3B3B3B3B3B3B3B3B3B3B2B7B5763E1500000000153E76B5B7B2B3B3B3B3B3B3
B3B3B3B3B3B3B3B3B3B2C29935070000000000000000073599C2B2B3B3B3B3B3
B3B3B3B3B3B3B3B3B2B89E1600002B5BA49F9FA45B2B0000169EB8B2B3B3B3B3
B3B3B3B3B3B3B3B3B29A2A000356BBBBB6B9B9B6BBBB5603002A9AB2B3B3B3B3
B3B3B3B3B3B3B3B2B343001371C3B9B9B9B9B9B9B9B9C371130043B3B2B3B3B3
B3B3B3B3B3B3B3B78C00005CC1B6B9B9B9B9B9B9B9B9B6C15C00008CB7B3B3B3
B3B3B3B3B3B3B3CB390034ABB9B9B9B9BBBBBBBBB9B9B9B9AB340039CBB3B3B3
B3B3B3B3B3B3B3C8000073B9B6B9B186484A495A98B9B6B9B9730000C8B3B3B3
B3B3B3B3B3B3C563001C84B9B9B95800000000000C80BEB6B9841C0063C5B3B3
B3B3B3B3B3B3C468002794B9B1540000253A3706001C7BBBB994270068C4B3B3
B3B3B3B3B3B3C468002692B98D170042AFA7A78F1F003CADB992260068C4B3B3
B3B3B3B3B3B3C468002692B959000296BAB9B6BF4D000E85B994260068C4B3B3
B3B3B3B3B3B3C46800218AB940004FBFB6B9B9B6C600007CB981170068C4B3B3
B3B3B3B3B3B3C468000079B94B007EBAB9B9B9B9C300007DB972000068C4B3B3
B3B3B3B3B3B3C468000044B9A79BB6B6B9B9B9B9C300007DB944000068C4B3B3
B3B3B3B3B3B3C4650000006DBBB6B9B9B9B9B9B9BF00007F6D00000065C4B3B3
B3B3B3B3B3B2CB450000002494BEB9B9B9B9B9C16200106B2400000045CBB2B3
B3B3B3B3B3B39E2800382300226EBFBDBEBDC17711001A1D00233800289EB3B3
B3B3B3B3B3B566000169880000053B5E5D61130E00000000008869010066B5B3
B3B3B3B3B2A8320012CFC28308040000000000000000010883C2CF120033A3B3
B3B3B3B2C96F000074C2B2BCA62D0000000000000A2951B3BCB2C274000055CC
B2B3B3CD660B0047C7B2B3B2870900306C676766758ECBB4B3B3B2C747000F67
CEB3AA5F140031A0B3B3B3B546002CB2B8B5B5B5B4BCC4B5B3B3B3B3A0310004
4CAC95000020A2B5B3B3B3B53F0052C7B3B3B3B3C06A4790B3B3B3B3B5A22000
0095A33D369CC0B2B3B3B3B72E0064C2B3B3B3B3CC1B0078B3B3B3B3B2C09C36
3DA3B5A2B7B5B2B3B3B3B3B5410050CAB2B3B3B2D000007AB3B3B3B3B3B2B5B7
A2B5B2B3B3B3B3B3B3B3B3B357000297BCB2B2CC4E000D82B3B3B3B3B3B3B3B3
B3B2B3B3B3B3B3B3B3B3B3B28B18001989A29D6001003EA8B3B3B3B3B3B3B3B3
B3B3B3B3B3B3B3B3B3B3B3B3AE530000001E0000002D91B8B3B3B3B3B3B3B3B3
B3B3B3B3B3B3B3B3B3B3B3B3B3B06C2F000000004793C4B2B3B3B3B3B3B3B3B3
B3B3B3B3B3B3B3B3B3B3B3B3B2B3B5A3A070A09EA9B3B2B3B3B3B3B3B3B3B3B3
B3B3000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000
}
OnActivate = FormActivate
OnCreate = FormCreate
OnDestroy = FormDestroy
Position = poDesktopCenter
LCLVersion = '2.0.10.0'
object Shape3: TShape
Left = 8
Height = 65
Top = 284
Width = 490
Brush.Color = clSilver
end
object Shape2: TShape
Left = 240
Height = 130
Top = 147
Width = 250
Brush.Color = clSilver
end
object Shape1: TShape
Left = 32
Height = 130
Top = 147
Width = 200
Brush.Color = clSilver
OnChangeBounds = Shape1ChangeBounds
end
object RadioGroup1: TRadioGroup
Left = 248
Height = 119
Top = 151
Width = 140
AutoFill = True
Caption = 'Filters'
ChildSizing.LeftRightSpacing = 6
ChildSizing.TopBottomSpacing = 6
ChildSizing.EnlargeHorizontal = crsHomogenousChildResize
ChildSizing.EnlargeVertical = crsHomogenousChildResize
ChildSizing.ShrinkHorizontal = crsScaleChilds
ChildSizing.ShrinkVertical = crsScaleChilds
ChildSizing.Layout = cclLeftToRightThenTopToBottom
ChildSizing.ControlsPerLine = 1
ClientHeight = 98
ClientWidth = 136
TabOrder = 16
object RadioButton1: TRadioButton
Tag = 2
Left = 6
Height = 22
Top = 6
Width = 124
Caption = 'BandReject'
Checked = True
OnChange = RadioButton1Change
TabOrder = 0
TabStop = True
end
object RadioButton2: TRadioButton
Tag = 3
Left = 6
Height = 22
Top = 28
Width = 124
Caption = 'BandPass'
OnChange = RadioButton1Change
TabOrder = 1
end
object RadioButton3: TRadioButton
Tag = 4
Left = 6
Height = 21
Top = 50
Width = 124
Caption = 'LowPass'
OnChange = RadioButton1Change
TabOrder = 2
end
object RadioButton4: TRadioButton
Tag = 5
Left = 6
Height = 21
Top = 71
Width = 124
Caption = 'HighPass'
OnChange = RadioButton1Change
TabOrder = 3
end
end
object Edit1: TEdit
Left = 132
Height = 27
Top = 14
Width = 360
Alignment = taCenter
AutoSize = False
TabOrder = 2
end
object Edit2: TEdit
Left = 132
Height = 27
Top = 54
Width = 360
Alignment = taCenter
AutoSize = False
TabOrder = 4
end
object Edit3: TEdit
Left = 132
Height = 27
Top = 94
Width = 360
Alignment = taCenter
AutoSize = False
TabOrder = 5
end
object Label1: TLabel
Left = 130
Height = 18
Top = 0
Width = 360
Alignment = taCenter
AutoSize = False
Caption = 'Folder + filename of PortAudio Library'
Font.Height = -11
Font.Name = 'Sans'
ParentColor = False
ParentFont = False
end
object Label2: TLabel
Left = 130
Height = 18
Top = 40
Width = 360
Alignment = taCenter
AutoSize = False
Caption = 'Folder + filename of SndFile Library'
Font.Height = -11
Font.Name = 'Sans'
ParentColor = False
ParentFont = False
end
object Label3: TLabel
Left = 132
Height = 18
Top = 80
Width = 360
Alignment = taCenter
AutoSize = False
Caption = 'Folder + filename of Mpg123 Library'
Font.Height = -11
Font.Name = 'Sans'
ParentColor = False
ParentFont = False
end
object Edit4: TEdit
Left = 12
Height = 27
Top = 288
Width = 474
Alignment = taCenter
AutoSize = False
TabOrder = 3
end
object CheckBox1: TCheckBox
Left = 55
Height = 18
Top = 256
Width = 163
Caption = 'Enable Stereo Equalizer'
Checked = True
Font.Height = 12
OnChange = CheckBox1Change
ParentFont = False
State = cbChecked
TabOrder = 6
end
object PaintBox1: TPaintBox
Left = 17
Height = 105
Top = 8
Width = 105
OnPaint = PaintBox1Paint
end
object Label4: TLabel
Left = 56
Height = 14
Top = 244
Width = 22
Alignment = taCenter
Caption = 'Low'
Font.Height = -11
Font.Name = 'Sans'
ParentColor = False
ParentFont = False
end
object TrackBar1: TTrackBar
Left = 40
Height = 90
Hint = 'Right Channel'
Top = 152
Width = 25
Max = 100
Min = -100
OnChange = TrackBar1Change
Orientation = trVertical
Position = 0
Reversed = True
TickStyle = tsNone
ParentShowHint = False
ShowHint = True
TabOrder = 7
end
object Button1: TButton
Left = 11
Height = 20
Top = 125
Width = 483
Caption = 'Load that libraries'
OnClick = Button1Click
TabOrder = 1
end
object Button3: TButton
Left = 176
Height = 23
Top = 322
Width = 42
Caption = 'Play'
Font.Height = 12
OnClick = Button3Click
ParentFont = False
TabOrder = 0
end
object Button4: TButton
Left = 306
Height = 23
Top = 322
Width = 66
Caption = 'Resume'
Enabled = False
Font.Height = 12
OnClick = Button4Click
ParentFont = False
TabOrder = 8
end
object Button5: TButton
Left = 248
Height = 23
Top = 322
Width = 44
Caption = 'Pause'
Enabled = False
Font.Height = 12
OnClick = Button5Click
ParentFont = False
TabOrder = 9
end
object Button6: TButton
Left = 375
Height = 23
Top = 322
Width = 47
Caption = 'Stop'
Enabled = False
Font.Height = 12
OnClick = Button6Click
ParentFont = False
TabOrder = 10
end
object Button2: TButton
Left = 24
Height = 23
Top = 320
Width = 58
Caption = 'Choose'
Font.Height = 12
OnClick = Button2Click
ParentFont = False
TabOrder = 11
end
object TrackBar2: TTrackBar
Left = 112
Height = 90
Hint = 'Left Channel'
Top = 152
Width = 23
Max = 100
Min = -100
OnChange = TrackBar2Change
Orientation = trVertical
Position = 0
Reversed = True
TickStyle = tsNone
ParentShowHint = False
ShowHint = True
TabOrder = 12
end
object Label5: TLabel
Left = 112
Height = 14
Top = 244
Width = 44
Alignment = taCenter
Caption = 'Medium'
Font.Height = -11
Font.Name = 'Sans'
ParentColor = False
ParentFont = False
end
object TrackBar3: TTrackBar
Left = 176
Height = 90
Hint = 'Left Channel'
Top = 152
Width = 22
Max = 100
Min = -100
OnChange = TrackBar3Change
Orientation = trVertical
Position = 0
Reversed = True
TickStyle = tsNone
ParentShowHint = False
ShowHint = True
TabOrder = 13
end
object Label6: TLabel
Left = 184
Height = 14
Top = 244
Width = 25
Alignment = taCenter
Caption = 'High'
Font.Height = -11
Font.Name = 'Sans'
ParentColor = False
ParentFont = False
end
object Edit5: TEdit
Left = 400
Height = 29
Top = 168
Width = 80
TabOrder = 14
Text = '15000'
end
object Label7: TLabel
Left = 397
Height = 14
Top = 154
Width = 87
Alignment = taCenter
Caption = 'High Frequency'
Font.Height = -11
Font.Name = 'Sans'
ParentColor = False
ParentFont = False
end
object Edit6: TEdit
Left = 400
Height = 29
Top = 216
Width = 80
TabOrder = 15
Text = '5000'
end
object Label8: TLabel
Left = 400
Height = 14
Top = 200
Width = 84
Alignment = taCenter
Caption = 'Low Frequency'
Font.Height = -11
Font.Name = 'Sans'
ParentColor = False
ParentFont = False
end
object CheckBox2: TCheckBox
Left = 390
Height = 18
Top = 252
Width = 94
Caption = 'Enable Filter'
Font.Height = 12
OnChange = RadioButton1Change
ParentFont = False
TabOrder = 17
end
object TrackBar3R: TTrackBar
Left = 200
Height = 90
Hint = 'Right Channel'
Top = 152
Width = 22
Max = 100
Min = -100
OnChange = TrackBar3Change
Orientation = trVertical
Position = 0
Reversed = True
TickStyle = tsNone
ParentShowHint = False
ShowHint = True
TabOrder = 18
end
object TrackBar2R: TTrackBar
Left = 136
Height = 90
Hint = 'Right Channel'
Top = 152
Width = 23
Max = 100
Min = -100
OnChange = TrackBar2Change
Orientation = trVertical
Position = 0
Reversed = True
TickStyle = tsNone
ParentShowHint = False
ShowHint = True
TabOrder = 19
end
object TrackBar1R: TTrackBar
Left = 64
Height = 90
Hint = 'Left Channel'
Top = 152
Width = 25
Max = 100
Min = -100
OnChange = TrackBar1Change
Orientation = trVertical
Position = 0
Reversed = True
TickStyle = tsNone
ParentShowHint = False
ShowHint = True
TabOrder = 20
end
object OpenDialog1: TOpenDialog
Left = 76
Top = 36
end
end