1. 27 11月, 2014 7 次提交
    • J
      libobs: Fix double -> float conversion warning · 8922f250
      jp9000 提交于
      8922f250
    • J
      libobs: Fix windows warnings with C library macro · e3e79dcd
      jp9000 提交于
      The macro INFINITY apparently will trigger a warning with microsoft's
      compiler despite being a C standard library macro.
      e3e79dcd
    • J
      libobs: Add process piping functions · 225f5973
      jp9000 提交于
      This adds functions for piping a command line program's stdin or stdout.
      Note however that this is unidirectional only.
      
      This will be especially useful later on when implementing MP4 output,
      because MP4 output has to be piped to prevent unexpected program
      termination from corrupting the file.
      225f5973
    • J
      Merge pull request #304 from fryshorts/obs-audio-controls · 328bebb2
      Jim 提交于
      Add advanced audio controls
      328bebb2
    • J
      Clean up CONTRIBUTING file · 7e78d08c
      jp9000 提交于
      There's a little too much junk in the CONTRIBUTING file.  I feel like
      it's unnecessary to say some of the things that were being said in
      there.  It really needs to be to the point
      7e78d08c
    • F
      obs: Use new fader from libobs for volume control · 3fea6997
      fryshorts 提交于
      This replaces the code for volume control with a newer version that
      uses the new fader implementation in order to control the fader/slider
      position and source volume.
      The volume label will now indicate the gain in dB instead of percent,
      mainly because it looks cool and is easy to do.
      Due to libobs saving the multiplier option for the source instead of
      the slider/fader positon, existing volume levels will (mostly) stay
      the same with only the slider beeing at a different position.
      This is of course within the resolution of the slider (100 steps).
      3fea6997
    • F
      libobs: Add audio control functions · 8dcbd77b
      fryshorts 提交于
      This adds a new library of audio control functions mainly for the use in
      GUIS. For now it includes an implementation of a software fader that can
      be attached to sources in order to easily control the volume.
      The fader can translate between fader-position, volume in dB and
      multiplier with a configurable mapping function.
      Currently only a cubic mapping (mul = fader_pos ^ 3) is included, but
      different mappings can easily be added.
      
      Due to libobs saving/restoring the source volume from the multiplier,
      the volume levels for existing source will stay the same, and live
      changing of the mapping will work without changing the source volume.
      8dcbd77b
  2. 20 11月, 2014 7 次提交
    • J
      graphics: Add gs_effect_loop helper function · e994d6d4
      jp9000 提交于
      This function greatly simplifies the use of effects by making it so you
      can call this function in a simple loop.  This reduces boilerplate and
      makes drawing with effects much easier.  The gs_effect_loop function
      will now automatically handle all the functions required to do drawing.
      
      ---------------------
      Before:
      
      gs_technique_t *technique = gs_effect_get_technique("technique");
      
      size_t passes = gs_technique_begin(technique);
      for (size_t pass = 0; pass < passes; pass++) {
      	gs_technique_begin_pass(technique, pass);
      
      	[draw]
      
      	gs_technique_end_pass(technique);
      }
      gs_technique_end(technique);
      
      ---------------------
      After:
      
      while (gs_effect_loop(effect, "technique")) {
      	[draw]
      }
      e994d6d4
    • J
      Add helper functions for drawing sources · cdf36cf8
      jp9000 提交于
      If you look at the previous commits, you'll see I had added
      obs_source_draw before.  For custom drawn sources in particular, each
      time obs_source_draw was called, it would restart the effect and its
      passes for each draw call, which was not optimal.  It should really use
      the effect functions for that.  I'll have to add a function to simplify
      effect usage.
      
      I also realized that including the color matrix parameters in
      obs_source_draw made the function kind of messy to use; instead,
      separating the color matrix stuff out to
      obs_source_draw_set_color_matrix feels a lot more clean.
      
      On top of that, having the ability to set the position would be nice to
      have as well, rather than having to mess with the matrix stuff each
      time, so I also added that for the sake of convenience.
      
      obs_source_draw will draw a texture sprite, optionally of a specific
      size and/or at a specific position, as well as optionally inverted.  The
      texture used will be set to the 'image' parameter of whatever effect is
      currently active.
      
      obs_source_draw_set_color_matrix will set the color matrix value if the
      drawing requires color matrices.  It will set the 'color_matrix',
      'color_range_min', and 'color_range_max' parameters of whatever effect
      is currently active.
      
      Overall, these feel much more clean to use than the previous iteration.
      cdf36cf8
    • J
      Revert "Add obs_source_draw helper function" · ed2d9936
      jp9000 提交于
      This reverts commit ab5a7690.
      ed2d9936
    • J
      libobs: Add function to get cur. effect technique · 8b4120bf
      jp9000 提交于
      8b4120bf
    • J
      Merge pull request #303 from fryshorts/xshm-different-xserver · 963f052c
      Jim 提交于
      linux-xshm: Allow capturing from a different X server
      963f052c
    • F
      linux-xshm: Handle missing screens. · cc56634e
      fryshorts 提交于
      This adds a check to the screen enumeration in order to handle missing
      screens by adding them to the list but disabling them.
      cc56634e
    • F
      linux-xshm: Add server property. · 67ca94f7
      fryshorts 提交于
      This adds a property to the source properties which lets the user
      specify the X server to capture from. Since this is probably something
      thats only useful under certain circumstances it is implemented as
      an advanced setting which is only shown when the corresponding option
      for advanced settings is checked.
      67ca94f7
  3. 19 11月, 2014 5 次提交
    • F
      linux-xshm: Refactoring of setup code. · 04a7db86
      fryshorts 提交于
      This moves the code to start/stop the capture to respectively named
      function in order to clean up the update function.
      This means that the capture is stopped/started whenever the settings are
      changed. While this increases overhead for some settings, this will also
      enable future settings that require a full restart of capture process.
      04a7db86
    • F
      linux-xshm: Small change for texture update function. · a4d09fe7
      fryshorts 提交于
      This removes the entering/leaving of the graphics context from this
      function and requires the calling code to make sure the context is
      present.
      a4d09fe7
    • F
      linux-xshm: Improve geometry update function. · cc52b432
      fryshorts 提交于
      This adds the screen id from the source properties to the source
      struct and changes the geometry function to use that value instead
      of requiring the settings object of the source.
      cc52b432
    • F
      linux-xshm: Use macro for logging. · 08c9f392
      fryshorts 提交于
      This adds a macro to automatically prepend the plugin name to debug
      statements like it is done in other plugins.
      08c9f392
    • F
      linux-xshm: Improve source struct. · 1a51d5fa
      fryshorts 提交于
      This adds documentation to the source struct and moves one bool to the
      end to avoid a hole due to alignment.
      1a51d5fa
  4. 18 11月, 2014 3 次提交
  5. 17 11月, 2014 7 次提交
    • J
      text-freetype2: Remove null pointer dereference · ce99829d
      jp9000 提交于
      ce99829d
    • J
      text-freetype2: Do not call wcslen in loop expr. · f199e2c0
      jp9000 提交于
      Doing this in the expression will cause it to execute the function every
      time the expression is evaluated, which is needless cycles wasted.
      Instead, call wcslen before the loops begin.
      f199e2c0
    • J
      obs-ffmpeg: If ffaac is used, change cutoff freq · ae862c16
      jp9000 提交于
      If FFmpeg's experimental aac encoder is used, this changes the cutoff
      frequency to better values in order to try to help make up for the
      inherent lack of encoder quality a bit.  If FFmpeg is compiled to use
      another encoder by default, these settings will not be applied.
      ae862c16
    • J
      Allow hex numbers to be used in config data · 5888085a
      jp9000 提交于
      This allows the 0x* format of hexadecimal integers to be used as config
      integers.
      5888085a
    • J
      Add config_open_string function · 397dda78
      jp9000 提交于
      This allows opening ini config data from a string.  Before, it was only
      possible to load config from a file.
      397dda78
    • J
      Add obs_source_draw helper function · ab5a7690
      jp9000 提交于
      This function simplifies drawing textures for sources in order to help
      reduce boilerplate code.  If a source is a custom drawn source, it will
      automatically set up the effect to draw the sprite.  If it's not a
      custom drawn source, it will simply draw the sprite as per normal.  If
      the source uses a specific color matrix, it will also handle that as
      well.
      ab5a7690
    • F
      libobs: Replace fmaxf with inline comparison. · ab0c2cf4
      fryshorts 提交于
      This replaces the call to fmaxf with the equivalent inline comparison
      which is a bit faster (at least on linux).
      ab0c2cf4
  6. 16 11月, 2014 1 次提交
  7. 15 11月, 2014 1 次提交
  8. 14 11月, 2014 2 次提交
  9. 10 11月, 2014 1 次提交
    • Z
      linux-capture: Add X border option to xcomposite · ab7fa5bd
      Zachary Lund 提交于
      XComposite, which is currently our only capture method for windows,
      doesn't handle X border width. This works in a lot of cases but anytime
      there's a border, a bug occurs where the lower right is clipped.  This
      patch has two goals:
      
      1) To position and size the capture texture correctly in accordance to
      the border.
      
      2) Adds a configuration option to allow people to toggle it (which in
      most cases will simply do nothing) with a default of not including it.
      ab7fa5bd
  10. 04 11月, 2014 2 次提交
    • J
      Update to 0.6.4 · 391dc0f2
      jp9000 提交于
      391dc0f2
    • J
      Fix asset crash interleaving with active encoders · b4c797bc
      jp9000 提交于
      Apparently the audio isn't guaranteed to start up past the first video
      frame, so it would trigger that assert (which I'm glad I put in).  I
      didn't originally have this happen when I was testing because my audio
      buffering was not at the default value and didn't trigger it to occur.
      A blunder on my part, and once again a fine example of how you should
      never make assumptions about possible code path.
      b4c797bc
  11. 03 11月, 2014 1 次提交
  12. 01 11月, 2014 3 次提交