Palana
351c4bfe1d
add cmake plugin helpers
2014-01-09 02:37:43 +01:00
Palana
642d0dfca7
fix osx bundle loading of required resources
2014-01-09 01:17:38 +01:00
jp9000
4fe3c47216
Handle source adding/removal better
...
- Made it so that when a source is added or removed from a scene it
will add a reference to sourceSceneRefs (std::unordered_map). Each
source adds a reference to that every time they are added to a scene,
and releases a reference from it when they are removed from a scene.
When the value reaches 0, the source is no longer in any scenes, and
is then marked for removal and destroyed.
Before, I was using the source internal reference counter, which is a
really bad thing to do because I don't know what might actually be
referencing it. So using a separate discrete reference counter for
the number of scenes it's in is better in this case.
2014-01-06 20:20:18 -07:00
jp9000
509a3481da
Removed unnecessary sizers from forms (homeworld)
...
- Homeworld apparently removed a number of unnecessary sizers from the
basic UI window form to reduce wx resize computations.
2014-01-06 20:17:54 -07:00
jp9000
e9d1d66b8a
Make it so that created scenes are selected
...
- When a scene is created it now is automatically selected and switched
to.
2014-01-05 21:38:28 -07:00
jp9000
25acf095ab
Remove from list based upon data, not string
...
- Added an extra comment regarding source removal
- Made is so that when a scene item is removed from the sources list
box, it removes the item based upon the GetClientData rather than by
its string name. This is done because there may be duplicate sources
in a particular scene, and it's important to remove the right one.
2014-01-04 19:26:15 -07:00
jp9000
717a2538f4
Implement source removal via GUI
...
- When the remove source tool icon is clicked, it will now remove the
source from the scene.
- Fixed a bug where the scene item removal callback would add the scene
item to the list instead of removing it.
- Changed AddSourcePopup to AddSourcePopupMenu. Name actually confused
me once despite being the writer, so it was clearly a bad name.
2014-01-04 18:53:02 -07:00
jp9000
dcde1dcf2a
Implemented adding sources to scenes via GUI
...
Sources can now be added to scenes via user interface. It's a little
convoluted because everything has to work through OBS signals to ensure
that plugins/etc can modify the scenes/sources exernally.
Also, when switching scenes, it will properly list sources for the
scene you changed to.
2014-01-04 13:53:36 -07:00
jp9000
41a73ceeea
Added WX_UTF8 macro
...
The WX_UTF8 macro is primarily for convenience so you can input a
UTF-8 string into a wxWidgets function without having to do
wxString(string, wxConvUTF8) each time.
2014-01-04 13:50:16 -07:00
Ján Mlynek
e38f9d22f6
fix check_path not using path variable
2014-01-03 23:22:49 +01:00
Palana
e846d0395c
remove duplicate lines and reformat for 80 columns limit
2014-01-03 01:50:36 +01:00
Zachary Lund
80b8176e29
GLX implementation and *nix-specific file handling implementation
...
I added gl-x11 which allows compatibility with X11 (Xlib-based) and GLX.
I also added various functions to handle file finding based on FHS.
Various changes to autotools to both install files correctly and to configure correctly.
2014-01-02 18:20:58 -06:00
Palana
4dfee68dd7
fix warnings in window-namedialog and mark methods as override
2014-01-01 04:06:59 +01:00
jp9000
843a092fae
fixed starting GL context size to use GetClientSize over GetMinSize
2013-12-31 07:26:24 -07:00
jp9000
e1a32f8eac
make it use GetClientSize instead of GetMinSize for when resizing the panel (though at this point I don't think it's going to help anymore)
2013-12-31 07:12:38 -07:00
jp9000
1302e65ee6
create a sizing callback for the preview panel specifically, apparently on macos the window size isn't guaranteed to be the size it's set to in the main window size handler
2013-12-31 07:10:47 -07:00
jp9000
c71eb041b6
fix startup resize issue on osx
2013-12-31 04:02:07 -07:00
jp9000
36041e9d80
display a test source on startup
2013-12-30 15:47:20 -07:00
jp9000
f03d90639a
macos cannot have widgets/items with ID of 0
2013-12-30 13:33:13 -07:00
Palana
683585938c
add infrastructure for app bundle target and unmark as advanced
2013-12-30 20:52:44 +01:00
jp9000
c2593eb390
make window automatically resize the graphics display to ensure sources draw properly
2013-12-30 08:55:01 -07:00
jp9000
c129cc37cb
update API and implement preliminary ability to add sources to scenes
2013-12-30 06:56:39 -07:00
jp9000
146912d5b8
add wrapper for popup menus so you aren't forced to write a god forsaken function handler whenever you just want to do a basic popup menu
2013-12-30 06:55:58 -07:00
jp9000
4af0d7ac04
update main form files for basic UI window
2013-12-30 06:54:58 -07:00
jp9000
d917745cea
make it so that when a scene is clicked it becomes active
2013-12-30 01:17:57 -07:00
jp9000
0131cebc8c
add form callbacks for selecting scenes/sources
2013-12-30 01:17:29 -07:00
jp9000
3f3abf20c0
implement 'remove scene' button
2013-12-29 20:01:19 -07:00
Palana
e8ee39560c
update data files copy in cmake project
2013-12-30 03:31:55 +01:00
Palana
3462a9b8b9
add newline to non-windows log output
2013-12-30 03:26:09 +01:00
Palana
c093f04c58
add static linking options for ffmpeg and wxwidgets to cmake
2013-12-30 03:02:11 +01:00
jp9000
534ed54cf1
make OK button the default button for when using the 'enter name' dialog
2013-12-29 09:56:25 -07:00
jp9000
6fe59f77ec
make sure another source by the same name doesn't already exist when choosing a name for that scene
2013-12-29 09:17:00 -07:00
jp9000
c4af3e2a75
change obs_scene_destroy to obs_scene_release, add ability to add scenes, fix name dialog sizing
2013-12-29 08:54:06 -07:00
jp9000
e5ef03954e
added name dialog code, moved 'using namespace std;' out of headers and into source files
2013-12-29 04:40:53 -07:00
jp9000
6526c47907
update callbacks for name dialog
2013-12-29 03:56:07 -07:00
jp9000
7a4bc231eb
added a name entry dialog to the form files
2013-12-28 22:29:48 -07:00
jp9000
65c3207ba3
added a SceneRemoved handler
2013-12-28 22:29:13 -07:00
jp9000
10aa94f00e
Add ability to use two desktop audio devices at once in basic UI
2013-12-28 22:00:32 -07:00
jp9000
1c7272115a
fixed project file settings for those renamed files and fixed a typo
2013-12-28 21:53:38 -07:00
jp9000
aea35a30f8
renamed some window files to ensure they sort a bit better
2013-12-28 21:51:18 -07:00
jp9000
cec94b042e
implement scene adding callbacks, make a few API tweaks
2013-12-28 05:33:16 -07:00
Zachary Lund
5f5404f8cb
Fixes issues with autoconf
...
In particular, it removes any deprecated functionality
wxWidgets only documents their deprecated m4 macros and gives a poor example
Also to note in regard to wxWidgets, I removed any unneeded libraries from the linker line.
Any warning messages provided by autoconf has been supressed in the most appropriate manner possible.
2013-12-27 16:41:01 -06:00
jp9000
6fcd5ce112
rename platform-nix.cpp to platform-x11.cpp
2013-12-26 23:14:03 -07:00
jp9000
03e1aaad3e
fix OBSBasic::AddScene function declaration
2013-12-26 04:29:57 -07:00
jp9000
6ac6256ac5
fill in rest of signal/callback/proc
2013-12-26 04:26:17 -07:00
jp9000
bb53a39aee
change os_get_home_path to a better and more clear function, os_get_config_path
2013-12-23 18:59:54 -07:00
jp9000
02f9647b6c
change 'properties' icon on basic main window toolbars
2013-12-23 18:59:16 -07:00
jp9000
221ed7d92b
make debug messages log to stdout on non-windows operating systems
2013-12-23 01:06:53 -07:00
jp9000
5f6cf61449
add 25 FPS to 'common FPS' list, clean up window initialization for it
2013-12-22 23:45:47 -07:00
jp9000
399b0c8d10
apply configure video settings on startup
2013-12-22 23:40:07 -07:00
jp9000
991b5739d6
move libobs C++ bindings to libobs
2013-12-22 17:42:02 -07:00
jp9000
5471625dd7
update form to add volume section to main window
2013-12-22 01:28:40 -07:00
jp9000
f41bb4b7e9
add support for texture_rect texture type in shaders, add new form, clear up a few things in the API
2013-12-20 11:58:09 -07:00
Palana
eb8c2923f6
make opengl render stuff on osx without resizing the main window
2013-12-19 23:10:09 +01:00
jp9000
ab4e86cf5c
fixed a bug where the GL context wouldn't load up on macos because the window wasn't shown first
2013-12-19 01:00:00 -07:00
jp9000
24c45458b5
use the preview window as the main window associated with the OpenGL context
2013-12-18 22:57:39 -07:00
jp9000
a8ada497b3
finish up preliminary settings stuff
2013-12-18 12:09:20 -07:00
jp9000
158f83dc96
make OK/cancel/apply buttons accessible on the settings form
2013-12-18 12:06:13 -07:00
jp9000
257cbd77ba
use astrcmpi to prevent multiplatform clib incompatibility
2013-12-17 20:23:57 -07:00
jp9000
989e734025
made a few more settings UI tweaks
2013-12-17 18:19:24 -07:00
jp9000
984667a34a
actually make it save settings
2013-12-17 17:07:40 -07:00
jp9000
b5bbe74120
add in code for OK/Cancel/Apply buttons in basic settings window
2013-12-17 13:56:58 -07:00
jp9000
495099d84e
load english locale text first, then current locale (to prevent unfilled text entries)
2013-12-17 13:56:28 -07:00
jp9000
cb3426ae20
Add callbacks for OK/Cancel/Apply
2013-12-17 13:54:06 -07:00
jp9000
7e4355bbfb
this is probably C-style but I prefer it over vague anonymous namespaces, don't kill me please
2013-12-17 11:29:46 -07:00
Palana
e563931e9f
filter duplicate resolutions
2013-12-17 18:44:02 +01:00
jp9000
197c56c9ae
add code to select renderer
2013-12-17 02:08:41 -07:00
jp9000
1b5444954a
add 'renderer' option to video settings
2013-12-17 02:07:08 -07:00
Palana
9ac6f646b6
fix focus after dismissing settings dialog
2013-12-16 16:06:30 +01:00
Palana
8c19ad4b14
updated obs platform files
2013-12-16 16:04:51 +01:00
jp9000
3d88a43520
add video settings code and set up default video setting values for the config
2013-12-16 00:07:08 -07:00
jp9000
f27dfb6809
add platform functions for querying monitor information
2013-12-16 00:06:13 -07:00
jp9000
af5db87ea1
update video settings form for fps/video variables
2013-12-16 00:04:33 -07:00
Palana
7bc325d90b
updated BPtr semantics to be more in line with stl smart pointers
2013-12-16 01:59:08 +01:00
Palana
06227327f8
updated c++11 compatibility for raii wrappers
2013-12-16 01:59:07 +01:00
jp9000
dd1c5b4342
add some preliminary resolution data to video settings (will need to query monitors in the future)
2013-12-14 21:30:16 -07:00
jp9000
f50fbfd166
add more accessible variables for form items
2013-12-14 21:27:37 -07:00
jp9000
a526afd047
remove unused STL include
2013-12-13 23:16:05 -07:00
jp9000
7ba497fe61
add move constructor to wx connector class, add simple connector list class, add initial video settings class, update build files
2013-12-13 23:11:23 -07:00
jp9000
02c32f9c5e
update form data, made it so that that the warning messages display by default because their position seems to go out of whack if they're hidden by default
2013-12-13 23:09:49 -07:00
jp9000
fa00c6fa47
add a RAII wx connect wrapper
2013-12-13 08:15:50 -07:00
jp9000
40f922ca37
initialize dataChanged variables in SettingsData base class
2013-12-12 22:16:45 -07:00
jp9000
375bc18377
make SettingsData a subclass of wxEvtHandler and add a callback for the language combo box
2013-12-12 22:14:27 -07:00
jp9000
c5f497ec1d
add settings data for general page, query available languages
2013-12-12 21:47:42 -07:00
jp9000
454d800c9f
updated settings form again with new callbacks
2013-12-12 21:43:30 -07:00
Palana
fd5b00871f
add GetDataFilePath implementation for osx
2013-12-12 11:44:17 +01:00
jp9000
467362f584
added new settings management base class, updated main settings form, added to build files
2013-12-11 21:50:10 -07:00
jp9000
c902eab4db
fix a typo in the main program automake file
2013-12-10 21:17:58 -07:00
jp9000
dc4d1db4ea
update formbuilder file
2013-12-10 21:15:51 -07:00
jp9000
1e6c518700
change a few names for some of the control callbacks
2013-12-10 21:14:45 -07:00
jp9000
b0df5cf29c
add settings window subclass files
2013-12-10 21:14:20 -07:00
jp9000
c2604baea0
added more button callbacks
2013-12-10 11:22:33 -07:00
jp9000
f9e9626ee6
Added preliminary settings window form
2013-12-10 11:21:34 -07:00
jp9000
70290b8c2b
fixed locale code, added locale files, made wx use locale files, fixed some bugs, and added platform-specific files to the main program
2013-12-07 10:22:56 -07:00
Palana
e6017ec1ba
changed allocation counter to uint64_t
...
also avoids format string confusion for bnum_allocs
2013-12-07 17:39:43 +01:00
Palana
968f9c03bd
use %u for size_t on microsoft compilers
2013-12-07 16:50:05 +01:00
Palana
0f484c4620
fix warning for OBSSource::operator=
2013-12-06 21:43:51 +01:00
Palana
499eaa4840
check for __APPLE__ instead of __WXCOCOA__
2013-12-06 21:31:42 +01:00
Palana
ad1abd45e8
fix format string
2013-12-06 21:31:42 +01:00
jp9000
78e581a3c1
update makefiles for previous name changes
2013-12-06 09:18:47 -07:00
jp9000
0434ef0f62
change naming for some main program files for consistency
2013-12-06 09:16:33 -07:00
jp9000
2c886a9d83
fix references to subclass files within forms
2013-12-06 06:51:14 -07:00
jp9000
00b55c9d95
moved wx forms and generated files into a discrete 'forms' directory
2013-12-06 06:48:21 -07:00
jp9000
85374daa94
made it so that preview panel scales based upon window size
2013-12-06 06:39:19 -07:00
jp9000
a8d9c5b25c
updated UI files
2013-12-06 06:38:50 -07:00
jp9000
8298fa4dc7
With the permission of my fellow contributors, I'm switching obs-studio back to GPL v2+ to prevent issues between this project and the original OBS project, and for personal reasons to avoid legal ambiguity (not political reasons, I admittedly would prefer GPL v3+)
2013-12-02 22:24:38 -07:00
Palana
e230b0e984
updated include paths (CMake+osxtest) and function prototype (osxtest)
...
fixes compilation with changes from e5c99175c5
2013-11-29 20:58:29 +01:00
Palana
99b06288ba
move using namespace below includes
...
fixes ambiguity between <wchar.h> and <cwchar>
2013-11-28 20:49:06 +01:00
jp9000
e5c99175c5
fixed some build issues on non-windows systems
2013-11-26 23:07:27 -07:00
jp9000
56034fd9ac
made a workaround to ensure that translations can be done through our custom system rather than using wx's internal system
2013-11-26 22:22:41 -07:00
jp9000
279b487269
remove sys/stat.h include from obs-app.cpp
2013-11-23 23:40:05 -07:00
jp9000
0aad78819c
added initial config file stuff, set up a 'dummy' window to cause the graphics system to persist through window changes
2013-11-23 23:38:52 -07:00
jp9000
9b76651183
updated obs basic window form (needed an ID and needed a OnClose callback)
2013-11-23 23:36:25 -07:00
jp9000
7e89ebce46
add a 'wrapper' file for wx
2013-11-22 20:57:24 -07:00
jp9000
27be0a515b
do first test drawing in wx
2013-11-22 20:43:48 -07:00
jp9000
eb55b5436f
changed header reference to obs-app.hpp
2013-11-22 16:25:38 -07:00
jp9000
4813c89cc6
renamed obs.cpp/hpp
2013-11-22 16:24:54 -07:00
jp9000
66f846ca41
updated UI files
2013-11-22 16:20:52 -07:00
jp9000
af8329c667
add RAII wrapper class for sources
2013-11-22 16:20:02 -07:00
Palana
ec411fe046
added cmake build files
2013-11-14 18:36:46 +01:00
jp9000
146e9a7dbd
added support for jansson, added new output files, made some adjustments to the API, fixed a UI subclass issue
2013-11-13 06:24:20 -07:00
jp9000
388f25db05
remove absolute paths from formbuilder file
2013-11-09 21:56:31 -07:00
jp9000
66ba95dc4b
left a few errors in the subclass source by accident
2013-11-09 00:24:39 -07:00
jp9000
0b753be08a
add subclass files
2013-11-09 00:21:09 -07:00
jp9000
b159baf145
fix a few windows wx issues, make windows use default GUI fonts, and a few other minor tweaks
2013-11-09 00:19:38 -07:00
jp9000
562dec57f4
update one AM file, had the wrong file references in it
2013-11-07 17:05:03 -07:00
jp9000
f5e41f441e
added initial main program and directshow files, finally have a UI functioning
2013-11-07 16:45:03 -07:00