3 * Modified by K.Ohta <whatisthis.sowhat _at_ gmail.com>
4 * Please use this file as templete.
7 #ifndef _CSP_QT_MAINWIDGET_BASE_H
8 #define _CSP_QT_MAINWIDGET_BASE_H
12 #include <QApplication>
13 #include <QMainWindow>
16 #include <QStringList>
22 #include "menu_flags.h"
23 #include "csp_logger.h"
25 class DLL_PREFIX_I MOVIE_SAVER;
28 #define _MAX_DEBUGGER 8
31 CSP_MAINWIDGET_SAVE_MOVIE_STOP = 0,
32 CSP_MAINWIDGET_SAVE_MOVIE_15FPS = 1,
33 CSP_MAINWIDGET_SAVE_MOVIE_24FPS,
34 CSP_MAINWIDGET_SAVE_MOVIE_30FPS,
35 CSP_MAINWIDGET_SAVE_MOVIE_60FPS,
36 CSP_MAINWIDGET_SAVE_MOVIE_END,
39 #define MAX_RENDER_PLATFORMS 8
42 RENDER_PLATFORMS_OPENGL3_MAIN = 0,
43 RENDER_PLATFORMS_OPENGL2_MAIN,
44 RENDER_PLATFORMS_OPENGL_CORE,
51 #define SET_ACTION_SINGLE(__action,__checkable,__enabled,__cfgif) \
52 __action = new Action_Control(this, using_flags); \
53 __action->setCheckable(__checkable); \
54 __action->setEnabled(__enabled); \
55 __action->setChecked(false); \
57 __action->setChecked(true); \
60 #define SET_ACTION_CHECKABLE_SINGLE_CONNECT(__menu,__action,__objname,__cond,__signal1,__slot1) \
61 __action = new Action_Control(this, using_flags); \
62 __action->setObjectName(QString::fromUtf8(__objname)); \
63 __action->setCheckable(true); \
64 if(__cond) __action->setChecked(true); \
65 connect(__action, __signal1, this, __slot1); \
66 __menu->addAction(__action);
69 #define SET_HELP_MENUENTRY(__menu,__action,__objname,__txtname) \
70 __action = new Action_Control(this, using_flags); \
71 __action->setObjectName(QString::fromUtf8(__objname)); \
72 __action->do_set_string(QString::fromUtf8(__txtname)); \
73 connect(__action, SIGNAL(triggered()), __action, SLOT(do_send_string())); \
74 connect(__action, SIGNAL(sig_send_string(QString)), this, SLOT(do_browse_document(QString))); \
75 __menu->addAction(__action);
78 #define SET_ACTION_CONTROL_ARRAY(__start,__end, \
79 __parent,__using_flags, \
81 __checkable,__enabled,__cnf, \
84 for(int _i = __start; _i < __end; _i++) { \
85 __action[_i] = new Action_Control(__parent, __using_flags); \
86 __action[_i]->setCheckable(__checkable); \
87 __action[_i]->setEnabled(__enabled); \
88 __action[_i]->binds->setValue1(_i); \
89 __menu->addAction(__action[_i]); \
90 if(using_flags->get_config_ptr()->__cnf[_i][0]) __action[_i]->setChecked(true); \
91 connect(__action[_i], __signal1, __action[_i], __slot1); \
92 connect(__action[_i], __signal2, this, __slot2); \
101 class QGraphicsScene;
107 class QGraphicsEllipseItem;
113 class Ui_SoundDialog;
115 class Action_Control;
116 class Menu_MetaClass;
119 class Menu_CartClass;
121 class Menu_BinaryClass;
122 class Menu_BubbleClass;
123 class Menu_CompactDiscClass;
124 class Menu_LaserdiscClass;
127 class EmuThreadClass;
128 class DLL_PREFIX Ui_MainWindowBase : public QMainWindow
136 QIcon RecordSoundIcon;
139 QIcon VolumeMutedIcon;
142 QIcon VolumeHighIcon;
145 QActionGroup *actionGroup_CpuSpeed;
146 class Action_Control *actionSpeed_x1;
147 class Action_Control *actionSpeed_x2;
148 class Action_Control *actionSpeed_x4;
149 class Action_Control *actionSpeed_x8;
150 class Action_Control *actionSpeed_x16;
151 class Action_Control *actionPaste_from_Clipboard;
152 class Action_Control *actionStop_Pasting;
153 QMenu *menuSave_State;
154 QMenu *menuLoad_State;
157 QActionGroup *actionGroup_Stretch;
158 QActionGroup *actionGroup_SetRenderPlatform;
159 class Action_Control *action_ScreenSeparateThread;
160 class Action_Control *actionZoom;
161 class Action_Control *actionDisplay_Mode;
162 class Action_Control *actionScanLine;
163 class Action_Control *actionGLScanLineHoriz;
164 class Action_Control *actionGLScanLineVert;
165 class Action_Control *actionRotate;
166 class Action_Control *actionCRT_Filter;
167 class Action_Control *actionOpenGL_Filter;
168 class Action_Control *actionDot_by_Dot;
169 class Action_Control *actionReferToX_Display;
170 class Action_Control *actionReferToY_Display;
171 class Action_Control *actionFill_Display;
172 QActionGroup *actionGroup_ScreenSize;
173 QActionGroup *actionGroup_RenderMode;
176 QActionGroup *actionGroup_Sound_Freq;
177 QActionGroup *actionGroup_Sound_Latency;
178 //class Action_Control *actionSoundCMT;
179 class Action_Control *action_VolumeDialog;
180 class Action_Control *actionSoundPlayTape;
181 class Action_Control *actionSoundStrictRendering;
182 class Action_Control *action_SoundFilesFDD;
183 class Action_Control *action_SoundFilesRelay;
184 //QMenu *menuLogToConsole;
185 //QMenu *menuLogToSyslog;
186 QMenu *menuDevLogToConsole;
187 QMenu *menuDevLogToSyslog;
188 QMenu *menu_SetRenderPlatform;
191 QMenu *menu_DispVirtualMedias;
192 QActionGroup *actionGroup_DispVirtualMedias;
193 class Action_Control *action_DispVirtualMedias[5];
194 class Action_Control *action_FocusWithClick;
195 class Action_Control *action_UseRomaKana;
196 class Action_Control *action_NumPadEnterAsFullkey;
197 class Action_Control *action_Logging_FDC;
198 class Action_Control *action_LogToSyslog;
199 class Action_Control *action_LogToConsole;
200 class Action_Control *action_LogRecord;
201 class Action_Control *action_DevLogToSyslog[CSP_LOG_TYPE_VM_DEVICE_END - CSP_LOG_TYPE_VM_DEVICE_0 + 1];
202 class Action_Control *action_DevLogToConsole[CSP_LOG_TYPE_VM_DEVICE_END - CSP_LOG_TYPE_VM_DEVICE_0 + 1];
203 class Action_Control *action_DevLogRecord[CSP_LOG_TYPE_VM_DEVICE_END - CSP_LOG_TYPE_VM_DEVICE_0 + 1];
205 class Action_Control *action_SetupJoystick;
206 class Action_Control *action_SetupKeyboard;
207 class Action_Control *action_LogView;
209 QMenu *menu_EmulateCursorAs;
210 QActionGroup *actionGroup_EmulateCursorAs;
211 class Action_Control *action_EmulateCursorAs[4];
214 class Action_Control *actionHelp_README_BIOS;
215 class Action_Control *actionHelp_README;
216 class Action_Control *actionHelp_README_QT;
217 class Action_Control *actionHelp_README_MR_TANAM;
218 class Action_Control *actionHelp_README_Artane;
219 class Action_Control *actionHelp_README_Umaiboux;
220 class Action_Control *actionHelp_README_FAQ;
221 class Action_Control *actionHelp_README_FAQ_JP;
222 class Action_Control *actionHelp_README_FM7;
223 class Action_Control *actionHelp_README_FM7_JP;
224 class Action_Control *actionHelp_History;
225 class Action_Control *actionHelp_History_Relnote;
226 class Action_Control *actionHelp_History_ChangeLog;
227 class Action_Control *actionHelp_History_MR_TANAM;
228 class Action_Control *actionHelp_License;
229 class Action_Control *actionHelp_License_JP;
233 bool flags_led_bak[32];
234 QGraphicsView *led_graphicsView;
235 QGraphicsScene *led_gScene;
236 QGraphicsEllipseItem *led_leds[32];
237 uint32_t osd_led_data;
240 void ConfigCpuSpeed(void);
241 void ConfigControlMenu(void);
242 void connectActions_ControlMenu(void);
243 void ConfigFloppyMenu(void);
244 void ConfigSoundMenu(void);
245 void CreateSoundMenu(void);
247 void CreateEmulatorMenu(void);
248 void ConfigEmulatorMenu(void);
250 void CreateFloppyMenu(int drv, int drv_base);
251 void CreateFloppyPulldownMenu(int drv);
252 void ConfigFloppyMenuSub(int drv);
254 void CreateBubbleMenu(int drv, int drv_base);
255 void CreateBubblePulldownMenu(int drv);
256 void ConfigBubbleMenuSub(int drv);
257 void ConfigBubbleMenu(void);
259 void CreateCMTMenu(int drive);
260 void ConfigCMTMenu(void);
262 void ConfigQuickDiskMenu(void);
263 void ConfigQuickDiskMenuSub(int drv);
264 void CreateQuickDiskPulldownMenu(int drv);
265 void CreateQuickDiskMenu(int drv, int drv_base);
267 void CreateCartMenu(int drv, int drv_base);
268 void CreateCartPulldownMenu(int drv);
269 void ConfigCartMenuSub(int drv);
270 void ConfigCartMenu(void);
272 void CreateCDROMMenu(void);
273 void ConfigCDROMMenu(void);
274 void ConfigCDROMMenuSub(void);
275 void CreateCDROMPulldownMenu(void);
277 void CreateLaserdiscMenu(void);
278 void ConfigLaserdiscMenu(void);
279 void ConfigLaserdiscMenuSub(void);
280 void CreateLaserdiscPulldownMenu(void);
282 void ConfigBinaryMenu(void);
283 void ConfigScreenMenu(void);
284 void ConfigScreenMenu_List(void);
285 void CreateScreenMenu(void);
286 void ConfigDeviceType(void);
287 void ConfigKeyboardType(void);
288 void ConfigJoystickType(void);
289 void ConfigMouseType(void);
290 void ConfigDriveType(void);
291 void ConfigSoundDeviceType(void);
292 void ConfigPrinterType(void);
295 int Calc_OSD_Wfactor(void);
297 USING_FLAGS *using_flags;
299 CSP_Logger *csp_logger;
300 QMainWindow *MainWindow;
301 QApplication *CoreApplication;
303 GLDrawClass *graphicsView;
304 CSP_DockDisks *driveData;
305 QWidget *pCentralWidget;
306 QVBoxLayout *pCentralLayout;
307 QStatusBar *statusbar;
310 QTimer *statusUpdateTimer;
311 QTimer *ledUpdateTimer;
313 int screen_mode_count;
315 QStringList listCARTs[8];
316 QStringList listQDs[8];
317 QStringList listCMT[8];
318 bool cmt_write_protect[8];
319 QStringList listCDROM;
320 QStringList listLaserdisc;
321 QStringList listBINs[8];
322 QStringList listFDs[16];
323 QStringList listD88[16];
324 QStringList listBubbles[8];
325 QStringList listB77[8];
328 QActionGroup *actionGroup_BootMode;
329 QActionGroup *actionGroup_CpuType;
330 class Action_Control *actionReset;
331 class Action_Control *actionSpecial_Reset;
332 class Action_Control *actionExit_Emulator;
333 class Action_Control *actionCpuType[8];
334 class Action_Control *actionBootMode[8];
335 class Action_Control *actionDebugger[_MAX_DEBUGGER];
336 class Action_Control *actionSave_State[10];
337 class Action_Control *actionLoad_State[10];
338 //class Action_Control *actionClose_Debuggers;
339 class Action_Control *actionScreenSize[32];
340 class Action_Control *actionAbout;
341 class Action_Control *actionMouseEnable;
342 class Action_Control *actionHelp_AboutQt;
345 class Action_Control *actionCapture_Screen;
346 class Action_Control *action_SetRenderMode[8];
348 class Action_Control *action_Freq[8];
349 class Action_Control *action_Latency[6];
350 class Action_Control *actionStart_Record;
351 class Action_Control *actionStop_Record;
354 QActionGroup *actionGroup_DeviceType;
355 QActionGroup *actionGroup_KeyboardType;
356 QActionGroup *actionGroup_JoystickType;
357 QActionGroup *actionGroup_MouseType;
358 QActionGroup *actionGroup_DriveType;
359 QActionGroup *actionGroup_SoundDevice;
360 QActionGroup *actionGroup_PrintDevice;
361 QMenu *menuDeviceType;
362 QMenu *menuKeyboardType;
363 QMenu *menuJoystickType;
364 QMenu *menuMouseType;
365 QMenu *menuDriveType;
366 QMenu *menuSoundDevice;
367 QMenu *menuPrintDevice;
368 class Action_Control *actionDeviceType[16];
369 class Action_Control *actionKeyboardType[16];
370 class Action_Control *actionJoystickType[16];
371 class Action_Control *actionMouseType[8];
372 class Action_Control *actionDriveType[8];
373 class Action_Control *actionSoundDevice[32]; //
374 class Action_Control *actionPrintDevice[16];
375 class Action_Control *action_SetRenderPlatform[MAX_RENDER_PLATFORMS];
377 class Action_Control *actionStart_Record_Movie;
378 class Action_Control *actionStop_Record_Movie;
379 class Action_Control *action_SetupMovie; // 15, 24, 30, 60
384 QMenu *menuCopy_Paste;
385 QMenu *menuCpu_Speed;
388 QMenu *menuStretch_Mode;
389 QMenu *menuScreenSize;
390 QMenu *menuScreen_Render;
395 QMenu *menuOutput_Frequency;
396 QMenu *menuSound_Latency;
399 QMenu *menuRecord_sound;
400 QMenu *menuRecord_as_movie;
403 QMenu *menuHelp_Readme;
404 QMenu *menuHelp_Histories;
405 Menu_FDClass *menu_fds[16];
406 Menu_QDClass *menu_QDs[8];
407 Menu_CMTClass *menu_CMT[8];
408 Menu_CompactDiscClass *menu_CDROM;
409 Menu_LaserdiscClass *menu_Laserdisc;
410 Menu_CartClass *menu_Cart[8];
411 Menu_BinaryClass *menu_BINs[8];
412 Menu_BubbleClass *menu_bubbles[8];
414 QWidget *dummyStatusArea1;
415 QLabel *messagesStatusBar;
416 QWidget *dummyStatusArea2;
418 QLabel *cdrom_StatusBar;
419 QString osd_str_cdrom;
421 QLabel *laserdisc_StatusBar;
422 QString osd_str_laserdisc;
423 QLabel *bubble_StatusBar[8];
424 QString osd_str_bubble[8];
426 QClipboard *ClipBoard;
428 EmuThreadClass *hRunEmu;
429 class DrawThreadClass *hDrawEmu;
430 class JoyThreadClass *hRunJoy;
431 class MOVIE_SAVER *hSaveMovieThread;
434 bool ui_retranslate_completed;
437 void ConfigCPUTypes(int num);
438 void ConfigCPUBootMode(int num);
440 void retranslateControlMenu(const char *SpecialResetTitle, bool WithSpecialReset);
441 void retranslateFloppyMenu(int drv, int basedrv);
442 void retranslateFloppyMenu(int drv, int basedrv, QString specName);
443 void retranslateBubbleMenu(int drv, int basedrv);
444 void retranslateCMTMenu(int drive);
445 void retranslateQuickDiskMenu(int drv, int basedrv);
447 void retranslateCDROMMenu(void);
448 void retranslateLaserdiscMenu(void);
449 void retranslateScreenMenu(void);
450 void retranslateMachineMenu(void);
451 void retranslateBinaryMenu(int drv, int basedrv);
452 void retranslateSoundMenu(void);
454 Ui_MainWindowBase(USING_FLAGS *p, CSP_Logger *logger, QWidget *parent = 0);
455 ~Ui_MainWindowBase();
457 // Initializer : using from InitContext.
458 void setCoreApplication(QApplication *p);
459 void createContextMenu(void);
461 virtual void set_window(int mode);
462 // Belows are able to re-implement.
463 virtual void retranslateUi(void);
464 virtual void retranslateUI_Help(void);
465 virtual void retranslateCartMenu(int drv, int basedrv);
466 virtual void retranslateVolumeLabels(Ui_SoundDialog *);
467 virtual void retranslateEmulatorMenu(void);
468 virtual void retranselateUi_Depended_OSD(void);
470 virtual void initStatusBar(void);
472 void StopEmuThread(void);
473 virtual void LaunchEmuThread(void);
475 virtual void StopJoyThread(void);
476 virtual void LaunchJoyThread(void);
478 virtual void OnWindowMove(void);
479 virtual void OnWindowRedraw(void);
481 // Getting important widgets.
482 QMainWindow *getWindow(void) { return MainWindow; }
483 QMenuBar *getMenuBar(void) { return menubar;}
484 GLDrawClass *getGraphicsView(void) { return graphicsView; }
485 QStatusBar *getStatusBar(void) { return statusbar;}
486 QImage *getBitmapImage(void) { return bitmapImage; }
488 virtual void OnMainWindowClosed(void);
489 // Basic Action Definition
490 void OnCpuPower(int mode);
491 bool get_wave_shaper(int drive);
492 bool get_direct_load_mzt(int drive);
493 virtual bool GetPowerState(void);
494 void set_logger(CSP_Logger *logger) { csp_logger = logger; }
497 void delete_emu_thread(void);
498 void doChangeMessage_EmuThread(QString str);
499 void do_emu_update_config(void);
500 virtual void delete_joy_thread(void);
501 virtual void do_set_window_title(QString s);
502 virtual void redraw_status_bar(void);
503 virtual void redraw_leds(void);
504 void do_recv_data_led(quint32 d);
506 void do_update_volume(int level);
507 void set_screen_aspect(int num);
508 void set_screen_size(int w, int h);
510 void OnSpecialReset(void);
511 virtual void do_set_mouse_enable(bool flag);
512 virtual void do_toggle_mouse(void);
513 void do_set_sound_device(int);
514 void do_emu_update_volume_balance(int num, int level);
515 void do_emu_update_volume_level(int num, int level);
516 void rise_log_viewer(void);
517 void rise_volume_dialog(void);
518 void rise_joystick_dialog(void);
519 void rise_keyboard_dialog(void);
520 virtual void rise_movie_dialog(void);
521 void do_stop_saving_movie(void);
522 void do_start_saving_movie(void);
523 void do_set_state_saving_movie(bool state);
525 virtual void OnOpenDebugger(int n);
526 virtual void OnCloseDebugger(void);
528 void set_screen_rotate(bool);
529 void set_gl_crt_filter(bool);
530 void set_cpu_power(int pw) {
533 virtual void on_actionExit_triggered();
535 void OnStartAutoKey(void);
536 void OnStopAutoKey(void);
537 void eject_cart(int);
538 void set_recent_cart(int, int);
540 int set_recent_cdrom(int drv, int num);
541 void do_eject_cdrom(int drv);
542 void do_open_cdrom(int drv, QString path);
544 int set_recent_laserdisc(int drv, int num);
545 void do_eject_laserdisc(int drv);
546 void do_open_laserdisc(int drv, QString path);
548 void CreateBinaryMenu(int drv, int drv_base);
549 void CreateBinaryPulldownMenu(int drv);
550 void ConfigBinaryMenuSub(int drv);
551 int set_recent_binary_load(int drv, int num);
552 int set_recent_binary_save(int drv, int num);
553 void _open_binary_load(int drive, const QString fname);
554 void _open_binary_save(int drive, const QString fname);
556 void open_quick_disk_dialog(int drv);
557 int set_recent_quick_disk(int drive, int num);
558 int write_protect_Qd(int drv, bool flag);
559 void _open_quick_disk(int drv, const QString fname);
560 void eject_Qd(int drv);
563 virtual void _open_disk(int drv, const QString fname);
564 void _open_cart(int drv, const QString fname);
565 void eject_cmt(int drv);
566 void do_change_boot_mode(int mode);
567 void do_change_cpu_type(int mode);
568 void do_write_protect_cmt(int drv, bool flag);
569 int set_recent_cmt(int drv, int num);
570 void set_wave_shaper(int drive, bool f);
571 void set_direct_load_from_mzt(int drive, bool f);
572 void do_open_write_cmt(int drive, QString);
573 void do_open_read_cmt(int drive, QString path);
575 void do_push_play_tape(int drive);
576 void do_push_stop_tape(int drive);
577 void do_push_fast_forward_tape(int drive);
578 void do_push_rewind_tape(int drive);
579 void do_push_apss_forward_tape(int drive);
580 void do_push_apss_rewind_tape(int drive);
581 void set_cmt_sound(bool);
583 int write_protect_fd(int drv, bool flag);
584 void eject_fd(int drv);
585 virtual void do_update_recent_disk(int);
586 virtual int set_d88_slot(int drive, int num);
587 virtual int set_recent_disk(int, int);
590 int write_protect_bubble(int drv, bool flag);
592 virtual int set_b77_slot(int drive, int num);
593 virtual void do_update_recent_bubble(int drv);
594 virtual int set_recent_bubble(int drv, int num);
596 virtual void _open_bubble(int drv, const QString fname);
597 virtual void eject_bubble(int drv);
599 void start_record_sound(bool rec);
601 void set_latency(int);
602 void set_sound_device(int);
603 void do_set_sound_strict_rendering(bool f);
604 void do_set_sound_play_tape(bool f);
606 void set_monitor_type(int);
607 void message_status_bar(QString);
608 void resize_statusbar(int w, int h);
609 virtual void do_release_emu_resources(void);
610 virtual void set_window_title();
611 void set_device_type(int);
612 void set_mouse_type(int);
613 void set_keyboard_type(int);
614 void set_joystick_type(int);
615 void set_drive_type(int);
616 void set_scan_line(bool);
617 void set_gl_scan_line_vert(bool);
618 void set_gl_scan_line_horiz(bool);
619 void set_printer_device(int);
620 void do_show_about(void);
621 void do_browse_document(QString);
622 void set_dipsw(int num, bool flag);
623 bool get_dipsw(int num);
625 void do_set_sound_files_fdd(bool f);
626 void do_set_sound_files_relay(bool f);
627 void do_set_conslog(bool);
628 void do_set_syslog(bool);
629 void do_update_device_node_name(int id, const _TCHAR *name);
630 void do_set_dev_log_to_console(int id, bool f);
631 void do_set_dev_log_to_syslog(int id, bool f);
632 void do_set_roma_kana(bool f);
633 void do_set_numpad_enter_as_fullkey(bool f);
634 void do_set_render_mode_std(void);
635 void do_set_render_mode_tv(void);
636 void do_select_render_platform(int num);
637 void do_set_window_focus_type(bool flag);
639 void do_set_visible_virtual_media_none();
640 void do_set_visible_virtual_media_upper();
641 void do_set_visible_virtual_media_lower();
642 void do_set_visible_virtual_media_left();
643 void do_set_visible_virtual_media_right();
645 void do_set_emulate_cursor_as(int num);
646 void do_set_logging_fdc(bool onoff);
647 void do_set_separate_thread_draw(bool f);
649 int message_changed(QString);
650 int quit_emu_thread();
651 int call_joy_thread(EMU *);
652 int quit_joy_thread();
653 int quit_draw_thread();
654 int sig_quit_movie_thread();
655 int sig_stop_saving_movie(void);
656 int sig_start_saving_movie(void);
657 int on_boot_mode(int);
658 int on_cpu_type(int);
659 int on_cpu_power(int);
660 int on_open_debugger(int);
661 int on_insert_fd(int);
662 int on_eject_fd(int);
663 int do_open_disk(int, QString);
665 int sig_quit_all(void);
666 int sig_vm_reset(void);
667 int sig_vm_specialreset(void);
668 int sig_check_grab_mouse(bool);
669 int sig_resize_uibar(int, int);
670 int sig_resize_screen(int, int);
671 int sig_update_screen(void);
672 int sig_emu_update_config(void);
673 int sig_emu_start_rec_sound(void);
674 int sig_emu_stop_rec_sound(void);
675 int sig_emu_set_display_size(int, int, int, int);
676 int sig_emu_update_volume_level(int, int);
677 int sig_emu_update_volume_balance(int, int);
679 int sig_resize_osd(int);
681 int sig_write_protect_disk(int drv, bool flag);
682 int sig_open_disk(int, QString, int);
683 int sig_close_disk(int);
684 int sig_play_tape(int ,QString);
685 int sig_rec_tape(int, QString);
686 int sig_close_tape(int);
687 int sig_cmt_push_play(int);
688 int sig_cmt_push_stop(int);
689 int sig_cmt_push_fast_forward(int);
690 int sig_cmt_push_fast_rewind(int);
691 int sig_cmt_push_apss_forward(int);
692 int sig_cmt_push_apss_rewind(int);
693 int sig_write_protect_quickdisk(int drv, bool flag);
694 int sig_close_quickdisk(int drv);
695 int sig_open_quickdisk(int drv, QString path);
696 int sig_close_cart(int drv);
697 int sig_open_cart(int drv, QString path);
698 int sig_open_cdrom(QString path);
699 int sig_close_cdrom(void);
700 int sig_close_laserdisc(void);
701 int sig_open_laserdisc(QString path);
702 int sig_load_binary(int drv, QString path);
703 int sig_save_binary(int drv, QString path);
704 int sig_write_protect_bubble(int, bool);
705 int sig_open_bubble(int, QString , int);
706 int sig_close_bubble(int);
707 int sig_led_update(QRectF);
708 int sig_start_auto_key(QString);
709 int sig_stop_auto_key(void);
710 int sig_set_display_osd(bool);
711 int sig_display_osd_leds(int,bool);
712 int sig_set_led_width(int);
713 int sig_set_orientation_osd(int);
715 int quit_debugger_thread(void);
716 int sig_quit_widgets(void);
718 int sig_load_state(QString);
719 int sig_save_state(QString);