Commit Graph

329 Commits (66e8674100d15aa30b1cfc1e337112cb01646fb5)

Author SHA1 Message Date
jp9000 66e8674100 linux-capture: Add cursor capture to xcomposite 2014-08-29 17:20:26 -07:00
jp9000 0102896328 linux-capture: Add x/y cursor position vars 2014-08-29 17:20:26 -07:00
jp9000 378e910ad3 linux-capture: Rename pos_* vars to render_*
the pos_x and pos_y variables were somewhat deceptive, because they were
not actually the poition of the cursor.  They represented the position
of the cursor's bitmap on the screen, not the position of the cursor.
2014-08-29 17:20:26 -07:00
jp9000 15fb027647 Combine linux-xcomposite and linux-capture (xshm) 2014-08-29 17:20:02 -07:00
jp9000 a9cd60a78f Rename linux-xshm module to linux-capture 2014-08-29 17:19:30 -07:00
jp9000 f50aa5e01b win-dshow: Add audio support
This implements audio support, allowing not only the ability to capture
the built-in audio from the video device's audio capture pin, but also
the ability to override the default audio with a custom audio device.

The DShowInput::Update function was split up and refactored a bit, as it
was getting a bit large and messy.
2014-08-28 18:34:36 -07:00
Jim 3539932d86 Merge pull request #260 from fryshorts/pulse-input
Handle audio channels correctly in pulseaudio plugin
2014-08-28 12:10:24 -07:00
fryshorts 964d6eb3db Handle audio channels correctly in pulseaudio plugin
This fixes a bug where the pulseaudio plugin always reported
a speaker layout of stereo to obs, regardless of how many channels
pulseaudio actually recorded.
If the default number of channels was different to 2 this would
cause audio distortion.
2014-08-28 20:23:28 +02:00
jp9000 1a5989a52b Update win-dshow to latest libdshowcapture ver
This makes win-dshow use the new std::function callbacks instead of the
old C-style callbacks.
2014-08-28 11:06:54 -07:00
jp9000 8ef8f52ff7 win-dshow: Change a few functions to static/inline 2014-08-28 10:09:53 -07:00
jp9000 e33d567abe text-freetype2: Do not use fontconfig for mac
Originally, I tested the fontconfig code on mac and it was working
swimmingly.  However, it seems to be related to the fact that I am using
the ports/homebrew version of fontconfig.  Most users do not have that
version, and instead use the system built-in version of fontconfig,
which apparently does not find any mac fonts..  at all.  So, this
reverts the mac code to the older mac code we were using to manually
find and associate fonts with font files on the mac.
2014-08-26 12:43:33 -07:00
jp9000 53b0d9d16f text-freetype2: Split find-font-windows.c
This moves font-finding code that can be shared to find-font.c.
2014-08-26 12:41:18 -07:00
jp9000 25fa0c0fd7 text-freetype2: Warn if no font file found 2014-08-26 10:25:49 -07:00
jp9000 ab4efe4dd1 text-freetype2: Fix null poitner dereference 2014-08-26 10:20:13 -07:00
dodgepong a221fee3d2 Add latest translations from CrowdIn 2014-08-25 14:41:52 -07:00
jp9000 ff9c0528b7 text-freetype2: Check for 2 bytes instead of 1 2014-08-25 09:14:20 -07:00
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