1. 24 7月, 2018 3 次提交
    • J
      libobs: Always try to update transform in current thread · d13bbe6e
      jp9000 提交于
      Due to the recent change in which scene items now only update their
      transforms during the next frame's tick, snapping sources would
      sometimes jitter and have incorrect snapping.  This fixes that issue by
      reverting to the behavior of updating the transform immediately rather
      than deferring the update to the next frame tick, but only on non-group
      items.
      
      This should not be done on items that are sub-items of groups because we
      rely on the obs_scene_item::update_transform variable to update the
      parent group's transform in addition.
      d13bbe6e
    • J
      libobs: Only update scene item texture on frame tick · 593345a3
      jp9000 提交于
      Instead of updating the scene item texture any time
      update_item_transform() is called, only update it when
      obs_scene_item::update_transform is called.  Prevents having to lock the
      graphics mutex needlessly.
      593345a3
    • J
      libobs: Don't assign variables before if/return · 8741bfcb
      jp9000 提交于
      8741bfcb
  2. 19 7月, 2018 1 次提交
    • J
      libobs: Defer update of scene item texture · d11b05a8
      jp9000 提交于
      If the scene item crop/filtering is updated, instead of
      creating/destroying the item texture on the spot, update it in the
      graphics thread to prevent potential race conditions (especially when
      the crop function for example could be called from within
      obs_scene_enum_items in some situations, which would lock the graphics
      and scene mutexes in the wrong order).
      d11b05a8
  3. 17 7月, 2018 2 次提交
    • J
      libobs: Allow group duplication · 5dfab20a
      jp9000 提交于
      5dfab20a
    • J
      libobs: Change groups to actual public types · 59938348
      jp9000 提交于
      (This commit also modifies UI)
      
      Changes groups to their own independent type, "group".  This allows them
      to be used like other regular types, and allows the ability to reference
      groups in multiple scenes.  Before, a group would always be linked to
      the scene it was in.  This made it cumbersome for users to modify groups
      if they had a similar group in multiple scenes (they would have to
      modify each group in each scene).  Making groups like other source types
      makes more sense to solve this issue so they can be referenced in
      multiple scenes at once.  This also removes a significant amount of
      group-specific handling code required for implementing groups in the
      front-end.
      
      One limitation however: due to the way sub-items of groups are
      seamlessly modifiable and sortable as part of the whole scene, the user
      cannot have multiple references to the same group within one scene.
      59938348
  4. 16 7月, 2018 3 次提交
  5. 02 7月, 2018 5 次提交
  6. 05 6月, 2018 1 次提交
  7. 04 6月, 2018 8 次提交
  8. 03 6月, 2018 1 次提交
  9. 10 1月, 2018 1 次提交
    • J
      libobs: Fix audio issue with scene items · a79992ea
      jp9000 提交于
      When a scene is added as a scene item with the same audio sources that
      are already in the current scene, it would cause the current scene to no
      longer output audio due to audio.
      
      To replicate the issue, you would create two separate audio device
      captures in scene 1, use add existing in scene 2 and add one of those
      audio sources, then go back to scene 1, add scene 2 as a source, then
      make scene 1 invisible.
      a79992ea
  10. 05 1月, 2018 1 次提交
  11. 30 11月, 2017 1 次提交
  12. 14 9月, 2017 1 次提交
  13. 11 8月, 2017 1 次提交
  14. 21 7月, 2017 2 次提交
    • D
      libobs: Fix item copying during scene duplication · 2a53d03d
      Dmitry Odintsov 提交于
      When item in the old scene had only Scale Filter, texture renderer
      was not created for an item in the new scene. However if the item also
      had Crop set, the texture renderer was created.
      
      Now after copying the data, texture renderer is created for the item in
      the new scene when needed.
      
      Closes jp9000/obs-studio#969
      2a53d03d
    • M
      libobs: Ensure scene items don't have pre-multiplied alpha · f8b14bdb
      Michael Fabian Dirks 提交于
      Scene items would incorrectly have pre-multiplied alpha when they were
      scaled with different scale filtering, when they were cropped, or when
      the item itself was a scene.  This happens because the scene renders the
      items to a texture in those cases, and when they are rendered to a
      texture the blend function would be the default srcalpha/invsrcalpha
      blend function, which would cause alpha to become pre-multiplied in the
      texture's result rather than straight alpha.
      
      This changes the behavior to directly copy the color/alpha to the
      texture using the one/zero blend function instead, which makes the
      resulting texture straight alpha.  (Note that you do not want to turn
      off the blend mode for the same result because certain sources can have
      custom drawing that may rely on blending being available)
      
      Related Issue: https://obsproject.com/mantis/view.php?id=954
      
      Closes jp9000/obs-studio#966
      f8b14bdb
  15. 28 6月, 2017 1 次提交
  16. 15 5月, 2017 1 次提交
    • J
      libobs: Add scene item IDs · 2c74fc36
      jp9000 提交于
      Adds a method of uniquely identifying scene items, as well as finding
      those scene items via that unique ID.
      2c74fc36
  17. 27 2月, 2017 1 次提交
  18. 25 2月, 2017 1 次提交
  19. 17 1月, 2017 1 次提交
  20. 16 1月, 2017 1 次提交
  21. 22 12月, 2016 1 次提交
    • J
      libobs: Process all scene audio actions if no audio playing · e7113753
      jp9000 提交于
      When there are audio sources in a scene and they've all stopped playing
      their audio (audio is pending), all scene item audio actions (volume
      changes, toggling visibility) will perpetually buffer and no longer be
      processed until audio plays again.
      
      So instead of that, if all audio sources have stopped playing in the
      scene, just process all pending scene item audio actions immediately to
      prevent them from never being processed while waiting for a scene item
      to start playing audio.
      e7113753
  22. 09 7月, 2016 1 次提交
  23. 02 7月, 2016 1 次提交