#endif
#define MAX_SKIP_FRAMES 10
-//extern USING_FLAGS *using_flags;
-
EmuThreadClass::EmuThreadClass(META_MainWindow *rootWindow, EMU *pp_emu, USING_FLAGS *p, QObject *parent) : QThread(parent) {
MainWindow = rootWindow;
p_emu = pp_emu;
using_flags = p;
+ p_config = p->get_config_ptr();
bRunThread = true;
prev_skip = false;
if(using_flags->get_use_sound_volume() > 0) {
for(int i = 0; i < using_flags->get_use_sound_volume(); i++) {
bUpdateVolumeReq[i] = true;
- volume_avg[i] = (config.sound_volume_l[i] + config.sound_volume_r[i]) / 2;
- volume_balance[i] = (config.sound_volume_r[i] - config.sound_volume_l[i]) / 2;
+ volume_avg[i] = (using_flags->get_config_ptr()->sound_volume_l[i] +
+ using_flags->get_config_ptr()->sound_volume_r[i]) / 2;
+ volume_balance[i] = (using_flags->get_config_ptr()->sound_volume_r[i] -
+ using_flags->get_config_ptr()->sound_volume_l[i]) / 2;
}
}
};
volume_balance[num] = balance;
right = level + balance;
left = level - balance;
- config.sound_volume_l[num] = left;
- config.sound_volume_r[num] = right;
+ using_flags->get_config_ptr()->sound_volume_l[num] = left;
+ using_flags->get_config_ptr()->sound_volume_r[num] = right;
}
void EmuThreadClass::calc_volume_from_level(int num, int level)
volume_avg[num] = level;
right = level + balance;
left = level - balance;
- config.sound_volume_l[num] = left;
- config.sound_volume_r[num] = right;
+ using_flags->get_config_ptr()->sound_volume_l[num] = left;
+ using_flags->get_config_ptr()->sound_volume_r[num] = right;
}
int EmuThreadClass::get_interval(void)
#endif
QString ctext;
bool req_draw = true;
- bool vert_line_bak = config.opengl_scanline_vert;
- bool horiz_line_bak = config.opengl_scanline_horiz;
- bool gl_crt_filter_bak = config.use_opengl_filters;
- int opengl_filter_num_bak = config.opengl_filter_num;
+ bool vert_line_bak = using_flags->get_config_ptr()->opengl_scanline_vert;
+ bool horiz_line_bak = using_flags->get_config_ptr()->opengl_scanline_horiz;
+ bool gl_crt_filter_bak = using_flags->get_config_ptr()->use_opengl_filters;
+ int opengl_filter_num_bak = using_flags->get_config_ptr()->opengl_filter_num;
//uint32_t key_mod_old = 0xffffffff;
int no_draw_count = 0;
bool prevRecordReq;
}
#endif
#if defined(USE_MINIMUM_RENDERING)
- if((vert_line_bak != config.opengl_scanline_vert) ||
- (horiz_line_bak != config.opengl_scanline_horiz) ||
- (gl_crt_filter_bak != config.use_opengl_filters) ||
- (opengl_filter_num_bak != config.opengl_filter_num)) req_draw = true;
- vert_line_bak = config.opengl_scanline_vert;
- horiz_line_bak = config.opengl_scanline_horiz;
- gl_crt_filter_bak = config.use_opengl_filters;
- opengl_filter_num_bak = config.opengl_filter_num;
+ if((vert_line_bak != p_config->opengl_scanline_vert) ||
+ (horiz_line_bak != p_config->opengl_scanline_horiz) ||
+ (gl_crt_filter_bak != p_config->use_opengl_filters) ||
+ (opengl_filter_num_bak != p_config->opengl_filter_num)) req_draw = true;
+ vert_line_bak = p_config->opengl_scanline_vert;
+ horiz_line_bak = p_config->opengl_scanline_horiz;
+ gl_crt_filter_bak = p_config->use_opengl_filters;
+ opengl_filter_num_bak = p_config->opengl_filter_num;
#endif
if(bStartRecordSoundReq != false) {
p_emu->start_record_sound();
#if defined(USE_SOUND_VOLUME)
for(int ii = 0; ii < USE_SOUND_VOLUME; ii++) {
if(bUpdateVolumeReq[ii]) {
- p_emu->set_sound_device_volume(ii, config.sound_volume_l[ii], config.sound_volume_r[ii]);
+ p_emu->set_sound_device_volume(ii, p_config->sound_volume_l[ii], p_config->sound_volume_r[ii]);
bUpdateVolumeReq[ii] = false;
}
}
#include "menuclasses.h"
#include "mainwidget.h"
#include "commonclasses.h"
+#include "config.h"
class META_MainWindow;
class EMU;
protected:
EMU *p_emu;
USING_FLAGS *using_flags;
+ config_t *p_config;
+
QWaitCondition *drawCond;
class META_MainWindow *MainWindow;
QElapsedTimer tick_timer;
static const _TCHAR *joy_button_captions[] = {""};
#endif
-USING_FLAGS::USING_FLAGS()
+USING_FLAGS::USING_FLAGS(config_t *cfg)
{
use_access_lamp = use_alt_f10_key = false;
use_auto_key = use_auto_key_us = use_auto_key_caps = false;
#if defined(USE_STATE)
use_state = true;
#endif
+
+ p_config = cfg;
}
USING_FLAGS::~USING_FLAGS()
{
return p_osd;
}
+
+config_t *USING_FLAGS::get_config_ptr(void)
+{
+ return p_config;
+}
#include <QString>
#include "common.h"
+#include "config.h"
+
#ifndef _SCREEN_MODE_NUM
#define _SCREEN_MODE_NUM 32
#endif
EMU *p_emu;
OSD *p_osd;
+ config_t *p_config;
public:
- USING_FLAGS();
+ USING_FLAGS(config_t *cfg);
~USING_FLAGS();
QString get_config_name() { return config_name; }
QString get_device_name() { return device_name; }
EMU *get_emu(void);
void set_osd(OSD *p);
OSD *get_osd(void);
+ config_t *get_config_ptr(void);
};
void Object_Menu_Control::do_save_as_movie(void)
{
- int fps = config.video_frame_rate;
+ int fps = using_flags->get_config_ptr()->video_frame_rate;
emit sig_start_record_movie(fps);
}
hDrawEmu->start();
AGAR_DebugLog(AGAR_LOG_DEBUG, "DrawThread : Launch done.");
- hSaveMovieThread = new MOVIE_SAVER(640, 400, 30, emu->get_osd());
+ hSaveMovieThread = new MOVIE_SAVER(640, 400, 30, emu->get_osd(), using_flags->get_config_ptr());
connect(actionStart_Record_Movie->binds, SIGNAL(sig_start_record_movie(int)), hRunEmu, SLOT(doStartRecordVideo(int)));
connect(this, SIGNAL(sig_start_saving_movie()),
connect(emu->get_osd(), SIGNAL(sig_save_as_movie(QString, int, int)),
hSaveMovieThread, SLOT(do_open(QString, int, int)));
connect(emu->get_osd(), SIGNAL(sig_stop_saving_movie()), hSaveMovieThread, SLOT(do_close()));
-
+
actionStop_Record_Movie->setIcon(QIcon(":/icon_process_stop.png"));
actionStop_Record_Movie->setVisible(false);
hRunEmu->start();
AGAR_DebugLog(AGAR_LOG_DEBUG, "EmuThread : Launch done.");
- this->set_screen_aspect(config.window_stretch_type);
+ this->set_screen_aspect(using_flags->get_config_ptr()->window_stretch_type);
emit sig_movie_set_width(SCREEN_WIDTH);
emit sig_movie_set_height(SCREEN_HEIGHT);
}
void Ui_MainWindow::LaunchJoyThread(void)
{
#if defined(USE_JOYSTICK)
- hRunJoy = new JoyThreadClass(emu, emu->get_osd(), using_flags);
+ hRunJoy = new JoyThreadClass(emu, emu->get_osd(), using_flags, using_flags->get_config_ptr());
connect(this, SIGNAL(quit_joy_thread()), hRunJoy, SLOT(doExit()));
hRunJoy->setObjectName("JoyThread");
hRunJoy->start();
#endif
}
-int MainLoop(int argc, char *argv[])
+int MainLoop(int argc, char *argv[], config_t *cfg)
{
char c;
char strbuf[2048];
load_config(create_local_path(_T("%s.ini"), _T(CONFIG_NAME)));
- USING_FLAGS *using_flags = new USING_FLAGS;
+ USING_FLAGS *using_flags = new USING_FLAGS(cfg);
rMainWindow = new META_MainWindow(using_flags);
rMainWindow->connect(rMainWindow, SIGNAL(sig_quit_all(void)), rMainWindow, SLOT(deleteLater(void)));
rMainWindow->setCoreApplication(GuiMain);
int i;
if(emu == NULL) return;
menu_bubbles[drv]->do_update_histories(listBubbles[drv]);
- menu_bubbles[drv]->do_set_initialize_directory(config.initial_bubble_casette_dir);
+ menu_bubbles[drv]->do_set_initialize_directory(p_config->initial_bubble_casette_dir);
if(emu->is_bubble_casette_protected(drv)) {
menu_bubbles[drv]->do_write_protect_media();
} else {
char path_shadow[PATH_MAX];
int i;
if((num < 0) || (num >= MAX_HISTORY)) return -1;
- s_path = QString::fromLocal8Bit(config.recent_bubble_casette_path[drv][num]);
+ s_path = QString::fromLocal8Bit(p_config->recent_bubble_casette_path[drv][num]);
strncpy(path_shadow, s_path.toLocal8Bit().constData(), PATH_MAX);
- UPDATE_HISTORY(path_shadow, config.recent_bubble_casette_path[drv], listBubbles[drv]);
+ UPDATE_HISTORY(path_shadow, p_config->recent_bubble_casette_path[drv], listBubbles[drv]);
strncpy(path_shadow, s_path.toLocal8Bit().constData(), PATH_MAX);
get_parent_dir(path_shadow);
- strcpy(config.initial_bubble_casette_dir, path_shadow);
+ strcpy(p_config->initial_bubble_casette_dir, path_shadow);
strncpy(path_shadow, s_path.toLocal8Bit().constData(), PATH_MAX);
if(emu) {
emit sig_close_bubble(drv);
emit sig_open_bubble(drv, s_path, 0);
menu_bubbles[drv]->do_update_histories(listBubbles[drv]);
- menu_bubbles[drv]->do_set_initialize_directory(config.initial_bubble_casette_dir);
+ menu_bubbles[drv]->do_set_initialize_directory(p_config->initial_bubble_casette_dir);
if(check_file_extension(path_shadow, ".b77")) {
UPDATE_B77_LIST(drv, listB77[drv]);
menu_bubbles[drv]->do_update_inner_media_bubble(listB77[drv], 0);
if(fname.length() <= 0) return;
drv = drv & 7;
strncpy(path_shadow, fname.toLocal8Bit().constData(), PATH_MAX);
- UPDATE_HISTORY(path_shadow, config.recent_bubble_casette_path[drv], listBubbles[drv]);
+ UPDATE_HISTORY(path_shadow, p_config->recent_bubble_casette_path[drv], listBubbles[drv]);
get_parent_dir(path_shadow);
- strcpy(config.initial_bubble_casette_dir, path_shadow);
+ strcpy(p_config->initial_bubble_casette_dir, path_shadow);
// Update List
strncpy(path_shadow, fname.toLocal8Bit().constData(), PATH_MAX);
if(emu) {
//emu->LockVM();
emit sig_open_bubble(drv, fname, 0);
menu_bubbles[drv]->do_update_histories(listBubbles[drv]);
- menu_bubbles[drv]->do_set_initialize_directory(config.initial_bubble_casette_dir);
+ menu_bubbles[drv]->do_set_initialize_directory(p_config->initial_bubble_casette_dir);
if(check_file_extension(path_shadow, ".b77")) {
UPDATE_B77_LIST(drv, listB77[drv]);
menu_bubbles[drv]->do_update_inner_media_bubble(listB77[drv], 0);
int i;
if(emu == NULL) return;
menu_fds[drv]->do_update_histories(listFDs[drv]);
- menu_fds[drv]->do_set_initialize_directory(config.initial_floppy_disk_dir);
+ menu_fds[drv]->do_set_initialize_directory(p_config->initial_floppy_disk_dir);
if(emu->is_floppy_disk_protected(drv)) {
menu_fds[drv]->do_write_protect_media();
} else {
char path_shadow[PATH_MAX];
int i;
if((num < 0) || (num >= MAX_HISTORY)) return -1;
- s_path = QString::fromLocal8Bit(config.recent_floppy_disk_path[drv][num]);
+ s_path = QString::fromLocal8Bit(p_config->recent_floppy_disk_path[drv][num]);
strncpy(path_shadow, s_path.toLocal8Bit().constData(), PATH_MAX);
- UPDATE_HISTORY(path_shadow, config.recent_floppy_disk_path[drv], listFDs[drv]);
+ UPDATE_HISTORY(path_shadow, p_config->recent_floppy_disk_path[drv], listFDs[drv]);
strncpy(path_shadow, s_path.toLocal8Bit().constData(), PATH_MAX);
get_parent_dir(path_shadow);
- strcpy(config.initial_floppy_disk_dir, path_shadow);
+ strcpy(p_config->initial_floppy_disk_dir, path_shadow);
strncpy(path_shadow, s_path.toLocal8Bit().constData(), PATH_MAX);
if(emu) {
emit sig_close_disk(drv);
emit sig_open_disk(drv, s_path, 0);
menu_fds[drv]->do_update_histories(listFDs[drv]);
- menu_fds[drv]->do_set_initialize_directory(config.initial_floppy_disk_dir);
+ menu_fds[drv]->do_set_initialize_directory(p_config->initial_floppy_disk_dir);
if(check_file_extension(path_shadow, ".d88") || check_file_extension(path_shadow, ".d77")) {
UPDATE_D88_LIST(drv, listD88[drv]);
menu_fds[drv]->do_update_inner_media(listD88[drv], 0);
emit sig_close_disk(drv2);
emit sig_open_disk(drv2, s_path, 1);
menu_fds[drv2]->do_update_histories(listFDs[drv2]);
- menu_fds[drv2]->do_set_initialize_directory(config.initial_floppy_disk_dir);
+ menu_fds[drv2]->do_set_initialize_directory(p_config->initial_floppy_disk_dir);
UPDATE_D88_LIST(drv2, listD88[drv2]);
menu_fds[drv2]->do_update_inner_media(listD88[drv2], 1);
}
if(fname.length() <= 0) return;
drv = drv & 7;
strncpy(path_shadow, fname.toLocal8Bit().constData(), PATH_MAX);
- UPDATE_HISTORY(path_shadow, config.recent_floppy_disk_path[drv], listFDs[drv]);
+ UPDATE_HISTORY(path_shadow, p_config->recent_floppy_disk_path[drv], listFDs[drv]);
get_parent_dir(path_shadow);
- strcpy(config.initial_floppy_disk_dir, path_shadow);
+ strcpy(p_config->initial_floppy_disk_dir, path_shadow);
// Update List
strncpy(path_shadow, fname.toLocal8Bit().constData(), PATH_MAX);
if(emu) {
//emu->LockVM();
emit sig_open_disk(drv, fname, 0);
menu_fds[drv]->do_update_histories(listFDs[drv]);
- menu_fds[drv]->do_set_initialize_directory(config.initial_floppy_disk_dir);
+ menu_fds[drv]->do_set_initialize_directory(p_config->initial_floppy_disk_dir);
if(check_file_extension(path_shadow, ".d88") || check_file_extension(path_shadow, ".d77")) {
UPDATE_D88_LIST(drv, listD88[drv]);
menu_fds[drv]->do_update_inner_media(listD88[drv], 0);
strncpy(path_shadow, fname.toLocal8Bit().constData(), PATH_MAX);
emit sig_open_disk(drv2, fname, 1);
menu_fds[drv2]->do_update_histories(listFDs[drv2]);
- menu_fds[drv2]->do_set_initialize_directory(config.initial_floppy_disk_dir);
+ menu_fds[drv2]->do_set_initialize_directory(p_config->initial_floppy_disk_dir);
UPDATE_D88_LIST(drv2, listD88[drv2]);
menu_fds[drv2]->do_update_inner_media(listD88[drv2], 1);
}
dest_x = (dest_x < 0) ? 0 : dest_x;
dest_y = (dest_y < 0) ? 0 : dest_y;
- config.window_mode = prev_window_mode = mode;
+ p_config->window_mode = prev_window_mode = mode;
// set screen size to emu class
emit sig_emu_set_display_size(width, height, width, height);
height = (int)(nd * (double)using_flags->get_screen_height());
if(using_flags->is_use_screen_rotate()) {
- if(config.rotate_type) {
+ if(p_config->rotate_type) {
int tmp_w = width;
width = height;
height = tmp_w;
}
}
- config.window_mode = mode;
+ p_config->window_mode = mode;
emit sig_emu_set_display_size(using_flags->get_screen_width(), using_flags->get_screen_height(), width, height);
//emit sig_resize_screen(width, height);
this->resize_statusbar(width, height);
#include "dropdown_jspage.h"
#include "dropdown_joystick.h"
-CSP_DropDownJoysticks::CSP_DropDownJoysticks(QWidget *parent, QStringList *lst, USING_FLAGS *using_flags) : QWidget(parent)
+CSP_DropDownJoysticks::CSP_DropDownJoysticks(QWidget *parent, QStringList *lst, USING_FLAGS *p) : QWidget(parent)
{
p_wid = parent;
-
+ using_flags = p;
+
layout = new QHBoxLayout(this);
int i;
if((button_num < 0) || (button_num >= 16)) return;
if((jsnum < 0) || (jsnum >= 4)) return;
//printf("Select: %d %d %d\n", jsnum, button_num, assigned_value);
- config.joy_buttons[jsnum][button_num] = assigned_value;
+ using_flags->get_config_ptr()->joy_buttons[jsnum][button_num] = assigned_value;
}
void CSP_DropDownJoysticks::do_set_js_button_idx(int jsnum, int button_num, int assigned_value)
if((button_num < 0) || (button_num >= 16)) return;
if((jsnum < 0) || (jsnum >= 4)) return;
//printf("Select_Idx: %d %d %d\n", jsnum, button_num, assigned_value);
- config.joy_buttons[jsnum][button_num] = assigned_value;
+ using_flags->get_config_ptr()->joy_buttons[jsnum][button_num] = assigned_value;
}
QWidget *p_wid;
QWidget *window;
QHBoxLayout *layout;
-
+ USING_FLAGS *using_flags;
+
QTabWidget *tabBox;
CSP_DropDownJSPage *pages[4];
public:
- CSP_DropDownJoysticks(QWidget *parent, QStringList *lst, USING_FLAGS *using_flags);
+ CSP_DropDownJoysticks(QWidget *parent, QStringList *lst, USING_FLAGS *p);
~CSP_DropDownJoysticks();
public slots:
#include "dropdown_keyset.h"
#include "dropdown_jsbutton.h"
+#include "menu_flags.h"
-
-CSP_DropDownJSButton::CSP_DropDownJSButton(QWidget *parent, QStringList *lst, int jsnum, int button_num) : QWidget(parent)
+CSP_DropDownJSButton::CSP_DropDownJSButton(USING_FLAGS *p, QWidget *parent, QStringList *lst, int jsnum, int button_num) : QWidget(parent)
{
p_wid = parent;
+ using_flags = p;
bind_jsnum = jsnum;
bind_button = button_num;
layout = new QHBoxLayout(this);
}
if((button_num < 16) && (button_num >= 0)) {
if((jsnum < 4) && (jsnum >= 0)){
- if((config.joy_buttons[jsnum][button_num] < 0) && (config.joy_buttons[jsnum][button_num] > -256)) {
- combo->setCurrentIndex(-config.joy_buttons[jsnum][button_num] + 16);
- } else if((config.joy_buttons[jsnum][button_num] >= 0) && (config.joy_buttons[jsnum][button_num] < 16)) {
- combo->setCurrentIndex(config.joy_buttons[jsnum][button_num]);
+ if((using_flags->get_config_ptr()->joy_buttons[jsnum][button_num] < 0) && (using_flags->get_config_ptr()->joy_buttons[jsnum][button_num] > -256)) {
+ combo->setCurrentIndex(-using_flags->get_config_ptr()->joy_buttons[jsnum][button_num] + 16);
+ } else if((using_flags->get_config_ptr()->joy_buttons[jsnum][button_num] >= 0) && (using_flags->get_config_ptr()->joy_buttons[jsnum][button_num] < 16)) {
+ combo->setCurrentIndex(using_flags->get_config_ptr()->joy_buttons[jsnum][button_num]);
}
}
}
#include "dropdown_keytables.h"
+class USING_FLAGS;
+
class DLL_PREFIX CSP_DropDownJSButton: public QWidget {
Q_OBJECT;
protected:
int bind_button;
int bind_jsnum;
+ USING_FLAGS *using_flags;
public:
- CSP_DropDownJSButton(QWidget *parent = 0, QStringList *lst = 0, int jsnum = 0, int button_num = 0);
+ CSP_DropDownJSButton(USING_FLAGS *p, QWidget *parent = 0, QStringList *lst = 0, int jsnum = 0, int button_num = 0);
~CSP_DropDownJSButton();
public slots:
void do_select(int index);
//extern USING_FLAGS *using_flags;
-CSP_DropDownJSPage::CSP_DropDownJSPage(USING_FLAGS *using_flags, QWidget *parent, QStringList *lst, int jsnum)
+CSP_DropDownJSPage::CSP_DropDownJSPage(USING_FLAGS *pp, QWidget *parent, QStringList *lst, int jsnum)
{
int i;
QString nm;
p_wid = parent;
layout = new QGridLayout(this);
bind_jsnum = jsnum;
-
+ using_flags = pp;
for(i = 0; i < 4; i++) {
//label[i] = new QLabel(this);
- combo_js[i] = new CSP_DropDownJSButton(this, lst, jsnum, i);
+ combo_js[i] = new CSP_DropDownJSButton(pp, this, lst, jsnum, i);
}
label_axis = new QLabel(QApplication::translate("MainWindow", "<B>Physical Axis:</B>", 0), this);
layout->addWidget(label_axis, 0, 0, Qt::AlignLeft);
if(joybuttons > i) {
memset(tmps, 0x00, sizeof(char) * 20);
label_button[i] = new QLabel(this);
- js_button[i] = new CSP_DropDownJSButton(this, lst, jsnum, i + 4);
+ js_button[i] = new CSP_DropDownJSButton(pp, this, lst, jsnum, i + 4);
if(using_flags->is_use_joy_button_captions()) {
snprintf(tmps, 32, "<B>%s</B>", using_flags->get_joy_button_captions(i + 4));
} else {
#include "dropdown_jsbutton.h"
-
QT_BEGIN_NAMESPACE
class USING_FLAGS;
CSP_DropDownJSButton *js_button[12];
QLabel *label_button[12];
int bind_jsnum;
+ USING_FLAGS *using_flags;
public:
- CSP_DropDownJSPage(USING_FLAGS *p, QWidget *parent = 0, QStringList *lst = 0, int jsnum = 0);
+ CSP_DropDownJSPage(USING_FLAGS *pp, QWidget *parent = 0, QStringList *lst = 0, int jsnum = 0);
~CSP_DropDownJSPage();
public slots:
void Ui_MainWindowBase::OnCpuPower(int mode)
{
- config.cpu_power = mode;
+ using_flags->get_config_ptr()->cpu_power = mode;
emit sig_emu_update_config();
}
#include "joy_thread.h"
-JoyThreadClass::JoyThreadClass(EMU *p, OSD *o, USING_FLAGS *pflags, QObject *parent) : QThread(parent)
+JoyThreadClass::JoyThreadClass(EMU *p, OSD *o, USING_FLAGS *pflags, config_t *cfg, QObject *parent) : QThread(parent)
{
int i, j;
int n;
p_emu = p;
p_osd = o;
-
+ p_config = cfg;
using_flags = pflags;
+
if(using_flags->is_use_joystick()) {
# if defined(USE_SDL2)
for(i = 0; i < 16; i++) {
if(controller_table[num] != NULL) {
names[num] = QString::fromUtf8(SDL_GameControllerNameForIndex(num));
AGAR_DebugLog(AGAR_LOG_DEBUG, "JoyThread : Controller %d : %s : is plugged.", num, names[num].toUtf8().constData());
- strncpy(config.assigned_joystick_name[num], names[num].toUtf8().constData(), 255);
+ strncpy(p_config->assigned_joystick_name[num], names[num].toUtf8().constData(), 255);
joy_num[num] = num;
}
} else
joy_num[i] = SDL_JoystickInstanceID(joyhandle[i]);
names[i] = QString::fromUtf8(SDL_JoystickNameForIndex(num));
AGAR_DebugLog(AGAR_LOG_DEBUG, "JoyThread : Joystick %d : %s : is plugged.", num, names[i].toUtf8().data());
- strncpy(config.assigned_joystick_name[num], names[num].toUtf8().constData(), 255);
+ strncpy(p_config->assigned_joystick_name[num], names[num].toUtf8().constData(), 255);
break;
}
}
}
}
names[num] = QString::fromUtf8("");
- memset(config.assigned_joystick_name[num], 0x00, 255);
+ memset(p_config->assigned_joystick_name[num], 0x00, 255);
}
void JoyThreadClass::x_axis_changed(int index, int value)
#include <QThread>
#include <SDL.h>
#include "common.h"
+#include "config.h"
class EMU;
class OSD;
EMU *p_emu;
OSD *p_osd;
USING_FLAGS *using_flags;
+ config_t *p_config;
protected:
bool bRunThread;
void joystick_plugged(int num);
int get_joyid_from_instanceID(SDL_JoystickID id);
# endif
public:
- JoyThreadClass(EMU *p, OSD *o, USING_FLAGS *pflags, QObject *parent = 0);
+ JoyThreadClass(EMU *p, OSD *o, USING_FLAGS *pflags, config_t *cfg, QObject *parent = 0);
~JoyThreadClass();
void run() { doWork("");}
void SetEmu(EMU *p) {
#include "simd_types.h"
#include "common.h"
#include "config.h"
+#include "menu_flags.h"
//#include "emu.h"
//#include "vm.h"
class Menu_BinaryClass;
class Menu_BubbleClass;
class Menu_CompactDiscClass;
-class USING_FLAGS;
class MOVIE_SAVER;
-//extern USING_FLAGS *using_flags;
class DLL_PREFIX Ui_MainWindowBase : public QMainWindow
{
Q_OBJECT
protected:
USING_FLAGS *using_flags;
+ config_t *p_config;
QMainWindow *MainWindow;
QApplication *CoreApplication;
void set_dipsw(int num, bool flag) {
if((num < 0) || (num >= 32)) return;
if(flag) {
- config.dipswitch = config.dipswitch | (1 << num);
+ using_flags->get_config_ptr()->dipswitch = using_flags->get_config_ptr()->dipswitch | (1 << num);
} else {
- config.dipswitch = config.dipswitch & ~(1 << num);
+ using_flags->get_config_ptr()->dipswitch = using_flags->get_config_ptr()->dipswitch & ~(1 << num);
}
}
bool get_dipsw(int num) {
if((num < 0) || (num >= 32)) return false;
- if(((1 << num) & config.dipswitch) == 0) return false;
+ if(((1 << num) & using_flags->get_config_ptr()->dipswitch) == 0) return false;
return true;
}
void set_printer_device(int);
void Ui_MainWindowBase::set_latency(int num)
{
if((num < 0) || (num >= 8)) return;
- config.sound_latency = num;
+ using_flags->get_config_ptr()->sound_latency = num;
emit sig_emu_update_config();
}
void Ui_MainWindowBase::set_freq(int num)
{
if((num < 0) || (num >= 16)) return;
- config.sound_frequency = num;
+ using_flags->get_config_ptr()->sound_frequency = num;
emit sig_emu_update_config();
}
void Ui_MainWindowBase::set_sound_device(int num)
{
if((num < 0) || (num >= using_flags->get_use_sound_device_type())) return;
- config.sound_device_type = num;
+ using_flags->get_config_ptr()->sound_device_type = num;
emit sig_emu_update_config();
}
void Ui_MainWindowBase::set_monitor_type(int num)
{
if((num < 0) || (num >= using_flags->get_use_monitor_type())) return;
- config.monitor_type = num;
+ using_flags->get_config_ptr()->monitor_type = num;
emit sig_emu_update_config();
}
void Ui_MainWindowBase::set_scan_line(bool flag)
{
if(flag) {
- config.scan_line = ~0;
+ using_flags->get_config_ptr()->scan_line = ~0;
} else {
- config.scan_line = 0;
+ using_flags->get_config_ptr()->scan_line = 0;
}
emit sig_emu_update_config();
}
void Ui_MainWindowBase::set_screen_rotate(bool flag)
{
- config.rotate_type = flag;
- if(config.window_mode >= using_flags->get_screen_mode_num()) config.window_mode = using_flags->get_screen_mode_num() - 1;
- if(config.window_mode < 0) config.window_mode = 0;
- if(actionScreenSize[config.window_mode] != NULL) {
- actionScreenSize[config.window_mode]->binds->set_screen_size();
+ using_flags->get_config_ptr()->rotate_type = flag;
+ if(using_flags->get_config_ptr()->window_mode >= using_flags->get_screen_mode_num()) using_flags->get_config_ptr()->window_mode = using_flags->get_screen_mode_num() - 1;
+ if(using_flags->get_config_ptr()->window_mode < 0) using_flags->get_config_ptr()->window_mode = 0;
+ if(actionScreenSize[using_flags->get_config_ptr()->window_mode] != NULL) {
+ actionScreenSize[using_flags->get_config_ptr()->window_mode]->binds->set_screen_size();
}
}
void Ui_MainWindowBase::set_crt_filter(bool flag)
{
- config.crt_filter = flag;
+ using_flags->get_config_ptr()->crt_filter = flag;
}
void Ui_MainWindowBase::set_gl_crt_filter(bool flag)
{
- config.use_opengl_filters = flag;
+ using_flags->get_config_ptr()->use_opengl_filters = flag;
}
void Ui_MainWindowBase::set_cmt_sound(bool flag)
{
- config.tape_sound = flag;
+ using_flags->get_config_ptr()->tape_sound = flag;
emit sig_emu_update_config();
}
void Ui_MainWindowBase::set_device_type(int num)
{
if((num >= using_flags->get_use_device_type()) && (num < 0)) return;
- config.device_type = num;
+ using_flags->get_config_ptr()->device_type = num;
emit sig_emu_update_config();
}
void Ui_MainWindowBase::set_drive_type(int num)
{
if((num >= using_flags->get_use_drive_type()) && (num < 0)) return;
- config.drive_type = num;
+ using_flags->get_config_ptr()->drive_type = num;
emit sig_emu_update_config();
}
{
if((w <= 0) || (h <= 0)) return;
if(using_flags->is_use_screen_rotate()) {
- if(config.rotate_type) {
+ if(using_flags->get_config_ptr()->rotate_type) {
this->graphicsView->setFixedSize(h, w);
this->resize_statusbar(h, w);
} else {
// 2 = ASPECT(SCale Y)
// 3 = ASPECT(Scale X,Y)
- config.window_stretch_type = num;
+ using_flags->get_config_ptr()->window_stretch_type = num;
if(emu) {
int w, h, n;
double nd, ww, hh;
- n = config.window_mode;
+ n = using_flags->get_config_ptr()->window_mode;
if(n < 0) n = 1;
nd = actionScreenSize[n]->binds->getDoubleValue();
ww = nd * (double)using_flags->get_screen_width();
double par_w = (double)using_flags->get_screen_width_aspect() / (double)using_flags->get_screen_width();
double par_h = (double)using_flags->get_screen_height_aspect() / (double)using_flags->get_screen_height();
double par = par_h / par_w;
- if(config.window_stretch_type == 1) { // refer to X, scale Y.
+ if(using_flags->get_config_ptr()->window_stretch_type == 1) { // refer to X, scale Y.
hh = hh * par_h;
- } else if(config.window_stretch_type == 2) { // refer to Y, scale X only
+ } else if(using_flags->get_config_ptr()->window_stretch_type == 2) { // refer to Y, scale X only
ww = ww / par_h;
- } else if(config.window_stretch_type == 3) { // Scale both X, Y
+ } else if(using_flags->get_config_ptr()->window_stretch_type == 3) { // Scale both X, Y
ww = ww * par_w;
hh = hh * par_h;
}
actionDeviceType[ii]->setCheckable(true);
actionDeviceType[ii]->setVisible(true);
actionDeviceType[ii]->binds->setValue1(ii);
- if(config.device_type == ii) actionDeviceType[ii]->setChecked(true);
+ if(using_flags->get_config_ptr()->device_type == ii) actionDeviceType[ii]->setChecked(true);
menuDeviceType->addAction(actionDeviceType[ii]);
connect(actionDeviceType[ii], SIGNAL(triggered()),
actionDeviceType[ii]->binds, SLOT(do_set_device_type()));
actionDriveType[i]->setCheckable(true);
actionDriveType[i]->setVisible(true);
actionDriveType[i]->binds->setValue1(i);
- if(i == config.drive_type) actionDriveType[i]->setChecked(true); // Need to write configure
+ if(i == using_flags->get_config_ptr()->drive_type) actionDriveType[i]->setChecked(true); // Need to write configure
actionGroup_DriveType->addAction(actionDriveType[i]);
menuDriveType->addAction(actionDriveType[i]);
connect(actionDriveType[i], SIGNAL(triggered()),
actionSoundDevice[i] = new Action_Control(this, using_flags);
actionSoundDevice[i]->setCheckable(true);
actionSoundDevice[i]->binds->setValue1(i);
- if(i == config.sound_device_type) actionSoundDevice[i]->setChecked(true); // Need to write configure
+ if(i == using_flags->get_config_ptr()->sound_device_type) actionSoundDevice[i]->setChecked(true); // Need to write configure
tmps = QString::fromUtf8("actionSoundDevice_");
actionSoundDevice[i]->setObjectName(tmps + QString::number(i));
menuSoundDevice->addAction(actionSoundDevice[i]);
actionPrintDevice[i] = new Action_Control(this, using_flags);
actionPrintDevice[i]->setCheckable(true);
actionPrintDevice[i]->binds->setValue1(i);
- if(i == config.printer_device_type) actionPrintDevice[i]->setChecked(true); // Need to write configure
+ if(i == using_flags->get_config_ptr()->printer_device_type) actionPrintDevice[i]->setChecked(true); // Need to write configure
tmps = QString::fromUtf8("actionPrintDevice_");
actionPrintDevice[i]->setObjectName(tmps + QString::number(i));
menuPrintDevice->addAction(actionPrintDevice[i]);
} else {
if(p_type >= 2) p_type = 1;
}
- config.printer_device_type = p_type;
+ using_flags->get_config_ptr()->printer_device_type = p_type;
emit sig_emu_update_config();
}
action_recording->setVisible(true);
action_recording->setCheckable(false);
- if(config.wave_shaper == 0) {
+ if(using_flags->get_config_ptr()->wave_shaper == 0) {
action_wave_shaper->setChecked(false);
} else {
action_wave_shaper->setChecked(true);
}
if(using_flags->is_machine_cmt_mz_series()) {
- if(config.direct_load_mzt == 0) {
+ if(using_flags->get_config_ptr()->direct_load_mzt == 0) {
action_direct_load_mzt->setChecked(false);
} else {
action_direct_load_mzt->setChecked(true);
void Ui_MainWindowBase::do_change_boot_mode(int mode)
{
if((mode < 0) || (mode >= 8)) return;
- config.boot_mode = mode;
+ using_flags->get_config_ptr()->boot_mode = mode;
emit sig_emu_update_config();
}
tmps = QString::fromUtf8("actionBootMode_") + tmps;
actionBootMode[i]->setObjectName(tmps);
actionBootMode[i]->setCheckable(true);
- if(i == config.boot_mode) actionBootMode[i]->setChecked(true);
+ if(i == using_flags->get_config_ptr()->boot_mode) actionBootMode[i]->setChecked(true);
actionBootMode[i]->binds->setValue1(i);
menuBootMode->addAction(actionBootMode[i]);
actionGroup_BootMode->addAction(actionBootMode[i]);
void Ui_MainWindowBase::do_change_cpu_type(int mode)
{
if((mode < 0) || (mode >= 8)) return;
- config.cpu_type = mode;
+ using_flags->get_config_ptr()->cpu_type = mode;
emit sig_emu_update_config();
}
tmps = QString::fromUtf8("actionCpuType_") + tmps;
actionCpuType[i]->setObjectName(tmps);
actionCpuType[i]->setCheckable(true);
- if(i == config.cpu_type) actionCpuType[i]->setChecked(true);
+ if(i == using_flags->get_config_ptr()->cpu_type) actionCpuType[i]->setChecked(true);
actionCpuType[i]->binds->setValue1(i);
menuCpuType->addAction(actionCpuType[i]);
actionGroup_CpuType->addAction(actionCpuType[i]);
void Ui_MainWindowBase::do_set_sound_device(int num)
{
if((num < 0) || (num >= using_flags->get_use_sound_device_type())) return;
- config.sound_device_type = num;
+ using_flags->get_config_ptr()->sound_device_type = num;
emit sig_emu_update_config();
}
Ui_MainWindowBase::Ui_MainWindowBase(USING_FLAGS *p, QWidget *parent) : QMainWindow(parent)
{
using_flags = p;
+ p_config = p->get_config_ptr();
setupUi();
createContextMenu();
}
connect(actionHelp_License_JP, SIGNAL(sig_send_string(QString)), this, SLOT(do_browse_document(QString)));
menuHELP->addAction(actionHelp_License_JP);
- if(config.window_mode <= 0) config.window_mode = 0;
- if(config.window_mode >= using_flags->get_screen_mode_num()) config.window_mode = using_flags->get_screen_mode_num() - 1;
+ if(using_flags->get_config_ptr()->window_mode <= 0) using_flags->get_config_ptr()->window_mode = 0;
+ if(using_flags->get_config_ptr()->window_mode >= using_flags->get_screen_mode_num()) using_flags->get_config_ptr()->window_mode = using_flags->get_screen_mode_num() - 1;
w = using_flags->get_screen_width();
h = using_flags->get_screen_height();
- if(actionScreenSize[config.window_mode] != NULL) {
- double nd = actionScreenSize[config.window_mode]->binds->getDoubleValue();
+ if(actionScreenSize[using_flags->get_config_ptr()->window_mode] != NULL) {
+ double nd = actionScreenSize[using_flags->get_config_ptr()->window_mode]->binds->getDoubleValue();
w = (int)(nd * (double)w);
h = (int)(nd * (double)h);
if(using_flags->is_use_screen_rotate()) {
- if(config.rotate_type) {
+ if(using_flags->get_config_ptr()->rotate_type) {
int tmp_w = w;
w = h;
h = tmp_w;
}
} else {
if(using_flags->is_use_screen_rotate()) {
- if(config.rotate_type) {
+ if(using_flags->get_config_ptr()->rotate_type) {
w = 600;
h = 960;
} else {
}
}
this->set_screen_size(w, h);
- this->set_screen_aspect(config.window_stretch_type);
- if(actionScreenSize[config.window_mode] != NULL) {
- double nd = actionScreenSize[config.window_mode]->binds->getDoubleValue();
+ this->set_screen_aspect(using_flags->get_config_ptr()->window_stretch_type);
+ if(actionScreenSize[using_flags->get_config_ptr()->window_mode] != NULL) {
+ double nd = actionScreenSize[using_flags->get_config_ptr()->window_mode]->binds->getDoubleValue();
graphicsView->do_set_screen_multiply(nd);
}
if(using_flags->is_use_joystick()) {
void Ui_MainWindowBase::OnWindowResize(void)
{
if(emu) {
- set_window(config.window_mode);
+ set_window(using_flags->get_config_ptr()->window_mode);
}
}
void Object_Menu_Control::set_screen_size(void) {
int w, h;
double nd, ww, hh;
- config.window_mode = getNumber();
+ using_flags->get_config_ptr()->window_mode = getNumber();
nd = getDoubleValue();
ww = nd * (double)using_flags->get_screen_width();
hh = nd * (double)using_flags->get_screen_height();
double par_w = (double)using_flags->get_screen_width_aspect() / (double)using_flags->get_screen_width();
double par_h = (double)using_flags->get_screen_height_aspect() / (double)using_flags->get_screen_height();
double par = par_h / par_w;
- if(config.window_stretch_type == 1) { // refer to X, scale Y.
+ if(using_flags->get_config_ptr()->window_stretch_type == 1) { // refer to X, scale Y.
hh = hh * par_h;
- } else if(config.window_stretch_type == 2) { // refer to Y, scale X only
+ } else if(using_flags->get_config_ptr()->window_stretch_type == 2) { // refer to Y, scale X only
ww = ww / par_h;
- } else if(config.window_stretch_type == 3) { // Scale both X, Y
+ } else if(using_flags->get_config_ptr()->window_stretch_type == 3) { // Scale both X, Y
ww = ww * par_w;
hh = hh * par_h;
}
void Ui_MainWindowBase::set_gl_scan_line_vert(bool f)
{
- config.opengl_scanline_vert = f;
+ using_flags->get_config_ptr()->opengl_scanline_vert = f;
}
void Ui_MainWindowBase::set_gl_scan_line_horiz(bool f)
{
- config.opengl_scanline_horiz = f;
+ using_flags->get_config_ptr()->opengl_scanline_horiz = f;
}
void Ui_MainWindowBase::ConfigScreenMenu_List(void)
actionScreenSize[i]->setCheckable(true);
actionScreenSize[i]->binds->setNumber(i);
- if(i == config.window_mode) actionScreenSize[i]->setChecked(true); // OK?
+ if(i == using_flags->get_config_ptr()->window_mode) actionScreenSize[i]->setChecked(true); // OK?
actionGroup_ScreenSize->addAction(actionScreenSize[i]);
actionScreenSize[i]->binds->setDoubleValue(screen_multiply_table[i]);
actionScanLine = new Action_Control(this, using_flags);
actionScanLine->setObjectName(QString::fromUtf8("actionScanLine"));
actionScanLine->setCheckable(true);
- if(config.scan_line != 0) {
+ if(using_flags->get_config_ptr()->scan_line != 0) {
actionScanLine->setChecked(true);
} else {
actionScanLine->setChecked(false);
actionGLScanLineHoriz = new Action_Control(this, using_flags);
actionGLScanLineHoriz->setObjectName(QString::fromUtf8("actionGLScanLineHoriz"));
actionGLScanLineHoriz->setCheckable(true);
- if(config.opengl_scanline_horiz != 0) {
+ if(using_flags->get_config_ptr()->opengl_scanline_horiz != 0) {
actionGLScanLineHoriz->setChecked(true);
} else {
actionGLScanLineHoriz->setChecked(false);
actionGLScanLineVert = new Action_Control(this, using_flags);
actionGLScanLineVert->setObjectName(QString::fromUtf8("actionGLScanLineVert"));
actionGLScanLineVert->setCheckable(true);
- if(config.opengl_scanline_vert != 0) {
+ if(using_flags->get_config_ptr()->opengl_scanline_vert != 0) {
actionGLScanLineVert->setChecked(true);
} else {
actionGLScanLineVert->setChecked(false);
actionRotate = new Action_Control(this, using_flags);
actionRotate->setObjectName(QString::fromUtf8("actionScanLine"));
actionRotate->setCheckable(true);
- if(config.rotate_type) {
+ if(using_flags->get_config_ptr()->rotate_type) {
actionRotate->setChecked(true);
} else {
actionRotate->setChecked(false);
actionCRT_Filter->setObjectName(QString::fromUtf8("actionCRT_Filter"));
actionCRT_Filter->setEnabled(true);
actionCRT_Filter->setCheckable(true);
- if(config.crt_filter == 0) actionCRT_Filter->setChecked(true);
+ if(using_flags->get_config_ptr()->crt_filter == 0) actionCRT_Filter->setChecked(true);
connect(actionCRT_Filter, SIGNAL(toggled(bool)), this, SLOT(set_crt_filter(bool)));
}
actionOpenGL_Filter = new Action_Control(this, using_flags);
actionOpenGL_Filter->setObjectName(QString::fromUtf8("actionOpenGL_Filter"));
actionOpenGL_Filter->setEnabled(true);
actionOpenGL_Filter->setCheckable(true);
- if(config.use_opengl_filters) actionOpenGL_Filter->setChecked(true);
+ if(using_flags->get_config_ptr()->use_opengl_filters) actionOpenGL_Filter->setChecked(true);
connect(actionOpenGL_Filter, SIGNAL(toggled(bool)), this, SLOT(set_gl_crt_filter(bool)));
if((using_flags->get_screen_height_aspect() != using_flags->get_screen_height()) ||
actionDot_by_Dot = new Action_Control(this, using_flags);
actionDot_by_Dot->setObjectName(QString::fromUtf8("actionDot_by_Dot"));
actionDot_by_Dot->setCheckable(true);
- if(config.window_stretch_type == 0) actionDot_by_Dot->setChecked(true);
+ if(using_flags->get_config_ptr()->window_stretch_type == 0) actionDot_by_Dot->setChecked(true);
actionDot_by_Dot->binds->setValue1(0);
actionReferToX_Display = new Action_Control(this, using_flags);
actionReferToX_Display->setObjectName(QString::fromUtf8("actionReferToX_Display"));
actionReferToX_Display->setCheckable(true);
actionReferToX_Display->binds->setValue1(1);
- if(config.window_stretch_type == 1) actionReferToX_Display->setChecked(true);
+ if(using_flags->get_config_ptr()->window_stretch_type == 1) actionReferToX_Display->setChecked(true);
actionReferToY_Display = new Action_Control(this, using_flags);
actionReferToY_Display->setObjectName(QString::fromUtf8("actionReferToY_Display"));
actionReferToY_Display->setCheckable(true);
actionReferToY_Display->binds->setValue1(2);
- if(config.window_stretch_type == 2) actionReferToY_Display->setChecked(true);
+ if(using_flags->get_config_ptr()->window_stretch_type == 2) actionReferToY_Display->setChecked(true);
actionFill_Display = new Action_Control(this, using_flags);
actionFill_Display->setObjectName(QString::fromUtf8("actionFill_Display"));
actionFill_Display->setCheckable(true);
actionFill_Display->binds->setValue1(3);
- if(config.window_stretch_type == 3) actionFill_Display->setChecked(true);
+ if(using_flags->get_config_ptr()->window_stretch_type == 3) actionFill_Display->setChecked(true);
actionGroup_Stretch = new QActionGroup(this);
actionGroup_Stretch->setExclusive(true);
dlg->setWindowIcon(img);
this->retranslateVolumeLabels(dlg);
- n = (float)(((config.general_sound_level + 32768) * 1000) / 65535) / 10.0;
+ n = (float)(((using_flags->get_config_ptr()->general_sound_level + 32768) * 1000) / 65535) / 10.0;
s_val.setNum(n, 'f', 1);
tmps = QApplication::translate("Ui_SoundDialog", "Set Volume", 0);
tmps = tmps + QString::fromUtf8(" (") + s_val + QString::fromUtf8("%)");
actionSoundCMT = new Action_Control(this, using_flags);
actionSoundCMT->setObjectName(QString::fromUtf8("actionSoundCMT"));
actionSoundCMT->setCheckable(true);
- if(config.tape_sound != 0) {
+ if(using_flags->get_config_ptr()->tape_sound != 0) {
actionSoundCMT->setChecked(true);
} else {
actionSoundCMT->setChecked(false);
action_Freq[i]->setObjectName(tmps);
action_Freq[i]->setCheckable(true);
action_Freq[i]->binds->setNumber(i);
- if(i == config.sound_frequency) {
+ if(i == using_flags->get_config_ptr()->sound_frequency) {
action_Freq[i]->setChecked(true);
freq = s_freq_table[i];
}
action_Latency[i]->setObjectName(tmps);
action_Latency[i]->setCheckable(true);
action_Latency[i]->binds->setNumber(i);
- if(i == config.sound_latency) action_Latency[i]->setChecked(true);
+ if(i == using_flags->get_config_ptr()->sound_latency) action_Latency[i]->setChecked(true);
actionGroup_Sound_Latency->addAction(action_Latency[i]);
}
menuSound_Latency->setTitle(QApplication::translate("MainWindow", "Sound Latency", 0));
action_VolumeDialog->setText(QApplication::translate("MainWindow", "Set Volumes", 0));
- do_update_volume(config.general_sound_level);
+ do_update_volume(using_flags->get_config_ptr()->general_sound_level);
}
double xx;
double yy;
if(using_flags->is_use_screen_rotate()) {
- if(config.rotate_type) {
+ if(using_flags->get_config_ptr()->rotate_type) {
xx = (double)ypos * ((double)using_flags->get_screen_width() / (double)d_hh);
yy = (double)xpos * ((double)using_flags->get_screen_height() / (double)d_ww);
} else {
void GLDraw_2_0::drawGrids(void)
{
- gl_grid_horiz = config.opengl_scanline_horiz;
- gl_grid_vert = config.opengl_scanline_vert;
+ gl_grid_horiz = using_flags->get_config_ptr()->opengl_scanline_horiz;
+ gl_grid_vert = using_flags->get_config_ptr()->opengl_scanline_vert;
if(gl_grid_horiz && (vert_lines > 0)) {
drawGridsHorizonal();
} // Will fix.
}
QVector4D color;
- smoosing = config.use_opengl_filters;
+ smoosing = using_flags->get_config_ptr()->use_opengl_filters;
if(set_brightness) {
color = QVector4D(fBrightR, fBrightG, fBrightB, 1.0);
} else {
prg->setUniformValue("tex_width", (float)screen_texture_width);
prg->setUniformValue("tex_height", (float)screen_texture_height);
if(using_flags->is_use_screen_rotate()) {
- if(config.rotate_type) {
+ if(using_flags->get_config_ptr()->rotate_type) {
prg->setUniformValue("rotate", GL_TRUE);
} else {
prg->setUniformValue("rotate", GL_FALSE);
}
QVector4D color;
- smoosing = config.use_opengl_filters;
+ smoosing = using_flags->get_config_ptr()->use_opengl_filters;
if(set_brightness) {
color = QVector4D(fBrightR, fBrightG, fBrightB, 1.0);
} else {
prg->setUniformValue("tex_width", (float)screen_texture_width);
prg->setUniformValue("tex_height", (float)screen_texture_height);
if(using_flags->is_use_screen_rotate()) {
- if(config.rotate_type) {
+ if(using_flags->get_config_ptr()->rotate_type) {
prg->setUniformValue("rotate", GL_TRUE);
} else {
prg->setUniformValue("rotate", GL_FALSE);
uint32_t vk;
int i = 0;
vk = key_table->get_vk_from_scan(data);
- if(config.swap_kanji_pause) {
+ if(using_flags->get_config_ptr()->swap_kanji_pause) {
if(vk == VK_KANJI) {
vk = VK_PAUSE;
} else if(vk == VK_PAUSE) {
return;
}
-extern int MainLoop(int argc, char *argv[]);
+extern int MainLoop(int argc, char *argv[], config_t *cfg);
+extern config_t config;
/*
* This is main for Qt.
/*
* アプリケーション初期化
*/
- nErrorCode = MainLoop(argc, argv);
+ nErrorCode = MainLoop(argc, argv, &config);
return nErrorCode;
}
#if defined(Q_OS_WIN)
float n;
if(level < -32768) level = -32678;
if(level > 32767) level = 32767;
- config.general_sound_level = level;
+ using_flags->get_config_ptr()->general_sound_level = level;
tmps = QApplication::translate("Ui_SoundDialog", "Set Volume", 0);
n = (float)(((level + 32768) * 1000) / 65535) / 10.0;
sliderMasterVolume->setMaximum(32768);
sliderMasterVolume->setSingleStep(256);
sliderMasterVolume->setPageStep(4096);
- sliderMasterVolume->setValue(config.general_sound_level);
+ sliderMasterVolume->setValue(using_flags->get_config_ptr()->general_sound_level);
sliderMasterVolume->connect(sliderMasterVolume, SIGNAL(valueChanged(int)),
sliderMasterVolume, SLOT(setValue(int)));
VBoxMasterVolume = new QVBoxLayout;
int ij = 0;
for(ii = 0; ii < using_flags->get_use_sound_volume(); ii++) {
QString lbl = QApplication::translate("Ui_SoundDialog", using_flags->get_sound_device_caption(ii), 0);
- int l_val = config.sound_volume_l[ii];
- int r_val = config.sound_volume_r[ii];
+ int l_val = using_flags->get_config_ptr()->sound_volume_l[ii];
+ int r_val = using_flags->get_config_ptr()->sound_volume_r[ii];
int s_lvl;
int s_balance;
combo_vcodec->addItem(QString::fromUtf8("H.264 (Drop tail frames)"), VIDEO_CODEC_H264);
for(int i = 0; i < combo_vcodec->count(); i++) {
int ii = combo_vcodec->itemData(i).toInt();
- if(ii == config.video_codec_type) {
+ if(ii == using_flags->get_config_ptr()->video_codec_type) {
combo_vcodec->setCurrentIndex(ii);
}
}
- video_codec_type = config.video_codec_type;
+ video_codec_type = using_flags->get_config_ptr()->video_codec_type;
connect(combo_vcodec, SIGNAL(activated(int)), this, SLOT(do_set_video_codec_type(int)));
label_resolution = new QLabel(QApplication::translate("MainWindow", "Resolution", 0), this);
combo_resolution = new QComboBox(this);
- geometry.setWidth(config.video_width);
- geometry.setHeight(config.video_height);
- audio_bitrate = config.audio_bitrate;
+ geometry.setWidth(using_flags->get_config_ptr()->video_width);
+ geometry.setHeight(using_flags->get_config_ptr()->video_height);
+ audio_bitrate = using_flags->get_config_ptr()->audio_bitrate;
label_video_threads = new QLabel(QApplication::translate("MainWindow", "Video Threads", 0), this);
combo_video_threads = new QComboBox(this);
label_audio_bitrate = new QLabel(QApplication::translate("MainWindow", "Audio Bitrate", 0), this);
label_video_fps = new QLabel(QApplication::translate("MainWindow", "Framerate", 0), this);
combo_video_fps = new QComboBox(this);
- video_fps = config.video_frame_rate;
+ video_fps = using_flags->get_config_ptr()->video_frame_rate;
// Value for resolution
bool skipf = false;
for(int i = 0; i < combo_resolution->count(); i++) {
QSize s = combo_resolution->itemData(i).toSize();
- if((s.width() == config.video_width) && (s.height() == config.video_height)) {
+ if((s.width() == using_flags->get_config_ptr()->video_width) && (s.height() == using_flags->get_config_ptr()->video_height)) {
combo_resolution->setCurrentIndex(i);
}
}
combo_video_threads->addItem(QString::fromUtf8("12"), 12);
for(int i = 0; i < combo_video_threads->count(); i++) {
int br = combo_video_threads->itemData(i).toInt();
- if(br == config.video_threads) {
+ if(br == using_flags->get_config_ptr()->video_threads) {
combo_video_threads->setCurrentIndex(i);
}
}
- video_threads = config.video_threads;
+ video_threads = using_flags->get_config_ptr()->video_threads;
connect(combo_video_threads, SIGNAL(activated(int)), this, SLOT(do_set_video_threads(int)));
// Audio bitrate
combo_audio_bitrate->addItem(QString::fromUtf8("192kbps"), 192);
for(int i = 0; i < combo_audio_bitrate->count(); i++) {
int br = combo_audio_bitrate->itemData(i).toInt();
- if(br == config.audio_bitrate) {
+ if(br == using_flags->get_config_ptr()->audio_bitrate) {
combo_audio_bitrate->setCurrentIndex(i);
}
}
combo_video_fps->addItem(QString::fromUtf8("60fps"), 60); // Temporally disabled
for(int i = 0; i < combo_video_fps->count(); i++) {
int fps = combo_video_fps->itemData(i).toInt();
- if(fps == config.video_frame_rate) {
+ if(fps == using_flags->get_config_ptr()->video_frame_rate) {
combo_video_fps->setCurrentIndex(i);
}
}
// See:
// https://libav.org/avconv.html#Video-Options
- config.audio_bitrate = audio_bitrate;
+ using_flags->get_config_ptr()->audio_bitrate = audio_bitrate;
emit sig_set_audio_bitrate(audio_bitrate);
switch(video_codec_type) {
emit sig_video_add_option(QString::fromUtf8("c:v"), QString::fromUtf8("h264"));
break;
}
- config.video_codec_type = video_codec_type;
+ using_flags->get_config_ptr()->video_codec_type = video_codec_type;
emit sig_video_add_option(QString::fromUtf8("c:a"), QString::fromUtf8("aac"));
- //config.audio_codec_type = audio_codec_type;
+ //using_flags->get_config_ptr()->audio_codec_type = audio_codec_type;
- config.video_threads = video_threads;
- config.video_frame_rate = video_fps;
+ using_flags->get_config_ptr()->video_threads = video_threads;
+ using_flags->get_config_ptr()->video_frame_rate = video_fps;
- config.video_width = geometry.width();
- config.video_height = geometry.height();
+ using_flags->get_config_ptr()->video_width = geometry.width();
+ using_flags->get_config_ptr()->video_height = geometry.height();
emit sig_set_video_resolution(geometry);
- config.video_threads = video_threads;
- config.video_frame_rate = video_fps;
+ using_flags->get_config_ptr()->video_threads = video_threads;
+ using_flags->get_config_ptr()->video_frame_rate = video_fps;
}
#include "dialog_movie.h"
#include "../avio/movie_saver.h"
#include "../../config.h"
+#include "menu_flags.h"
CSP_TabMovieH264::CSP_TabMovieH264(MOVIE_SAVER *ms, CSP_DialogMovie *parent_window, USING_FLAGS *p, QWidget *parent) : QWidget(parent)
{
p_movie = ms;
p_window = parent_window;
- video_maxq = config.video_h264_maxq;
- video_minq = config.video_h264_minq;
+ video_maxq = using_flags->get_config_ptr()->video_h264_maxq;
+ video_minq = using_flags->get_config_ptr()->video_h264_minq;
label_video_bframes = new QLabel(QApplication::translate("MainWindow", "Max B Frames", 0), this);
combo_video_bframes = new QComboBox(this);
combo_video_bitrate->addItem(QString::fromUtf8("4500Kbps"), 4500);
for(int i = 0; i < combo_video_bitrate->count(); i++) {
int br = combo_video_bitrate->itemData(i).toInt();
- if(br == config.video_h264_bitrate) {
+ if(br == using_flags->get_config_ptr()->video_h264_bitrate) {
combo_video_bitrate->setCurrentIndex(i);
}
}
connect(combo_video_bitrate, SIGNAL(activated(int)), this, SLOT(do_set_video_bitrate(int)));
- video_bitrate = config.video_h264_bitrate;
+ video_bitrate = using_flags->get_config_ptr()->video_h264_bitrate;
// Video bframes
combo_video_bframes->addItem(QString::fromUtf8("0"), 0);
combo_video_bframes->addItem(QString::fromUtf8("8"), 8);
for(int i = 0; i < combo_video_bframes->count(); i++) {
int br = combo_video_bframes->itemData(i).toInt();
- if(br == config.video_h264_bframes) {
+ if(br == using_flags->get_config_ptr()->video_h264_bframes) {
combo_video_bframes->setCurrentIndex(i);
}
}
- video_bframes = config.video_h264_bframes;
+ video_bframes = using_flags->get_config_ptr()->video_h264_bframes;
connect(combo_video_bframes, SIGNAL(activated(int)), this, SLOT(do_set_bframes(int)));
// B adapt
combo_video_b_adapt->addItem(QApplication::translate("MainWindow", "Optimal (Slow with high B-Frames)", 0), 2);
for(int i = 0; i < combo_video_b_adapt->count(); i++) {
int br = combo_video_b_adapt->itemData(i).toInt();
- if(br == config.video_h264_b_adapt) {
+ if(br == using_flags->get_config_ptr()->video_h264_b_adapt) {
combo_video_b_adapt->setCurrentIndex(i);
}
}
- video_b_adapt = config.video_h264_b_adapt;
+ video_b_adapt = using_flags->get_config_ptr()->video_h264_b_adapt;
connect(combo_video_b_adapt, SIGNAL(activated(int)), this, SLOT(do_set_b_adapt(int)));
slider_qmin = new QSlider(Qt::Horizontal, this);
slider_qmin->setMinimum(0);
slider_qmin->setMaximum(63);
- slider_qmin->setValue(config.video_h264_minq);
+ slider_qmin->setValue(using_flags->get_config_ptr()->video_h264_minq);
label_qmin_val = new QLabel(this);
- tmps.setNum(config.video_h264_minq);
+ tmps.setNum(using_flags->get_config_ptr()->video_h264_minq);
label_qmin_val->setText(tmps);
label_qmin_name = new QLabel(QString::fromUtf8("QP Min"), this);
- video_minq = config.video_h264_minq;
+ video_minq = using_flags->get_config_ptr()->video_h264_minq;
connect(slider_qmin, SIGNAL(valueChanged(int)), this, SLOT(do_set_qmin(int)));
slider_qmax = new QSlider(Qt::Horizontal, this);
slider_qmax->setMinimum(0);
slider_qmax->setMaximum(63);
- slider_qmax->setValue(config.video_h264_maxq);
+ slider_qmax->setValue(using_flags->get_config_ptr()->video_h264_maxq);
label_qmax_val = new QLabel(this);
- tmps.setNum(config.video_h264_maxq);
+ tmps.setNum(using_flags->get_config_ptr()->video_h264_maxq);
label_qmax_val->setText(tmps);
label_qmax_name = new QLabel(QString::fromUtf8("QP Max"), this);
connect(slider_qmax, SIGNAL(valueChanged(int)), this, SLOT(do_set_qmax(int)));
- video_maxq = config.video_h264_maxq;
+ video_maxq = using_flags->get_config_ptr()->video_h264_maxq;
// Subme
combo_video_subme->addItem(QApplication::translate("MainWindow", "RD mode decision for I/P-frames", 0), 6);
combo_video_subme->addItem(QApplication::translate("MainWindow", "Full RD: disable all early terminations", 0), 11);
for(int i = 0; i < combo_video_subme->count(); i++) {
int br = combo_video_subme->itemData(i).toInt();
- if(br == config.video_h264_subme) {
+ if(br == using_flags->get_config_ptr()->video_h264_subme) {
combo_video_subme->setCurrentIndex(i);
}
}
- video_subme = config.video_h264_subme;
+ video_subme = using_flags->get_config_ptr()->video_h264_subme;
connect(combo_video_subme, SIGNAL(activated(int)), this, SLOT(do_set_subme(int)));
label_title = new QLabel(QApplication::translate("MainWindow", "Set H.264 parameter.", 0), this);
QString value;
// See:
// https://libav.org/avconv.html#Video-Options
- config.video_h264_bitrate = video_bitrate;
+ using_flags->get_config_ptr()->video_h264_bitrate = video_bitrate;
- config.video_h264_maxq = video_maxq;
- config.video_h264_minq = video_minq;
- config.video_h264_bframes = video_bframes;
- config.video_h264_b_adapt = video_b_adapt;
- config.video_h264_subme = video_subme;
+ using_flags->get_config_ptr()->video_h264_maxq = video_maxq;
+ using_flags->get_config_ptr()->video_h264_minq = video_minq;
+ using_flags->get_config_ptr()->video_h264_bframes = video_bframes;
+ using_flags->get_config_ptr()->video_h264_b_adapt = video_b_adapt;
+ using_flags->get_config_ptr()->video_h264_subme = video_subme;
}
void CSP_TabMovieH264::do_set_qmin(int n)
#include "dialog_movie.h"
#include "../avio/movie_saver.h"
#include "../../config.h"
+#include "menu_flags.h"
CSP_TabMovieMPEG4::CSP_TabMovieMPEG4(MOVIE_SAVER *ms, CSP_DialogMovie *parent_window, USING_FLAGS *p, QWidget *parent) : QWidget(parent)
{
p_movie = ms;
p_window = parent_window;
- video_maxq = config.video_mpeg4_maxq;
- video_minq = config.video_mpeg4_minq;
+ video_maxq = using_flags->get_config_ptr()->video_mpeg4_maxq;
+ video_minq = using_flags->get_config_ptr()->video_mpeg4_minq;
if(video_maxq < video_minq) {
int n = video_maxq;
video_maxq = video_minq;
combo_video_bitrate->addItem(QString::fromUtf8("20000Kbps"), 20000);
for(int i = 0; i < combo_video_bitrate->count(); i++) {
int br = combo_video_bitrate->itemData(i).toInt();
- if(br == config.video_mpeg4_bitrate) {
+ if(br == using_flags->get_config_ptr()->video_mpeg4_bitrate) {
combo_video_bitrate->setCurrentIndex(i);
}
}
connect(combo_video_bitrate, SIGNAL(activated(int)), this, SLOT(do_set_video_bitrate(int)));
- video_bitrate = config.video_mpeg4_bitrate;
+ video_bitrate = using_flags->get_config_ptr()->video_mpeg4_bitrate;
// Video bframes
combo_video_bframes->addItem(QString::fromUtf8("1"), 1);
combo_video_bframes->addItem(QString::fromUtf8("8"), 8);
for(int i = 0; i < combo_video_bframes->count(); i++) {
int br = combo_video_bframes->itemData(i).toInt();
- if(br == config.video_mpeg4_bframes) {
+ if(br == using_flags->get_config_ptr()->video_mpeg4_bframes) {
combo_video_bframes->setCurrentIndex(i);
}
}
- video_bframes = config.video_mpeg4_bframes;
+ video_bframes = using_flags->get_config_ptr()->video_mpeg4_bframes;
connect(combo_video_bframes, SIGNAL(activated(int)), this, SLOT(do_set_bframes(int)));
slider_qmin = new QSlider(Qt::Horizontal, this);
slider_qmin->setMinimum(1);
slider_qmin->setMaximum(31);
- slider_qmin->setValue(config.video_mpeg4_minq);
+ slider_qmin->setValue(using_flags->get_config_ptr()->video_mpeg4_minq);
label_qmin_val = new QLabel(this);
- tmps.setNum(config.video_mpeg4_minq);
+ tmps.setNum(using_flags->get_config_ptr()->video_mpeg4_minq);
label_qmin_val->setText(tmps);
label_qmin_name = new QLabel(QString::fromUtf8("QP Min"), this);
- video_minq = config.video_mpeg4_minq;
+ video_minq = using_flags->get_config_ptr()->video_mpeg4_minq;
connect(slider_qmin, SIGNAL(valueChanged(int)), this, SLOT(do_set_qmin(int)));
slider_qmax = new QSlider(Qt::Horizontal, this);
slider_qmax->setMinimum(1);
slider_qmax->setMaximum(31);
- slider_qmax->setValue(config.video_mpeg4_maxq);
+ slider_qmax->setValue(using_flags->get_config_ptr()->video_mpeg4_maxq);
label_qmax_val = new QLabel(this);
- tmps.setNum(config.video_mpeg4_maxq);
+ tmps.setNum(using_flags->get_config_ptr()->video_mpeg4_maxq);
label_qmax_val->setText(tmps);
label_qmax_name = new QLabel(QString::fromUtf8("QP Max"), this);
connect(slider_qmax, SIGNAL(valueChanged(int)), this, SLOT(do_set_qmax(int)));
- video_maxq = config.video_mpeg4_maxq;
+ video_maxq = using_flags->get_config_ptr()->video_mpeg4_maxq;
label_title = new QLabel(QApplication::translate("MainWindow", "Set MPEG4v1 parameter.", 0), this);
grid_layout = new QGridLayout(this);
QString value;
// See:
// https://libav.org/avconv.html#Video-Options
- config.video_mpeg4_bitrate = video_bitrate;
+ using_flags->get_config_ptr()->video_mpeg4_bitrate = video_bitrate;
- config.video_mpeg4_maxq = video_maxq;
- config.video_mpeg4_minq = video_minq;
- config.video_mpeg4_bframes = video_bframes;
+ using_flags->get_config_ptr()->video_mpeg4_maxq = video_maxq;
+ using_flags->get_config_ptr()->video_mpeg4_minq = video_minq;
+ using_flags->get_config_ptr()->video_mpeg4_bframes = video_bframes;
}
void CSP_TabMovieMPEG4::do_set_qmin(int n)
if((num < 0) || (num >= MAX_HISTORY)) return -1;
- s_path = QString::fromLocal8Bit(config.recent_binary_path[drv][num]);
+ s_path = QString::fromLocal8Bit(using_flags->get_config_ptr()->recent_binary_path[drv][num]);
strncpy(path_shadow, s_path.toLocal8Bit().constData(), PATH_MAX);
- UPDATE_HISTORY(path_shadow, config.recent_binary_path[drv], listBINs[drv]);
+ UPDATE_HISTORY(path_shadow, using_flags->get_config_ptr()->recent_binary_path[drv], listBINs[drv]);
strncpy(path_shadow, s_path.toLocal8Bit().constData(), PATH_MAX);
get_parent_dir(path_shadow);
- strcpy(config.initial_binary_dir, path_shadow);
+ strcpy(using_flags->get_config_ptr()->initial_binary_dir, path_shadow);
//strncpy(path_shadow, s_path.toUtf8().constData(), PATH_MAX);
emit sig_load_binary(drv, s_path);
menu_BINs[drv]->do_update_histories(listBINs[drv]);
- menu_BINs[drv]->do_set_initialize_directory(config.initial_binary_dir);
+ menu_BINs[drv]->do_set_initialize_directory(using_flags->get_config_ptr()->initial_binary_dir);
return 0;
}
if((num < 0) || (num >= MAX_HISTORY)) return -1;
- s_path = QString::fromLocal8Bit(config.recent_binary_path[drv][num]);
+ s_path = QString::fromLocal8Bit(using_flags->get_config_ptr()->recent_binary_path[drv][num]);
strncpy(path_shadow, s_path.toLocal8Bit().constData(), PATH_MAX);
- UPDATE_HISTORY(path_shadow, config.recent_binary_path[drv], listBINs[drv]);
+ UPDATE_HISTORY(path_shadow, using_flags->get_config_ptr()->recent_binary_path[drv], listBINs[drv]);
strncpy(path_shadow, s_path.toLocal8Bit().constData(), PATH_MAX);
get_parent_dir(path_shadow);
- strcpy(config.initial_binary_dir, path_shadow);
+ strcpy(using_flags->get_config_ptr()->initial_binary_dir, path_shadow);
//strncpy(path_shadow, s_path.toUtf8().constData(), PATH_MAX);
emit sig_save_binary(drv, s_path);
menu_BINs[drv]->do_update_histories(listBINs[drv]);
- menu_BINs[drv]->do_set_initialize_directory(config.initial_binary_dir);
+ menu_BINs[drv]->do_set_initialize_directory(using_flags->get_config_ptr()->initial_binary_dir);
return 0;
}
if(fname.length() <= 0) return;
drv = drv & 7;
strncpy(path_shadow, fname.toLocal8Bit().constData(), PATH_MAX);
- UPDATE_HISTORY(path_shadow, config.recent_binary_path[drv], listBINs[drv]);
+ UPDATE_HISTORY(path_shadow, using_flags->get_config_ptr()->recent_binary_path[drv], listBINs[drv]);
get_parent_dir(path_shadow);
- strcpy(config.initial_binary_dir, path_shadow);
+ strcpy(using_flags->get_config_ptr()->initial_binary_dir, path_shadow);
// Update List
emit sig_load_binary(drv, fname);
menu_BINs[drv]->do_update_histories(listBINs[drv]);
- menu_BINs[drv]->do_set_initialize_directory(config.initial_binary_dir);
+ menu_BINs[drv]->do_set_initialize_directory(using_flags->get_config_ptr()->initial_binary_dir);
}
void Ui_MainWindowBase::_open_binary_save(int drv, const QString fname)
if(fname.length() <= 0) return;
drv = drv & 7;
strncpy(path_shadow, fname.toLocal8Bit().constData(), PATH_MAX);
- UPDATE_HISTORY(path_shadow, config.recent_binary_path[drv], listBINs[drv]);
+ UPDATE_HISTORY(path_shadow, using_flags->get_config_ptr()->recent_binary_path[drv], listBINs[drv]);
get_parent_dir(path_shadow);
- strcpy(config.initial_binary_dir, path_shadow);
+ strcpy(using_flags->get_config_ptr()->initial_binary_dir, path_shadow);
// Update List
emit sig_save_binary(drv, fname);
menu_BINs[drv]->do_update_histories(listBINs[drv]);
- menu_BINs[drv]->do_set_initialize_directory(config.initial_binary_dir);
+ menu_BINs[drv]->do_set_initialize_directory(using_flags->get_config_ptr()->initial_binary_dir);
}
menu_BINs[drv]->do_clear_inner_media();
menu_BINs[drv]->do_add_media_extension(ext, desc1);
- SETUP_HISTORY(config.recent_binary_path[drv], listBINs[drv]);
+ SETUP_HISTORY(using_flags->get_config_ptr()->recent_binary_path[drv], listBINs[drv]);
menu_BINs[drv]->do_update_histories(listBINs[drv]);
- menu_BINs[drv]->do_set_initialize_directory(config.initial_binary_dir);
+ menu_BINs[drv]->do_set_initialize_directory(using_flags->get_config_ptr()->initial_binary_dir);
listBINs[drv].clear();
QString name = QString::fromUtf8("Binary");
menu_bubbles[drv]->do_clear_inner_media();
menu_bubbles[drv]->do_add_media_extension(ext, desc1);
- SETUP_HISTORY(config.recent_bubble_casette_path[drv], listBubbles[drv]);
+ SETUP_HISTORY(using_flags->get_config_ptr()->recent_bubble_casette_path[drv], listBubbles[drv]);
menu_bubbles[drv]->do_update_histories(listBubbles[drv]);
- menu_bubbles[drv]->do_set_initialize_directory(config.initial_bubble_casette_dir);
+ menu_bubbles[drv]->do_set_initialize_directory(using_flags->get_config_ptr()->initial_bubble_casette_dir);
listB77[drv].clear();
QString name = QString::fromUtf8("BUBBLE");
if(fname.length() <= 0) return;
strncpy(path_shadow, fname.toLocal8Bit().constData(), PATH_MAX);
- UPDATE_HISTORY(path_shadow, config.recent_cart_path[drv], listCARTs[drv]);
+ UPDATE_HISTORY(path_shadow, using_flags->get_config_ptr()->recent_cart_path[drv], listCARTs[drv]);
get_parent_dir(path_shadow);
- strcpy(config.initial_cart_dir, path_shadow);
+ strcpy(using_flags->get_config_ptr()->initial_cart_dir, path_shadow);
menu_Cart[drv]->do_update_histories(listCARTs[drv]);
- menu_Cart[drv]->do_set_initialize_directory(config.initial_cart_dir);
+ menu_Cart[drv]->do_set_initialize_directory(using_flags->get_config_ptr()->initial_cart_dir);
emit sig_close_cart(drv);
emit sig_open_cart(drv, fname);
if((num < 0) || (num >= MAX_HISTORY)) return;
- s_path = QString::fromLocal8Bit(config.recent_cart_path[drv][num]);
+ s_path = QString::fromLocal8Bit(using_flags->get_config_ptr()->recent_cart_path[drv][num]);
strncpy(path_shadow, s_path.toLocal8Bit().constData(), PATH_MAX);
- UPDATE_HISTORY(path_shadow, config.recent_cart_path[drv], listCARTs[drv]);
+ UPDATE_HISTORY(path_shadow, using_flags->get_config_ptr()->recent_cart_path[drv], listCARTs[drv]);
strncpy(path_shadow, s_path.toLocal8Bit().constData(), PATH_MAX);
get_parent_dir(path_shadow);
- strcpy(config.initial_cart_dir, path_shadow);
+ strcpy(using_flags->get_config_ptr()->initial_cart_dir, path_shadow);
menu_Cart[drv]->do_update_histories(listCARTs[drv]);
- menu_Cart[drv]->do_set_initialize_directory(config.initial_cart_dir);
+ menu_Cart[drv]->do_set_initialize_directory(using_flags->get_config_ptr()->initial_cart_dir);
//eject_cart(drv);
emit sig_open_cart(drv, s_path);
menu_Cart[drv]->do_clear_inner_media();
menu_Cart[drv]->do_add_media_extension(ext, desc);
- SETUP_HISTORY(config.recent_cart_path[drv], listCARTs[drv]);
+ SETUP_HISTORY(using_flags->get_config_ptr()->recent_cart_path[drv], listCARTs[drv]);
menu_Cart[drv]->do_update_histories(listCARTs[drv]);
- menu_Cart[drv]->do_set_initialize_directory(config.initial_cart_dir);
+ menu_Cart[drv]->do_set_initialize_directory(using_flags->get_config_ptr()->initial_cart_dir);
QString name = QString::fromUtf8("Cart");
QString tmpv;
menu_CDROM->create_pulldown_menu();
// Translate Menu
- SETUP_HISTORY(config.recent_compact_disc_path, listCDROM);
+ SETUP_HISTORY(using_flags->get_config_ptr()->recent_compact_disc_path, listCDROM);
menu_CDROM->do_update_histories(listCDROM);
- menu_CDROM->do_set_initialize_directory(config.initial_compact_disc_dir);
+ menu_CDROM->do_set_initialize_directory(using_flags->get_config_ptr()->initial_compact_disc_dir);
ext_play = "*.ccd *.cue";
desc_play = "Compact Disc";
int i;
if((num < 0) || (num >= MAX_HISTORY)) return -1;
- s_path = QString::fromLocal8Bit(config.recent_compact_disc_path[num]);
+ s_path = QString::fromLocal8Bit(using_flags->get_config_ptr()->recent_compact_disc_path[num]);
strncpy(path_shadow, s_path.toLocal8Bit().constData(), PATH_MAX);
- UPDATE_HISTORY(path_shadow, config.recent_compact_disc_path, listCDROM);
+ UPDATE_HISTORY(path_shadow, using_flags->get_config_ptr()->recent_compact_disc_path, listCDROM);
get_parent_dir(path_shadow);
- strcpy(config.initial_compact_disc_dir, path_shadow);
+ strcpy(using_flags->get_config_ptr()->initial_compact_disc_dir, path_shadow);
strncpy(path_shadow, s_path.toLocal8Bit().constData(), PATH_MAX);
emit sig_close_cdrom();
AGAR_DebugLog(AGAR_LOG_DEBUG, "CD-ROM: Open : filename = %s", path_shadow);
emit sig_open_cdrom(s_path);
menu_CDROM->do_update_histories(listCDROM);
- menu_CDROM->do_set_initialize_directory(config.initial_compact_disc_dir);
+ menu_CDROM->do_set_initialize_directory(using_flags->get_config_ptr()->initial_compact_disc_dir);
return 0;
}
if(path.length() <= 0) return;
strncpy(path_shadow, path.toLocal8Bit().constData(), PATH_MAX);
- UPDATE_HISTORY(path_shadow, config.recent_compact_disc_path, listCDROM);
+ UPDATE_HISTORY(path_shadow, using_flags->get_config_ptr()->recent_compact_disc_path, listCDROM);
get_parent_dir(path_shadow);
- strcpy(config.initial_compact_disc_dir, path_shadow);
+ strcpy(using_flags->get_config_ptr()->initial_compact_disc_dir, path_shadow);
// Copy filename again.
strncpy(path_shadow, path.toLocal8Bit().constData(), PATH_MAX);
AGAR_DebugLog(AGAR_LOG_DEBUG, "CD-ROM: Open : filename = %s", path_shadow);
emit sig_open_cdrom(path);
menu_CDROM->do_update_histories(listCDROM);
- menu_CDROM->do_set_initialize_directory(config.initial_compact_disc_dir);
+ menu_CDROM->do_set_initialize_directory(using_flags->get_config_ptr()->initial_compact_disc_dir);
}
void Ui_MainWindowBase::retranslateCDROMMenu(void)
menu_CMT->create_pulldown_menu();
// Translate Menu
- SETUP_HISTORY(config.recent_tape_path, listCMT);
+ SETUP_HISTORY(using_flags->get_config_ptr()->recent_tape_path, listCMT);
menu_CMT->do_set_write_protect(false);
menu_CMT->do_update_histories(listCMT);
- menu_CMT->do_set_initialize_directory(config.initial_tape_dir);
+ menu_CMT->do_set_initialize_directory(using_flags->get_config_ptr()->initial_tape_dir);
if(using_flags->is_machine_pc6001()) {
ext_play = "*.wav *.p6 *.cas";
int i;
if((num < 0) || (num >= MAX_HISTORY)) return -1;
- s_path = QString::fromLocal8Bit(config.recent_tape_path[num]);
+ s_path = QString::fromLocal8Bit(using_flags->get_config_ptr()->recent_tape_path[num]);
strncpy(path_shadow, s_path.toLocal8Bit().constData(), PATH_MAX);
- UPDATE_HISTORY(path_shadow, config.recent_tape_path, listCMT);
+ UPDATE_HISTORY(path_shadow, using_flags->get_config_ptr()->recent_tape_path, listCMT);
get_parent_dir(path_shadow);
- strcpy(config.initial_tape_dir, path_shadow);
+ strcpy(using_flags->get_config_ptr()->initial_tape_dir, path_shadow);
strncpy(path_shadow, s_path.toLocal8Bit().constData(), PATH_MAX);
AGAR_DebugLog(AGAR_LOG_DEBUG, "Tape: Open READ");
emit sig_close_tape();
emit sig_play_tape(s_path);
menu_CMT->do_update_histories(listCMT);
- menu_CMT->do_set_initialize_directory(config.initial_tape_dir);
+ menu_CMT->do_set_initialize_directory(using_flags->get_config_ptr()->initial_tape_dir);
return 0;
}
void Ui_MainWindowBase::set_wave_shaper(bool f)
{
if(f) {
- config.wave_shaper = 1;
+ using_flags->get_config_ptr()->wave_shaper = 1;
} else {
- config.wave_shaper = 0;
+ using_flags->get_config_ptr()->wave_shaper = 0;
}
}
bool Ui_MainWindowBase::get_wave_shaper(void)
{
- if(config.wave_shaper == 0) return false;
+ if(using_flags->get_config_ptr()->wave_shaper == 0) return false;
return true;
}
void Ui_MainWindowBase::set_direct_load_from_mzt(bool f)
{
if(f) {
- config.direct_load_mzt = 1;
+ using_flags->get_config_ptr()->direct_load_mzt = 1;
} else {
- config.direct_load_mzt = 0;
+ using_flags->get_config_ptr()->direct_load_mzt = 0;
}
}
bool Ui_MainWindowBase::get_direct_load_mzt(void)
{
- if(config.direct_load_mzt == 0) return false;
+ if(using_flags->get_config_ptr()->direct_load_mzt == 0) return false;
return true;
}
if(path.length() <= 0) return;
strncpy(path_shadow, path.toLocal8Bit().constData(), PATH_MAX);
- UPDATE_HISTORY(path_shadow, config.recent_tape_path, listCMT);
+ UPDATE_HISTORY(path_shadow, using_flags->get_config_ptr()->recent_tape_path, listCMT);
get_parent_dir(path_shadow);
- strcpy(config.initial_tape_dir, path_shadow);
+ strcpy(using_flags->get_config_ptr()->initial_tape_dir, path_shadow);
// Copy filename again.
strncpy(path_shadow, path.toLocal8Bit().constData(), PATH_MAX);
AGAR_DebugLog(AGAR_LOG_DEBUG, "Tape: Open READ : filename = %s", path_shadow);
emit sig_play_tape(path);
menu_CMT->do_update_histories(listCMT);
- menu_CMT->do_set_initialize_directory(config.initial_tape_dir);
+ menu_CMT->do_set_initialize_directory(using_flags->get_config_ptr()->initial_tape_dir);
}
void Ui_MainWindowBase::do_open_write_cmt(QString path)
if(path.length() <= 0) return;
strncpy(path_shadow, path.toLocal8Bit().constData(), PATH_MAX);
- UPDATE_HISTORY(path_shadow, config.recent_tape_path, listCMT);
+ UPDATE_HISTORY(path_shadow, using_flags->get_config_ptr()->recent_tape_path, listCMT);
get_parent_dir(path_shadow);
- strcpy(config.initial_tape_dir, path_shadow);
+ strcpy(using_flags->get_config_ptr()->initial_tape_dir, path_shadow);
// Copy filename again.
strncpy(path_shadow, path.toLocal8Bit().constData(), PATH_MAX);
emit sig_rec_tape(path);
}
menu_CMT->do_update_histories(listCMT);
- menu_CMT->do_set_initialize_directory(config.initial_tape_dir);
+ menu_CMT->do_set_initialize_directory(using_flags->get_config_ptr()->initial_tape_dir);
}
void Object_Menu_Control::do_set_ignore_crc_error(bool flag)
{
- config.ignore_disk_crc[drive] = flag;
+ using_flags->get_config_ptr()->ignore_disk_crc[drive] = flag;
emit sig_emu_update_config();
}
void Object_Menu_Control::do_set_correct_disk_timing(bool flag)
{
- config.correct_disk_timing[drive] = flag;
+ using_flags->get_config_ptr()->correct_disk_timing[drive] = flag;
emit sig_emu_update_config();
}
menu_fds[drv]->do_clear_inner_media();
menu_fds[drv]->do_add_media_extension(ext, desc1);
- SETUP_HISTORY(config.recent_floppy_disk_path[drv], listFDs[drv]);
+ SETUP_HISTORY(using_flags->get_config_ptr()->recent_floppy_disk_path[drv], listFDs[drv]);
menu_fds[drv]->do_update_histories(listFDs[drv]);
- menu_fds[drv]->do_set_initialize_directory(config.initial_floppy_disk_dir);
+ menu_fds[drv]->do_set_initialize_directory(using_flags->get_config_ptr()->initial_floppy_disk_dir);
listD88[drv].clear();
QString name = QString::fromUtf8("FD");
desc2 = desc1 + " (" + ext.toLower() + " " + ext.toUpper() + ")";
//desc2 = desc1 + " (" + ext.toLower() + ")";
//desc1 = desc1 + " (" + ext.toUpper() + ")";
- if(config.initial_quick_disk_dir != NULL) {
- dirname = config.initial_quick_disk_dir;
+ if(using_flags->get_config_ptr()->initial_quick_disk_dir != NULL) {
+ dirname = using_flags->get_config_ptr()->initial_quick_disk_dir;
} else {
char app[_MAX_PATH];
QDir df;
char path_shadow[_MAX_PATH];
int i;
if((num < 0) || (num >= MAX_HISTORY)) return -1;
- s_path = QString::fromLocal8Bit(config.recent_quick_disk_path[drv][num]);
+ s_path = QString::fromLocal8Bit(using_flags->get_config_ptr()->recent_quick_disk_path[drv][num]);
strncpy(path_shadow, s_path.toLocal8Bit().constData(), _MAX_PATH);
- UPDATE_HISTORY(path_shadow, config.recent_quick_disk_path[drv], listQDs[drv]);
+ UPDATE_HISTORY(path_shadow, using_flags->get_config_ptr()->recent_quick_disk_path[drv], listQDs[drv]);
strncpy(path_shadow, s_path.toLocal8Bit().constData(), _MAX_PATH);
get_parent_dir(path_shadow);
- strncpy(config.initial_quick_disk_dir, path_shadow, _MAX_PATH);
+ strncpy(using_flags->get_config_ptr()->initial_quick_disk_dir, path_shadow, _MAX_PATH);
emit sig_close_quickdisk(drv);
emit sig_open_quickdisk(drv, s_path);
menu_QDs[drv]->do_update_histories(listQDs[drv]);
- menu_QDs[drv]->do_set_initialize_directory(config.initial_quick_disk_dir);
+ menu_QDs[drv]->do_set_initialize_directory(using_flags->get_config_ptr()->initial_quick_disk_dir);
//if(emu->get_quickdisk_protected(drv)) {
// menu_QDs[drv]->do_write_protect_media();
//} else {
if(fname.length() <= 0) return;
strncpy(path_shadow, s_name.toLocal8Bit().constData(), _MAX_PATH);
- UPDATE_HISTORY(path_shadow, config.recent_quick_disk_path[drv], listQDs[drv]);
+ UPDATE_HISTORY(path_shadow, using_flags->get_config_ptr()->recent_quick_disk_path[drv], listQDs[drv]);
strncpy(path_shadow, s_name.toLocal8Bit().constData(), _MAX_PATH);
get_parent_dir(path_shadow);
- strncpy(config.initial_quick_disk_dir, path_shadow, _MAX_PATH);
+ strncpy(using_flags->get_config_ptr()->initial_quick_disk_dir, path_shadow, _MAX_PATH);
emit sig_close_quickdisk(drv);
emit sig_open_quickdisk(drv, s_name);
menu_QDs[drv]->do_update_histories(listQDs[drv]);
- menu_QDs[drv]->do_set_initialize_directory(config.initial_quick_disk_dir);
+ menu_QDs[drv]->do_set_initialize_directory(using_flags->get_config_ptr()->initial_quick_disk_dir);
//if(emu->get_quickdisk_protected(drv)) {
// menu_QDs[drv]->do_write_protect_media();
//} else {
menu_QDs[drv]->do_clear_inner_media();
menu_QDs[drv]->do_add_media_extension(ext, desc1);
- SETUP_HISTORY(config.recent_quick_disk_path[drv], listQDs[drv]);
+ SETUP_HISTORY(using_flags->get_config_ptr()->recent_quick_disk_path[drv], listQDs[drv]);
menu_QDs[drv]->do_update_histories(listQDs[drv]);
- menu_QDs[drv]->do_set_initialize_directory(config.initial_quick_disk_dir);
+ menu_QDs[drv]->do_set_initialize_directory(using_flags->get_config_ptr()->initial_quick_disk_dir);
QString name = QString::fromUtf8("Quick Disk");
QString tmpv;
{
}
+extern config_t config;
void META_MainWindow::setupUI_Emu(void)
{
//QT_BEGIN_NAMESPACE
+extern config_t config;
Object_Menu_Control_7::Object_Menu_Control_7(QObject *parent, USING_FLAGS *p) : Object_Menu_Control(parent, p)
{
#include "menuclasses.h"
#include "qt_main.h"
+extern config_t config;
+
//QT_BEGIN_NAMESPACE
Action_Control_HC20::Action_Control_HC20(QObject *parent, USING_FLAGS *p) : Action_Control(parent, p)
{
//QT_BEGIN_NAMESPACE
+extern config_t config;
+
Action_Control_MZ3500::Action_Control_MZ3500(QObject *parent, USING_FLAGS *p) : Action_Control(parent, p)
{
mz_binds = new Object_Menu_Control_MZ3500(parent, p);
//QT_BEGIN_NAMESPACE
+extern config_t config;
Action_Control_MZ700::Action_Control_MZ700(QObject *parent, USING_FLAGS *p) : Action_Control(parent, p)
{
#include "emu.h"
#include "qt_main.h"
+extern config_t config;
+
Action_Control_MZ80::Action_Control_MZ80(QObject *parent, USING_FLAGS *p) : Action_Control(parent, p)
{
mz_binds = new Object_Menu_Control_MZ80(parent, p);
//QT_BEGIN_NAMESPACE
+extern config_t config;
Object_Menu_Control_60::Object_Menu_Control_60(QObject *parent, USING_FLAGS *p) : Object_Menu_Control(parent, p)
{
//QT_BEGIN_NAMESPACE
+extern config_t config;
Object_Menu_Control_88::Object_Menu_Control_88(QObject *parent, USING_FLAGS *p) : Object_Menu_Control(parent, p)
{
#include "menu_disk.h"
//QT_BEGIN_NAMESPACE
+extern config_t config;
Object_Menu_Control_98::Object_Menu_Control_98(QObject *parent, USING_FLAGS *p) : Object_Menu_Control(parent, p)
{
#include "emu.h"
#include "qt_main.h"
+extern config_t config;
Action_Control_QC10::Action_Control_QC10(QObject *parent, USING_FLAGS *p) : Action_Control(parent, p)
{
}
#endif
-
+extern config_t config;
void META_MainWindow::setupUI_Emu(void)
{
menu_Emu_DisplayMode = new QMenu(menuMachine);
menu_Emu_DisplayMode->setObjectName(QString::fromUtf8("menu_DisplayMode"));
- actionGroup_DisplayMode = new QActionGroup(this, using_flags);
+ actionGroup_DisplayMode = new QActionGroup(this);
actionGroup_DisplayMode->setObjectName(QString::fromUtf8("actionGroup_DisplayMode"));
actionGroup_DisplayMode->setExclusive(true);
menuMachine->addAction(menu_Emu_DisplayMode->menuAction());