jp9000
07c46ab468
text-freetype2: Fix GCC fread warnings
...
GCC marks fread as a function that will throw a warning if you do not
use its return value. This is most likely done as a measure to ensure
code security.
2014-08-25 09:10:57 -07:00
jp9000
07d099bd1e
text-freetype2: Localize text file path filter
2014-08-25 09:10:29 -07:00
jp9000
19b82af4ce
obs-x264: Ignore certain custom opts
...
These options should not be set via encoder settings, and may result in
unpredictable behavior.
2014-08-25 08:46:48 -07:00
jp9000
938b7c4395
text-freetype2: Fix 'text file' property filter
...
The text file filter accidentally said "All font files (*.txt)" instead
of saying "Text files (*.txt)". Probably just a mistake from a
copy&paste.
2014-08-25 08:46:47 -07:00
jp9000
a3266df836
obs-x264: Log preset/profile/tune and custom opts
2014-08-25 08:46:44 -07:00
jp9000
3dfaf57102
obs-x264: Log settings after custom opts parsed
...
The log of the settings didn't take in to account the potential of
custom x264 options. This changes it to log the actual x264 settings
after parsing.
2014-08-25 08:46:08 -07:00
jp9000
8bfdabd0cf
obs-x264: Swap preset/profile parameters
...
The parameters for override_base_params were being used in the wrong
order.
2014-08-25 08:44:53 -07:00
jp9000
29bf574d70
obs-x264: Ensure preset/tune are valid
...
If tune or preset is invalid it'll just cause x264 to not load at all,
which I feel is a bit over the top. Instead, if the values aren't
valid, then just make it default to no tune if the tune is invalid, and
'veryfast' preset if the preset is invalid.
2014-08-25 08:41:40 -07:00
jp9000
d95d20aa46
text-freetype2: Avoid spamming the log
...
When polling the file for changes, if the file doesn't exist, avoid
repeating the message over and over again that it couldn't find the
file.
2014-08-24 16:59:02 -07:00
jp9000
4ec0861481
text-freetype2: Avoid memory leak
...
Doing just return could cause it to bypass the font_obj cleanup
2014-08-24 16:58:28 -07:00
jp9000
50b80925e3
text-freetype2: Check if using file with from_file
2014-08-24 16:56:34 -07:00
jp9000
93d9317b7d
text-freetype2: Fix issues with text file loading
2014-08-24 16:38:37 -07:00
Palana
2deb796f49
Request high performance mode when using x264 encoder
...
This should probably be reevaluated once we have
global hotkeys or other functions that would require
OBS to not be sent to sleep while in the background
without having any sort of encoder running
2014-08-24 20:35:10 +02:00
jp9000
ec4016cafd
Use better default fonts
...
On windows, Arial is probably one of the most commonly used. Mac,
Helvetica. The rest, Sans Serif.
2014-08-24 08:43:28 -07:00
jp9000
0fca88dde9
Do not draw text from file if file not found
2014-08-24 08:31:03 -07:00
fryshorts
774731fbaf
Use fontconfig for linux/mac
...
This uses fontconfig for looking up font files for freetype to use on
both linux and mac. It's apparently a bit more optimal and prevents us
from having to worry about the load time on the mac version as well.
Refactored and moved all the old code to the find-font-windows.c file,
as it's no longer used on anything but windows.
2014-08-23 18:25:00 -07:00
jp9000
428c89ad4a
Remove unused variable
2014-08-23 18:20:23 -07:00
Palana
b0e119a475
Remove unused variable
2014-08-23 01:27:22 +02:00
BtbN
5ec0d2ded4
Fix FindFreetype naming and find logic
...
Freetype is quite complicated, copied most of the logic from the
original FindFreetype module.
2014-08-21 16:36:21 +02:00
BtbN
997b4f9161
Fix FindIconv naming consistency
2014-08-21 15:28:44 +02:00
Jim
ffe74f5903
Merge pull request #252 from palana/mac-window-capture
...
Add window capture options for OSX
2014-08-21 05:52:51 -07:00
jp9000
cf1b106a26
Fix null pointer dereference
...
When looking up translated font names within font files, it was not
checking for null on the 'charset' variable (the translation character
set wasn't added/availble).
2014-08-20 16:46:50 -07:00
Jim
911c885b3b
Merge pull request #253 from drekryan/patch-1
...
Remove Justin.tv references/service
2014-08-20 16:13:07 -07:00
Derrick Lambert
1b4d8221dd
Remove Justin.tv references/service
2014-08-20 18:41:18 -04:00
jp9000
5291760cf8
Fix gs_matrix_* issues
...
Multiplication of the matricies was being done in the wrong direction.
This caused source transformations to come out looking incorrect, for
example the linux-xshm source's cursor would not be drawn correctly or
in the right position if the source was moved/scaled/rotated. The
problem just turned out to be that the gs_matrix_* functions were
multiplying in the wrong direction. Reverse the direction of
multiplication, and the problem is solved.
2014-08-20 13:04:13 -07:00
Palana
f8ed37dec4
Add Window Capture to mac-capture plugin
2014-08-20 00:50:18 +02:00
Palana
7b6c4a130a
Add Display Capture crop modes
2014-08-20 00:50:17 +02:00
Palana
bc64fa97a0
Add CoreGraphics window utilities
2014-08-20 00:42:56 +02:00
BtbN
02725acdd4
Fix double invocation of install_obs_plugin in every single plugin
2014-08-19 14:24:59 +02:00
benklett
f2723aa11e
Fix the cmake code for text-freetype2
...
it is now possible to build text-freetype2 on linux if you comment out a return() otherwise there would have been an error
Also i made the word iconv in find_package lower case, to match the APPLE cmake code
2014-08-19 13:57:22 +02:00
Jim
a0897b0adf
Merge pull request #243 from jp9000/font-test-mac
...
Merge freetype text plugin
2014-08-19 03:01:10 -07:00
jp9000
7f0ae838d7
Add system font lookup for mac/windows
...
This changes the font plugin from using a font file to using a specific
installed system font, which is searched for on each specific system and
associated with the font file. It now uses a font property instead of a
path property, and font size has been removed because the font property
now handles that.
When the module is first loaded, it will build up a list of system fonts
in order to be usable by Freetype. It was quite painful to program this
because font files can contain multiple localized versions of their face
names, and then there was the issue where windows likes to mangle
custom style types to the font name. Regardless, it all seems to have
worked out pretty well.
Minor issues:
- Truetype/Opentype fonts sometimes do not automatically have
italic and/or bold styles available, it seems that the system applies
transformations manually in those cases. We don't do this yet,
however, so right now a user might select a font with italic/bold
only to discover that italic/bold doesn't always work. Not entirely
sure what to do about this yet. There's probably a freetype function
to do something like that somehow,
This also requires that iconv be used for non-windows systems to be able
to look up localized font names within font files. Windows will use
the win32 API and code page IDs to translate font names.
2014-08-19 02:11:37 -07:00
fryshorts
8f206def32
Fix cursor position in xshm plugin
...
By premultiplying the cursor translation the cursor is positioned
relative, and thus correctly, when the source has transformations
applied to it.
2014-08-18 20:19:26 +02:00
paibox
e1611b431c
Merge Freetype text plugin
2014-08-18 00:14:02 -07:00
Jim
69b9e722b8
Merge pull request #234 from fryshorts/v4l2-input
...
Make input selectable in v4l2 plugin.
2014-08-14 00:24:48 -07:00
jp9000
38d2cf591d
Use the correct logging name for FLV outputs
2014-08-12 01:08:23 -07:00
jp9000
6680d3230a
Improve FLV output logging
...
Log when the FLV file output has started and when it has finished.
2014-08-12 01:00:12 -07:00
fryshorts
cd6d2eb9b6
Fix crash in v4l2 plugin.
...
This adds checks to make sure munmap and bfree are only called
when there was actually memory mapped and allocated.
2014-08-11 23:35:43 +02:00
fryshorts
d73d2b22f8
Fix infinite loop in v4l2 plugin.
...
When initialization of the device fails the plugin may hang
trying to join a non-existing pthread.
2014-08-11 23:35:43 +02:00
fryshorts
71200051b0
Move some functions to separate file for v4l2 plugin.
...
This moves some functions that are generic to a separate source
file. While doing so the api to those functions was improved to
be more generic and not depend on knowledge about the internal
structure of the plugin.
2014-08-11 23:35:43 +02:00
fryshorts
7e4972e747
Small cleanups in v4l2 plugin.
2014-08-11 23:35:43 +02:00
fryshorts
07d4c5f037
Make device inputs selectable for v4l2 plugin.
...
This adds an additional property to the plugin to select
an input if the device has multiple ones.
2014-08-11 23:35:43 +02:00
fryshorts
3031cb4b4c
Minor code refactoring in v4l2 plugin.
2014-08-11 23:00:57 +02:00
jp9000
f75a1ebf63
Plugins: Use new encoder/output size functions
2014-08-10 17:10:20 -07:00
jp9000
7608f77e8b
(API Change) Rename autoselect/default functions
...
For the sake of consistency, renamed these two functions to include
_value at the end so they are consistent.
Renamed: To:
-------------------------------------------------------
obs_data_has_default obs_data_has_default_value
obs_data_has_autoselect obs_data_has_autoselect_value
obs_data_item_has_default obs_data_item_has_default_value
obs_data_item_has_autoselect obs_data_item_has_autoselect_value
2014-08-09 14:36:38 -07:00
jp9000
5780f3f177
(API Change) Improve graphics API consistency
...
Summary:
- Prefix all graphics subsystem names with gs_ or GS_
- Unsquish funciton names (for example _setfloat to _set_float)
- Changed create functions to be more consistent with the rest of the
API elsewhere. For exmaple, instead of
gs_create_texture/gs_texture_destroy, it's now
gs_texture_create/gs_texture_destroy
- Renamed gs_stencil_op enum to gs_stencil_op_type
From: To:
-----------------------------------------------------------
tvertarray gs_tvertarray
vb_data gs_vb_data
vbdata_create gs_vbdata_create
vbdata_destroy gs_vbdata_destroy
shader_param gs_shader_param
gs_effect gs_effect
effect_technique gs_effect_technique
effect_pass gs_effect_pass
effect_param gs_effect_param
texture_t gs_texture_t
stagesurf_t gs_stagesurf_t
zstencil_t gs_zstencil_t
vertbuffer_t gs_vertbuffer_t
indexbuffer_t gs_indexbuffer_t
samplerstate_t gs_samplerstate_t
swapchain_t gs_swapchain_t
texrender_t gs_texrender_t
shader_t gs_shader_t
sparam_t gs_sparam_t
effect_t gs_effect_t
technique_t gs_technique_t
eparam_t gs_eparam_t
device_t gs_device_t
graphics_t graphics_t
shader_param_type gs_shader_param_type
SHADER_PARAM_UNKNOWN GS_SHADER_PARAM_UNKNOWN
SHADER_PARAM_BOOL GS_SHADER_PARAM_BOOL
SHADER_PARAM_FLOAT GS_SHADER_PARAM_FLOAT
SHADER_PARAM_INT GS_SHADER_PARAM_INT
SHADER_PARAM_STRING GS_SHADER_PARAM_STRING
SHADER_PARAM_VEC2 GS_SHADER_PARAM_VEC2
SHADER_PARAM_VEC3 GS_SHADER_PARAM_VEC3
SHADER_PARAM_VEC4 GS_SHADER_PARAM_VEC4
SHADER_PARAM_MATRIX4X4 GS_SHADER_PARAM_MATRIX4X4
SHADER_PARAM_TEXTURE GS_SHADER_PARAM_TEXTURE
shader_param_info gs_shader_param_info
shader_type gs_shader_type
SHADER_VERTEX GS_SHADER_VERTEX
SHADER_PIXEL GS_SHADER_PIXEL
shader_destroy gs_shader_destroy
shader_numparams gs_shader_get_num_params
shader_getparambyidx gs_shader_get_param_by_idx
shader_getparambyname gs_shader_get_param_by_name
shader_getviewprojmatrix gs_shader_get_viewproj_matrix
shader_getworldmatrix gs_shader_get_world_matrix
shader_getparaminfo gs_shader_get_param_info
shader_setbool gs_shader_set_bool
shader_setfloat gs_shader_set_float
shader_setint gs_shader_set_int
shader_setmatrix3 gs_shader_setmatrix3
shader_setmatrix4 gs_shader_set_matrix4
shader_setvec2 gs_shader_set_vec2
shader_setvec3 gs_shader_set_vec3
shader_setvec4 gs_shader_set_vec4
shader_settexture gs_shader_set_texture
shader_setval gs_shader_set_val
shader_setdefault gs_shader_set_default
effect_property_type gs_effect_property_type
EFFECT_NONE GS_EFFECT_NONE
EFFECT_BOOL GS_EFFECT_BOOL
EFFECT_FLOAT GS_EFFECT_FLOAT
EFFECT_COLOR GS_EFFECT_COLOR
EFFECT_TEXTURE GS_EFFECT_TEXTURE
effect_param_info gs_effect_param_info
effect_destroy gs_effect_destroy
effect_gettechnique gs_effect_get_technique
technique_begin gs_technique_begin
technique_end gs_technique_end
technique_beginpass gs_technique_begin_pass
technique_beginpassbyname gs_technique_begin_pass_by_name
technique_endpass gs_technique_end_pass
effect_numparams gs_effect_get_num_params
effect_getparambyidx gs_effect_get_param_by_idx
effect_getparambyname gs_effect_get_param_by_name
effect_updateparams gs_effect_update_params
effect_getviewprojmatrix gs_effect_get_viewproj_matrix
effect_getworldmatrix gs_effect_get_world_matrix
effect_getparaminfo gs_effect_get_param_info
effect_setbool gs_effect_set_bool
effect_setfloat gs_effect_set_float
effect_setint gs_effect_set_int
effect_setmatrix4 gs_effect_set_matrix4
effect_setvec2 gs_effect_set_vec2
effect_setvec3 gs_effect_set_vec3
effect_setvec4 gs_effect_set_vec4
effect_settexture gs_effect_set_texture
effect_setval gs_effect_set_val
effect_setdefault gs_effect_set_default
texrender_create gs_texrender_create
texrender_destroy gs_texrender_destroy
texrender_begin gs_texrender_begin
texrender_end gs_texrender_end
texrender_reset gs_texrender_reset
texrender_gettexture gs_texrender_get_texture
GS_BUILDMIPMAPS GS_BUILD_MIPMAPS
GS_RENDERTARGET GS_RENDER_TARGET
gs_device_name gs_get_device_name
gs_device_type gs_get_device_type
gs_entercontext gs_enter_context
gs_leavecontext gs_leave_context
gs_getcontext gs_get_context
gs_renderstart gs_render_start
gs_renderstop gs_render_stop
gs_rendersave gs_render_save
gs_getinput gs_get_input
gs_geteffect gs_get_effect
gs_create_effect_from_file gs_effect_create_from_file
gs_create_effect gs_effect_create
gs_create_vertexshader_from_file gs_vertexshader_create_from_file
gs_create_pixelshader_from_file gs_pixelshader_create_from_file
gs_create_texture_from_file gs_texture_create_from_file
gs_resetviewport gs_reset_viewport
gs_set2dmode gs_set_2d_mode
gs_set3dmode gs_set_3d_mode
gs_create_swapchain gs_swapchain_create
gs_getsize gs_get_size
gs_getwidth gs_get_width
gs_getheight gs_get_height
gs_create_texture gs_texture_create
gs_create_cubetexture gs_cubetexture_create
gs_create_volumetexture gs_voltexture_create
gs_create_zstencil gs_zstencil_create
gs_create_stagesurface gs_stagesurface_create
gs_create_samplerstate gs_samplerstate_create
gs_create_vertexshader gs_vertexshader_create
gs_create_pixelshader gs_pixelshader_create
gs_create_vertexbuffer gs_vertexbuffer_create
gs_create_indexbuffer gs_indexbuffer_create
gs_gettexturetype gs_get_texture_type
gs_load_defaultsamplerstate gs_load_default_samplerstate
gs_getvertexshader gs_get_vertex_shader
gs_getpixelshader gs_get_pixel_shader
gs_getrendertarget gs_get_render_target
gs_getzstenciltarget gs_get_zstencil_target
gs_setrendertarget gs_set_render_target
gs_setcuberendertarget gs_set_cube_render_target
gs_beginscene gs_begin_scene
gs_draw gs_draw
gs_endscene gs_end_scene
gs_setcullmode gs_set_cull_mode
gs_getcullmode gs_get_cull_mode
gs_enable_depthtest gs_enable_depth_test
gs_enable_stenciltest gs_enable_stencil_test
gs_enable_stencilwrite gs_enable_stencil_write
gs_blendfunction gs_blend_function
gs_depthfunction gs_depth_function
gs_stencilfunction gs_stencil_function
gs_stencilop gs_stencil_op
gs_setviewport gs_set_viewport
gs_getviewport gs_get_viewport
gs_setscissorrect gs_set_scissor_rect
gs_create_texture_from_iosurface gs_texture_create_from_iosurface
gs_create_gdi_texture gs_texture_create_gdi
gs_is_compressed_format gs_is_compressed_format
gs_num_total_levels gs_get_total_levels
texture_setimage gs_texture_set_image
cubetexture_setimage gs_cubetexture_set_image
swapchain_destroy gs_swapchain_destroy
texture_destroy gs_texture_destroy
texture_getwidth gs_texture_get_width
texture_getheight gs_texture_get_height
texture_getcolorformat gs_texture_get_color_format
texture_map gs_texture_map
texture_unmap gs_texture_unmap
texture_isrect gs_texture_is_rect
texture_getobj gs_texture_get_obj
cubetexture_destroy gs_cubetexture_destroy
cubetexture_getsize gs_cubetexture_get_size
cubetexture_getcolorformat gs_cubetexture_get_color_format
volumetexture_destroy gs_voltexture_destroy
volumetexture_getwidth gs_voltexture_get_width
volumetexture_getheight gs_voltexture_get_height
volumetexture_getdepth gs_voltexture_getdepth
volumetexture_getcolorformat gs_voltexture_get_color_format
stagesurface_destroy gs_stagesurface_destroy
stagesurface_getwidth gs_stagesurface_get_width
stagesurface_getheight gs_stagesurface_get_height
stagesurface_getcolorformat gs_stagesurface_get_color_format
stagesurface_map gs_stagesurface_map
stagesurface_unmap gs_stagesurface_unmap
zstencil_destroy gs_zstencil_destroy
samplerstate_destroy gs_samplerstate_destroy
vertexbuffer_destroy gs_vertexbuffer_destroy
vertexbuffer_flush gs_vertexbuffer_flush
vertexbuffer_getdata gs_vertexbuffer_get_data
indexbuffer_destroy gs_indexbuffer_destroy
indexbuffer_flush gs_indexbuffer_flush
indexbuffer_getdata gs_indexbuffer_get_data
indexbuffer_numindices gs_indexbuffer_get_num_indices
indexbuffer_gettype gs_indexbuffer_get_type
texture_rebind_iosurface gs_texture_rebind_iosurface
texture_get_dc gs_texture_get_dc
texture_release_dc gs_texture_release_dc
2014-08-09 11:57:38 -07:00
jp9000
42a0925ce1
(API Change) media-io: Improve naming consistency
...
Renamed: To:
-----------------------------------------------------------
audio_output_blocksize audio_output_get_block_size
audio_output_planes audio_output_get_planes
audio_output_channels audio_output_get_channels
audio_output_samplerate audio_output_get_sample_rate
audio_output_getinfo audio_output_get_info
audio_output_createline audio_output_create_line
video_output_getinfo video_output_get_info
video_gettime video_output_get_time
video_getframetime video_output_get_frame_time
video_output_width video_output_get_width
video_output_height video_output_get_height
video_output_framerate video_output_get_frame_rate
video_output_num_skipped_frames video_output_get_skipped_frames
video_output_total_frames video_output_get_total_frames
2014-08-09 11:57:37 -07:00
jp9000
9d300685ca
(API Change) Unsquish libobs/util
...
Changed: To:
-----------------------------------------------------------
dstr_isempty dstr_is_empty
cf_lexer_gettokens cf_lexer_get_tokens
cf_preprocessor_gettokens cf_preprocessor_get_tokens
2014-08-09 11:57:37 -07:00
jp9000
04712b5fe9
(API Change) Unsquish obs_data_* names
...
Changed: To:
-----------------------------------------------
obs_data_getjson obs_data_get_json
obs_data_getstring obs_data_get_string
obs_data_getint obs_data_get_int
obs_data_getdouble obs_data_get_double
obs_data_getbool obs_data_get_bool
obs_data_getobj obs_data_get_obj
obs_data_getarray obs_data_get_array
obs_data_setstring obs_data_set_string
obs_data_setint obs_data_set_int
obs_data_setdouble obs_data_set_double
obs_data_setbool obs_data_set_bool
obs_data_setobj obs_data_set_obj
obs_data_setarray obs_data_set_array
obs_data_item_getstring obs_data_item_get_string
obs_data_item_getint obs_data_item_get_int
obs_data_item_getdouble obs_data_item_get_double
obs_data_item_getbool obs_data_item_get_bool
obs_data_item_getobj obs_data_item_get_obj
obs_data_item_getarray obs_data_item_get_array
obs_data_item_setstring obs_data_item_set_string
obs_data_item_setint obs_data_item_set_int
obs_data_item_setdouble obs_data_item_set_double
obs_data_item_setbool obs_data_item_set_bool
obs_data_item_setobj obs_data_item_set_obj
obs_data_item_setarray obs_data_item_set_array
2014-08-09 11:57:36 -07:00
jp9000
2d606dd8d8
(API Change) Use 'get' convention: API callbacks
...
Renamed: To:
-------------------------------------------------------
obs_source_info::defaults obs_source_info::get_defaults
obs_source_info::properties obs_source_info::get_properties
obs_output_info::defaults obs_output_info::get_defaults
obs_output_info::properties obs_output_info::get_properties
obs_output_info::total_bytes obs_output_info::get_total_bytes
obs_output_info::dropped_frames obs_output_info::get_dropped_frames
obs_encoder_info::defaults obs_encoder_info::get_defaults
obs_encoder_info::properties obs_encoder_info::get_properties
obs_encoder_info::extra_data obs_encoder_info::get_extra_data
obs_encoder_info::sei_data obs_encoder_info::get_sei_data
obs_encoder_info::audio_info obs_encoder_info::get_audio_info
obs_encoder_info::video_info obs_encoder_info::get_video_fino
obs_service_info::defaults obs_service_info::get_defaults
obs_service_info::properties obs_service_info::get_properties
2014-08-09 11:57:30 -07:00