1. 28 7月, 2014 11 次提交
    • J
      (API Change) Refactor module handling · 59ea3bec
      jp9000 提交于
      Changed API:
      - char *obs_find_plugin_file(const char *sub_path);
      
        Changed to: char *obs_module_file(const char *file);
      
        Cahnge it so you no longer need to specify a sub-path such as:
        obs_find_plugin_file("module_name/file.ext")
      
        Instead, now automatically handle the module data path so all you need
        to do is:
        obs_module_file("file.ext")
      
      - int obs_load_module(const char *name);
      
        Changed to: int obs_open_module(obs_module_t *module,
                                        const char *path,
                                        const char *data_path);
                    bool obs_init_module(obs_module_t module);
      
        Change the module loading API so that if the front-end chooses, it can
        load modules directly from a specified path, and associate a data
        directory with it on the spot.
      
        The module will not be initialized immediately; obs_init_module must
        be called on the module pointer in order to fully initialize the
        module.  This is done so a module can be disabled by the front-end if
        the it so chooses.
      
      New API:
      - void obs_add_module_path(const char *bin, const char *data);
      
        These functions allow you to specify new module search paths to add,
        and allow you to search through them, or optionally just load all
        modules from them.  If the string %module% is included, it will
        replace it with the module's name when that string is used as a
        lookup.  Data paths are now directly added to the module's internal
        storage structure, and when obs_find_module_file is used, it will look
        up the pointer to the obs_module structure and get its data directory
        that way.
      
        Example:
        obs_add_module_path("/opt/obs/my-modules/%module%/bin",
                            "/opt/obs/my-modules/%module%/data");
      
        This would cause it to additionally look for the binary of a
        hypthetical module named "foo" at /opt/obs/my-modules/foo/bin/foo.so
        (or libfoo.so), and then look for the data in
        /opt/obs/my-modules/foo/data.
      
        This gives the front-end more flexibility for handling third-party
        plugin modules, or handling all plugin modules in a custom way.
      
      - void obs_find_modules(obs_find_module_callback_t callback, void
                              *param);
      
        This searches the existing paths for modules and calls the callback
        function when any are found.  Useful for plugin management and custom
        handling of the paths by the front-end if desired.
      
      - void obs_load_all_modules(void);
      
        Search through the paths and both loads and initializes all modules
        automatically without custom handling.
      
      - void obs_enum_modules(obs_enum_module_callback_t callback,
                              void *param);
      
        Enumerates currently opened modules.
      59ea3bec
    • J
      Change macro to MODULE_MISSING_EXPORTS for clarity · c2a0b9c0
      jp9000 提交于
      This is a bit more clear than MODULE_FUNCTION_NOT_FOUND.
      c2a0b9c0
    • J
      Add functions to specify OS module extensions · 16f24750
      jp9000 提交于
      16f24750
    • J
      Merge pull request #214 from BtbN/libprefix · c3d03f41
      Jim 提交于
      Search for plugins without lib prefix
      c3d03f41
    • B
      Search for plugins without lib prefix · 1098c75d
      BtbN 提交于
      Fixes #213
      1098c75d
    • J
      Fix incompatible pointer type warning · c5c8cba7
      jp9000 提交于
      Well, needless to say I'm very happy this didn't end up exploding.  I'm
      surprised GCC and clang let this through.
      c5c8cba7
    • J
      Add function to get current core version · ee4a93b4
      jp9000 提交于
      The version macro that modules use to compile versus the actual core
      version that may be in use may be different, so this is a way to compare
      them to check for compatibility issues later on.
      ee4a93b4
    • J
      Output total frames and percentage skipped · 24afd26d
      jp9000 提交于
      24afd26d
    • J
      media-io: Add function for total video frames · 289137d5
      jp9000 提交于
      289137d5
    • J
      Set proper output length for string conversions · e796aba9
      jp9000 提交于
      e796aba9
    • J
      Add 'glob' functions for file searching · 99d8bdce
      jp9000 提交于
      99d8bdce
  2. 27 7月, 2014 3 次提交
  3. 26 7月, 2014 5 次提交
  4. 25 7月, 2014 2 次提交
  5. 24 7月, 2014 7 次提交
  6. 23 7月, 2014 4 次提交
    • J
      Merge pull request #199 from BtbN/qt_exit · 88ede467
      Jim 提交于
      Make application quit on main window close
      88ede467
    • B
      Minor refactor for creation of sub-windows · 34b67db5
      BtbN 提交于
      This refactors the sub-window code a bit so that instead of deleting the
      window pointers, it calls QWidget::close() on them to safely trigger a
      normal close on them instead (which will also delete them).
      Moves setting the DeleteOnClose flag from inside of the Dialog classes
      into the OBSBasic class, to make that behaviour more obvious.
      34b67db5
    • 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
    • J
      Fix x264 stdint.h message (it's already included) · 6db31639
      jp9000 提交于
      6db31639
  7. 21 7月, 2014 8 次提交