mirror of
https://github.com/paleotronic/microm8-gui.git
synced 2024-06-08 01:29:34 +00:00
sidecar wip
This commit is contained in:
parent
2482c7c0a1
commit
c8e999eaae
5637
backup/main.lfm
5637
backup/main.lfm
File diff suppressed because it is too large
Load Diff
473
backup/main.pas
473
backup/main.pas
|
@ -19,11 +19,113 @@ type
|
|||
|
||||
TGUIForm = class(TForm)
|
||||
backdrop: TImage;
|
||||
Image1: TImage;
|
||||
pnlContainer: TPanel;
|
||||
SideImages: TImageList;
|
||||
miWarp400: TMenuItem;
|
||||
miWarp200: TMenuItem;
|
||||
miWarp100: TMenuItem;
|
||||
miWarp50: TMenuItem;
|
||||
miWarp25: TMenuItem;
|
||||
miCPU65c02: TMenuItem;
|
||||
miCPU6502: TMenuItem;
|
||||
miDisksSwap: TMenuItem;
|
||||
miDisksDisableWarp: TMenuItem;
|
||||
miDisksConvertWOZ: TMenuItem;
|
||||
miPDFTO60s: TMenuItem;
|
||||
miPDFTO45s: TMenuItem;
|
||||
miPDFTO30s: TMenuItem;
|
||||
miPDFTO15s: TMenuItem;
|
||||
miPDFTO5s: TMenuItem;
|
||||
miPrinterPDF: TMenuItem;
|
||||
miCPUWarp: TMenuItem;
|
||||
miCPUType: TMenuItem;
|
||||
miSerialTelnetServer: TMenuItem;
|
||||
miSerialVModem: TMenuItem;
|
||||
miDisks: TMenuItem;
|
||||
miPrinter: TMenuItem;
|
||||
miCPU: TMenuItem;
|
||||
miSerial: TMenuItem;
|
||||
miHardware: TMenuItem;
|
||||
miSVOL100: TMenuItem;
|
||||
miSVOL090: TMenuItem;
|
||||
miSVOL080: TMenuItem;
|
||||
miSVOL070: TMenuItem;
|
||||
miSVOL060: TMenuItem;
|
||||
miSVOL050: TMenuItem;
|
||||
miSVOL040: TMenuItem;
|
||||
miSVOL030: TMenuItem;
|
||||
miSVOL020: TMenuItem;
|
||||
miSVOL010: TMenuItem;
|
||||
miSVOL000: TMenuItem;
|
||||
miMVOL100: TMenuItem;
|
||||
miMVOL090: TMenuItem;
|
||||
miMVOL080: TMenuItem;
|
||||
miMVOL070: TMenuItem;
|
||||
miMVOL060: TMenuItem;
|
||||
miMVOL050: TMenuItem;
|
||||
miMVOL040: TMenuItem;
|
||||
miMVOL030: TMenuItem;
|
||||
miMVOL020: TMenuItem;
|
||||
miMVOL010: TMenuItem;
|
||||
miMVOL000: TMenuItem;
|
||||
miPSG0p100: TMenuItem;
|
||||
miPSG0p75: TMenuItem;
|
||||
miPSG0p50: TMenuItem;
|
||||
miPSG0p25: TMenuItem;
|
||||
miPSG0p0: TMenuItem;
|
||||
miPSG0m25: TMenuItem;
|
||||
miPSG0m50: TMenuItem;
|
||||
miPSG0m75: TMenuItem;
|
||||
miPSG0m100: TMenuItem;
|
||||
miSNDPSG0: TMenuItem;
|
||||
miPSG1p100: TMenuItem;
|
||||
miPSG1p75: TMenuItem;
|
||||
miPSG1p50: TMenuItem;
|
||||
miPSG1p25: TMenuItem;
|
||||
miPSG1p0: TMenuItem;
|
||||
miPSG1m25: TMenuItem;
|
||||
miPSG1m50: TMenuItem;
|
||||
miPSG1m75: TMenuItem;
|
||||
miPSG1m100: TMenuItem;
|
||||
miSNDPSG1: TMenuItem;
|
||||
miSNDMockingboard: TMenuItem;
|
||||
miSNDSpeaker: TMenuItem;
|
||||
miSNDMaster: TMenuItem;
|
||||
miSNDMuted: TMenuItem;
|
||||
miAudio: TMenuItem;
|
||||
miJSYRev: TMenuItem;
|
||||
miJSXRev: TMenuItem;
|
||||
miJSAxisSwap: TMenuItem;
|
||||
miVD9: TMenuItem;
|
||||
miVD8: TMenuItem;
|
||||
miVD7: TMenuItem;
|
||||
miVD6: TMenuItem;
|
||||
miVD5: TMenuItem;
|
||||
miVD4: TMenuItem;
|
||||
miVD3: TMenuItem;
|
||||
miVD2: TMenuItem;
|
||||
miVD1: TMenuItem;
|
||||
miVD: TMenuItem;
|
||||
miAR178: TMenuItem;
|
||||
miAR162: TMenuItem;
|
||||
miAR146: TMenuItem;
|
||||
miAR100: TMenuItem;
|
||||
miAR133: TMenuItem;
|
||||
miAR: TMenuItem;
|
||||
miTMAmber: TMenuItem;
|
||||
miTMGreen: TMenuItem;
|
||||
miTMGrey: TMenuItem;
|
||||
miTMNone: TMenuItem;
|
||||
miTintMode: TMenuItem;
|
||||
N4: TMenuItem;
|
||||
N3: TMenuItem;
|
||||
N2: TMenuItem;
|
||||
miTintOff: TMenuItem;
|
||||
miTintGrey: TMenuItem;
|
||||
miTintGreen: TMenuItem;
|
||||
miTintAmber: TMenuItem;
|
||||
sidecarPanel: TPanel;
|
||||
ToolTimer: TTimer;
|
||||
TintMode: TPopupMenu;
|
||||
ToolbarIcons: TImageList;
|
||||
|
@ -129,11 +231,16 @@ type
|
|||
procedure FormShow(Sender: TObject);
|
||||
procedure FormUTF8KeyPress(Sender: TObject; var UTF8Key: TUTF8Char);
|
||||
procedure FormWindowStateChange(Sender: TObject);
|
||||
procedure Image1Click(Sender: TObject);
|
||||
procedure InputClick(Sender: TObject);
|
||||
procedure MenuItem15Click(Sender: TObject);
|
||||
procedure MenuItem16Click(Sender: TObject);
|
||||
procedure MenuItem1Click(Sender: TObject);
|
||||
procedure MenuItem2Click(Sender: TObject);
|
||||
procedure Freeze;
|
||||
procedure miAR100Click(Sender: TObject);
|
||||
procedure miARClick(Sender: TObject);
|
||||
procedure miAudioClick(Sender: TObject);
|
||||
procedure miColorDotsClick(Sender: TObject);
|
||||
procedure miColorRasterClick(Sender: TObject);
|
||||
procedure miColorVoxelsClick(Sender: TObject);
|
||||
|
@ -155,6 +262,8 @@ type
|
|||
procedure miGRRasterClick(Sender: TObject);
|
||||
procedure miGRRenderModeClick(Sender: TObject);
|
||||
procedure miGRVoxelsClick(Sender: TObject);
|
||||
procedure miINPAllCapsClick(Sender: TObject);
|
||||
procedure miINPJoystickClick(Sender: TObject);
|
||||
procedure miINPMMDDrawClick(Sender: TObject);
|
||||
procedure miINPMMDPADClick(Sender: TObject);
|
||||
procedure miINPMMGEOSClick(Sender: TObject);
|
||||
|
@ -166,18 +275,37 @@ type
|
|||
procedure miIntFPClick(Sender: TObject);
|
||||
procedure miIntINTClick(Sender: TObject);
|
||||
procedure miIntLOGOClick(Sender: TObject);
|
||||
procedure miJSAxisSwapClick(Sender: TObject);
|
||||
procedure miJSXRevClick(Sender: TObject);
|
||||
procedure miJSYRevClick(Sender: TObject);
|
||||
procedure miMonoDotsClick(Sender: TObject);
|
||||
procedure miMonoRasterClick(Sender: TObject);
|
||||
procedure miMonoVoxelsClick(Sender: TObject);
|
||||
procedure miMVOL000Click(Sender: TObject);
|
||||
procedure miPSG0m100Click(Sender: TObject);
|
||||
procedure miPSG1m100Click(Sender: TObject);
|
||||
procedure miScanLineIntClick(Sender: TObject);
|
||||
procedure miSerialClick(Sender: TObject);
|
||||
procedure miSerialVModemClick(Sender: TObject);
|
||||
procedure miSHRClick(Sender: TObject);
|
||||
procedure miSHRColorDotsClick(Sender: TObject);
|
||||
procedure miSHRColorRasterClick(Sender: TObject);
|
||||
procedure miSHRColorVoxelsClick(Sender: TObject);
|
||||
procedure miSLIClick(Sender: TObject);
|
||||
procedure miSNDMasterClick(Sender: TObject);
|
||||
procedure miSNDMutedClick(Sender: TObject);
|
||||
procedure miSNDPSG0Click(Sender: TObject);
|
||||
procedure miSNDPSG1Click(Sender: TObject);
|
||||
procedure miSNDSpeakerClick(Sender: TObject);
|
||||
procedure miSPEjectClick(Sender: TObject);
|
||||
procedure miSPFileClick(Sender: TObject);
|
||||
procedure miSVOL000Click(Sender: TObject);
|
||||
procedure miTintModeClick(Sender: TObject);
|
||||
procedure miTMNoneClick(Sender: TObject);
|
||||
procedure miVD1Click(Sender: TObject);
|
||||
procedure miVDClick(Sender: TObject);
|
||||
procedure MouseTimerTimer(Sender: TObject);
|
||||
procedure sidecarPanelResize(Sender: TObject);
|
||||
procedure tbRMClick(Sender: TObject);
|
||||
procedure tbRMColorClick(Sender: TObject);
|
||||
procedure tbTintModeClick(Sender: TObject);
|
||||
|
@ -191,6 +319,7 @@ type
|
|||
procedure ReposWindow;
|
||||
procedure RepaintWindow;
|
||||
procedure UpdateColorMode;
|
||||
procedure UpdateTintMode;
|
||||
function GetTitleOfActiveWindow: string;
|
||||
procedure SendKey(key: Integer; ScanCode: Integer; KeyAction: Integer; Mods: Integer);
|
||||
procedure tbDisk1MouseDown(Sender: TObject; Button: TMouseButton;
|
||||
|
@ -267,6 +396,32 @@ begin
|
|||
self.hc.Get(baseUrl + '/api/control/window/freeze');
|
||||
end;
|
||||
|
||||
procedure TGUIForm.miAR100Click(Sender: TObject);
|
||||
begin
|
||||
UpdateConfig( 'video/init.aspect', TMenuItem(sender).Caption, true );
|
||||
end;
|
||||
|
||||
procedure TGUIForm.miARClick(Sender: TObject);
|
||||
var
|
||||
aspect: string;
|
||||
begin
|
||||
//
|
||||
aspect := GetConfig( 'video/init.aspect' );
|
||||
case aspect of
|
||||
'1.00': miAR100.Checked := true;
|
||||
'1.33': miAR133.Checked := true;
|
||||
'1.46': miAR146.Checked := true;
|
||||
'1.62': miAR162.Checked := true;
|
||||
'1.78': miAR178.Checked := true;
|
||||
end;
|
||||
end;
|
||||
|
||||
procedure TGUIForm.miAudioClick(Sender: TObject);
|
||||
begin
|
||||
// muted
|
||||
miSNDMuted.Checked := GetConfig('audio/init.master.mute') = '1';
|
||||
end;
|
||||
|
||||
procedure TGUIForm.miColorDotsClick(Sender: TObject);
|
||||
begin
|
||||
UpdateConfig( 'video/init.video.hgrmode', '0', true );
|
||||
|
@ -369,7 +524,7 @@ end;
|
|||
|
||||
procedure TGUIForm.miDHRMonoDotsClick(Sender: TObject);
|
||||
begin
|
||||
UpdateConfig( 'video/init.video.dhgrmode', '4', true );
|
||||
UpdateConfig( 'video/init.video.dhgrmode', '3', true );
|
||||
end;
|
||||
|
||||
procedure TGUIForm.miDHRMonoRasterClick(Sender: TObject);
|
||||
|
@ -379,7 +534,7 @@ end;
|
|||
|
||||
procedure TGUIForm.miDHRMonoVoxelsClick(Sender: TObject);
|
||||
begin
|
||||
UpdateConfig( 'video/init.video.dhgrmode', '5', true );
|
||||
UpdateConfig( 'video/init.video.dhgrmode', '4', true );
|
||||
end;
|
||||
|
||||
procedure TGUIForm.miFileCatClick(Sender: TObject);
|
||||
|
@ -413,6 +568,26 @@ begin
|
|||
UpdateConfig( 'video/init.video.grmode', '1', true );
|
||||
end;
|
||||
|
||||
procedure TGUIForm.miINPAllCapsClick(Sender: TObject);
|
||||
var
|
||||
mi: TMenuItem;
|
||||
begin
|
||||
mi := TMenuItem(sender);
|
||||
mi.Checked := not mi.Checked;
|
||||
if mi.Checked then
|
||||
UpdateConfig( 'input/init.uppercase', '1', true )
|
||||
else
|
||||
UpdateConfig( 'input/init.uppercase', '0', true );
|
||||
end;
|
||||
|
||||
procedure TGUIForm.miINPJoystickClick(Sender: TObject);
|
||||
begin
|
||||
// setup joystick menu
|
||||
miJSXRev.Checked := GetConfig( 'input/init.joystick.reversex' ) = '1';
|
||||
miJSYRev.Checked := GetConfig( 'input/init.joystick.reversey' ) = '1';
|
||||
miJSAxisSwap.Checked := GetConfig( 'input/init.joystick.axis0' ) = '1';
|
||||
end;
|
||||
|
||||
procedure TGUIForm.miINPMMJoystickClick(Sender: TObject);
|
||||
begin
|
||||
UpdateConfig('input/init.mouse', '0', true);
|
||||
|
@ -485,6 +660,38 @@ begin
|
|||
self.hc.Get(baseUrl + '/api/control/interpreter/logo');
|
||||
end;
|
||||
|
||||
procedure TGUIForm.miJSAxisSwapClick(Sender: TObject);
|
||||
var
|
||||
p0, p1: string;
|
||||
begin
|
||||
p0 := GetConfig( 'input/init.joystick.axis0' );
|
||||
p1 := GetConfig( 'input/init.joystick.axis1' );
|
||||
UpdateConfig( 'input/init.joystick.axis0', p1, true );
|
||||
UpdateConfig( 'input/init.joystick.axis1', p0, true );
|
||||
end;
|
||||
|
||||
procedure TGUIForm.miJSXRevClick(Sender: TObject);
|
||||
var
|
||||
p0: string;
|
||||
begin
|
||||
p0 := GetConfig( 'input/init.joystick.reversex' );
|
||||
if p0 = '1' then
|
||||
UpdateConfig( 'input/init.joystick.reversex', '0', true )
|
||||
else
|
||||
UpdateConfig( 'input/init.joystick.reversex', '1', true );
|
||||
end;
|
||||
|
||||
procedure TGUIForm.miJSYRevClick(Sender: TObject);
|
||||
var
|
||||
p0: string;
|
||||
begin
|
||||
p0 := GetConfig( 'input/init.joystick.reversey' );
|
||||
if p0 = '1' then
|
||||
UpdateConfig( 'input/init.joystick.reversey', '0', true )
|
||||
else
|
||||
UpdateConfig( 'input/init.joystick.reversey', '1', true );
|
||||
end;
|
||||
|
||||
procedure TGUIForm.miMonoDotsClick(Sender: TObject);
|
||||
begin
|
||||
UpdateConfig( 'video/init.video.hgrmode', '3', true );
|
||||
|
@ -500,6 +707,53 @@ begin
|
|||
UpdateConfig( 'video/init.video.hgrmode', '4', true );
|
||||
end;
|
||||
|
||||
procedure TGUIForm.miMVOL000Click(Sender: TObject);
|
||||
begin
|
||||
case TMenuItem(sender).Caption of
|
||||
'0': UpdateConfig( 'audio/init.master.volume', '0.0', true );
|
||||
'1': UpdateConfig( 'audio/init.master.volume', '0.1', true );
|
||||
'2': UpdateConfig( 'audio/init.master.volume', '0.2', true );
|
||||
'3': UpdateConfig( 'audio/init.master.volume', '0.3', true );
|
||||
'4': UpdateConfig( 'audio/init.master.volume', '0.4', true );
|
||||
'5': UpdateConfig( 'audio/init.master.volume', '0.5', true );
|
||||
'6': UpdateConfig( 'audio/init.master.volume', '0.6', true );
|
||||
'7': UpdateConfig( 'audio/init.master.volume', '0.7', true );
|
||||
'8': UpdateConfig( 'audio/init.master.volume', '0.8', true );
|
||||
'9': UpdateConfig( 'audio/init.master.volume', '0.9', true );
|
||||
'10': UpdateConfig( 'audio/init.master.volume', '1.0', true );
|
||||
end;
|
||||
end;
|
||||
|
||||
procedure TGUIForm.miPSG0m100Click(Sender: TObject);
|
||||
begin
|
||||
case TMenuItem(sender).Tag of
|
||||
-100: UpdateConfig( 'audio/init.mockingboard.psg0balance', '-1.00', true );
|
||||
-75: UpdateConfig( 'audio/init.mockingboard.psg0balance', '-0.75', true );
|
||||
-50: UpdateConfig( 'audio/init.mockingboard.psg0balance', '-0.50', true );
|
||||
-25: UpdateConfig( 'audio/init.mockingboard.psg0balance', '-0.25', true );
|
||||
0: UpdateConfig( 'audio/init.mockingboard.psg0balance', '0.00', true );
|
||||
25: UpdateConfig( 'audio/init.mockingboard.psg0balance', '0.25', true );
|
||||
50: UpdateConfig( 'audio/init.mockingboard.psg0balance', '0.50', true );
|
||||
75: UpdateConfig( 'audio/init.mockingboard.psg0balance', '0.75', true );
|
||||
100: UpdateConfig( 'audio/init.mockingboard.psg0balance', '1.00', true );
|
||||
end;
|
||||
end;
|
||||
|
||||
procedure TGUIForm.miPSG1m100Click(Sender: TObject);
|
||||
begin
|
||||
case TMenuItem(sender).Tag of
|
||||
-100: UpdateConfig( 'audio/init.mockingboard.psg1balance', '-1.00', true );
|
||||
-75: UpdateConfig( 'audio/init.mockingboard.psg1balance', '-0.75', true );
|
||||
-50: UpdateConfig( 'audio/init.mockingboard.psg1balance', '-0.50', true );
|
||||
-25: UpdateConfig( 'audio/init.mockingboard.psg1balance', '-0.25', true );
|
||||
0: UpdateConfig( 'audio/init.mockingboard.psg1balance', '0.00', true );
|
||||
25: UpdateConfig( 'audio/init.mockingboard.psg1balance', '0.25', true );
|
||||
50: UpdateConfig( 'audio/init.mockingboard.psg1balance', '0.50', true );
|
||||
75: UpdateConfig( 'audio/init.mockingboard.psg1balance', '0.75', true );
|
||||
100: UpdateConfig( 'audio/init.mockingboard.psg1balance', '1.00', true );
|
||||
end;
|
||||
end;
|
||||
|
||||
procedure TGUIForm.miScanLineIntClick(Sender: TObject);
|
||||
var
|
||||
value: string;
|
||||
|
@ -524,6 +778,32 @@ begin
|
|||
end;
|
||||
end;
|
||||
|
||||
procedure TGUIForm.miSerialClick(Sender: TObject);
|
||||
var
|
||||
mode: string;
|
||||
ovr: string;
|
||||
begin
|
||||
{ get serial card option }
|
||||
mode := GetConfig( 'hardware/init.serial.mode' );
|
||||
ovr := GetConfig( 'override/ssc.disable.telnet' );
|
||||
if ovr = '1' then
|
||||
begin
|
||||
miSerialVModem.Checked := true;
|
||||
miSerialTelnetServer.Visible := false;
|
||||
end
|
||||
else
|
||||
begin
|
||||
miSerialVModem.Checked := (mode = '0');
|
||||
miSerialTelnetServer.Visible := true;
|
||||
miSerialTelnetServer.Checked := (mode = '1');
|
||||
end;
|
||||
end;
|
||||
|
||||
procedure TGUIForm.miSerialVModemClick(Sender: TObject);
|
||||
begin
|
||||
UpdateConfig( 'hardware/init.serial.mode', IntToStr(TMenuItem(sender).Tag), true );
|
||||
end;
|
||||
|
||||
procedure TGUIForm.miSHRClick(Sender: TObject);
|
||||
var
|
||||
value: string;
|
||||
|
@ -565,6 +845,80 @@ begin
|
|||
UpdateConfig( 'video/init.video.scanline', values[StrToInt(TMenuItem(Sender).Caption)], true );
|
||||
end;
|
||||
|
||||
procedure TGUIForm.miSNDMasterClick(Sender: TObject);
|
||||
begin
|
||||
case GetConfig( 'audio/init.master.volume' ) of
|
||||
'0.00': miMVOL000.Checked := true;
|
||||
'0.10': miMVOL010.Checked := true;
|
||||
'0.20': miMVOL020.Checked := true;
|
||||
'0.30': miMVOL030.Checked := true;
|
||||
'0.40': miMVOL040.Checked := true;
|
||||
'0.50': miMVOL050.Checked := true;
|
||||
'0.60': miMVOL060.Checked := true;
|
||||
'0.70': miMVOL070.Checked := true;
|
||||
'0.80': miMVOL080.Checked := true;
|
||||
'0.90': miMVOL090.Checked := true;
|
||||
'1.00': miMVOL100.Checked := true;
|
||||
end;
|
||||
end;
|
||||
|
||||
procedure TGUIForm.miSNDMutedClick(Sender: TObject);
|
||||
begin
|
||||
if GetConfig('audio/init.master.mute') = '1' then
|
||||
UpdateConfig( 'audio/init.master.mute', '0', false )
|
||||
else
|
||||
UpdateConfig( 'audio/init.master.mute', '1', false );
|
||||
end;
|
||||
|
||||
procedure TGUIForm.miSNDPSG0Click(Sender: TObject);
|
||||
begin
|
||||
// get psg 1 balance ...
|
||||
case GetConfig( 'audio/init.mockingboard.psg0balance' ) of
|
||||
'-1.00': miPSG0m100.Checked := true;
|
||||
'-0.75': miPSG0m75.Checked := true;
|
||||
'-0.50': miPSG0m50.Checked := true;
|
||||
'-0.25': miPSG0m25.Checked := true;
|
||||
'0.00': miPSG0p0.Checked := true;
|
||||
'0.25': miPSG0p25.Checked := true;
|
||||
'0.50': miPSG0p50.Checked := true;
|
||||
'0.75': miPSG0p75.Checked := true;
|
||||
'1.00': miPSG0p100.Checked := true;
|
||||
end;
|
||||
end;
|
||||
|
||||
procedure TGUIForm.miSNDPSG1Click(Sender: TObject);
|
||||
begin
|
||||
// get psg 1 balance ...
|
||||
case GetConfig( 'audio/init.mockingboard.psg1balance' ) of
|
||||
'-1.00': miPSG1m100.Checked := true;
|
||||
'-0.75': miPSG1m75.Checked := true;
|
||||
'-0.50': miPSG1m50.Checked := true;
|
||||
'-0.25': miPSG1m25.Checked := true;
|
||||
'0.00': miPSG1p0.Checked := true;
|
||||
'0.25': miPSG1p25.Checked := true;
|
||||
'0.50': miPSG1p50.Checked := true;
|
||||
'0.75': miPSG1p75.Checked := true;
|
||||
'1.00': miPSG1p100.Checked := true;
|
||||
end;
|
||||
end;
|
||||
|
||||
procedure TGUIForm.miSNDSpeakerClick(Sender: TObject);
|
||||
begin
|
||||
case GetConfig( 'audio/init.speaker.volume' ) of
|
||||
'0.00': miSVOL000.Checked := true;
|
||||
'0.10': miSVOL010.Checked := true;
|
||||
'0.20': miSVOL020.Checked := true;
|
||||
'0.30': miSVOL030.Checked := true;
|
||||
'0.40': miSVOL040.Checked := true;
|
||||
'0.50': miSVOL050.Checked := true;
|
||||
'0.60': miSVOL060.Checked := true;
|
||||
'0.70': miSVOL070.Checked := true;
|
||||
'0.80': miSVOL080.Checked := true;
|
||||
'0.90': miSVOL090.Checked := true;
|
||||
'1.00': miSVOL100.Checked := true;
|
||||
end;
|
||||
end;
|
||||
|
||||
procedure TGUIForm.miSPEjectClick(Sender: TObject);
|
||||
begin
|
||||
self.hc.Get(baseUrl + '/api/control/hardware/disk/eject/2');
|
||||
|
@ -581,6 +935,79 @@ begin
|
|||
ShowM8;
|
||||
end;
|
||||
|
||||
procedure TGUIForm.miSVOL000Click(Sender: TObject);
|
||||
begin
|
||||
case TMenuItem(sender).Caption of
|
||||
'0': UpdateConfig( 'audio/init.speaker.volume', '0.0', true );
|
||||
'1': UpdateConfig( 'audio/init.speaker.volume', '0.1', true );
|
||||
'2': UpdateConfig( 'audio/init.speaker.volume', '0.2', true );
|
||||
'3': UpdateConfig( 'audio/init.speaker.volume', '0.3', true );
|
||||
'4': UpdateConfig( 'audio/init.speaker.volume', '0.4', true );
|
||||
'5': UpdateConfig( 'audio/init.speaker.volume', '0.5', true );
|
||||
'6': UpdateConfig( 'audio/init.speaker.volume', '0.6', true );
|
||||
'7': UpdateConfig( 'audio/init.speaker.volume', '0.7', true );
|
||||
'8': UpdateConfig( 'audio/init.speaker.volume', '0.8', true );
|
||||
'9': UpdateConfig( 'audio/init.speaker.volume', '0.9', true );
|
||||
'10': UpdateConfig( 'audio/init.speaker.volume', '1.0', true );
|
||||
end;
|
||||
end;
|
||||
|
||||
procedure TGUIForm.miTintModeClick(Sender: TObject);
|
||||
var
|
||||
t: integer;
|
||||
begin
|
||||
t := StrToInt( GetConfig( 'video/init.video.tintmode') );
|
||||
case t of
|
||||
0: miTMNone.Checked := true;
|
||||
1: miTMGrey.Checked := true;
|
||||
2: miTMGreen.Checked := true;
|
||||
3: miTMAmber.Checked := true;
|
||||
end;
|
||||
end;
|
||||
|
||||
procedure TGUIForm.miTMNoneClick(Sender: TObject);
|
||||
var
|
||||
t: integer;
|
||||
s: TMenuItem;
|
||||
begin
|
||||
t := 0;
|
||||
s := TMenuItem(sender);
|
||||
if s.Caption = 'Grey' then
|
||||
t := 1
|
||||
else if s.Caption = 'Green' then
|
||||
t := 2
|
||||
else if s.Caption = 'Amber' then
|
||||
t := 3;
|
||||
UpdateConfig( 'video/init.video.tintmode', IntToStr(t), true );
|
||||
UpdateTintMode;
|
||||
end;
|
||||
|
||||
procedure TGUIForm.miVD1Click(Sender: TObject);
|
||||
var
|
||||
i: integer;
|
||||
begin
|
||||
i := StrToInt(Copy( TMenuItem(sender).Caption, 1, 1 )) - 1;
|
||||
UpdateConfig( 'video/init.video.voxeldepth', IntToStr(i), true );
|
||||
end;
|
||||
|
||||
procedure TGUIForm.miVDClick(Sender: TObject);
|
||||
var
|
||||
i: integer;
|
||||
begin
|
||||
i := StrToInt( GetConfig('video/init.video.voxeldepth') );
|
||||
case i of
|
||||
0: miVD1.Checked := true;
|
||||
1: miVD2.Checked := true;
|
||||
2: miVD3.Checked := true;
|
||||
3: miVD4.Checked := true;
|
||||
4: miVD5.Checked := true;
|
||||
5: miVD6.Checked := true;
|
||||
6: miVD7.Checked := true;
|
||||
7: miVD8.Checked := true;
|
||||
8: miVD9.Checked := true;
|
||||
end;
|
||||
end;
|
||||
|
||||
procedure TGUIForm.MouseTimerTimer(Sender: TObject);
|
||||
var
|
||||
x, y: longint;
|
||||
|
@ -604,6 +1031,14 @@ begin
|
|||
end;
|
||||
end;
|
||||
|
||||
procedure TGUIForm.sidecarPanelResize(Sender: TObject);
|
||||
var
|
||||
h: double;
|
||||
begin
|
||||
h := sidecarPanel.Height;
|
||||
sidecarPanel.Width := Round(0.34 * h);
|
||||
end;
|
||||
|
||||
procedure TGUIForm.UpdateRenderMode;
|
||||
var
|
||||
t: integer;
|
||||
|
@ -673,6 +1108,14 @@ begin
|
|||
UpdateColorMode;
|
||||
end;
|
||||
|
||||
procedure TGUIForm.UpdateTintMode;
|
||||
var
|
||||
t: integer;
|
||||
begin
|
||||
t := StrToInt( GetConfig( 'video/init.video.tintmode' ) );
|
||||
tbTintMode.ImageIndex := t;
|
||||
end;
|
||||
|
||||
procedure TGUIForm.tbTintModeClick(Sender: TObject);
|
||||
var
|
||||
t: integer;
|
||||
|
@ -684,8 +1127,7 @@ begin
|
|||
if t > 3 then
|
||||
t := 0;
|
||||
UpdateConfig( 'video/init.video.tintmode', IntToStr(t), false );
|
||||
t := StrToInt( GetConfig( 'video/init.video.tintmode' ) );
|
||||
tbTintMode.ImageIndex := t;
|
||||
UpdateTintMode;
|
||||
|
||||
end;
|
||||
|
||||
|
@ -896,7 +1338,11 @@ begin
|
|||
end;
|
||||
|
||||
procedure TGUIForm.FormChangeBounds(Sender: TObject);
|
||||
var
|
||||
h: double;
|
||||
begin
|
||||
h := sidecarPanel.Height;
|
||||
sidecarPanel.Width := Round(0.34 * h);
|
||||
self.ReposWindow;
|
||||
end;
|
||||
|
||||
|
@ -957,6 +1403,7 @@ begin
|
|||
//StatusBar1.SimpleText := 'App is refocussing';
|
||||
lastShowTime := Now();
|
||||
end;
|
||||
ReposWindow;
|
||||
end;
|
||||
|
||||
procedure TGUIForm.FormCreate(Sender: TObject);
|
||||
|
@ -1112,8 +1559,11 @@ begin
|
|||
end;
|
||||
|
||||
procedure TGUIForm.FormResize(Sender: TObject);
|
||||
var
|
||||
h: double;
|
||||
begin
|
||||
// on form resize we need to send a size request
|
||||
h := sidecarPanel.Height;
|
||||
sidecarPanel.Width := Round(0.34 * h);
|
||||
ReposWindow;
|
||||
end;
|
||||
|
||||
|
@ -1137,6 +1587,19 @@ begin
|
|||
ShowM8;
|
||||
end;
|
||||
|
||||
procedure TGUIForm.Image1Click(Sender: TObject);
|
||||
begin
|
||||
|
||||
end;
|
||||
|
||||
procedure TGUIForm.InputClick(Sender: TObject);
|
||||
var
|
||||
value: string;
|
||||
begin
|
||||
// setup item states
|
||||
miINPAllCaps.Checked := (GetConfig( 'input/init.uppercase' ) = '1');
|
||||
end;
|
||||
|
||||
procedure TGUIForm.MenuItem15Click(Sender: TObject);
|
||||
var
|
||||
value: string;
|
||||
|
|
|
@ -37,7 +37,7 @@
|
|||
<PackageName Value="LCL"/>
|
||||
</Item3>
|
||||
</RequiredPackages>
|
||||
<Units Count="2">
|
||||
<Units Count="3">
|
||||
<Unit0>
|
||||
<Filename Value="poc.lpr"/>
|
||||
<IsPartOfProject Value="True"/>
|
||||
|
@ -49,6 +49,12 @@
|
|||
<HasResources Value="True"/>
|
||||
<ResourceBaseClass Value="Form"/>
|
||||
</Unit1>
|
||||
<Unit2>
|
||||
<Filename Value="mixer.pas"/>
|
||||
<IsPartOfProject Value="True"/>
|
||||
<ComponentName Value="frmMixer"/>
|
||||
<ResourceBaseClass Value="Form"/>
|
||||
</Unit2>
|
||||
</Units>
|
||||
</ProjectOptions>
|
||||
<CompilerOptions>
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
<PathDelim Value="\"/>
|
||||
<Version Value="11"/>
|
||||
<BuildModes Active="Default"/>
|
||||
<Units Count="3">
|
||||
<Units Count="4">
|
||||
<Unit0>
|
||||
<Filename Value="poc.lpr"/>
|
||||
<IsPartOfProject Value="True"/>
|
||||
|
@ -21,8 +21,8 @@
|
|||
<HasResources Value="True"/>
|
||||
<ResourceBaseClass Value="Form"/>
|
||||
<IsVisibleTab Value="True"/>
|
||||
<TopLine Value="782"/>
|
||||
<CursorPos X="21" Y="799"/>
|
||||
<TopLine Value="1191"/>
|
||||
<CursorPos X="33" Y="1205"/>
|
||||
<UsageCount Value="323"/>
|
||||
<Loaded Value="True"/>
|
||||
<LoadedDesigner Value="True"/>
|
||||
|
@ -32,129 +32,141 @@
|
|||
<EditorIndex Value="-1"/>
|
||||
<TopLine Value="576"/>
|
||||
<CursorPos X="49" Y="591"/>
|
||||
<UsageCount Value="136"/>
|
||||
<UsageCount Value="134"/>
|
||||
</Unit2>
|
||||
<Unit3>
|
||||
<Filename Value="mixer.pas"/>
|
||||
<IsPartOfProject Value="True"/>
|
||||
<ComponentName Value="frmMixer"/>
|
||||
<ResourceBaseClass Value="Form"/>
|
||||
<EditorIndex Value="1"/>
|
||||
<TopLine Value="3"/>
|
||||
<CursorPos X="26" Y="25"/>
|
||||
<UsageCount Value="33"/>
|
||||
<Loaded Value="True"/>
|
||||
<LoadedDesigner Value="True"/>
|
||||
</Unit3>
|
||||
</Units>
|
||||
<JumpHistory Count="30" HistoryIndex="29">
|
||||
<Position1>
|
||||
<Filename Value="main.pas"/>
|
||||
<Caret Line="620" Column="46" TopLine="602"/>
|
||||
<Caret Line="910" Column="42" TopLine="897"/>
|
||||
</Position1>
|
||||
<Position2>
|
||||
<Filename Value="main.pas"/>
|
||||
<Caret Line="621" Column="46" TopLine="603"/>
|
||||
<Caret Line="1168" TopLine="1150"/>
|
||||
</Position2>
|
||||
<Position3>
|
||||
<Filename Value="main.pas"/>
|
||||
<Caret Line="622" Column="46" TopLine="604"/>
|
||||
<Caret Line="1169" TopLine="1151"/>
|
||||
</Position3>
|
||||
<Position4>
|
||||
<Filename Value="main.pas"/>
|
||||
<Caret Line="623" Column="46" TopLine="605"/>
|
||||
<Caret Line="1170" TopLine="1152"/>
|
||||
</Position4>
|
||||
<Position5>
|
||||
<Filename Value="main.pas"/>
|
||||
<Caret Line="624" Column="46" TopLine="606"/>
|
||||
<Caret Line="1171" TopLine="1153"/>
|
||||
</Position5>
|
||||
<Position6>
|
||||
<Filename Value="main.pas"/>
|
||||
<Caret Line="213" Column="30" TopLine="190"/>
|
||||
<Caret Line="1172" TopLine="1154"/>
|
||||
</Position6>
|
||||
<Position7>
|
||||
<Filename Value="main.pas"/>
|
||||
<Caret Line="467" Column="98" TopLine="448"/>
|
||||
<Caret Line="1173" TopLine="1155"/>
|
||||
</Position7>
|
||||
<Position8>
|
||||
<Filename Value="main.pas"/>
|
||||
<Caret Line="232" Column="76" TopLine="237"/>
|
||||
<Caret Line="1174" TopLine="1156"/>
|
||||
</Position8>
|
||||
<Position9>
|
||||
<Filename Value="main.pas"/>
|
||||
<Caret Line="233" Column="76" TopLine="233"/>
|
||||
<Caret Line="1181" TopLine="1163"/>
|
||||
</Position9>
|
||||
<Position10>
|
||||
<Filename Value="main.pas"/>
|
||||
<Caret Line="234" Column="76" TopLine="234"/>
|
||||
<Caret Line="778" Column="23" TopLine="774"/>
|
||||
</Position10>
|
||||
<Position11>
|
||||
<Filename Value="main.pas"/>
|
||||
<Caret Line="235" Column="76" TopLine="235"/>
|
||||
<Caret Line="776" Column="26" TopLine="774"/>
|
||||
</Position11>
|
||||
<Position12>
|
||||
<Filename Value="main.pas"/>
|
||||
<Caret Line="236" Column="76" TopLine="236"/>
|
||||
<Caret Line="778" Column="26" TopLine="776"/>
|
||||
</Position12>
|
||||
<Position13>
|
||||
<Filename Value="main.pas"/>
|
||||
<Caret Line="238" Column="76" TopLine="238"/>
|
||||
<Caret Line="1032" Column="68" TopLine="1013"/>
|
||||
</Position13>
|
||||
<Position14>
|
||||
<Filename Value="main.pas"/>
|
||||
<Caret Line="612" Column="33" TopLine="583"/>
|
||||
<Caret Line="1035" Column="33" TopLine="1013"/>
|
||||
</Position14>
|
||||
<Position15>
|
||||
<Filename Value="main.pas"/>
|
||||
<Caret Line="610" Column="66" TopLine="591"/>
|
||||
<Caret Line="1031" TopLine="1016"/>
|
||||
</Position15>
|
||||
<Position16>
|
||||
<Filename Value="main.pas"/>
|
||||
<Caret Line="692" TopLine="674"/>
|
||||
<Caret Line="1560" Column="34" TopLine="1552"/>
|
||||
</Position16>
|
||||
<Position17>
|
||||
<Filename Value="main.pas"/>
|
||||
<Caret Line="614" Column="24" TopLine="599"/>
|
||||
<Caret Line="1562" Column="34" TopLine="1554"/>
|
||||
</Position17>
|
||||
<Position18>
|
||||
<Filename Value="main.pas"/>
|
||||
<Caret Line="192" Column="30" TopLine="174"/>
|
||||
<Caret Line="1585" Column="3" TopLine="1554"/>
|
||||
</Position18>
|
||||
<Position19>
|
||||
<Filename Value="main.pas"/>
|
||||
<Caret Line="618" Column="40" TopLine="600"/>
|
||||
<Caret Line="1586" Column="3" TopLine="1555"/>
|
||||
</Position19>
|
||||
<Position20>
|
||||
<Filename Value="main.pas"/>
|
||||
<Caret Line="183" Column="36" TopLine="158"/>
|
||||
<Caret Line="1556" TopLine="1555"/>
|
||||
</Position20>
|
||||
<Position21>
|
||||
<Filename Value="main.pas"/>
|
||||
<Caret Line="822" TopLine="804"/>
|
||||
<Caret Line="1452" Column="44" TopLine="1447"/>
|
||||
</Position21>
|
||||
<Position22>
|
||||
<Filename Value="main.pas"/>
|
||||
<Caret Line="820" Column="5" TopLine="804"/>
|
||||
<Caret Line="542" Column="3" TopLine="548"/>
|
||||
</Position22>
|
||||
<Position23>
|
||||
<Filename Value="main.pas"/>
|
||||
<Caret Line="794" Column="29" TopLine="787"/>
|
||||
<Caret Line="1343" TopLine="1324"/>
|
||||
</Position23>
|
||||
<Position24>
|
||||
<Filename Value="main.pas"/>
|
||||
<Caret Line="820" Column="5" TopLine="804"/>
|
||||
<Caret Line="1338" Column="35" TopLine="1325"/>
|
||||
</Position24>
|
||||
<Position25>
|
||||
<Filename Value="main.pas"/>
|
||||
<Caret Line="179" Column="42" TopLine="157"/>
|
||||
<Caret Line="1346" Column="20" TopLine="1325"/>
|
||||
</Position25>
|
||||
<Position26>
|
||||
<Filename Value="main.pas"/>
|
||||
<Caret Line="793" Column="48" TopLine="820"/>
|
||||
<Caret Line="1351" Column="23" TopLine="1325"/>
|
||||
</Position26>
|
||||
<Position27>
|
||||
<Filename Value="main.pas"/>
|
||||
<Caret Line="821" TopLine="802"/>
|
||||
<Caret Line="1204" Column="17" TopLine="1181"/>
|
||||
</Position27>
|
||||
<Position28>
|
||||
<Filename Value="main.pas"/>
|
||||
<Caret Line="811" Column="20" TopLine="785"/>
|
||||
<Caret Line="1217" TopLine="1186"/>
|
||||
</Position28>
|
||||
<Position29>
|
||||
<Filename Value="main.pas"/>
|
||||
<Caret Line="810" Column="6" TopLine="780"/>
|
||||
<Caret Line="1406" Column="10" TopLine="1388"/>
|
||||
</Position29>
|
||||
<Position30>
|
||||
<Filename Value="main.pas"/>
|
||||
<Caret Line="799" Column="28" TopLine="780"/>
|
||||
<Caret Line="319" Column="15" TopLine="301"/>
|
||||
</Position30>
|
||||
</JumpHistory>
|
||||
<RunParams>
|
||||
|
|
File diff suppressed because it is too large
Load Diff
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
461
main.pas
461
main.pas
|
@ -19,11 +19,113 @@ type
|
|||
|
||||
TGUIForm = class(TForm)
|
||||
backdrop: TImage;
|
||||
Image1: TImage;
|
||||
pnlContainer: TPanel;
|
||||
SideImages: TImageList;
|
||||
miWarp400: TMenuItem;
|
||||
miWarp200: TMenuItem;
|
||||
miWarp100: TMenuItem;
|
||||
miWarp50: TMenuItem;
|
||||
miWarp25: TMenuItem;
|
||||
miCPU65c02: TMenuItem;
|
||||
miCPU6502: TMenuItem;
|
||||
miDisksSwap: TMenuItem;
|
||||
miDisksDisableWarp: TMenuItem;
|
||||
miDisksConvertWOZ: TMenuItem;
|
||||
miPDFTO60s: TMenuItem;
|
||||
miPDFTO45s: TMenuItem;
|
||||
miPDFTO30s: TMenuItem;
|
||||
miPDFTO15s: TMenuItem;
|
||||
miPDFTO5s: TMenuItem;
|
||||
miPrinterPDF: TMenuItem;
|
||||
miCPUWarp: TMenuItem;
|
||||
miCPUType: TMenuItem;
|
||||
miSerialTelnetServer: TMenuItem;
|
||||
miSerialVModem: TMenuItem;
|
||||
miDisks: TMenuItem;
|
||||
miPrinter: TMenuItem;
|
||||
miCPU: TMenuItem;
|
||||
miSerial: TMenuItem;
|
||||
miHardware: TMenuItem;
|
||||
miSVOL100: TMenuItem;
|
||||
miSVOL090: TMenuItem;
|
||||
miSVOL080: TMenuItem;
|
||||
miSVOL070: TMenuItem;
|
||||
miSVOL060: TMenuItem;
|
||||
miSVOL050: TMenuItem;
|
||||
miSVOL040: TMenuItem;
|
||||
miSVOL030: TMenuItem;
|
||||
miSVOL020: TMenuItem;
|
||||
miSVOL010: TMenuItem;
|
||||
miSVOL000: TMenuItem;
|
||||
miMVOL100: TMenuItem;
|
||||
miMVOL090: TMenuItem;
|
||||
miMVOL080: TMenuItem;
|
||||
miMVOL070: TMenuItem;
|
||||
miMVOL060: TMenuItem;
|
||||
miMVOL050: TMenuItem;
|
||||
miMVOL040: TMenuItem;
|
||||
miMVOL030: TMenuItem;
|
||||
miMVOL020: TMenuItem;
|
||||
miMVOL010: TMenuItem;
|
||||
miMVOL000: TMenuItem;
|
||||
miPSG0p100: TMenuItem;
|
||||
miPSG0p75: TMenuItem;
|
||||
miPSG0p50: TMenuItem;
|
||||
miPSG0p25: TMenuItem;
|
||||
miPSG0p0: TMenuItem;
|
||||
miPSG0m25: TMenuItem;
|
||||
miPSG0m50: TMenuItem;
|
||||
miPSG0m75: TMenuItem;
|
||||
miPSG0m100: TMenuItem;
|
||||
miSNDPSG0: TMenuItem;
|
||||
miPSG1p100: TMenuItem;
|
||||
miPSG1p75: TMenuItem;
|
||||
miPSG1p50: TMenuItem;
|
||||
miPSG1p25: TMenuItem;
|
||||
miPSG1p0: TMenuItem;
|
||||
miPSG1m25: TMenuItem;
|
||||
miPSG1m50: TMenuItem;
|
||||
miPSG1m75: TMenuItem;
|
||||
miPSG1m100: TMenuItem;
|
||||
miSNDPSG1: TMenuItem;
|
||||
miSNDMockingboard: TMenuItem;
|
||||
miSNDSpeaker: TMenuItem;
|
||||
miSNDMaster: TMenuItem;
|
||||
miSNDMuted: TMenuItem;
|
||||
miAudio: TMenuItem;
|
||||
miJSYRev: TMenuItem;
|
||||
miJSXRev: TMenuItem;
|
||||
miJSAxisSwap: TMenuItem;
|
||||
miVD9: TMenuItem;
|
||||
miVD8: TMenuItem;
|
||||
miVD7: TMenuItem;
|
||||
miVD6: TMenuItem;
|
||||
miVD5: TMenuItem;
|
||||
miVD4: TMenuItem;
|
||||
miVD3: TMenuItem;
|
||||
miVD2: TMenuItem;
|
||||
miVD1: TMenuItem;
|
||||
miVD: TMenuItem;
|
||||
miAR178: TMenuItem;
|
||||
miAR162: TMenuItem;
|
||||
miAR146: TMenuItem;
|
||||
miAR100: TMenuItem;
|
||||
miAR133: TMenuItem;
|
||||
miAR: TMenuItem;
|
||||
miTMAmber: TMenuItem;
|
||||
miTMGreen: TMenuItem;
|
||||
miTMGrey: TMenuItem;
|
||||
miTMNone: TMenuItem;
|
||||
miTintMode: TMenuItem;
|
||||
N4: TMenuItem;
|
||||
N3: TMenuItem;
|
||||
N2: TMenuItem;
|
||||
miTintOff: TMenuItem;
|
||||
miTintGrey: TMenuItem;
|
||||
miTintGreen: TMenuItem;
|
||||
miTintAmber: TMenuItem;
|
||||
sidecarPanel: TPanel;
|
||||
ToolTimer: TTimer;
|
||||
TintMode: TPopupMenu;
|
||||
ToolbarIcons: TImageList;
|
||||
|
@ -129,11 +231,16 @@ type
|
|||
procedure FormShow(Sender: TObject);
|
||||
procedure FormUTF8KeyPress(Sender: TObject; var UTF8Key: TUTF8Char);
|
||||
procedure FormWindowStateChange(Sender: TObject);
|
||||
procedure Image1Click(Sender: TObject);
|
||||
procedure InputClick(Sender: TObject);
|
||||
procedure MenuItem15Click(Sender: TObject);
|
||||
procedure MenuItem16Click(Sender: TObject);
|
||||
procedure MenuItem1Click(Sender: TObject);
|
||||
procedure MenuItem2Click(Sender: TObject);
|
||||
procedure Freeze;
|
||||
procedure miAR100Click(Sender: TObject);
|
||||
procedure miARClick(Sender: TObject);
|
||||
procedure miAudioClick(Sender: TObject);
|
||||
procedure miColorDotsClick(Sender: TObject);
|
||||
procedure miColorRasterClick(Sender: TObject);
|
||||
procedure miColorVoxelsClick(Sender: TObject);
|
||||
|
@ -155,6 +262,8 @@ type
|
|||
procedure miGRRasterClick(Sender: TObject);
|
||||
procedure miGRRenderModeClick(Sender: TObject);
|
||||
procedure miGRVoxelsClick(Sender: TObject);
|
||||
procedure miINPAllCapsClick(Sender: TObject);
|
||||
procedure miINPJoystickClick(Sender: TObject);
|
||||
procedure miINPMMDDrawClick(Sender: TObject);
|
||||
procedure miINPMMDPADClick(Sender: TObject);
|
||||
procedure miINPMMGEOSClick(Sender: TObject);
|
||||
|
@ -166,18 +275,37 @@ type
|
|||
procedure miIntFPClick(Sender: TObject);
|
||||
procedure miIntINTClick(Sender: TObject);
|
||||
procedure miIntLOGOClick(Sender: TObject);
|
||||
procedure miJSAxisSwapClick(Sender: TObject);
|
||||
procedure miJSXRevClick(Sender: TObject);
|
||||
procedure miJSYRevClick(Sender: TObject);
|
||||
procedure miMonoDotsClick(Sender: TObject);
|
||||
procedure miMonoRasterClick(Sender: TObject);
|
||||
procedure miMonoVoxelsClick(Sender: TObject);
|
||||
procedure miMVOL000Click(Sender: TObject);
|
||||
procedure miPSG0m100Click(Sender: TObject);
|
||||
procedure miPSG1m100Click(Sender: TObject);
|
||||
procedure miScanLineIntClick(Sender: TObject);
|
||||
procedure miSerialClick(Sender: TObject);
|
||||
procedure miSerialVModemClick(Sender: TObject);
|
||||
procedure miSHRClick(Sender: TObject);
|
||||
procedure miSHRColorDotsClick(Sender: TObject);
|
||||
procedure miSHRColorRasterClick(Sender: TObject);
|
||||
procedure miSHRColorVoxelsClick(Sender: TObject);
|
||||
procedure miSLIClick(Sender: TObject);
|
||||
procedure miSNDMasterClick(Sender: TObject);
|
||||
procedure miSNDMutedClick(Sender: TObject);
|
||||
procedure miSNDPSG0Click(Sender: TObject);
|
||||
procedure miSNDPSG1Click(Sender: TObject);
|
||||
procedure miSNDSpeakerClick(Sender: TObject);
|
||||
procedure miSPEjectClick(Sender: TObject);
|
||||
procedure miSPFileClick(Sender: TObject);
|
||||
procedure miSVOL000Click(Sender: TObject);
|
||||
procedure miTintModeClick(Sender: TObject);
|
||||
procedure miTMNoneClick(Sender: TObject);
|
||||
procedure miVD1Click(Sender: TObject);
|
||||
procedure miVDClick(Sender: TObject);
|
||||
procedure MouseTimerTimer(Sender: TObject);
|
||||
procedure sidecarPanelResize(Sender: TObject);
|
||||
procedure tbRMClick(Sender: TObject);
|
||||
procedure tbRMColorClick(Sender: TObject);
|
||||
procedure tbTintModeClick(Sender: TObject);
|
||||
|
@ -268,6 +396,32 @@ begin
|
|||
self.hc.Get(baseUrl + '/api/control/window/freeze');
|
||||
end;
|
||||
|
||||
procedure TGUIForm.miAR100Click(Sender: TObject);
|
||||
begin
|
||||
UpdateConfig( 'video/init.aspect', TMenuItem(sender).Caption, true );
|
||||
end;
|
||||
|
||||
procedure TGUIForm.miARClick(Sender: TObject);
|
||||
var
|
||||
aspect: string;
|
||||
begin
|
||||
//
|
||||
aspect := GetConfig( 'video/init.aspect' );
|
||||
case aspect of
|
||||
'1.00': miAR100.Checked := true;
|
||||
'1.33': miAR133.Checked := true;
|
||||
'1.46': miAR146.Checked := true;
|
||||
'1.62': miAR162.Checked := true;
|
||||
'1.78': miAR178.Checked := true;
|
||||
end;
|
||||
end;
|
||||
|
||||
procedure TGUIForm.miAudioClick(Sender: TObject);
|
||||
begin
|
||||
// muted
|
||||
miSNDMuted.Checked := GetConfig('audio/init.master.mute') = '1';
|
||||
end;
|
||||
|
||||
procedure TGUIForm.miColorDotsClick(Sender: TObject);
|
||||
begin
|
||||
UpdateConfig( 'video/init.video.hgrmode', '0', true );
|
||||
|
@ -370,7 +524,7 @@ end;
|
|||
|
||||
procedure TGUIForm.miDHRMonoDotsClick(Sender: TObject);
|
||||
begin
|
||||
UpdateConfig( 'video/init.video.dhgrmode', '4', true );
|
||||
UpdateConfig( 'video/init.video.dhgrmode', '3', true );
|
||||
end;
|
||||
|
||||
procedure TGUIForm.miDHRMonoRasterClick(Sender: TObject);
|
||||
|
@ -380,7 +534,7 @@ end;
|
|||
|
||||
procedure TGUIForm.miDHRMonoVoxelsClick(Sender: TObject);
|
||||
begin
|
||||
UpdateConfig( 'video/init.video.dhgrmode', '5', true );
|
||||
UpdateConfig( 'video/init.video.dhgrmode', '4', true );
|
||||
end;
|
||||
|
||||
procedure TGUIForm.miFileCatClick(Sender: TObject);
|
||||
|
@ -414,6 +568,26 @@ begin
|
|||
UpdateConfig( 'video/init.video.grmode', '1', true );
|
||||
end;
|
||||
|
||||
procedure TGUIForm.miINPAllCapsClick(Sender: TObject);
|
||||
var
|
||||
mi: TMenuItem;
|
||||
begin
|
||||
mi := TMenuItem(sender);
|
||||
mi.Checked := not mi.Checked;
|
||||
if mi.Checked then
|
||||
UpdateConfig( 'input/init.uppercase', '1', true )
|
||||
else
|
||||
UpdateConfig( 'input/init.uppercase', '0', true );
|
||||
end;
|
||||
|
||||
procedure TGUIForm.miINPJoystickClick(Sender: TObject);
|
||||
begin
|
||||
// setup joystick menu
|
||||
miJSXRev.Checked := GetConfig( 'input/init.joystick.reversex' ) = '1';
|
||||
miJSYRev.Checked := GetConfig( 'input/init.joystick.reversey' ) = '1';
|
||||
miJSAxisSwap.Checked := GetConfig( 'input/init.joystick.axis0' ) = '1';
|
||||
end;
|
||||
|
||||
procedure TGUIForm.miINPMMJoystickClick(Sender: TObject);
|
||||
begin
|
||||
UpdateConfig('input/init.mouse', '0', true);
|
||||
|
@ -486,6 +660,38 @@ begin
|
|||
self.hc.Get(baseUrl + '/api/control/interpreter/logo');
|
||||
end;
|
||||
|
||||
procedure TGUIForm.miJSAxisSwapClick(Sender: TObject);
|
||||
var
|
||||
p0, p1: string;
|
||||
begin
|
||||
p0 := GetConfig( 'input/init.joystick.axis0' );
|
||||
p1 := GetConfig( 'input/init.joystick.axis1' );
|
||||
UpdateConfig( 'input/init.joystick.axis0', p1, true );
|
||||
UpdateConfig( 'input/init.joystick.axis1', p0, true );
|
||||
end;
|
||||
|
||||
procedure TGUIForm.miJSXRevClick(Sender: TObject);
|
||||
var
|
||||
p0: string;
|
||||
begin
|
||||
p0 := GetConfig( 'input/init.joystick.reversex' );
|
||||
if p0 = '1' then
|
||||
UpdateConfig( 'input/init.joystick.reversex', '0', true )
|
||||
else
|
||||
UpdateConfig( 'input/init.joystick.reversex', '1', true );
|
||||
end;
|
||||
|
||||
procedure TGUIForm.miJSYRevClick(Sender: TObject);
|
||||
var
|
||||
p0: string;
|
||||
begin
|
||||
p0 := GetConfig( 'input/init.joystick.reversey' );
|
||||
if p0 = '1' then
|
||||
UpdateConfig( 'input/init.joystick.reversey', '0', true )
|
||||
else
|
||||
UpdateConfig( 'input/init.joystick.reversey', '1', true );
|
||||
end;
|
||||
|
||||
procedure TGUIForm.miMonoDotsClick(Sender: TObject);
|
||||
begin
|
||||
UpdateConfig( 'video/init.video.hgrmode', '3', true );
|
||||
|
@ -501,6 +707,53 @@ begin
|
|||
UpdateConfig( 'video/init.video.hgrmode', '4', true );
|
||||
end;
|
||||
|
||||
procedure TGUIForm.miMVOL000Click(Sender: TObject);
|
||||
begin
|
||||
case TMenuItem(sender).Caption of
|
||||
'0': UpdateConfig( 'audio/init.master.volume', '0.0', true );
|
||||
'1': UpdateConfig( 'audio/init.master.volume', '0.1', true );
|
||||
'2': UpdateConfig( 'audio/init.master.volume', '0.2', true );
|
||||
'3': UpdateConfig( 'audio/init.master.volume', '0.3', true );
|
||||
'4': UpdateConfig( 'audio/init.master.volume', '0.4', true );
|
||||
'5': UpdateConfig( 'audio/init.master.volume', '0.5', true );
|
||||
'6': UpdateConfig( 'audio/init.master.volume', '0.6', true );
|
||||
'7': UpdateConfig( 'audio/init.master.volume', '0.7', true );
|
||||
'8': UpdateConfig( 'audio/init.master.volume', '0.8', true );
|
||||
'9': UpdateConfig( 'audio/init.master.volume', '0.9', true );
|
||||
'10': UpdateConfig( 'audio/init.master.volume', '1.0', true );
|
||||
end;
|
||||
end;
|
||||
|
||||
procedure TGUIForm.miPSG0m100Click(Sender: TObject);
|
||||
begin
|
||||
case TMenuItem(sender).Tag of
|
||||
-100: UpdateConfig( 'audio/init.mockingboard.psg0balance', '-1.00', true );
|
||||
-75: UpdateConfig( 'audio/init.mockingboard.psg0balance', '-0.75', true );
|
||||
-50: UpdateConfig( 'audio/init.mockingboard.psg0balance', '-0.50', true );
|
||||
-25: UpdateConfig( 'audio/init.mockingboard.psg0balance', '-0.25', true );
|
||||
0: UpdateConfig( 'audio/init.mockingboard.psg0balance', '0.00', true );
|
||||
25: UpdateConfig( 'audio/init.mockingboard.psg0balance', '0.25', true );
|
||||
50: UpdateConfig( 'audio/init.mockingboard.psg0balance', '0.50', true );
|
||||
75: UpdateConfig( 'audio/init.mockingboard.psg0balance', '0.75', true );
|
||||
100: UpdateConfig( 'audio/init.mockingboard.psg0balance', '1.00', true );
|
||||
end;
|
||||
end;
|
||||
|
||||
procedure TGUIForm.miPSG1m100Click(Sender: TObject);
|
||||
begin
|
||||
case TMenuItem(sender).Tag of
|
||||
-100: UpdateConfig( 'audio/init.mockingboard.psg1balance', '-1.00', true );
|
||||
-75: UpdateConfig( 'audio/init.mockingboard.psg1balance', '-0.75', true );
|
||||
-50: UpdateConfig( 'audio/init.mockingboard.psg1balance', '-0.50', true );
|
||||
-25: UpdateConfig( 'audio/init.mockingboard.psg1balance', '-0.25', true );
|
||||
0: UpdateConfig( 'audio/init.mockingboard.psg1balance', '0.00', true );
|
||||
25: UpdateConfig( 'audio/init.mockingboard.psg1balance', '0.25', true );
|
||||
50: UpdateConfig( 'audio/init.mockingboard.psg1balance', '0.50', true );
|
||||
75: UpdateConfig( 'audio/init.mockingboard.psg1balance', '0.75', true );
|
||||
100: UpdateConfig( 'audio/init.mockingboard.psg1balance', '1.00', true );
|
||||
end;
|
||||
end;
|
||||
|
||||
procedure TGUIForm.miScanLineIntClick(Sender: TObject);
|
||||
var
|
||||
value: string;
|
||||
|
@ -525,6 +778,32 @@ begin
|
|||
end;
|
||||
end;
|
||||
|
||||
procedure TGUIForm.miSerialClick(Sender: TObject);
|
||||
var
|
||||
mode: string;
|
||||
ovr: string;
|
||||
begin
|
||||
{ get serial card option }
|
||||
mode := GetConfig( 'hardware/init.serial.mode' );
|
||||
ovr := GetConfig( 'override/ssc.disable.telnet' );
|
||||
if ovr = '1' then
|
||||
begin
|
||||
miSerialVModem.Checked := true;
|
||||
miSerialTelnetServer.Visible := false;
|
||||
end
|
||||
else
|
||||
begin
|
||||
miSerialVModem.Checked := (mode = '0');
|
||||
miSerialTelnetServer.Visible := true;
|
||||
miSerialTelnetServer.Checked := (mode = '1');
|
||||
end;
|
||||
end;
|
||||
|
||||
procedure TGUIForm.miSerialVModemClick(Sender: TObject);
|
||||
begin
|
||||
UpdateConfig( 'hardware/init.serial.mode', IntToStr(TMenuItem(sender).Tag), true );
|
||||
end;
|
||||
|
||||
procedure TGUIForm.miSHRClick(Sender: TObject);
|
||||
var
|
||||
value: string;
|
||||
|
@ -566,6 +845,80 @@ begin
|
|||
UpdateConfig( 'video/init.video.scanline', values[StrToInt(TMenuItem(Sender).Caption)], true );
|
||||
end;
|
||||
|
||||
procedure TGUIForm.miSNDMasterClick(Sender: TObject);
|
||||
begin
|
||||
case GetConfig( 'audio/init.master.volume' ) of
|
||||
'0.00': miMVOL000.Checked := true;
|
||||
'0.10': miMVOL010.Checked := true;
|
||||
'0.20': miMVOL020.Checked := true;
|
||||
'0.30': miMVOL030.Checked := true;
|
||||
'0.40': miMVOL040.Checked := true;
|
||||
'0.50': miMVOL050.Checked := true;
|
||||
'0.60': miMVOL060.Checked := true;
|
||||
'0.70': miMVOL070.Checked := true;
|
||||
'0.80': miMVOL080.Checked := true;
|
||||
'0.90': miMVOL090.Checked := true;
|
||||
'1.00': miMVOL100.Checked := true;
|
||||
end;
|
||||
end;
|
||||
|
||||
procedure TGUIForm.miSNDMutedClick(Sender: TObject);
|
||||
begin
|
||||
if GetConfig('audio/init.master.mute') = '1' then
|
||||
UpdateConfig( 'audio/init.master.mute', '0', false )
|
||||
else
|
||||
UpdateConfig( 'audio/init.master.mute', '1', false );
|
||||
end;
|
||||
|
||||
procedure TGUIForm.miSNDPSG0Click(Sender: TObject);
|
||||
begin
|
||||
// get psg 1 balance ...
|
||||
case GetConfig( 'audio/init.mockingboard.psg0balance' ) of
|
||||
'-1.00': miPSG0m100.Checked := true;
|
||||
'-0.75': miPSG0m75.Checked := true;
|
||||
'-0.50': miPSG0m50.Checked := true;
|
||||
'-0.25': miPSG0m25.Checked := true;
|
||||
'0.00': miPSG0p0.Checked := true;
|
||||
'0.25': miPSG0p25.Checked := true;
|
||||
'0.50': miPSG0p50.Checked := true;
|
||||
'0.75': miPSG0p75.Checked := true;
|
||||
'1.00': miPSG0p100.Checked := true;
|
||||
end;
|
||||
end;
|
||||
|
||||
procedure TGUIForm.miSNDPSG1Click(Sender: TObject);
|
||||
begin
|
||||
// get psg 1 balance ...
|
||||
case GetConfig( 'audio/init.mockingboard.psg1balance' ) of
|
||||
'-1.00': miPSG1m100.Checked := true;
|
||||
'-0.75': miPSG1m75.Checked := true;
|
||||
'-0.50': miPSG1m50.Checked := true;
|
||||
'-0.25': miPSG1m25.Checked := true;
|
||||
'0.00': miPSG1p0.Checked := true;
|
||||
'0.25': miPSG1p25.Checked := true;
|
||||
'0.50': miPSG1p50.Checked := true;
|
||||
'0.75': miPSG1p75.Checked := true;
|
||||
'1.00': miPSG1p100.Checked := true;
|
||||
end;
|
||||
end;
|
||||
|
||||
procedure TGUIForm.miSNDSpeakerClick(Sender: TObject);
|
||||
begin
|
||||
case GetConfig( 'audio/init.speaker.volume' ) of
|
||||
'0.00': miSVOL000.Checked := true;
|
||||
'0.10': miSVOL010.Checked := true;
|
||||
'0.20': miSVOL020.Checked := true;
|
||||
'0.30': miSVOL030.Checked := true;
|
||||
'0.40': miSVOL040.Checked := true;
|
||||
'0.50': miSVOL050.Checked := true;
|
||||
'0.60': miSVOL060.Checked := true;
|
||||
'0.70': miSVOL070.Checked := true;
|
||||
'0.80': miSVOL080.Checked := true;
|
||||
'0.90': miSVOL090.Checked := true;
|
||||
'1.00': miSVOL100.Checked := true;
|
||||
end;
|
||||
end;
|
||||
|
||||
procedure TGUIForm.miSPEjectClick(Sender: TObject);
|
||||
begin
|
||||
self.hc.Get(baseUrl + '/api/control/hardware/disk/eject/2');
|
||||
|
@ -582,6 +935,79 @@ begin
|
|||
ShowM8;
|
||||
end;
|
||||
|
||||
procedure TGUIForm.miSVOL000Click(Sender: TObject);
|
||||
begin
|
||||
case TMenuItem(sender).Caption of
|
||||
'0': UpdateConfig( 'audio/init.speaker.volume', '0.0', true );
|
||||
'1': UpdateConfig( 'audio/init.speaker.volume', '0.1', true );
|
||||
'2': UpdateConfig( 'audio/init.speaker.volume', '0.2', true );
|
||||
'3': UpdateConfig( 'audio/init.speaker.volume', '0.3', true );
|
||||
'4': UpdateConfig( 'audio/init.speaker.volume', '0.4', true );
|
||||
'5': UpdateConfig( 'audio/init.speaker.volume', '0.5', true );
|
||||
'6': UpdateConfig( 'audio/init.speaker.volume', '0.6', true );
|
||||
'7': UpdateConfig( 'audio/init.speaker.volume', '0.7', true );
|
||||
'8': UpdateConfig( 'audio/init.speaker.volume', '0.8', true );
|
||||
'9': UpdateConfig( 'audio/init.speaker.volume', '0.9', true );
|
||||
'10': UpdateConfig( 'audio/init.speaker.volume', '1.0', true );
|
||||
end;
|
||||
end;
|
||||
|
||||
procedure TGUIForm.miTintModeClick(Sender: TObject);
|
||||
var
|
||||
t: integer;
|
||||
begin
|
||||
t := StrToInt( GetConfig( 'video/init.video.tintmode') );
|
||||
case t of
|
||||
0: miTMNone.Checked := true;
|
||||
1: miTMGrey.Checked := true;
|
||||
2: miTMGreen.Checked := true;
|
||||
3: miTMAmber.Checked := true;
|
||||
end;
|
||||
end;
|
||||
|
||||
procedure TGUIForm.miTMNoneClick(Sender: TObject);
|
||||
var
|
||||
t: integer;
|
||||
s: TMenuItem;
|
||||
begin
|
||||
t := 0;
|
||||
s := TMenuItem(sender);
|
||||
if s.Caption = 'Grey' then
|
||||
t := 1
|
||||
else if s.Caption = 'Green' then
|
||||
t := 2
|
||||
else if s.Caption = 'Amber' then
|
||||
t := 3;
|
||||
UpdateConfig( 'video/init.video.tintmode', IntToStr(t), true );
|
||||
UpdateTintMode;
|
||||
end;
|
||||
|
||||
procedure TGUIForm.miVD1Click(Sender: TObject);
|
||||
var
|
||||
i: integer;
|
||||
begin
|
||||
i := StrToInt(Copy( TMenuItem(sender).Caption, 1, 1 )) - 1;
|
||||
UpdateConfig( 'video/init.video.voxeldepth', IntToStr(i), true );
|
||||
end;
|
||||
|
||||
procedure TGUIForm.miVDClick(Sender: TObject);
|
||||
var
|
||||
i: integer;
|
||||
begin
|
||||
i := StrToInt( GetConfig('video/init.video.voxeldepth') );
|
||||
case i of
|
||||
0: miVD1.Checked := true;
|
||||
1: miVD2.Checked := true;
|
||||
2: miVD3.Checked := true;
|
||||
3: miVD4.Checked := true;
|
||||
4: miVD5.Checked := true;
|
||||
5: miVD6.Checked := true;
|
||||
6: miVD7.Checked := true;
|
||||
7: miVD8.Checked := true;
|
||||
8: miVD9.Checked := true;
|
||||
end;
|
||||
end;
|
||||
|
||||
procedure TGUIForm.MouseTimerTimer(Sender: TObject);
|
||||
var
|
||||
x, y: longint;
|
||||
|
@ -605,6 +1031,14 @@ begin
|
|||
end;
|
||||
end;
|
||||
|
||||
procedure TGUIForm.sidecarPanelResize(Sender: TObject);
|
||||
var
|
||||
h: double;
|
||||
begin
|
||||
h := sidecarPanel.Height;
|
||||
sidecarPanel.Width := Round(0.34 * h);
|
||||
end;
|
||||
|
||||
procedure TGUIForm.UpdateRenderMode;
|
||||
var
|
||||
t: integer;
|
||||
|
@ -904,7 +1338,11 @@ begin
|
|||
end;
|
||||
|
||||
procedure TGUIForm.FormChangeBounds(Sender: TObject);
|
||||
var
|
||||
h: double;
|
||||
begin
|
||||
h := sidecarPanel.Height;
|
||||
sidecarPanel.Width := Round(0.34 * h);
|
||||
self.ReposWindow;
|
||||
end;
|
||||
|
||||
|
@ -965,6 +1403,7 @@ begin
|
|||
//StatusBar1.SimpleText := 'App is refocussing';
|
||||
lastShowTime := Now();
|
||||
end;
|
||||
ReposWindow;
|
||||
end;
|
||||
|
||||
procedure TGUIForm.FormCreate(Sender: TObject);
|
||||
|
@ -1120,8 +1559,11 @@ begin
|
|||
end;
|
||||
|
||||
procedure TGUIForm.FormResize(Sender: TObject);
|
||||
var
|
||||
h: double;
|
||||
begin
|
||||
// on form resize we need to send a size request
|
||||
h := sidecarPanel.Height;
|
||||
sidecarPanel.Width := Round(0.34 * h);
|
||||
ReposWindow;
|
||||
end;
|
||||
|
||||
|
@ -1145,6 +1587,19 @@ begin
|
|||
ShowM8;
|
||||
end;
|
||||
|
||||
procedure TGUIForm.Image1Click(Sender: TObject);
|
||||
begin
|
||||
|
||||
end;
|
||||
|
||||
procedure TGUIForm.InputClick(Sender: TObject);
|
||||
var
|
||||
value: string;
|
||||
begin
|
||||
// setup item states
|
||||
miINPAllCaps.Checked := (GetConfig( 'input/init.uppercase' ) = '1');
|
||||
end;
|
||||
|
||||
procedure TGUIForm.MenuItem15Click(Sender: TObject);
|
||||
var
|
||||
value: string;
|
||||
|
|
8
poc.lpi
8
poc.lpi
|
@ -37,7 +37,7 @@
|
|||
<PackageName Value="LCL"/>
|
||||
</Item3>
|
||||
</RequiredPackages>
|
||||
<Units Count="2">
|
||||
<Units Count="3">
|
||||
<Unit0>
|
||||
<Filename Value="poc.lpr"/>
|
||||
<IsPartOfProject Value="True"/>
|
||||
|
@ -49,6 +49,12 @@
|
|||
<HasResources Value="True"/>
|
||||
<ResourceBaseClass Value="Form"/>
|
||||
</Unit1>
|
||||
<Unit2>
|
||||
<Filename Value="mixer.pas"/>
|
||||
<IsPartOfProject Value="True"/>
|
||||
<ComponentName Value="frmMixer"/>
|
||||
<ResourceBaseClass Value="Form"/>
|
||||
</Unit2>
|
||||
</Units>
|
||||
</ProjectOptions>
|
||||
<CompilerOptions>
|
||||
|
|
3
poc.lpr
3
poc.lpr
|
@ -7,7 +7,7 @@ uses
|
|||
cthreads,
|
||||
{$ENDIF}{$ENDIF}
|
||||
Interfaces, // this includes the LCL widgetset
|
||||
Forms, lazopenglcontext, indylaz, main
|
||||
Forms, lazopenglcontext, indylaz, main, mixer
|
||||
{ you can add units after this };
|
||||
|
||||
{$R *.res}
|
||||
|
@ -17,6 +17,7 @@ begin
|
|||
Application.Scaled:=True;
|
||||
Application.Initialize;
|
||||
Application.CreateForm(TGUIForm, GUIForm);
|
||||
Application.CreateForm(TfrmMixer, frmMixer);
|
||||
Application.Run;
|
||||
end.
|
||||
|
||||
|
|
80
poc.lps
80
poc.lps
|
@ -4,7 +4,7 @@
|
|||
<PathDelim Value="\"/>
|
||||
<Version Value="11"/>
|
||||
<BuildModes Active="Default"/>
|
||||
<Units Count="3">
|
||||
<Units Count="4">
|
||||
<Unit0>
|
||||
<Filename Value="poc.lpr"/>
|
||||
<IsPartOfProject Value="True"/>
|
||||
|
@ -21,8 +21,8 @@
|
|||
<HasResources Value="True"/>
|
||||
<ResourceBaseClass Value="Form"/>
|
||||
<IsVisibleTab Value="True"/>
|
||||
<TopLine Value="239"/>
|
||||
<CursorPos X="5" Y="260"/>
|
||||
<TopLine Value="1152"/>
|
||||
<CursorPos X="51" Y="1168"/>
|
||||
<UsageCount Value="323"/>
|
||||
<Loaded Value="True"/>
|
||||
<LoadedDesigner Value="True"/>
|
||||
|
@ -32,129 +32,141 @@
|
|||
<EditorIndex Value="-1"/>
|
||||
<TopLine Value="576"/>
|
||||
<CursorPos X="49" Y="591"/>
|
||||
<UsageCount Value="136"/>
|
||||
<UsageCount Value="134"/>
|
||||
</Unit2>
|
||||
<Unit3>
|
||||
<Filename Value="mixer.pas"/>
|
||||
<IsPartOfProject Value="True"/>
|
||||
<ComponentName Value="frmMixer"/>
|
||||
<ResourceBaseClass Value="Form"/>
|
||||
<EditorIndex Value="1"/>
|
||||
<TopLine Value="3"/>
|
||||
<CursorPos X="26" Y="25"/>
|
||||
<UsageCount Value="33"/>
|
||||
<Loaded Value="True"/>
|
||||
<LoadedDesigner Value="True"/>
|
||||
</Unit3>
|
||||
</Units>
|
||||
<JumpHistory Count="30" HistoryIndex="29">
|
||||
<Position1>
|
||||
<Filename Value="main.pas"/>
|
||||
<Caret Line="820" Column="5" TopLine="804"/>
|
||||
<Caret Line="1169" TopLine="1151"/>
|
||||
</Position1>
|
||||
<Position2>
|
||||
<Filename Value="main.pas"/>
|
||||
<Caret Line="179" Column="42" TopLine="157"/>
|
||||
<Caret Line="1170" TopLine="1152"/>
|
||||
</Position2>
|
||||
<Position3>
|
||||
<Filename Value="main.pas"/>
|
||||
<Caret Line="793" Column="48" TopLine="820"/>
|
||||
<Caret Line="1171" TopLine="1153"/>
|
||||
</Position3>
|
||||
<Position4>
|
||||
<Filename Value="main.pas"/>
|
||||
<Caret Line="821" TopLine="802"/>
|
||||
<Caret Line="1172" TopLine="1154"/>
|
||||
</Position4>
|
||||
<Position5>
|
||||
<Filename Value="main.pas"/>
|
||||
<Caret Line="811" Column="20" TopLine="785"/>
|
||||
<Caret Line="1173" TopLine="1155"/>
|
||||
</Position5>
|
||||
<Position6>
|
||||
<Filename Value="main.pas"/>
|
||||
<Caret Line="810" Column="6" TopLine="780"/>
|
||||
<Caret Line="1174" TopLine="1156"/>
|
||||
</Position6>
|
||||
<Position7>
|
||||
<Filename Value="main.pas"/>
|
||||
<Caret Line="799" Column="21" TopLine="782"/>
|
||||
<Caret Line="1181" TopLine="1163"/>
|
||||
</Position7>
|
||||
<Position8>
|
||||
<Filename Value="main.pas"/>
|
||||
<Caret Line="837" Column="20" TopLine="818"/>
|
||||
<Caret Line="778" Column="23" TopLine="774"/>
|
||||
</Position8>
|
||||
<Position9>
|
||||
<Filename Value="main.pas"/>
|
||||
<Caret Line="772" Column="20" TopLine="753"/>
|
||||
<Caret Line="776" Column="26" TopLine="774"/>
|
||||
</Position9>
|
||||
<Position10>
|
||||
<Filename Value="main.pas"/>
|
||||
<Caret Line="777" Column="20" TopLine="758"/>
|
||||
<Caret Line="778" Column="26" TopLine="776"/>
|
||||
</Position10>
|
||||
<Position11>
|
||||
<Filename Value="main.pas"/>
|
||||
<Caret Line="182" Column="23" TopLine="167"/>
|
||||
<Caret Line="1032" Column="68" TopLine="1013"/>
|
||||
</Position11>
|
||||
<Position12>
|
||||
<Filename Value="main.pas"/>
|
||||
<Caret Line="772" Column="20" TopLine="754"/>
|
||||
<Caret Line="1035" Column="33" TopLine="1013"/>
|
||||
</Position12>
|
||||
<Position13>
|
||||
<Filename Value="main.pas"/>
|
||||
<Caret Line="837" Column="28" TopLine="812"/>
|
||||
<Caret Line="1031" TopLine="1016"/>
|
||||
</Position13>
|
||||
<Position14>
|
||||
<Filename Value="main.pas"/>
|
||||
<Caret Line="839" Column="59" TopLine="812"/>
|
||||
<Caret Line="1560" Column="34" TopLine="1552"/>
|
||||
</Position14>
|
||||
<Position15>
|
||||
<Filename Value="main.pas"/>
|
||||
<Caret Line="182" Column="23" TopLine="164"/>
|
||||
<Caret Line="1562" Column="34" TopLine="1554"/>
|
||||
</Position15>
|
||||
<Position16>
|
||||
<Filename Value="main.pas"/>
|
||||
<Caret Line="770" Column="5" TopLine="741"/>
|
||||
<Caret Line="1585" Column="3" TopLine="1554"/>
|
||||
</Position16>
|
||||
<Position17>
|
||||
<Filename Value="main.pas"/>
|
||||
<Caret Line="837" Column="26" TopLine="818"/>
|
||||
<Caret Line="1586" Column="3" TopLine="1555"/>
|
||||
</Position17>
|
||||
<Position18>
|
||||
<Filename Value="main.pas"/>
|
||||
<Caret Line="1108" Column="9" TopLine="1077"/>
|
||||
<Caret Line="1556" TopLine="1555"/>
|
||||
</Position18>
|
||||
<Position19>
|
||||
<Filename Value="main.pas"/>
|
||||
<Caret Line="1268" Column="12" TopLine="1237"/>
|
||||
<Caret Line="1452" Column="44" TopLine="1447"/>
|
||||
</Position19>
|
||||
<Position20>
|
||||
<Filename Value="main.pas"/>
|
||||
<Caret Line="183" Column="21" TopLine="165"/>
|
||||
<Caret Line="542" Column="3" TopLine="548"/>
|
||||
</Position20>
|
||||
<Position21>
|
||||
<Filename Value="main.pas"/>
|
||||
<Caret Line="250" Column="15" TopLine="219"/>
|
||||
<Caret Line="1343" TopLine="1324"/>
|
||||
</Position21>
|
||||
<Position22>
|
||||
<Filename Value="main.pas"/>
|
||||
<Caret Line="443" Column="12" TopLine="412"/>
|
||||
<Caret Line="1338" Column="35" TopLine="1325"/>
|
||||
</Position22>
|
||||
<Position23>
|
||||
<Filename Value="main.pas"/>
|
||||
<Caret Line="459" Column="9" TopLine="428"/>
|
||||
<Caret Line="1346" Column="20" TopLine="1325"/>
|
||||
</Position23>
|
||||
<Position24>
|
||||
<Filename Value="main.pas"/>
|
||||
<Caret Line="726" Column="9" TopLine="695"/>
|
||||
<Caret Line="1351" Column="23" TopLine="1325"/>
|
||||
</Position24>
|
||||
<Position25>
|
||||
<Filename Value="main.pas"/>
|
||||
<Caret Line="770" Column="5" TopLine="741"/>
|
||||
<Caret Line="1204" Column="17" TopLine="1181"/>
|
||||
</Position25>
|
||||
<Position26>
|
||||
<Filename Value="main.pas"/>
|
||||
<Caret Line="842" Column="37" TopLine="834"/>
|
||||
<Caret Line="1217" TopLine="1186"/>
|
||||
</Position26>
|
||||
<Position27>
|
||||
<Filename Value="main.pas"/>
|
||||
<Caret Line="770" Column="5" TopLine="753"/>
|
||||
<Caret Line="1406" Column="10" TopLine="1388"/>
|
||||
</Position27>
|
||||
<Position28>
|
||||
<Filename Value="main.pas"/>
|
||||
<Caret Line="847" Column="33" TopLine="822"/>
|
||||
<Caret Line="319" Column="15" TopLine="301"/>
|
||||
</Position28>
|
||||
<Position29>
|
||||
<Filename Value="main.pas"/>
|
||||
<Caret Line="258" Column="5" TopLine="237"/>
|
||||
<Caret Line="1205" Column="33" TopLine="1191"/>
|
||||
</Position29>
|
||||
<Position30>
|
||||
<Filename Value="main.pas"/>
|
||||
<Caret Line="259" Column="5" TopLine="238"/>
|
||||
<Caret Line="1171" Column="20" TopLine="1152"/>
|
||||
</Position30>
|
||||
</JumpHistory>
|
||||
<RunParams>
|
||||
|
|
Loading…
Reference in New Issue
Block a user