diff --git a/libobs/obs-encoder.c b/libobs/obs-encoder.c index bbeb99f87d8477..b900a2e048aa5a 100644 --- a/libobs/obs-encoder.c +++ b/libobs/obs-encoder.c @@ -30,10 +30,10 @@ static inline struct obs_encoder_info *get_encoder_info(const char *id) return NULL; } -const char *obs_encoder_getdisplayname(const char *id, const char *locale) +const char *obs_encoder_getdisplayname(const char *id) { struct obs_encoder_info *ei = get_encoder_info(id); - return ei ? ei->getname(locale) : NULL; + return ei ? ei->getname() : NULL; } static bool init_encoder(struct obs_encoder *encoder, const char *name, @@ -227,14 +227,14 @@ obs_data_t obs_encoder_defaults(const char *id) return (info) ? get_defaults(info) : NULL; } -obs_properties_t obs_get_encoder_properties(const char *id, const char *locale) +obs_properties_t obs_get_encoder_properties(const char *id) { const struct obs_encoder_info *ei = get_encoder_info(id); if (ei && ei->properties) { obs_data_t defaults = get_defaults(ei); obs_properties_t properties; - properties = ei->properties(locale); + properties = ei->properties(); obs_properties_apply_settings(properties, defaults); obs_data_release(defaults); return properties; @@ -242,12 +242,11 @@ obs_properties_t obs_get_encoder_properties(const char *id, const char *locale) return NULL; } -obs_properties_t obs_encoder_properties(obs_encoder_t encoder, - const char *locale) +obs_properties_t obs_encoder_properties(obs_encoder_t encoder) { if (encoder && encoder->info.properties) { obs_properties_t props; - props = encoder->info.properties(locale); + props = encoder->info.properties(); obs_properties_apply_settings(props, encoder->context.settings); return props; } diff --git a/libobs/obs-encoder.h b/libobs/obs-encoder.h index 1b0cd3d410e14c..ca8ff16cdcf1de 100644 --- a/libobs/obs-encoder.h +++ b/libobs/obs-encoder.h @@ -102,10 +102,9 @@ struct obs_encoder_info { /** * Gets the full translated name of this encoder * - * @param locale Locale to use for translation * @return Translated name of the encoder */ - const char *(*getname)(const char *locale); + const char *(*getname)(void); /** * Creates the encoder with the specified settings @@ -155,10 +154,9 @@ struct obs_encoder_info { /** * Gets the property information of this encoder * - * @param locale The locale to translate with * @return The properties data */ - obs_properties_t (*properties)(const char *locale); + obs_properties_t (*properties)(void); /** * Updates the settings for this encoder (usually used for things like diff --git a/libobs/obs-internal.h b/libobs/obs-internal.h index ddf71929d28823..80226df610f006 100644 --- a/libobs/obs-internal.h +++ b/libobs/obs-internal.h @@ -52,6 +52,7 @@ struct draw_callback { struct obs_module { char *name; void *module; + void (*set_locale)(const char *locale); }; extern void free_module(struct obs_module *mod); @@ -173,6 +174,8 @@ struct obs_core { signal_handler_t signals; proc_handler_t procs; + char *locale; + /* segmented into multiple sub-structures to keep things a bit more * clean and organized */ struct obs_core_video video; diff --git a/libobs/obs-module.c b/libobs/obs-module.c index f081fbcddb70f3..a94d84d0ca5f2a 100644 --- a/libobs/obs-module.c +++ b/libobs/obs-module.c @@ -73,7 +73,12 @@ int obs_load_module(const char *path) return errorcode; } - mod.name = bstrdup(path); + mod.name = bstrdup(path); + mod.set_locale = os_dlsym(mod.module, "obs_module_set_locale"); + + if (mod.set_locale) + mod.set_locale(obs->locale); + da_push_back(obs->modules, &mod); return MODULE_SUCCESS; } diff --git a/libobs/obs-module.h b/libobs/obs-module.h index 61b7c6269457ee..9fc899ae2acde6 100644 --- a/libobs/obs-module.h +++ b/libobs/obs-module.h @@ -50,6 +50,9 @@ MODULE_EXPORT bool obs_module_load(uint32_t libobs_version); /** Optional: Called when the module is unloaded. */ MODULE_EXPORT void obs_module_unload(void); +/** Called to set the current locale data for the module. */ +MODULE_EXPORT void obs_module_set_locale(const char *locale); + /** * Optional: Declares the author(s) of the module * @@ -59,9 +62,5 @@ MODULE_EXPORT void obs_module_unload(void); MODULE_EXPORT const char *obs_module_author(void); \ const char *obs_module_author(void) {return name;} -/** - * Optional: Declares the author of the module - * - * @param locale Locale to look up the description for. - */ -MODULE_EXPORT const char *obs_module_description(const char *locale); +/** Optional: Returns a description of the module */ +MODULE_EXPORT const char *obs_module_description(void); diff --git a/libobs/obs-output.c b/libobs/obs-output.c index 8415f9662734cf..62ee4835ac0fbd 100644 --- a/libobs/obs-output.c +++ b/libobs/obs-output.c @@ -30,10 +30,10 @@ static inline const struct obs_output_info *find_output(const char *id) return NULL; } -const char *obs_output_getdisplayname(const char *id, const char *locale) +const char *obs_output_getdisplayname(const char *id) { const struct obs_output_info *info = find_output(id); - return (info != NULL) ? info->getname(locale) : NULL; + return (info != NULL) ? info->getname() : NULL; } static const char *output_signals[] = { @@ -166,14 +166,14 @@ obs_data_t obs_output_defaults(const char *id) return (info) ? get_defaults(info) : NULL; } -obs_properties_t obs_get_output_properties(const char *id, const char *locale) +obs_properties_t obs_get_output_properties(const char *id) { const struct obs_output_info *info = find_output(id); if (info && info->properties) { obs_data_t defaults = get_defaults(info); obs_properties_t properties; - properties = info->properties(locale); + properties = info->properties(); obs_properties_apply_settings(properties, defaults); obs_data_release(defaults); return properties; @@ -181,11 +181,11 @@ obs_properties_t obs_get_output_properties(const char *id, const char *locale) return NULL; } -obs_properties_t obs_output_properties(obs_output_t output, const char *locale) +obs_properties_t obs_output_properties(obs_output_t output) { if (output && output->info.properties) { obs_properties_t props; - props = output->info.properties(locale); + props = output->info.properties(); obs_properties_apply_settings(props, output->context.settings); return props; } diff --git a/libobs/obs-output.h b/libobs/obs-output.h index 76b738f4434e02..ec4e32cf321dfc 100644 --- a/libobs/obs-output.h +++ b/libobs/obs-output.h @@ -31,7 +31,7 @@ struct obs_output_info { uint32_t flags; - const char *(*getname)(const char *locale); + const char *(*getname)(void); void *(*create)(obs_data_t settings, obs_output_t output); void (*destroy)(void *data); @@ -49,7 +49,7 @@ struct obs_output_info { void (*defaults)(obs_data_t settings); - obs_properties_t (*properties)(const char *locale); + obs_properties_t (*properties)(void); void (*pause)(void *data); }; diff --git a/libobs/obs-properties.c b/libobs/obs-properties.c index ff7ab514bf4ab7..43c5f68ee7c4a8 100644 --- a/libobs/obs-properties.c +++ b/libobs/obs-properties.c @@ -90,7 +90,6 @@ struct obs_property { }; struct obs_properties { - const char *locale; void *param; void (*destroy)(void *param); @@ -98,12 +97,11 @@ struct obs_properties { struct obs_property **last; }; -obs_properties_t obs_properties_create(const char *locale) +obs_properties_t obs_properties_create(void) { struct obs_properties *props; props = bzalloc(sizeof(struct obs_properties)); - props->locale = locale; - props->last = &props->first_property; + props->last = &props->first_property; return props; } @@ -125,10 +123,10 @@ void *obs_properties_get_param(obs_properties_t props) return props ? props->param : NULL; } -obs_properties_t obs_properties_create_param(const char *locale, - void *param, void (*destroy)(void *param)) +obs_properties_t obs_properties_create_param(void *param, + void (*destroy)(void *param)) { - struct obs_properties *props = obs_properties_create(locale); + struct obs_properties *props = obs_properties_create(); obs_properties_set_param(props, param, destroy); return props; } @@ -161,11 +159,6 @@ void obs_properties_destroy(obs_properties_t props) } } -const char *obs_properties_locale(obs_properties_t props) -{ - return props ? props->locale : NULL; -} - obs_property_t obs_properties_first(obs_properties_t props) { return (props != NULL) ? props->first_property : NULL; diff --git a/libobs/obs-properties.h b/libobs/obs-properties.h index 6a0057fa772dd7..ad195a0eeed9c4 100644 --- a/libobs/obs-properties.h +++ b/libobs/obs-properties.h @@ -61,17 +61,15 @@ typedef struct obs_property *obs_property_t; /* ------------------------------------------------------------------------- */ -EXPORT obs_properties_t obs_properties_create(const char *locale); -EXPORT obs_properties_t obs_properties_create_param(const char *locale, - void *param, void (*destroy)(void *param)); +EXPORT obs_properties_t obs_properties_create(void); +EXPORT obs_properties_t obs_properties_create_param(void *param, + void (*destroy)(void *param)); EXPORT void obs_properties_destroy(obs_properties_t props); EXPORT void obs_properties_set_param(obs_properties_t props, void *param, void (*destroy)(void *param)); EXPORT void *obs_properties_get_param(obs_properties_t props); -EXPORT const char *obs_properties_locale(obs_properties_t props); - EXPORT obs_property_t obs_properties_first(obs_properties_t props); EXPORT obs_property_t obs_properties_get(obs_properties_t props, diff --git a/libobs/obs-scene.c b/libobs/obs-scene.c index c335ed0013b6b3..c038e5420cf70a 100644 --- a/libobs/obs-scene.c +++ b/libobs/obs-scene.c @@ -43,10 +43,9 @@ static inline void signal_item_remove(struct obs_scene_item *item) calldata_free(¶ms); } -static const char *scene_getname(const char *locale) +static const char *scene_getname(void) { /* TODO: locale */ - UNUSED_PARAMETER(locale); return "Scene"; } diff --git a/libobs/obs-service.c b/libobs/obs-service.c index bd4eb60660a889..e19d350e6698bc 100644 --- a/libobs/obs-service.c +++ b/libobs/obs-service.c @@ -27,10 +27,10 @@ static inline const struct obs_service_info *find_service(const char *id) return NULL; } -const char *obs_service_getdisplayname(const char *id, const char *locale) +const char *obs_service_getdisplayname(const char *id) { const struct obs_service_info *info = find_service(id); - return (info != NULL) ? info->getname(locale) : NULL; + return (info != NULL) ? info->getname() : NULL; } obs_service_t obs_service_create(const char *id, const char *name, @@ -112,14 +112,14 @@ obs_data_t obs_service_defaults(const char *id) return (info) ? get_defaults(info) : NULL; } -obs_properties_t obs_get_service_properties(const char *id, const char *locale) +obs_properties_t obs_get_service_properties(const char *id) { const struct obs_service_info *info = find_service(id); if (info && info->properties) { obs_data_t defaults = get_defaults(info); obs_properties_t properties; - properties = info->properties(locale); + properties = info->properties(); obs_properties_apply_settings(properties, defaults); obs_data_release(defaults); return properties; @@ -127,12 +127,11 @@ obs_properties_t obs_get_service_properties(const char *id, const char *locale) return NULL; } -obs_properties_t obs_service_properties(obs_service_t service, - const char *locale) +obs_properties_t obs_service_properties(obs_service_t service) { if (service && service->info.properties) { obs_properties_t props; - props = service->info.properties(locale); + props = service->info.properties(); obs_properties_apply_settings(props, service->context.settings); return props; } diff --git a/libobs/obs-service.h b/libobs/obs-service.h index 676c8d4d44f03b..c053d4b891a5b7 100644 --- a/libobs/obs-service.h +++ b/libobs/obs-service.h @@ -21,7 +21,7 @@ struct obs_service_info { /* required */ const char *id; - const char *(*getname)(const char *locale); + const char *(*getname)(void); void *(*create)(obs_data_t settings, obs_service_t service); void (*destroy)(void *data); @@ -33,7 +33,7 @@ struct obs_service_info { void (*defaults)(obs_data_t settings); - obs_properties_t (*properties)(const char *locale); + obs_properties_t (*properties)(void); /** * Called when getting ready to start up an output, before the encoders diff --git a/libobs/obs-source.c b/libobs/obs-source.c index fba15897d04bc0..8bc5083cdc8b4c 100644 --- a/libobs/obs-source.c +++ b/libobs/obs-source.c @@ -95,11 +95,10 @@ bool obs_source_init_context(struct obs_source *source, source_signals); } -const char *obs_source_getdisplayname(enum obs_source_type type, - const char *id, const char *locale) +const char *obs_source_getdisplayname(enum obs_source_type type, const char *id) { const struct obs_source_info *info = get_source_info(type, id); - return (info != NULL) ? info->getname(locale) : NULL; + return (info != NULL) ? info->getname() : NULL; } /* internal initialization */ @@ -322,14 +321,14 @@ obs_data_t obs_source_settings(enum obs_source_type type, const char *id) } obs_properties_t obs_get_source_properties(enum obs_source_type type, - const char *id, const char *locale) + const char *id) { const struct obs_source_info *info = get_source_info(type, id); if (info && info->properties) { obs_data_t defaults = get_defaults(info); obs_properties_t properties; - properties = info->properties(locale); + properties = info->properties(); obs_properties_apply_settings(properties, defaults); obs_data_release(defaults); return properties; @@ -337,11 +336,11 @@ obs_properties_t obs_get_source_properties(enum obs_source_type type, return NULL; } -obs_properties_t obs_source_properties(obs_source_t source, const char *locale) +obs_properties_t obs_source_properties(obs_source_t source) { if (source_valid(source) && source->info.properties) { obs_properties_t props; - props = source->info.properties(locale); + props = source->info.properties(); obs_properties_apply_settings(props, source->context.settings); return props; } diff --git a/libobs/obs-source.h b/libobs/obs-source.h index 479fd4b44f3896..a7b5be99c712e3 100644 --- a/libobs/obs-source.h +++ b/libobs/obs-source.h @@ -118,10 +118,9 @@ struct obs_source_info { /** * Get the translated name of the source type * - * @param locale The locale to translate with * @return The translated name of the source type */ - const char *(*getname)(const char *locale); + const char *(*getname)(void); /** * Creates the source data for the source @@ -161,10 +160,9 @@ struct obs_source_info { /** * Gets the property information of this source * - * @param locale The locale to translate with * @return The properties data */ - obs_properties_t (*properties)(const char *locale); + obs_properties_t (*properties)(void); /** * Updates the settings for this source diff --git a/libobs/obs.c b/libobs/obs.c index ffe22795f1aa36..35ffd71a3e577c 100644 --- a/libobs/obs.c +++ b/libobs/obs.c @@ -503,7 +503,7 @@ static inline bool obs_init_handlers(void) extern const struct obs_source_info scene_info; -static bool obs_init(void) +static bool obs_init(const char *locale) { obs = bzalloc(sizeof(struct obs_core)); @@ -512,11 +512,12 @@ static bool obs_init(void) if (!obs_init_handlers()) return false; + obs->locale = bstrdup(locale); obs_register_source(&scene_info); return true; } -bool obs_startup(void) +bool obs_startup(const char *locale) { bool success; @@ -525,7 +526,7 @@ bool obs_startup(void) return false; } - success = obs_init(); + success = obs_init(locale); if (!success) obs_shutdown(); @@ -559,6 +560,7 @@ void obs_shutdown(void) free_module(obs->modules.array+i); da_free(obs->modules); + bfree(obs->locale); bfree(obs); obs = NULL; } @@ -568,6 +570,28 @@ bool obs_initialized(void) return obs != NULL; } +void obs_set_locale(const char *locale) +{ + if (!obs) + return; + + if (obs->locale) + bfree(obs->locale); + obs->locale = bstrdup(locale); + + for (size_t i = 0; i < obs->modules.num; i++) { + struct obs_module *module = obs->modules.array+i; + + if (module->set_locale) + module->set_locale(locale); + } +} + +const char *obs_get_locale(void) +{ + return obs ? obs->locale : NULL; +} + bool obs_reset_video(struct obs_video_info *ovi) { if (!obs) return false; diff --git a/libobs/obs.h b/libobs/obs.h index 70b10503fcaf0d..a82d49789e11a2 100644 --- a/libobs/obs.h +++ b/libobs/obs.h @@ -197,8 +197,12 @@ struct source_frame { /* ------------------------------------------------------------------------- */ /* OBS context */ -/** Initializes OBS */ -EXPORT bool obs_startup(void); +/** + * Initializes OBS + * + * @param locale The locale to use for modules + */ +EXPORT bool obs_startup(const char *locale); /** Releases all data associated with OBS and terminates the OBS context */ EXPORT void obs_shutdown(void); @@ -206,6 +210,17 @@ EXPORT void obs_shutdown(void); /** @return true if the main OBS context has been initialized */ EXPORT bool obs_initialized(void); +/** + * Sets a new locale to use for modules. This will call obs_module_set_locale + * for each module with the new locale. + * + * @param locale The locale to use for modules + */ +EXPORT void obs_set_locale(const char *locale); + +/** @return the current locale */ +EXPORT const char *obs_get_locale(void); + /** * Sets base video ouput base resolution/fps/format * @@ -462,7 +477,7 @@ EXPORT void obs_display_remove_draw_callback(obs_display_t display, /** Returns the translated display name of a source */ EXPORT const char *obs_source_getdisplayname(enum obs_source_type type, - const char *id, const char *locale); + const char *id); /** * Creates a source of the specified type with the specified settings. @@ -497,14 +512,13 @@ EXPORT obs_data_t obs_get_source_defaults(enum obs_source_type type, /** Returns the property list, if any. Free with obs_properties_destroy */ EXPORT obs_properties_t obs_get_source_properties(enum obs_source_type type, - const char *id, const char *locale); + const char *id); /** * Returns the properties list for a specific existing source. Free with * obs_properties_destroy */ -EXPORT obs_properties_t obs_source_properties(obs_source_t source, - const char *locale); +EXPORT obs_properties_t obs_source_properties(obs_source_t source); /** Updates settings for this source */ EXPORT void obs_source_update(obs_source_t source, obs_data_t settings); @@ -737,8 +751,7 @@ EXPORT void obs_sceneitem_get_box_transform(obs_sceneitem_t item, /* ------------------------------------------------------------------------- */ /* Outputs */ -EXPORT const char *obs_output_getdisplayname(const char *id, - const char *locale); +EXPORT const char *obs_output_getdisplayname(const char *id); /** * Creates an output. @@ -763,15 +776,13 @@ EXPORT bool obs_output_active(obs_output_t output); EXPORT obs_data_t obs_output_defaults(const char *id); /** Returns the property list, if any. Free with obs_properties_destroy */ -EXPORT obs_properties_t obs_get_output_properties(const char *id, - const char *locale); +EXPORT obs_properties_t obs_get_output_properties(const char *id); /** * Returns the property list of an existing output, if any. Free with * obs_properties_destroy */ -EXPORT obs_properties_t obs_output_properties(obs_output_t output, - const char *locale); +EXPORT obs_properties_t obs_output_properties(obs_output_t output); /** Updates the settings for this output context */ EXPORT void obs_output_update(obs_output_t output, obs_data_t settings); @@ -883,8 +894,7 @@ EXPORT void obs_output_signal_stop(obs_output_t output, int code); /* ------------------------------------------------------------------------- */ /* Encoders */ -EXPORT const char *obs_encoder_getdisplayname(const char *id, - const char *locale); +EXPORT const char *obs_encoder_getdisplayname(const char *id); /** * Creates a video encoder context @@ -918,15 +928,13 @@ EXPORT const char *obs_encoder_get_codec(obs_encoder_t encoder); EXPORT obs_data_t obs_encoder_defaults(const char *id); /** Returns the property list, if any. Free with obs_properties_destroy */ -EXPORT obs_properties_t obs_get_encoder_properties(const char *id, - const char *locale); +EXPORT obs_properties_t obs_get_encoder_properties(const char *id); /** * Returns the property list of an existing encoder, if any. Free with * obs_properties_destroy */ -EXPORT obs_properties_t obs_encoder_properties(obs_encoder_t encoder, - const char *locale); +EXPORT obs_properties_t obs_encoder_properties(obs_encoder_t encoder); /** * Updates the settings of the encoder context. Usually used for changing @@ -972,8 +980,7 @@ EXPORT void obs_free_encoder_packet(struct encoder_packet *packet); /* ------------------------------------------------------------------------- */ /* Stream Services */ -EXPORT const char *obs_service_getdisplayname(const char *id, - const char *locale); +EXPORT const char *obs_service_getdisplayname(const char *id); EXPORT obs_service_t obs_service_create(const char *id, const char *name, obs_data_t settings); @@ -985,15 +992,13 @@ EXPORT const char *obs_service_getname(obs_service_t service); EXPORT obs_data_t obs_service_defaults(const char *id); /** Returns the property list, if any. Free with obs_properties_destroy */ -EXPORT obs_properties_t obs_get_service_properties(const char *id, - const char *locale); +EXPORT obs_properties_t obs_get_service_properties(const char *id); /** * Returns the property list of an existing service context, if any. Free with * obs_properties_destroy */ -EXPORT obs_properties_t obs_service_properties(obs_service_t service, - const char *locale); +EXPORT obs_properties_t obs_service_properties(obs_service_t service); /** Gets the service type */ EXPORT const char *obs_service_gettype(obs_service_t service); diff --git a/obs/window-basic-main.cpp b/obs/window-basic-main.cpp index 6adf1d284d8d4c..5b3e438635d71d 100644 --- a/obs/window-basic-main.cpp +++ b/obs/window-basic-main.cpp @@ -210,7 +210,7 @@ static inline bool HasAudioDevices(const char *source_id) { const char *output_id = source_id; obs_properties_t props = obs_get_source_properties( - OBS_SOURCE_TYPE_INPUT, output_id, App()->GetLocale()); + OBS_SOURCE_TYPE_INPUT, output_id); size_t count = 0; if (!props) @@ -468,7 +468,7 @@ void OBSBasic::OBSInit() show(); App()->processEvents(); - if (!obs_startup()) + if (!obs_startup(App()->GetLocale())) throw "Failed to initialize libobs"; if (!InitBasicConfig()) throw "Failed to load basic.ini"; @@ -1299,8 +1299,7 @@ void OBSBasic::AddSourcePopupMenu(const QPoint &pos) QMenu popup; while (obs_enum_input_types(idx++, &type)) { const char *name = obs_source_getdisplayname( - OBS_SOURCE_TYPE_INPUT, - type, App()->GetLocale()); + OBS_SOURCE_TYPE_INPUT, type); if (strcmp(type, "scene") == 0) continue; diff --git a/obs/window-basic-properties.cpp b/obs/window-basic-properties.cpp index 1310cc1d248f99..954575a5cb8723 100644 --- a/obs/window-basic-properties.cpp +++ b/obs/window-basic-properties.cpp @@ -44,8 +44,8 @@ OBSBasicProperties::OBSBasicProperties(QWidget *parent, OBSSource source_) obs_data_release(settings); view = new OBSPropertiesView(settings, - obs_source_properties(source, App()->GetLocale()), - source, (PropertiesUpdateCallback)obs_source_update); + obs_source_properties(source), source, + (PropertiesUpdateCallback)obs_source_update); layout()->addWidget(view); layout()->setAlignment(view, Qt::AlignBottom); diff --git a/obs/window-basic-settings.cpp b/obs/window-basic-settings.cpp index 2a67a539bf18ca..4fc7d5649cf96a 100644 --- a/obs/window-basic-settings.cpp +++ b/obs/window-basic-settings.cpp @@ -212,8 +212,7 @@ void OBSBasicSettings::LoadServiceTypes() size_t idx = 0; while (obs_enum_service_types(idx++, &type)) { - const char *name = obs_service_getdisplayname(type, - App()->GetLocale()); + const char *name = obs_service_getdisplayname(type); QString qName = QT_UTF8(name); QString qType = QT_UTF8(type); @@ -229,8 +228,7 @@ void OBSBasicSettings::LoadServiceInfo() QLayout *layout = ui->streamContainer->layout(); obs_service_t service = main->GetService(); obs_data_t settings = obs_service_get_settings(service); - obs_properties_t properties = obs_service_properties(service, - App()->GetLocale()); + obs_properties_t properties = obs_service_properties(service); delete streamProperties; streamProperties = new OBSPropertiesView( @@ -480,9 +478,9 @@ void OBSBasicSettings::LoadAudioDevices() const char *output_id = App()->OutputAudioSource(); obs_properties_t input_props = obs_get_source_properties( - OBS_SOURCE_TYPE_INPUT, input_id, App()->GetLocale()); + OBS_SOURCE_TYPE_INPUT, input_id); obs_properties_t output_props = obs_get_source_properties( - OBS_SOURCE_TYPE_INPUT, output_id, App()->GetLocale()); + OBS_SOURCE_TYPE_INPUT, output_id); if (input_props) { obs_property_t inputs = obs_properties_get(input_props, diff --git a/obs/window-basic-source-select.cpp b/obs/window-basic-source-select.cpp index b4a6beae68b25e..76f97c3b9cd525 100644 --- a/obs/window-basic-source-select.cpp +++ b/obs/window-basic-source-select.cpp @@ -169,8 +169,7 @@ OBSBasicSourceSelect::OBSBasicSourceSelect(OBSBasic *parent, const char *type_) ui->setupUi(this); QString placeHolderText{QT_UTF8(obs_source_getdisplayname( - OBS_SOURCE_TYPE_INPUT, - type_, App()->GetLocale()))}; + OBS_SOURCE_TYPE_INPUT, type_))}; QString text{placeHolderText}; int i = 1; diff --git a/plugins/linux-pulseaudio/pulse-input.c b/plugins/linux-pulseaudio/pulse-input.c index 415612739347e9..659b241106c26c 100644 --- a/plugins/linux-pulseaudio/pulse-input.c +++ b/plugins/linux-pulseaudio/pulse-input.c @@ -281,9 +281,9 @@ static void pulse_output_info(pa_context *c, const pa_source_info *i, int eol, /** * Get plugin properties */ -static obs_properties_t pulse_properties(const char *locale, bool input) +static obs_properties_t pulse_properties(bool input) { - obs_properties_t props = obs_properties_create(locale); + obs_properties_t props = obs_properties_create(); obs_property_t devices = obs_properties_add_list(props, "device_id", "Device", OBS_COMBO_TYPE_LIST, OBS_COMBO_FORMAT_STRING); @@ -295,14 +295,14 @@ static obs_properties_t pulse_properties(const char *locale, bool input) return props; } -static obs_properties_t pulse_input_properties(const char *locale) +static obs_properties_t pulse_input_properties(void) { - return pulse_properties(locale, true); + return pulse_properties(true); } -static obs_properties_t pulse_output_properties(const char *locale) +static obs_properties_t pulse_output_properties(void) { - return pulse_properties(locale, false); + return pulse_properties(false); } /** @@ -366,15 +366,15 @@ static void pulse_output_defaults(obs_data_t settings) /** * Returns the name of the plugin */ -static const char *pulse_input_getname(const char *locale) +static const char *pulse_input_getname(void) { - UNUSED_PARAMETER(locale); + /* TODO: locale */ return "Pulse Audio Input Capture"; } -static const char *pulse_output_getname(const char *locale) +static const char *pulse_output_getname(void) { - UNUSED_PARAMETER(locale); + /* TODO: locale */ return "Pulse Audio Output Capture"; } diff --git a/plugins/linux-v4l2/v4l2-input.c b/plugins/linux-v4l2/v4l2-input.c index fe14808e01b314..21f94d74ef3a7b 100644 --- a/plugins/linux-v4l2/v4l2-input.c +++ b/plugins/linux-v4l2/v4l2-input.c @@ -266,9 +266,9 @@ static void *v4l2_thread(void *vptr) return NULL; } -static const char* v4l2_getname(const char* locale) +static const char* v4l2_getname(void) { - UNUSED_PARAMETER(locale); + /* TODO: locale */ return "V4L2 Capture Input"; } @@ -452,9 +452,10 @@ static bool resolution_selected(obs_properties_t props, obs_property_t p, return true; } -static obs_properties_t v4l2_properties(const char *locale) +static obs_properties_t v4l2_properties(void) { - obs_properties_t props = obs_properties_create(locale); + /* TODO: locale */ + obs_properties_t props = obs_properties_create(); obs_property_t device_list = obs_properties_add_list(props, "device_id", "Device", OBS_COMBO_TYPE_LIST, OBS_COMBO_FORMAT_STRING); obs_property_t format_list = obs_properties_add_list(props, diff --git a/plugins/linux-xcomposite/plugin-main.cpp b/plugins/linux-xcomposite/plugin-main.cpp index cd814852b8abd5..b6f21aed594459 100644 --- a/plugins/linux-xcomposite/plugin-main.cpp +++ b/plugins/linux-xcomposite/plugin-main.cpp @@ -37,9 +37,9 @@ static uint32_t xcompcap_getheight(void* data) return cc->height(); } -static obs_properties_t xcompcap_props(const char *locale) +static obs_properties_t xcompcap_props(void) { - return XCompcapMain::properties(locale); + return XCompcapMain::properties(); } void xcompcap_defaults(obs_data_t settings) @@ -55,10 +55,9 @@ void xcompcap_update(void *data, obs_data_t settings) OBS_DECLARE_MODULE() -static const char* xcompcap_getname(const char* locale) +static const char* xcompcap_getname(void) { - UNUSED_PARAMETER(locale); - + /* TODO: locale */ return "Xcomposite capture"; } diff --git a/plugins/linux-xcomposite/xcompcap-main.cpp b/plugins/linux-xcomposite/xcompcap-main.cpp index bd9ec55f4d12e2..5ca630a3a90630 100644 --- a/plugins/linux-xcomposite/xcompcap-main.cpp +++ b/plugins/linux-xcomposite/xcompcap-main.cpp @@ -46,9 +46,9 @@ void XCompcapMain::deinit() XCompcap::cleanupDisplay(); } -obs_properties_t XCompcapMain::properties(const char *locale) +obs_properties_t XCompcapMain::properties() { - obs_properties_t props = obs_properties_create(locale); + obs_properties_t props = obs_properties_create(); obs_property_t wins = obs_properties_add_list(props, "capture_window", "Captured Window", OBS_COMBO_TYPE_LIST, diff --git a/plugins/linux-xcomposite/xcompcap-main.h b/plugins/linux-xcomposite/xcompcap-main.h index 8d231764ab6417..5bf64a21588582 100644 --- a/plugins/linux-xcomposite/xcompcap-main.h +++ b/plugins/linux-xcomposite/xcompcap-main.h @@ -8,7 +8,7 @@ class XCompcapMain static bool init(); static void deinit(); - static obs_properties_t properties(const char *locale); + static obs_properties_t properties(); static void defaults(obs_data_t settings); XCompcapMain(obs_data_t settings, obs_source_t source); diff --git a/plugins/linux-xshm/xshm-input.c b/plugins/linux-xshm/xshm-input.c index ea0d07f1bbf440..8d032995d47db6 100644 --- a/plugins/linux-xshm/xshm-input.c +++ b/plugins/linux-xshm/xshm-input.c @@ -108,9 +108,9 @@ static int_fast32_t xshm_update_geometry(struct xshm_data *data, /** * Returns the name of the plugin */ -static const char* xshm_getname(const char* locale) +static const char* xshm_getname(void) { - UNUSED_PARAMETER(locale); + /* TODO: locale */ return "X11 Shared Memory Screen Input"; } @@ -154,9 +154,10 @@ static void xshm_defaults(obs_data_t defaults) /** * Get the properties for the capture */ -static obs_properties_t xshm_properties(const char *locale) +static obs_properties_t xshm_properties(void) { - obs_properties_t props = obs_properties_create(locale); + /* TODO: locale */ + obs_properties_t props = obs_properties_create(); int_fast32_t screen_max; Display *dpy = XOpenDisplay(NULL); diff --git a/plugins/mac-avcapture/av-capture.m b/plugins/mac-avcapture/av-capture.m index 44d829be9e2fc9..9e178c9e85e26f 100644 --- a/plugins/mac-avcapture/av-capture.m +++ b/plugins/mac-avcapture/av-capture.m @@ -131,10 +131,9 @@ - (void)captureOutput:(AVCaptureOutput *)captureOutput } @end -static const char *av_capture_getname(const char *locale) +static const char *av_capture_getname(void) { /* TODO: locale */ - UNUSED_PARAMETER(locale); return "Video Capture Device"; } @@ -569,9 +568,9 @@ static bool properties_device_changed(obs_properties_t props, obs_property_t p, return true; } -static obs_properties_t av_capture_properties(char const *locale) +static obs_properties_t av_capture_properties(void) { - obs_properties_t props = obs_properties_create(locale); + obs_properties_t props = obs_properties_create(); /* TODO: locale */ obs_property_t dev_list = obs_properties_add_list(props, "device", diff --git a/plugins/mac-capture/mac-audio.c b/plugins/mac-capture/mac-audio.c index 50e6fc318b5b77..22b560658e5d2e 100644 --- a/plugins/mac-capture/mac-audio.c +++ b/plugins/mac-capture/mac-audio.c @@ -628,17 +628,15 @@ static void coreaudio_uninit(struct coreaudio_data *ca) /* ------------------------------------------------------------------------- */ -static const char *coreaudio_input_getname(const char *locale) +static const char *coreaudio_input_getname(void) { /* TODO: Locale */ - UNUSED_PARAMETER(locale); return "CoreAudio Input Capture"; } -static const char *coreaudio_output_getname(const char *locale) +static const char *coreaudio_output_getname(void) { /* TODO: Locale */ - UNUSED_PARAMETER(locale); return "CoreAudio Output Capture"; } @@ -704,9 +702,9 @@ static void *coreaudio_create_output_capture(obs_data_t settings, return coreaudio_create(settings, source, false); } -static obs_properties_t coreaudio_properties(const char *locale, bool input) +static obs_properties_t coreaudio_properties(bool input) { - obs_properties_t props = obs_properties_create(locale); + obs_properties_t props = obs_properties_create(); obs_property_t property; struct device_list devices; @@ -732,14 +730,14 @@ static obs_properties_t coreaudio_properties(const char *locale, bool input) return props; } -static obs_properties_t coreaudio_input_properties(const char *locale) +static obs_properties_t coreaudio_input_properties(void) { - return coreaudio_properties(locale, true); + return coreaudio_properties(true); } -static obs_properties_t coreaudio_output_properties(const char *locale) +static obs_properties_t coreaudio_output_properties(void) { - return coreaudio_properties(locale, false); + return coreaudio_properties(false); } struct obs_source_info coreaudio_input_capture_info = { diff --git a/plugins/obs-ffmpeg/obs-ffmpeg-aac.c b/plugins/obs-ffmpeg/obs-ffmpeg-aac.c index 1ae1f4026da3b4..3457ed70c35648 100644 --- a/plugins/obs-ffmpeg/obs-ffmpeg-aac.c +++ b/plugins/obs-ffmpeg/obs-ffmpeg-aac.c @@ -44,9 +44,9 @@ struct aac_encoder { int frame_size_bytes; }; -static const char *aac_getname(const char *locale) +static const char *aac_getname(void) { - UNUSED_PARAMETER(locale); + /* TODO: locale */ return "FFmpeg Default AAC Encoder"; } @@ -238,9 +238,9 @@ static void aac_defaults(obs_data_t settings) obs_data_set_default_int(settings, "bitrate", 128); } -static obs_properties_t aac_properties(const char *locale) +static obs_properties_t aac_properties(void) { - obs_properties_t props = obs_properties_create(locale); + obs_properties_t props = obs_properties_create(); /* TODO: locale */ obs_properties_add_int(props, "bitrate", "Bitrate", 32, 320, 32); diff --git a/plugins/obs-ffmpeg/obs-ffmpeg-output.c b/plugins/obs-ffmpeg/obs-ffmpeg-output.c index 2eca7304a26435..e6cf94f0a52408 100644 --- a/plugins/obs-ffmpeg/obs-ffmpeg-output.c +++ b/plugins/obs-ffmpeg/obs-ffmpeg-output.c @@ -396,9 +396,9 @@ static bool ffmpeg_data_init(struct ffmpeg_data *data, const char *filename, /* ------------------------------------------------------------------------- */ -static const char *ffmpeg_output_getname(const char *locale) +static const char *ffmpeg_output_getname(void) { - UNUSED_PARAMETER(locale); + /* TODO: locale */ return "FFmpeg file output"; } diff --git a/plugins/obs-libfdk/obs-libfdk.c b/plugins/obs-libfdk/obs-libfdk.c index 77369abc6ee2d6..9a3d91354842a0 100644 --- a/plugins/obs-libfdk/obs-libfdk.c +++ b/plugins/obs-libfdk/obs-libfdk.c @@ -59,15 +59,15 @@ typedef struct libfdk_encoder { int packet_buffer_size; } libfdk_encoder_t; -static const char *libfdk_getname(const char *locale) +static const char *libfdk_getname(void) { - UNUSED_PARAMETER(locale); + /* TODO: locale */ return "libfdk aac encoder"; } -static obs_properties_t libfdk_properties(const char *locale) +static obs_properties_t libfdk_properties(void) { - obs_properties_t props = obs_properties_create(locale); + obs_properties_t props = obs_properties_create(); obs_properties_add_int(props, "bitrate", "Bitrate", 32, 256, 32); obs_properties_add_bool(props, "afterburner", "Enable AAC Afterburner"); diff --git a/plugins/obs-outputs/flv-output.c b/plugins/obs-outputs/flv-output.c index 0a7e1345285a1d..7b84fa1ae7ea57 100644 --- a/plugins/obs-outputs/flv-output.c +++ b/plugins/obs-outputs/flv-output.c @@ -32,9 +32,9 @@ struct flv_output { int64_t last_packet_ts; }; -static const char *flv_output_getname(const char *locale) +static const char *flv_output_getname(void) { - UNUSED_PARAMETER(locale); + /* TODO: locale */ return "FLV File Output"; } @@ -189,9 +189,9 @@ static void flv_output_data(void *data, struct encoder_packet *packet) } } -static obs_properties_t flv_output_properties(const char *locale) +static obs_properties_t flv_output_properties(void) { - obs_properties_t props = obs_properties_create(locale); + obs_properties_t props = obs_properties_create(); /* TODO: locale */ obs_properties_add_text(props, "path", "File Path", OBS_TEXT_DEFAULT); diff --git a/plugins/obs-outputs/rtmp-stream.c b/plugins/obs-outputs/rtmp-stream.c index 154d3905b8cbdf..baf4a964e0d5cf 100644 --- a/plugins/obs-outputs/rtmp-stream.c +++ b/plugins/obs-outputs/rtmp-stream.c @@ -61,10 +61,9 @@ struct rtmp_stream { RTMP rtmp; }; -static const char *rtmp_stream_getname(const char *locale) +static const char *rtmp_stream_getname(void) { /* TODO: locale stuff */ - UNUSED_PARAMETER(locale); return "RTMP Stream"; } @@ -567,9 +566,9 @@ static void rtmp_stream_defaults(obs_data_t defaults) obs_data_set_default_int(defaults, "drop_threshold", 600000); } -static obs_properties_t rtmp_stream_properties(const char *locale) +static obs_properties_t rtmp_stream_properties(void) { - obs_properties_t props = obs_properties_create(locale); + obs_properties_t props = obs_properties_create(); /* TODO: locale */ obs_properties_add_text(props, "path", "Stream URL", OBS_TEXT_DEFAULT); diff --git a/plugins/obs-x264/obs-x264.c b/plugins/obs-x264/obs-x264.c index 718bc7fdbbab63..5f043c1c3d5a96 100644 --- a/plugins/obs-x264/obs-x264.c +++ b/plugins/obs-x264/obs-x264.c @@ -38,10 +38,9 @@ struct obs_x264 { /* ------------------------------------------------------------------------- */ -static const char *obs_x264_getname(const char *locale) +static const char *obs_x264_getname(void) { /* TODO locale lookup */ - UNUSED_PARAMETER(locale); return "x264"; } @@ -93,11 +92,11 @@ static inline void add_strings(obs_property_t list, const char *const *strings) } } -static obs_properties_t obs_x264_props(const char *locale) +static obs_properties_t obs_x264_props(void) { /* TODO: locale */ - obs_properties_t props = obs_properties_create(locale); + obs_properties_t props = obs_properties_create(); obs_property_t list; obs_properties_add_int(props, "bitrate", "Bitrate", 50, 100000, 1); diff --git a/plugins/rtmp-services/rtmp-common.c b/plugins/rtmp-services/rtmp-common.c index de76fcab40226e..c96174604172e2 100644 --- a/plugins/rtmp-services/rtmp-common.c +++ b/plugins/rtmp-services/rtmp-common.c @@ -8,10 +8,8 @@ struct rtmp_common { char *key; }; -static const char *rtmp_common_getname(const char *locale) +static const char *rtmp_common_getname(void) { - UNUSED_PARAMETER(locale); - /* TODO: locale */ return "Streaming Services"; } @@ -200,9 +198,9 @@ static bool service_selected(obs_properties_t props, obs_property_t p, return true; } -static obs_properties_t rtmp_common_properties(const char *locale) +static obs_properties_t rtmp_common_properties(void) { - obs_properties_t ppts = obs_properties_create(locale); + obs_properties_t ppts = obs_properties_create(); obs_property_t list; char *file; diff --git a/plugins/rtmp-services/rtmp-custom.c b/plugins/rtmp-services/rtmp-custom.c index bb09a10f8fb06b..875b3243f19237 100644 --- a/plugins/rtmp-services/rtmp-custom.c +++ b/plugins/rtmp-services/rtmp-custom.c @@ -4,10 +4,8 @@ struct rtmp_custom { char *server, *key; }; -static const char *rtmp_custom_name(const char *locale) +static const char *rtmp_custom_name(void) { - UNUSED_PARAMETER(locale); - /* TODO: locale */ return "Custom Streaming Server"; } @@ -41,9 +39,9 @@ static void *rtmp_custom_create(obs_data_t settings, obs_service_t service) return data; } -static obs_properties_t rtmp_custom_properties(const char *locale) +static obs_properties_t rtmp_custom_properties(void) { - obs_properties_t ppts = obs_properties_create(locale); + obs_properties_t ppts = obs_properties_create(); /* TODO: locale */ diff --git a/plugins/win-capture/monitor-capture.c b/plugins/win-capture/monitor-capture.c index 719a60d3cf5f3c..8f72e2ebfba4c4 100644 --- a/plugins/win-capture/monitor-capture.c +++ b/plugins/win-capture/monitor-capture.c @@ -81,9 +81,9 @@ static inline void update_settings(struct monitor_capture *capture, /* ------------------------------------------------------------------------- */ -static const char *monitor_capture_getname(const char *locale) +static const char *monitor_capture_getname(void) { - /* TODO: translate */ + /* TODO: locale */ return "Monitor Capture"; } diff --git a/plugins/win-capture/window-capture.c b/plugins/win-capture/window-capture.c index 39e18ec697627e..02ecc69a4d7c3f 100644 --- a/plugins/win-capture/window-capture.c +++ b/plugins/win-capture/window-capture.c @@ -294,10 +294,9 @@ static HWND find_window(struct window_capture *wc) /* ------------------------------------------------------------------------- */ -static const char *wc_getname(const char *locale) +static const char *wc_getname(void) { /* TODO: locale */ - UNUSED_PARAMETER(locale); return "Window capture"; } @@ -362,9 +361,9 @@ static void wc_defaults(obs_data_t defaults) obs_data_setbool(defaults, "compatibility", false); } -static obs_properties_t wc_properties(const char *locale) +static obs_properties_t wc_properties(void) { - obs_properties_t ppts = obs_properties_create(locale); + obs_properties_t ppts = obs_properties_create(); obs_property_t p; /* TODO: locale */ diff --git a/plugins/win-dshow/win-dshow.cpp b/plugins/win-dshow/win-dshow.cpp index 7db06ea3a2d0b4..a29d92c88f32a4 100644 --- a/plugins/win-dshow/win-dshow.cpp +++ b/plugins/win-dshow/win-dshow.cpp @@ -251,9 +251,9 @@ void DShowInput::Update(obs_data_t settings) /* ------------------------------------------------------------------------- */ -static const char *GetDShowInputName(const char *locale) +static const char *GetDShowInputName(void) { - UNUSED_PARAMETER(locale); + /* TODO: locale */ return "Video Capture Device"; } @@ -778,9 +778,9 @@ static bool DeviceIntervalChanged(obs_properties_t props, obs_property_t p, return true; } -static obs_properties_t GetDShowProperties(const char *locale) +static obs_properties_t GetDShowProperties(void) { - obs_properties_t ppts = obs_properties_create(locale); + obs_properties_t ppts = obs_properties_create(); PropertiesData *data = new PropertiesData; obs_properties_set_param(ppts, data, PropertiesDataDestroy); diff --git a/plugins/win-wasapi/win-wasapi.cpp b/plugins/win-wasapi/win-wasapi.cpp index 335b6b82b791a6..366fd08bc9ee41 100644 --- a/plugins/win-wasapi/win-wasapi.cpp +++ b/plugins/win-wasapi/win-wasapi.cpp @@ -416,13 +416,13 @@ DWORD WINAPI WASAPISource::CaptureThread(LPVOID param) /* ------------------------------------------------------------------------- */ -static const char *GetWASAPIInputName(const char *locale) +static const char *GetWASAPIInputName(void) { /* TODO: translate */ return "Audio Input Capture (WASAPI)"; } -static const char *GetWASAPIOutputName(const char *locale) +static const char *GetWASAPIOutputName(void) { /* TODO: translate */ return "Audio Output Capture (WASAPI)"; @@ -466,9 +466,9 @@ static void UpdateWASAPISource(void *obj, obs_data_t settings) static_cast(obj)->Update(settings); } -static obs_properties_t GetWASAPIProperties(const char *locale, bool input) +static obs_properties_t GetWASAPIProperties(bool input) { - obs_properties_t props = obs_properties_create(locale); + obs_properties_t props = obs_properties_create(); vector devices; /* TODO: translate */ @@ -494,14 +494,14 @@ static obs_properties_t GetWASAPIProperties(const char *locale, bool input) return props; } -static obs_properties_t GetWASAPIPropertiesInput(const char *locale) +static obs_properties_t GetWASAPIPropertiesInput(void) { - return GetWASAPIProperties(locale, true); + return GetWASAPIProperties(true); } -static obs_properties_t GetWASAPIPropertiesOutput(const char *locale) +static obs_properties_t GetWASAPIPropertiesOutput(void) { - return GetWASAPIProperties(locale, false); + return GetWASAPIProperties(false); } void RegisterWASAPIInput() diff --git a/test/osx/test.mm b/test/osx/test.mm index bc346d53887f09..df03c3de6b46ba 100644 --- a/test/osx/test.mm +++ b/test/osx/test.mm @@ -38,7 +38,7 @@ explicit OBSUniqueHandle(T *obj=nullptr) : base(obj, D) {} static void CreateOBS(NSView *view) { - if (!obs_startup()) + if (!obs_startup("en")) throw "Couldn't create OBS"; struct obs_video_info ovi; diff --git a/test/test-input/test-desktop.m b/test/test-input/test-desktop.m index ac114128f720fd..77b88b08692347 100644 --- a/test/test-input/test-desktop.m +++ b/test/test-input/test-desktop.m @@ -258,9 +258,8 @@ static void display_capture_video_render(void *data, effect_t effect) technique_end(tech); } -static const char *display_capture_getname(const char *locale) +static const char *display_capture_getname(void) { - UNUSED_PARAMETER(locale); return "Display Capture"; } @@ -300,9 +299,9 @@ static void display_capture_update(void *data, obs_data_t settings) gs_leavecontext(); } -static obs_properties_t display_capture_properties(char const *locale) +static obs_properties_t display_capture_properties(void) { - obs_properties_t props = obs_properties_create(locale); + obs_properties_t props = obs_properties_create(); obs_property_t list = obs_properties_add_list(props, "display", "Display", diff --git a/test/test-input/test-filter.c b/test/test-input/test-filter.c index 478bc37b9552a6..ae993c6c8c0268 100644 --- a/test/test-input/test-filter.c +++ b/test/test-input/test-filter.c @@ -5,9 +5,8 @@ struct test_filter { effect_t whatever; }; -static const char *filter_getname(const char *locale) +static const char *filter_getname(void) { - UNUSED_PARAMETER(locale); return "Test"; } diff --git a/test/test-input/test-random.c b/test/test-input/test-random.c index 761c5325720d56..34af3026779dc0 100644 --- a/test/test-input/test-random.c +++ b/test/test-input/test-random.c @@ -10,9 +10,8 @@ struct random_tex { bool initialized; }; -static const char *random_getname(const char *locale) +static const char *random_getname(void) { - UNUSED_PARAMETER(locale); return "20x20 Random Pixel Texture Source (Test)"; } diff --git a/test/test-input/test-sinewave.c b/test/test-input/test-sinewave.c index dae293483ab50e..e9dba67cf32808 100644 --- a/test/test-input/test-sinewave.c +++ b/test/test-input/test-sinewave.c @@ -58,9 +58,8 @@ static void *sinewave_thread(void *pdata) /* ------------------------------------------------------------------------- */ -static const char *sinewave_getname(const char *locale) +static const char *sinewave_getname(void) { - UNUSED_PARAMETER(locale); return "Sinewave Sound Source (Test)"; } diff --git a/test/win/test.cpp b/test/win/test.cpp index 6ba6774421fceb..0e2e2bb7cdf0a8 100644 --- a/test/win/test.cpp +++ b/test/win/test.cpp @@ -71,7 +71,7 @@ static void CreateOBS(HWND hwnd) RECT rc; GetClientRect(hwnd, &rc); - if (!obs_startup()) + if (!obs_startup("en")) throw "Couldn't create OBS"; struct obs_video_info ovi;