Add source properties window (very preliminary)
- Add a properties window for sources so that you can now actually edit the settings for sources. Also, display the source by itself in the window (Note: not working on mac, and possibly not working on linux). When changing the settings for a source, it will call obs_source_update on that source when you have modified any values automatically. - Add a properties 'widget', eventually I want to turn this in to a regular nice properties view like you'd see in the designer, but right now it just uses a form layout in a QScrollArea with regular controls to display the properties. It's clunky but works for the time being. - Make it so that swap chains and the main graphics subsystem will automatically use at least one backbuffer if none was specified - Fix bug where displays weren't added to the main display array - Make it so that you can get the properties of a source via the actual pointer of a source/encoder/output in addition to being able to look up properties via identifier. - When registering source types, check for required functions (wasn't doing it before). getheight/getwidth should not be optional if it's a video source as well. - Add an RAII OBSObj wrapper to obs.hpp for non-reference-counted libobs pointers - Add an RAII OBSSignal wrapper to obs.hpp for libobs signals to automatically disconnect them on destruction - Move the "scale and center" calculation in window-basic-main.cpp to its own function and in its own source file - Add an 'update' callback to WASAPI audio sources
This commit is contained in:
33
libobs/obs.h
33
libobs/obs.h
@@ -1,5 +1,5 @@
|
||||
/******************************************************************************
|
||||
Copyright (C) 2013 by Hugh Bailey <obs.jim@gmail.com>
|
||||
Copyright (C) 2013-2014 by Hugh Bailey <obs.jim@gmail.com>
|
||||
|
||||
This program is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
@@ -42,7 +42,7 @@ struct obs_encoder;
|
||||
struct obs_service;
|
||||
|
||||
typedef struct obs_display *obs_display_t;
|
||||
typedef struct obs_view *obs_view_t;
|
||||
typedef struct obs_view *obs_view_t;
|
||||
typedef struct obs_source *obs_source_t;
|
||||
typedef struct obs_scene *obs_scene_t;
|
||||
typedef struct obs_scene_item *obs_sceneitem_t;
|
||||
@@ -438,13 +438,20 @@ EXPORT bool obs_source_removed(obs_source_t source);
|
||||
EXPORT uint32_t obs_source_get_output_flags(obs_source_t source);
|
||||
|
||||
/** Gets the default settings for a source type */
|
||||
EXPORT obs_data_t obs_source_defaults(enum obs_source_type type,
|
||||
EXPORT obs_data_t obs_get_source_defaults(enum obs_source_type type,
|
||||
const char *id);
|
||||
|
||||
/** Returns the property list, if any. Free with obs_properties_destroy */
|
||||
EXPORT obs_properties_t obs_source_properties(enum obs_source_type type,
|
||||
EXPORT obs_properties_t obs_get_source_properties(enum obs_source_type type,
|
||||
const char *id, const char *locale);
|
||||
|
||||
/**
|
||||
* 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);
|
||||
|
||||
/** Updates settings for this source */
|
||||
EXPORT void obs_source_update(obs_source_t source, obs_data_t settings);
|
||||
|
||||
@@ -662,7 +669,14 @@ 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_output_properties(const char *id,
|
||||
EXPORT obs_properties_t obs_get_output_properties(const char *id,
|
||||
const char *locale);
|
||||
|
||||
/**
|
||||
* 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);
|
||||
|
||||
/** Updates the settings for this output context */
|
||||
@@ -742,7 +756,14 @@ EXPORT void obs_encoder_stop(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_encoder_properties(const char *id,
|
||||
EXPORT obs_properties_t obs_get_encoder_properties(const char *id,
|
||||
const char *locale);
|
||||
|
||||
/**
|
||||
* 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);
|
||||
|
||||
/**
|
||||
|
Reference in New Issue
Block a user