Giter Site home page Giter Site logo

rematrix-filter's Introduction

Build status

rematrix-filter

Audio Rematrix Plugin for OBS-Studio

Authors : Andersama

What for?

Allows custom mixing of channels, duplicate, mute, swap channels at will.

  • correct channel placement for surround sound

rematrix-filter's People

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

rematrix-filter's Issues

Can't access all channels when OBS in stereo mode

What I'm trying to do:

I'm sending an SRT stream with surround 5.1 sound. In reality, it contains game audio (stereo, L R), microphone (mono C) and music (stereo Ls Rs). On the receiving side, OBS is set to stereo mode because it is supposed to output sound to the stream. OBS shows only 2 bars, but we know, that it receives 5.1 sound. By using Source Mirror from the StreamFX we can copy sounds and extract all "hidden" tracks by using the Rematrix filter. The problem is that when OBS in stereo mode, Rematrix is also can see only 2 input channels (while there are 6).

Steps to reproduce:

  1. Set OBS to stereo mode.
  2. Add any Media Source with 5.1 sound.
  3. Add Rematrix filter to this media.
  4. You can see only 2 target channels (which is correct) and 2 source channels (which isn't correct).

I don't know if it's possible to solve this on the plugin's side, since I suspect that the downmix happens inside OBS before the sound reaches the plugins. If this is the case, then consequently this problem needs to be moved to the main OBS repository.

Missing license

This plugin has no license specified. No license means no permissions are granted.

Please add a license file and a license header to the source code file. See https://choosealicense.com/

You could put it under GPL v2 or later (same as OBS) or under a short and permissive license like MIT.

Compilation errors building for MacOSX Mojave

Cloned, cd to CI, and run install-dependencies-osx.sh which worked fine until compilation:

[  5%] Building CXX object libcef_dll_wrapper/CMakeFiles/libcef_dll_wrapper.dir/cpptoc/browser_process_handler_cpptoc.cc.o
In file included from /Users/kirkm/Development/github/rematrix-filter/cef_binary_3.2883.1540.gedbfb20_macosx64/libcef_dll/ctocpp/command_line_ctocpp.h:24:
/Users/kirkm/Development/github/rematrix-filter/cef_binary_3.2883.1540.gedbfb20_macosx64/libcef_dll/ctocpp/ctocpp.h:119:26: error: instantiation of variable
      'CefCToCpp<CefCommandLineCToCpp, CefCommandLine, _cef_command_line_t>::kWrapperType' required here, but no definition is available
      [-Werror,-Wundefined-var-template]
  wrapperStruct->type_ = kWrapperType;
                         ^
/Users/kirkm/Development/github/rematrix-filter/cef_binary_3.2883.1540.gedbfb20_macosx64/libcef_dll/cpptoc/app_cpptoc.cc:42:29: note: in instantiation of member
      function 'CefCToCpp<CefCommandLineCToCpp, CefCommandLine, _cef_command_line_t>::Wrap' requested here
      CefCommandLineCToCpp::Wrap(command_line));
                            ^
...
1 error generated.
make[2]: *** [libcef_dll_wrapper/CMakeFiles/libcef_dll_wrapper.dir/cpptoc/browser_process_handler_cpptoc.cc.o] Error 1
make[1]: *** [libcef_dll_wrapper/CMakeFiles/libcef_dll_wrapper.dir/all] Error 2
make[1]: *** Waiting for unfinished jobs....
[  5%] Linking CXX static library libcef_gtest.a
[  5%] Built target cef_gtest
make: *** [all] Error 2

Have you actually gotten this to compile on MacOS?

Build fails on macOS

I just tried to build the plugin on macOS, but make always fails with the following errors:

rematrix-filter.cpp:1:9: warning: #pragma once in main file [-Wpragma-once-outside-header]
#pragma once
        ^
rematrix-filter/rematrix-filter.cpp:34:7: error: no template named 'atomic' in namespace 'std'
        std::atomic<long> route[MAX_AV_PLANES];
        ~~~~~^
rematrix-filter.cpp:35:7: error: no template named 'atomic' in namespace 'std'
        std::atomic<float> gain[MAX_AV_PLANES];
        ~~~~~^
rematrix-filter.cpp:48:24: error: cannot initialize a variable of type 'struct rematrix_data *' with an lvalue of type
      'void *'
        struct rematrix_data *rematrix = data;
                              ^          ~~~~
rematrix-filter.cpp:60:24: error: cannot initialize a variable of type 'struct rematrix_data *' with an lvalue of type
      'void *'
        struct rematrix_data *rematrix = data;
                              ^          ~~~~
rematrix-filter.cpp:105:24: error: cannot initialize a variable of type 'struct rematrix_data *' with an rvalue of type
      'void *'
        struct rematrix_data *rematrix = bzalloc(sizeof(*rematrix));
                              ^          ~~~~~~~~~~~~~~~~~~~~~~~~~~
rematrix-filter.cpp:120:24: error: cannot initialize a variable of type 'struct rematrix_data *' with an lvalue of type
      'void *'
        struct rematrix_data *rematrix = data;
                              ^          ~~~~
rematrix-filter.cpp:151:12: error: array subscript is not an integer
                                        &fdata[route[c]][chunk],
                                              ^~~~~~~~~
rematrix-filter.cpp:203:49: warning: unused parameter 'props' [-Wunused-parameter]
static bool fill_out_channels(obs_properties_t *props, obs_property_t *list,
                                                ^
rematrix-filter.cpp:204:14: warning: unused parameter 'settings' [-Wunused-parameter]
        obs_data_t *settings) {
                    ^

While I was able to fix atomic errors by simply adding #import <atomic>, the others might require a bit more work.

ZIP has only the locale ini file

Hello,

Unfortunately, the latest ZIP release doesn't have the win prebuilt plugin. I.e. obs-studio\obs-plugins 32 and 64 bit directories are empty.

Mac OS X build

Hi,

is there a binary for OSX or build instructions?

Thanks,
Goran

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.