1. 08 9月, 2015 1 次提交
    • J
      UI: Prevent writing endlessly repeating log entries · c23c0f46
      jp9000 提交于
      Limits similar log entries (determined by a simple hash function that
      sums the characters) to certain number of lines in a row.  When a
      different log entry occurs, it resets the repeat check and logs how many
      times the last message was repeated.
      c23c0f46
  2. 20 8月, 2015 2 次提交
    • J
      (API Change) libobs: Add global module config path · 2bd8ab7c
      jp9000 提交于
      API Changed:
      ---------------------------
      From:
      - bool obs_startup(const char *locale, profiler_name_store_t *store);
      
      To:
      - bool obs_startup(const char *locale, const char *module_config_path,
      		profiler_name_store_t *store);
      
      Summary:
      ---------------------------
      This allows plugin modules to store plugin-specific configuration data
      (rather than only allowing objects to store configuration data).  This
      will be useful for things like caching data, for example looking up and
      storing ingests from remote (rather than storing locally), or caching
      font data (so it doesn't have to build a font cache each time), among
      other things.
      
      Also adds a module-specific directory for the UI
      2bd8ab7c
    • J
      UI: Update configs for new FFmpeg output changes · 0ce756ac
      jp9000 提交于
      If a user was using FFmpeg output before pathc 0.12.0, they had to type
      in the full file name to the FFmpeg output URL/Path box, which isn't
      exactly compatible with the new settings.
      
      This changes each profile's config file so that the FFmpeg output
      detects whether files are used, and then extracts the file's directory
      and extension and sets them accordingly to make it compatible with the
      new FFmpeg file output handling.
      0ce756ac
  3. 16 8月, 2015 1 次提交
  4. 12 8月, 2015 5 次提交
    • P
      UI: Save profiler data on exit · b07b742f
      Palana 提交于
      b07b742f
    • P
      (API Change) libobs: Add profile_name_store_t parameter to obs_startup · 44b5afbd
      Palana 提交于
      Due to all the threads in libobs it wouldn't be safe to make that
      parameter reconfigurable after libobs is initialized without adding
      even more synchronization. On the other hand, adding a function to set
      the name store before calling obs_startup would solve the problem of
      passing a name store into libobs, but it can lead to more complicated
      semantics for obs_get_profiler_name_store (e.g., should it always return
      the current name store even if libobs isn't initialized until someone
      calls set_name_store(NULL)? should obs_shutdown call
      set_name_store(NULL)? Passing it as obs_startup parameter avoids
      these (and hopefully other) potential misunderstandings
      44b5afbd
    • P
      UI: Profile initialization · 8d3db084
      Palana 提交于
      8d3db084
    • P
      UI: Add basic profiler integration · 7c5d93b9
      Palana 提交于
      7c5d93b9
    • P
      UI: Refactor OBSInit call · 2de89bee
      Palana 提交于
      2de89bee
  5. 05 8月, 2015 1 次提交
    • J
      UI: Move obs startup/shutdown to obs-app.cpp · 1722425f
      jp9000 提交于
      Now that we aren't dependent upon a window for our context, we can
      safely move the obs context creation/destruction to obs-app.cpp, and use
      the OBSContext helper class to automatically shut down obs.
      1722425f
  6. 19 7月, 2015 1 次提交
  7. 09 7月, 2015 3 次提交
  8. 07 7月, 2015 1 次提交
    • J
      UI: Insert timestamps after log newlines · 5e178c12
      jp9000 提交于
      It was a bit weird seeing lines in the log without the associated
      timestamps, so it should just insert it after every newline instead.
      5e178c12
  9. 04 7月, 2015 3 次提交
    • J
      UI: Add Profiles · f9314128
      jp9000 提交于
      Adds setting profiles to the basic user interface.  For each profile, a
      subdirectory for the profile will be created in
      [config_dir]/obs-studio/basic/profiles which will contain the settings
      data for each profile.
      f9314128
    • J
      UI: Add scene collections · 7d6a12f4
      jp9000 提交于
      Adds scene collections to the menu bar, which allows you to duplicate,
      rename, remove, or add clean new scene collections.
      
      Scene files are now stored in ./obs-studio/basic/scenes directory with
      filesystem-safe names.
      7d6a12f4
    • J
      UI: Add functions to create safe file names · a781c5bd
      jp9000 提交于
      Adds functions to generate safe file names from potentially unsafe
      names.  Also a function to ensure that a particular filename isn't
      duplicated.
      a781c5bd
  10. 03 7月, 2015 4 次提交
  11. 02 6月, 2015 2 次提交
    • J
      UI: Replace os_get_config_path with GetConfigPath · 4b422d7d
      jp9000 提交于
      This allows the UI to be able to use a custom config path for cases such
      as portable mode, where the config path is relative to the executable.
      4b422d7d
    • J
      UI: Add support for portable mode · ea3496e5
      jp9000 提交于
      Portable mode can be enabled via command line options (--portable or -p)
      or by having any of the following files present in the base directory of
      a portable install:
      
      portable_mode
      obs_portable_mode
      portable_mode.txt
      obs_portable_mode.txt
      
      Portable mode is omitted when obs is built with a unix program
      structure.
      ea3496e5
  12. 12 5月, 2015 1 次提交
  13. 07 5月, 2015 1 次提交
    • P
      UI: Selectively disable focus frame · f1f1ca45
      Palana 提交于
      NoFocusFrameStyle was meant to disable focus frames around the scenes/sources
      list (on OSX); unfortunately it also removed focus frames from controls that
      should have focus frames like input boxes in the settings window
      f1f1ca45
  14. 05 5月, 2015 2 次提交
  15. 10 4月, 2015 1 次提交
    • J
      UI: Add context menu to preview · 167df61d
      jp9000 提交于
      Includes the ability to disable the preview and general source context
      menu options (add/remove/filters/properties/etc)
      167df61d
  16. 28 3月, 2015 1 次提交
    • J
      UI: Fix crash log handling · d42a7ce6
      jp9000 提交于
      Using Qt to handle crash dialogs is too unstable, so better to just use
      the windows API directly and display a windows message box just to be
      safe.
      d42a7ce6
  17. 13 3月, 2015 1 次提交
    • S
      UI: Implement theme selection option · 6a16778b
      Socapex 提交于
      OBS will offer the user a list of themes which are .qss files inside
      data/obs-studio/themes.  If no theme is found in the configuration, it
      loads the default theme for the system.
      6a16778b
  18. 09 2月, 2015 2 次提交
  19. 16 1月, 2015 1 次提交
    • J
      (API Change) Make os_get_config_path safer to use · 82320a9c
      jp9000 提交于
      Changed:
        char *os_get_config_path(const char *name);
      
      To:
        int os_get_config_path(char *dst, size_t size, const char *name);
      
      Also added:
        char *os_get_config_path_ptr(const char *name);
      
      I don't like this function returning an allocation by default.
      Similarly to what was done with the wide character conversion functions,
      this function now operates on an array argument, and if you really want
      to just get a pointer for convenience, you use the *_ptr version of the
      function that clearly indicates that it's returning an allocation.
      82320a9c
  20. 14 1月, 2015 1 次提交
    • C
      Add SOVERSION to libobs-opengl · 6095e7ef
      Carl Fürstenberg 提交于
      Because libobs-opengl is a public library, it's customary to have SONAME
      embedded in the library file.  Also remove the prefix override and
      remove the prefixing "lib" from the output name.  This also requires us
      to pass the library file name to dlopen invocations.
      6095e7ef
  21. 05 1月, 2015 1 次提交
  22. 03 1月, 2015 1 次提交
    • J
      UI: Add crash report dialog · 824c7b02
      jp9000 提交于
      This crash report dialog is mostly just for the windows crash handling
      code.  If a crash occurs, the user will be able to view the crash report
      and post it on the forums or give it to a developer for debugging
      purposes.
      824c7b02
  23. 26 9月, 2014 1 次提交
    • J
      (API Change) Remove pointers from all typedefs · c9df41c1
      jp9000 提交于
      Typedef pointers are unsafe.  If you do:
      typedef struct bla *bla_t;
      then you cannot use it as a constant, such as: const bla_t, because
      that constant will be to the pointer itself rather than to the
      underlying data.  I admit this was a fundamental mistake that must
      be corrected.
      
      All typedefs that were pointer types will now have their pointers
      removed from the type itself, and the pointers will be used when they
      are actually used as variables/parameters/returns instead.
      
      This does not break ABI though, which is pretty nice.
      c9df41c1
  24. 23 7月, 2014 1 次提交
    • B
      Make application quit on main window close · dfa2d992
      BtbN 提交于
      This causes the main window to signal the application to exit and delete
      its own pointer on close.  This fixes an issue where apparently some
      windows that aren't explicitly connected to the main window would be
      left open when the main window was closed because by default Qt will
      only exit when all windows have been closed.
      
      Because it deletes its own pointer, instead of storing it in a
      std::unique_ptr, use a QPointer because it has an internal mechanism for
      automatically tracking QObject deletion even if the deletion was not
      done on the QPointer itself, where as unique_ptr does not have that
      functionality.  In other words, if the pointer is deleted elsewhere for
      whatever reason, the QPointer will still set that internal pointer value
      to null.
      
      (message and minor modificiations by Jim)
      dfa2d992
  25. 15 7月, 2014 1 次提交