mirror of
https://github.com/WarmUpTill/SceneSwitcher.git
synced 2026-09-02 22:55:34 -05:00
Add audio tab (#36)
* add volumemeter widget * add audio tab UI * add checkAudioSwitch functionality * use constexpr instead of preprocessing
This commit is contained in:
@@ -265,6 +265,7 @@ void SceneSwitcher::on_exportSettings_clicked()
|
||||
switcher->saveFileSwitches(obj);
|
||||
switcher->saveMediaSwitches(obj);
|
||||
switcher->saveTimeSwitches(obj);
|
||||
switcher->saveAudioSwitches(obj);
|
||||
switcher->saveGeneralSettings(obj);
|
||||
|
||||
obs_data_save_json(obj, file.fileName().toUtf8().constData());
|
||||
@@ -309,6 +310,7 @@ void SceneSwitcher::on_importSettings_clicked()
|
||||
switcher->loadFileSwitches(obj);
|
||||
switcher->loadMediaSwitches(obj);
|
||||
switcher->loadTimeSwitches(obj);
|
||||
switcher->loadAudioSwitches(obj);
|
||||
switcher->loadGeneralSettings(obj);
|
||||
|
||||
obs_data_release(obj);
|
||||
@@ -362,6 +364,9 @@ int findTabIndex(QTabBar *bar, int pos)
|
||||
case 11:
|
||||
tabName = "Sequence";
|
||||
break;
|
||||
case 12:
|
||||
tabName = "Audio";
|
||||
break;
|
||||
}
|
||||
|
||||
for (int i = 0; i < bar->count(); ++i) {
|
||||
@@ -442,6 +447,8 @@ void SwitcherData::saveGeneralSettings(obs_data_t *obj)
|
||||
switcher->functionNamesByPriority[6]);
|
||||
obs_data_set_int(obj, "priority7",
|
||||
switcher->functionNamesByPriority[7]);
|
||||
obs_data_set_int(obj, "priority8",
|
||||
switcher->functionNamesByPriority[8]);
|
||||
|
||||
obs_data_set_int(obj, "threadPriority", switcher->threadPriority);
|
||||
|
||||
@@ -457,11 +464,12 @@ void SwitcherData::saveGeneralSettings(obs_data_t *obj)
|
||||
obs_data_set_int(obj, "timeTabPos", switcher->tabOrder[9]);
|
||||
obs_data_set_int(obj, "idleTabPos", switcher->tabOrder[10]);
|
||||
obs_data_set_int(obj, "sequenceTabPos", switcher->tabOrder[11]);
|
||||
obs_data_set_int(obj, "audioTabPos", switcher->tabOrder[12]);
|
||||
}
|
||||
|
||||
void SwitcherData::loadGeneralSettings(obs_data_t *obj)
|
||||
{
|
||||
obs_data_set_default_int(obj, "interval", DEFAULT_INTERVAL);
|
||||
obs_data_set_default_int(obj, "interval", default_interval);
|
||||
switcher->interval = obs_data_get_int(obj, "interval");
|
||||
|
||||
obs_data_set_default_int(obj, "switch_if_not_matching", NO_SWITCH);
|
||||
@@ -494,14 +502,15 @@ void SwitcherData::loadGeneralSettings(obs_data_t *obj)
|
||||
|
||||
switcher->verbose = obs_data_get_bool(obj, "verbose");
|
||||
|
||||
obs_data_set_default_int(obj, "priority0", DEFAULT_PRIORITY_0);
|
||||
obs_data_set_default_int(obj, "priority1", DEFAULT_PRIORITY_1);
|
||||
obs_data_set_default_int(obj, "priority2", DEFAULT_PRIORITY_2);
|
||||
obs_data_set_default_int(obj, "priority3", DEFAULT_PRIORITY_3);
|
||||
obs_data_set_default_int(obj, "priority4", DEFAULT_PRIORITY_4);
|
||||
obs_data_set_default_int(obj, "priority5", DEFAULT_PRIORITY_5);
|
||||
obs_data_set_default_int(obj, "priority6", DEFAULT_PRIORITY_6);
|
||||
obs_data_set_default_int(obj, "priority7", DEFAULT_PRIORITY_7);
|
||||
obs_data_set_default_int(obj, "priority0", default_priority_0);
|
||||
obs_data_set_default_int(obj, "priority1", default_priority_1);
|
||||
obs_data_set_default_int(obj, "priority2", default_priority_2);
|
||||
obs_data_set_default_int(obj, "priority3", default_priority_3);
|
||||
obs_data_set_default_int(obj, "priority4", default_priority_4);
|
||||
obs_data_set_default_int(obj, "priority5", default_priority_5);
|
||||
obs_data_set_default_int(obj, "priority6", default_priority_6);
|
||||
obs_data_set_default_int(obj, "priority7", default_priority_7);
|
||||
obs_data_set_default_int(obj, "priority8", default_priority_8);
|
||||
|
||||
switcher->functionNamesByPriority[0] =
|
||||
(obs_data_get_int(obj, "priority0"));
|
||||
@@ -519,15 +528,18 @@ void SwitcherData::loadGeneralSettings(obs_data_t *obj)
|
||||
(obs_data_get_int(obj, "priority6"));
|
||||
switcher->functionNamesByPriority[7] =
|
||||
(obs_data_get_int(obj, "priority7"));
|
||||
switcher->functionNamesByPriority[8] =
|
||||
(obs_data_get_int(obj, "priority8"));
|
||||
if (!switcher->prioFuncsValid()) {
|
||||
switcher->functionNamesByPriority[0] = (DEFAULT_PRIORITY_0);
|
||||
switcher->functionNamesByPriority[1] = (DEFAULT_PRIORITY_1);
|
||||
switcher->functionNamesByPriority[2] = (DEFAULT_PRIORITY_2);
|
||||
switcher->functionNamesByPriority[3] = (DEFAULT_PRIORITY_3);
|
||||
switcher->functionNamesByPriority[4] = (DEFAULT_PRIORITY_4);
|
||||
switcher->functionNamesByPriority[5] = (DEFAULT_PRIORITY_5);
|
||||
switcher->functionNamesByPriority[6] = (DEFAULT_PRIORITY_6);
|
||||
switcher->functionNamesByPriority[7] = (DEFAULT_PRIORITY_7);
|
||||
switcher->functionNamesByPriority[0] = (default_priority_0);
|
||||
switcher->functionNamesByPriority[1] = (default_priority_1);
|
||||
switcher->functionNamesByPriority[2] = (default_priority_2);
|
||||
switcher->functionNamesByPriority[3] = (default_priority_3);
|
||||
switcher->functionNamesByPriority[4] = (default_priority_4);
|
||||
switcher->functionNamesByPriority[5] = (default_priority_5);
|
||||
switcher->functionNamesByPriority[6] = (default_priority_6);
|
||||
switcher->functionNamesByPriority[7] = (default_priority_7);
|
||||
switcher->functionNamesByPriority[8] = (default_priority_8);
|
||||
}
|
||||
|
||||
obs_data_set_default_int(obj, "threadPriority",
|
||||
@@ -546,6 +558,7 @@ void SwitcherData::loadGeneralSettings(obs_data_t *obj)
|
||||
obs_data_set_default_int(obj, "timeTabPos", 9);
|
||||
obs_data_set_default_int(obj, "idleTabPos", 10);
|
||||
obs_data_set_default_int(obj, "sequenceTabPos", 11);
|
||||
obs_data_set_default_int(obj, "audioTabPos", 12);
|
||||
|
||||
switcher->tabOrder.emplace_back(
|
||||
(int)(obs_data_get_int(obj, "generalTabPos")));
|
||||
@@ -571,6 +584,8 @@ void SwitcherData::loadGeneralSettings(obs_data_t *obj)
|
||||
(int)(obs_data_get_int(obj, "idleTabPos")));
|
||||
switcher->tabOrder.emplace_back(
|
||||
(int)(obs_data_get_int(obj, "sequenceTabPos")));
|
||||
switcher->tabOrder.emplace_back(
|
||||
(int)(obs_data_get_int(obj, "audioTabPos")));
|
||||
}
|
||||
|
||||
void SceneSwitcher::setupGeneralTab()
|
||||
@@ -625,30 +640,33 @@ void SceneSwitcher::setupGeneralTab()
|
||||
for (int p : switcher->functionNamesByPriority) {
|
||||
std::string s = "";
|
||||
switch (p) {
|
||||
case READ_FILE_FUNC:
|
||||
case read_file_func:
|
||||
s = "File Content";
|
||||
break;
|
||||
case ROUND_TRIP_FUNC:
|
||||
case round_trip_func:
|
||||
s = "Scene Sequence";
|
||||
break;
|
||||
case IDLE_FUNC:
|
||||
case idle_func:
|
||||
s = "Idle Detection";
|
||||
break;
|
||||
case EXE_FUNC:
|
||||
case exe_func:
|
||||
s = "Executable";
|
||||
break;
|
||||
case SCREEN_REGION_FUNC:
|
||||
case screen_region_func:
|
||||
s = "Screen Region";
|
||||
break;
|
||||
case WINDOW_TITLE_FUNC:
|
||||
case window_title_func:
|
||||
s = "Window Title";
|
||||
break;
|
||||
case MEDIA_FUNC:
|
||||
case media_func:
|
||||
s = "Media";
|
||||
break;
|
||||
case TIME_FUNC:
|
||||
case time_func:
|
||||
s = "Time";
|
||||
break;
|
||||
case audio_func:
|
||||
s = "Audio";
|
||||
break;
|
||||
}
|
||||
QString text(s.c_str());
|
||||
QListWidgetItem *item =
|
||||
|
||||
Reference in New Issue
Block a user