2 Skelton for retropc emulator
4 Author : K.Ohta <whatisthis.sowhat _at_ gmail.com>
19 #include "qt_gldraw.h"
22 OSD::OSD(USING_FLAGS *p, CSP_Logger *logger) : OSD_BASE(p, logger)
24 p_config = using_flags->get_config_ptr();
32 void OSD::debug_log(int level, int domain_num, char *strbuf)
34 if(csp_logger != NULL) csp_logger->debug_log(level, domain_num, strbuf);
38 void OSD::set_device_name(int id, char *name)
40 if(csp_logger != NULL) csp_logger->set_device_name(id, (char *)name);
43 void OSD::set_features_machine(void)
45 // GIJUTSU-HYORON-SHA Babbase-2nd
47 add_feature(_T("_BABBAGE2ND"), 1);
50 // HITACHI BASIC Master Jr
52 add_feature(_T("_BMJR"), 1);
55 // COLECO ColecoVision
57 add_feature(_T("_COLECOVISION"), 1);
62 add_feature(_T("_EX80"), 1);
65 // Nintendo Family BASIC
67 add_feature(_T("_FAMILYBASIC"), 1);
72 add_feature(_T("_FM8"), 1);
77 add_feature(_T("_FM7"), 1);
82 add_feature(_T("_FM7"), 1);
83 add_feature(_T("_FMNEW7"), 1);
86 // FUJITSU FM-77 SERIES
88 add_feature(_T("_FM77"), 1);
92 add_feature(_T("_FM77L2"), 1);
96 add_feature(_T("_FM77L4"), 1);
100 add_feature(_T("_FM77_VARIANTS"), 1);
103 // FUJITSU FM77AV SERIES
105 add_feature(_T("_FM77AV"), 1);
109 add_feature(_T("_FM77AV20"), 1);
113 add_feature(_T("_FM77AV20EX"), 1);
117 add_feature(_T("_FM77AV40"), 1);
121 add_feature(_T("_FM77AV40SX"), 1);
125 add_feature(_T("_FM77AV40EX"), 1);
128 #ifdef _FM77AV_VARIANTS
129 add_feature(_T("_FM77AV_VARIANTS"), 1);
134 add_feature(_T("_FM16PI"), 1);
140 add_feature(_T("_FMR30"), 1);
145 add_feature(_T("_FMR50"), 1);
150 add_feature(_T("_FMR60"), 1);
155 add_feature(_T("_FP200"), 1);
160 add_feature(_T("_FP1100"), 1);
165 add_feature(_T("_FSA1"), 1);
170 add_feature(_T("_GAMEGEAR"), 1);
175 add_feature(_T("_HC20"), 1);
180 add_feature(_T("_HC40"), 1);
185 add_feature(_T("_HC80"), 1);
188 // TOSHIBA HX-20 + FDD
190 add_feature(_T("_HX20"), 1);
195 add_feature(_T("_J3100GT"), 1);
200 add_feature(_T("_J3100SL"), 1);
205 add_feature(_T("_JR100"), 1);
210 add_feature(_T("_JR200"), 1);
215 add_feature(_T("_JR800"), 1);
218 // IBM Japan Ltd PC/JX
220 add_feature(_T("_JX"), 1);
225 add_feature(_T("_M5"), 1);
230 add_feature(_T("_MAP1010"), 1);
233 // SEGA MASTER SYSTEM
235 add_feature(_T("_MASTERSYSTEM"), 1);
241 add_feature(_T("_MSX1"), 1);
246 add_feature(_T("_MSX2"), 1);
251 add_feature(_T("_MSX2P"), 1);
254 #ifdef _MSX1_VARIANTS
255 add_feature(_T("_MSX1_VARIANTS"), 1);
257 #ifdef _MSX2_VARIANTS
258 add_feature(_T("_MSX2_VARIANTS"), 1);
260 #ifdef _MSX2P_VARIANTS
261 add_feature(_T("_MSX2P_VARIANTS"), 1);
264 // MITSUBISHI Elec. MULTI8
266 add_feature(_T("_MULTI8"), 1);
269 // Japan Electronics College MYCOMZ-80A
271 add_feature(_T("_MYCOMZ80A"), 1);
276 add_feature(_T("_MZ80A"), 1);
281 add_feature(_T("_MZ80B"), 1);
286 add_feature(_T("_MZ80K"), 1);
291 add_feature(_T("_MZ700"), 1);
296 add_feature(_T("_MZ800"), 1);
301 add_feature(_T("_MZ1200"), 1);
306 add_feature(_T("_MZ1500"), 1);
311 add_feature(_T("_MZ2000"), 1);
316 add_feature(_T("_MZ2200"), 1);
321 add_feature(_T("_MZ2500"), 1);
326 add_feature(_T("_MZ2800"), 1);
331 add_feature(_T("_MZ3500"), 1);
336 add_feature(_T("_MZ5500"), 1);
341 add_feature(_T("_MZ6500"), 1);
346 add_feature(_T("_MZ6550"), 1);
351 add_feature(_T("_N5200"), 1);
356 add_feature(_T("_PASOPIA"), 1);
361 add_feature(_T("_PASOPIA7"), 1);
366 add_feature(_T("_PC2001"), 1);
371 add_feature(_T("_PC6001"), 1);
376 add_feature(_T("_PC6001MK2"), 1);
381 add_feature(_T("_PC6001MK2SR"), 1);
386 add_feature(_T("_PC6601"), 1);
391 add_feature(_T("_PC6601SR"), 1);
396 add_feature(_T("_PC8001SR"), 1);
401 add_feature(_T("_PC8201"), 1);
406 add_feature(_T("_PC8201A"), 1);
411 add_feature(_T("_PC8801MA"), 1);
416 add_feature(_T("_PC9801"), 1);
421 add_feature(_T("_PC9801E"), 1);
426 add_feature(_T("_PC9801U"), 1);
431 add_feature(_T("_PC9801VF"), 1);
436 add_feature(_T("_PC9801VM"), 1);
441 add_feature(_T("_PC98DO"), 1);
446 add_feature(_T("_PC98HA"), 1);
451 add_feature(_T("_PC98LT"), 1);
456 add_feature(_T("_PC100"), 1);
461 add_feature(_T("_PCENGINE"), 1);
466 add_feature(_T("_PHC20"), 1);
471 add_feature(_T("_PHC25"), 1);
476 add_feature(_T("_PV1000"), 1);
481 add_feature(_T("_PV2000"), 1);
486 add_feature(_T("_PX7"), 1);
491 add_feature(_T("_PYUTA"), 1);
496 add_feature(_T("_QC10"), 1);
501 add_feature(_T("_RX78"), 1);
506 add_feature(_T("_SC3000"), 1);
509 // EPOCH Super Cassette Vision
511 add_feature(_T("_SCV"), 1);
516 add_feature(_T("_SMB80TE"), 1);
521 add_feature(_T("_SMC70"), 1);
526 add_feature(_T("_SMC777"), 1);
530 // NEC TK-80BS (COMPO BS/80)
532 add_feature(_T("_TK80BS"), 1);
537 add_feature(_T("_TK80"), 1);
542 add_feature(_T("_TK85"), 1);
547 add_feature(_T("_X07"), 1);
552 add_feature(_T("_X1"), 1);
557 add_feature(_T("_X1TWIN"), 1);
562 add_feature(_T("_X1TURBO"), 1);
567 add_feature(_T("_X1TURBOZ"), 1);
570 // Yuasa Kyouiku System YALKY
572 add_feature(_T("_YALKY"), 1);
577 add_feature(_T("_YIS"), 1);
580 // SHINKO SANGYO YS-6464A
582 add_feature(_T("_YS6464A"), 1);
585 // Homebrew Z80 TV GAME SYSTEM
587 add_feature(_T("_Z80TVGAME"), 1);
591 void OSD::set_features_cpu(void)
594 add_feature(_T("HAS_I86"), 1);
597 add_feature(_T("HAS_I88"), 1);
600 add_feature(_T("HAS_I186"), 1);
603 add_feature(_T("HAS_I286"), 1);
606 add_feature(_T("HAS_I386"), 1);
609 add_feature(_T("HAS_I486"), 1);
612 add_feature(_T("HAS_PENTIUM"), 1);
615 add_feature(_T("HAS_V30"), 1);
618 add_feature(_T("HAS_I8085"), 1);
621 add_feature(_T("HAS_N2A03"), 1);
624 add_feature(_T("HAS_MC6800"), 1);
627 add_feature(_T("HAS_MC6801"), 1);
630 add_feature(_T("HAS_HD6301"), 1);
633 add_feature(_T("HAS_NSC800"), 1);
636 add_feature(_T("I80186"), 1);
639 add_feature(_T("I80286"), 1);
642 add_feature(_T("RS6000"), 1);
645 #ifdef I86_PSEUDO_BIOS
646 add_feature(_T("I86_PSEUDO_BIOS"), 1);
648 #ifdef I286_PSEUDO_BIOS
649 add_feature(_T("I286_PSEUDO_BIOS"), 1);
651 #ifdef I386_PSEUDO_BIOS
652 add_feature(_T("I386_PSEUDO_BIOS"), 1);
654 #ifdef Z80_PSEUDO_BIOS
655 add_feature(_T("Z80_PSEUDO_BIOS"), 1);
660 void OSD::set_features_vm(void)
664 add_feature(_T("MAX_CART"), (int)MAX_CART);
666 #ifdef CART_BASE_NUMBER
667 add_feature(_T("CART_BASE_NUMBER"), (int)CART_BASE_NUMBER);
671 add_feature(_T("MAX_FD"), (int)MAX_FD);
673 #ifdef FD_BASE_NUMBER
674 add_feature(_T("FD_BASE_NUMBER"), (int)FD_BASE_NUMBER);
678 add_feature(_T("MAX_QD"), (int)MAX_QD);
680 #ifdef QD_BASE_NUMBER
681 add_feature(_T("QD_BASE_NUMBER"), (int)QD_BASE_NUMBER);
685 add_feature(_T("MAX_TAPE"), (int)MAX_TAPE);
687 #ifdef TAPE_BASE_NUMBER
688 add_feature(_T("TAPE_BASE_NUMBER"), (int)TAPE_BASE_NUMBER);
692 add_feature(_T("MAX_BINARY"), (int)MAX_BINARY);
694 #ifdef BINARY_BASE_NUMBER
695 add_feature(_T("BINARY_BASE_NUMBER"), (int)BINARY_BASE_NUMBER);
699 add_feature(_T("MAX_BUBBLE"), (int)MAX_BUBBLE);
701 #ifdef BUBBLE_BASE_NUMBER
702 add_feature(_T("BUBBLE_BASE_NUMBER"), (int)BUBBLE_BASE_NUMBER);
705 #ifndef KEY_KEEP_FRAMES
706 add_feature(_T("KEY_KEEP_FRAMES"), (int)KEY_KEEP_FRAMES);
711 add_feature(_T("CPU_CLOCKS"), (int64_t)CPU_CLOCKS);
714 add_feature(_T("APU_CLOCK"), (int64_t)APU_CLOCK);
719 add_feature(_T("MAX_DRIVE"), (int)MAX_DRIVE);
722 #ifdef HD46505_CHAR_CLOCK
723 add_feature(_T("HD46505_CHAR_CLOCK"), (float)HD46505_CHAR_CLOCK);
725 #ifdef _315_5124_LIMIT_SPRITES
726 add_feature(_T("_315_5124_LIMIT_SPRITES"), 1);
729 add_feature(_T("HAS_AY_3_8910"));
732 add_feature(_T("HAS_AY_3_8913"));
734 #ifdef SUPPORT_AY_3_891X_PORT
735 add_feature(_T("SUPPORT_AY_3_891X_PORT"), 1);
737 #ifdef AY_3_891X_PORT_MODE
738 add_feature(_T("AY_3_891X_PORT_MODE"), (uint32_t)AY_3_891X_PORT_MODE);
740 #ifdef SUPPORT_AY_3_891X_PORT_A
741 add_feature(_T("SUPPORT_AY_3_891X_PORT_A"), 1);
743 #ifdef SUPPORT_AY_3_891X_PORT_B
744 add_feature(_T("SUPPORT_AY_3_891X_PORT_B"), 1);
746 #ifdef DATAREC_FAST_FWD_SPEED
747 add_feature(_T("DATAREC_FAST_FWD_SPEED"), (double)DATAREC_FAST_FWD_SPEED);
749 #ifdef DATAREC_FAST_REW_SPEED
750 add_feature(_T("DATAREC_FAST_REW_SPEED"), (double)DATAREC_FAST_REW_SPEED);
752 #ifdef DATAREC_PCM_VOLUME
753 add_feature(_T("DATAREC_PCM_VOLUME"), (int)DATAREC_PCM_VOLUME);
757 add_feature(_T("HAS_I8254"), 1);
759 #ifdef I8255_AUTO_HAND_SHAKE
760 add_feature(_T("I8255_AUTO_HAND_SHAKE"), 1);
763 add_feature(_T("HAS_MB8866"), 1);
766 add_feature(_T("HAS_MB8876"), 1);
769 add_feature(_T("HAS_MB89311"), 1);
771 #ifdef I8259_MAX_CHIPS
772 add_feature(_T("I8259_MAX_CHIPS"), (uint32_t)I8259_MAX_CHIPS);
774 #ifdef I8080_MEMORY_WAIT
775 add_feature(_T("I8080_MEMORY_WAIT"), 1);
778 add_feature(_T("I8080_IO_WAIT"), 1);
781 #ifdef MC6847_VRAM_OFS
782 add_feature(_T("MC6847_VRAM_OFS"), (uint32_t)MC6847_VRAM_OFS);
784 #ifdef MC6847_VRAM_AS
785 add_feature(_T("MC6847_VRAM_AS"), (uint32_t)MC6847_VRAM_AS);
787 #ifdef MC6847_VRAM_CSS
788 add_feature(_T("MC6847_VRAM_CSS"), (uint32_t)MC6847_VRAM_CSS);
790 #ifdef MC6847_VRAM_INV
791 add_feature(_T("MC6847_VRAM_INV"), (uint32_t)MC6847_VRAM_INV);
793 #ifdef MC6847_VRAM_INTEXT
794 add_feature(_T("MC6847_VRAM_INTEXT"), (uint32_t)MC6847_VRAM_INTEXT);
797 #ifdef MC6847_ATTR_OFS
798 add_feature(_T("MC6847_ATTR_OFS"), (uint32_t)MC6847_ATTR_OFS);
800 #ifdef MC6847_ATTR_AS
801 add_feature(_T("MC6847_ATTR_AS"), (uint32_t)MC6847_ATTR_AS);
803 #ifdef MC6847_ATTR_CSS
804 add_feature(_T("MC6847_ATTR_CSS"), (uint32_t)MC6847_ATTR_CSS);
806 #ifdef MC6847_ATTR_INV
807 add_feature(_T("MC6847_ATTR_INV"), (uint32_t)MC6847_ATTR_INV);
809 #ifdef MC6847_ATTR_INTEXT
810 add_feature(_T("MC6847_ATTR_INTEXT"), (uint32_t)MC6847_ATTR_INTEXT);
813 #ifdef MSM58321_START_DAY
814 add_feature(_T("MSM58321_START_DAY"), (int)MSM58321_START_DAY);
816 #ifdef MSM58321_START_YEAR
817 add_feature(_T("MSM58321_START_YEAR"), (int)MSM58321_START_YEAR);
820 add_feature(_T("HAS_MSM5832"), 1);
822 #ifdef PRINTER_STROBE_RISING_EDGE
823 add_feature(_T("PRINTER_STROBE_RISING_EDGE"), 1);
825 #ifdef MZ1P17_SW1_4_ON
826 add_feature(_T("MZ1P17_SW1_4_ON"), 1);
829 add_feature(_T("DOT_PRINT"), 1);
832 #ifdef PC80S31K_NO_WAIT
833 add_feature(_T("PC80S31K_NO_WAIT"), 1);
837 add_feature(_T("HAS_RP5C15"), 1);
840 #ifdef SCSI_DEV_IMMEDIATE_SELECT
841 add_feature(_T("SCSI_DEV_IMMEDIATE_SELECT"), 1);
843 #ifdef SCSI_HOST_WIDE
844 add_feature(_T("SCSI_HOST_WIDE"), 1);
846 #ifdef SCSI_HOST_AUTO_ACK
847 add_feature(_T("SCSI_HOST_AUTO_ACK"), 1);
851 add_feature(_T("HAS_SN76489"), 1);
854 add_feature(_T("HAS_T3444M"), 1);
857 #ifdef TMS9918A_VRAM_SIZE
858 add_feature(_T("TMS9918A_VRAM_SIZE"), (uint32_t)TMS9918A_VRAM_SIZE);
860 #ifdef TMS9918A_SUPER_IMPOSE
861 add_feature(_T("TMS9918A_SUPER_IMPOSE"), 1);
863 #ifdef TMS9918A_LIMIT_SPRITES
864 add_feature(_T("TMS9918A_LIMIT_SPRITES"), 1);
868 add_feature(_T("TIMER_HACK"));
871 add_feature(_T("KEYBOARD_HACK"));
875 add_feature(_T("HAS_UPD7907"), 1);
878 add_feature(_T("HAS_UPD4990A"), 1);
880 #ifdef UPD7220_HORIZ_FREQ
881 add_feature(_T("UPD7220_HORIZ_FREQ"), (int)UPD7220_HORIZ_FREQ);
883 #ifdef UPD7220_FIXED_PITCH
884 add_feature(_T("UPD7220_FIXED_PITCH"), 1);
886 #ifdef UPD7220_MSB_FIRST
887 add_feature(_T("UPD7220_MSB_FIRST"), 1);
889 #ifdef UPD765A_DMA_MODE
890 add_feature(_T("UPD765A_DMA_MODE"), 1);
892 #ifdef UPD765A_EXT_DRVSEL
893 add_feature(_T("UPD765A_EXT_DRVSEL"), 1);
895 #ifdef UPD765A_SENCE_INTSTAT_RESULT
896 add_feature(_T("UPD765A_SENCE_INTSTAT_RESULT"), 1);
898 #ifdef UPD765A_DONT_WAIT_SEEK
899 add_feature(_T("UPD765A_DONT_WAIT_SEEK"), 1);
901 #ifdef UPD765A_NO_ST0_AT_FOR_SEEK
902 add_feature(_T("UPD765A_NO_ST0_AT_FOR_SEEK"), 1);
904 #ifdef UPD765A_WAIT_RESULT7
905 add_feature(_T("UPD765A_WAIT_RESULT7"), 1);
907 #ifdef UPD765A_NO_ST1_EN_OR_FOR_RESULT7
908 add_feature(_T("UPD765A_NO_ST1_EN_OR_FOR_RESULT7"), 1);
911 #ifdef UPD7801_MEMORY_WAIT
912 add_feature(_T("UPD7801_MEMORY_WAIT") , 1);
915 add_feature(T("HAS_UPD7810"), 1);
919 add_feature(_T("HAS_YM2608"), 1);
922 add_feature(_T("HAS_YM_SERIES"), 1);
924 #ifdef SUPPORT_YM2203_PORT
925 add_feature(_T("SUPPORT_YM2203_PORT"), 1);
927 #ifdef SUPPORT_YM2203_PORT_A
928 add_feature(_T("SUPPORT_YM2203_PORT_A"), 1);
930 #ifdef SUPPORT_YM2203_PORT_B
931 add_feature(_T("SUPPORT_YM2203_PORT_B"), 1);
934 #ifdef Z80_MEMORY_WAIT
935 add_feature(_T("Z80_MEMORY_WAIT"), 1);
938 add_feature(_T("Z80_IO_WAIT"), 1);
940 #ifdef HAS_LDAIR_QUIRK
941 add_feature(_T("HAS_LDAIR_QUIRK"), 1);
944 add_feature(_T("Z80CTC_CLOCKS"), (double)Z80CTC_CLOCKS);
947 add_feature(_T("HAS_UPD7201"), 1);
952 void OSD::set_features_debug(void)
956 add_feature(_T("USE_DEBUGGER"), 1);
959 add_feature(_T("_DEBUG_LOG"), 1);
961 #ifdef _FDC_DEBUG_LOG
962 add_feature(_T("_FDC_DEBUG_LOG"), 1);
965 add_feature(_T("_IO_DEBUG_LOG"), 1);
967 #ifdef DEBUG_MISSING_OPCODE
968 add_feature(_T("DEBUG_MISSING_OPCODE"), 1);
970 #ifdef _SCSI_DEBUG_LOG
971 add_feature(_T("_SCSI_DEBUG_LOG"), 1);
973 #ifdef _DEBUG_PC80S31K
974 add_feature(_T("_DEBUG_PC80S31K"), 1);
977 add_feature(_T("DMA_DEBUG"), 1);
980 add_feature(_T("SIO_DEBUG"), 1);
984 void OSD::set_features_misc(void)
987 add_feature(_T("LSB_FIRST"), 1);
989 #ifdef SINGLE_MODE_DMA
990 add_feature(_T("SINGLE_MODE_DMA"), 1);
992 #ifdef MEMORY_ADDR_MAX
993 add_feature(_T("MEMORY_ADDR_MAX"), (uint32_t)MEMORY_ADDR_MAX);
995 #ifdef MEMORY_BANK_SIZE
996 add_feature(_T("MEMORY_BANK_SIZE"), (uint32_t)MEMORY_BANK_SIZE);
998 #ifdef IOBUS_RETURN_ADDR
999 add_feature(_T("IOBUS_RETURN_ADDR"), 1);
1002 add_feature(_T("IO_ADDR_MAX"), (uint32_t)IO_ADDR_MAX);
1004 #ifdef CPU_START_ADDR
1005 add_feature(_T("CPU_START_ADDR"), (uint32_t)CPU_START_ADDR);
1008 #ifdef LOW_PASS_FILTER
1009 add_feature(_T("LOW_PASS_FILTER"), 1);
1012 #ifdef SUPPORT_MAME_FM_DLL
1013 add_feature(_T("SUPPORT_MAME_FM_DLL"), 1);
1015 #ifdef SUPPORT_WIN32_DLL
1016 add_feature(_T("SUPPORT_WIN32_DLL"), 1);
1020 add_feature(_T("SCREEN_WIDTH"), (int)SCREEN_WIDTH);
1022 #ifdef SCREEN_HEIGHT
1023 add_feature(_T("SCREEN_HEIGHT"), (int)SCREEN_HEIGHT);
1025 #ifdef CHARS_PER_LINE
1026 add_feature(_T("CHARS_PER_LINE"), (int)CHARS_PER_LINE);
1028 #ifdef SUPPORT_VARIABLE_TIMING
1029 add_feature(_T("SUPPORT_VARIABLE_TIMING"), 1);
1031 #ifdef USE_ALPHA_BLENDING_TO_IMPOSE
1032 add_feature(_T("USE_ALPHA_BLENDING_TO_IMPOSE"), 1);
1034 #ifdef SUPPORT_MEDIA_TYPE_1DD
1035 add_feature(_T("SUPPORT_MEDIA_TYPE_1DD"), 1);
1037 #ifdef DATAREC_SOUND
1038 add_feature(_T("DATAREC_SOUND"), 1);
1040 #ifdef DATAREC_SOUND_LEFT
1041 add_feature(_T("DATAREC_SOUND_LEFT"), 1);
1043 #ifdef DATAREC_SOUND_RIGHT
1044 add_feature(_T("DATAREC_SOUND_RIGHT"), 1);
1048 void OSD::set_features(void)
1050 set_features_machine();
1053 set_features_misc();
1054 set_features_debug();
1056 __USE_AUTO_KEY = false;
1057 __USE_SHIFT_NUMPAD_KEY = false;
1059 __USE_AUTO_KEY = true;
1061 #ifdef USE_SHIFT_NUMPAD_KEY
1062 __USE_SHIFT_NUMPAD_KEY = true;
1066 extern std::string cpp_homedir;
1067 extern std::string my_procname;
1069 void OSD::initialize(int rate, int samples)
1073 tmp_path = QString::fromStdString(cpp_homedir);
1074 tmp_path = tmp_path + QString::fromStdString(my_procname);
1075 #if defined(Q_OS_WIN)
1076 const char *delim = "\\";
1078 const char *delim = "/";
1080 tmp_path = tmp_path + QString::fromUtf8(delim);
1081 memset(app_path, 0x00, sizeof(app_path));
1082 strncpy(app_path, tmp_path.toUtf8().constData(), _MAX_PATH);
1084 console_cmd_str.clear();
1085 osd_console_opened = false;
1089 initialize_printer();
1090 initialize_screen();
1091 initialize_sound(rate, samples);
1092 #if defined(USE_SOUND_FILES)
1095 if(get_use_movie_player() || get_use_video_capture()) initialize_video();
1096 if(get_use_socket()) initialize_socket();
1098 connect(this, SIGNAL(sig_enable_mouse()), glv, SLOT(do_enable_mouse()));
1099 connect(this, SIGNAL(sig_disable_mouse()), glv, SLOT(do_disable_mouse()));
1108 if(get_use_movie_player() || get_use_video_capture()) release_video();
1109 if(get_use_socket()) release_socket();
1110 #if defined(USE_SOUND_FILES)
1111 release_sound_files();
1115 void OSD::power_off()
1117 emit sig_close_window();