cj-bc / vmc-mixer Goto Github PK
View Code? Open in Web Editor NEWMixer for VMCP streams
License: GNU General Public License v3.0
Mixer for VMCP streams
License: GNU General Public License v3.0
IP+port番号だと、どれがどれかわからなくなるため
現状、backend側で何が起きてるのかわからない為にバグの原因がわからない、ということがよく起こっている。
これはつらいので、そもそもログを出せるようにしてほしい。
異なる概念・オブジェクトに対し似たような名前が使われており、わかりづらいので整理したい
VMCMessageを送信してくるプログラムのPort番号とHostNameのペア | Performer |
VMCMessageを送信する先のプログラムのPort番号とHostNameのペア | Marionette |
ライブラリの都合などで使われているもの
Input | pipes-concurrency のMailboxの入口として定義 |
Output | pipes-concurrency のMailboxの出口として定義 |
Socket | Network用語 |
VMCMessage | VMCPに基づいたOCSメッセージ |
ある程度書ける所は書いておきたい
これは全てのUIから共通で使われるべきであり、Brickに限ったものではないので共通で使いやすい場所に移動する
なんか指定する必要ありそうだったから書けるようにしていたけれど、よく考えたらbindするなら必ずlocalhostだと思うのでそこは内部で固定して良いはず。
違ってたら今後直します。教えてください
現在は全ての入力を素直に混ぜて吐き出しているので、二つのSocketから同じVMCPメッセージが来ていた場合、交互等で出力されてバグッたようになってしまう。
なので、何かしら対策をする必要がある。
それぞれのVMCPメッセージについて、一つのSocketから来た値のみを使用する。
例えば RootTransform
はAから来たもの、 VRMBlendShapeProxyValue
はBから来たもののみを使う、など。
configは例えばこんな感じ
inputs:
- name: Waidayo
port: 39541
- name: sendForever
port: 39542
filter:
RootTransform: sendForever
VRMBlendShapeProxyValue.all: Waidayo
それぞれのSocketについて、そこから来るメッセージのうち特定の種類のもののみを使用するように設定する。
例えば、AはRootTransform
のみ、 Bは VRMBlendShapeProxyValue
のみ、など。
Configはこんな感じ
inputs:
- name: Waidayo
port: 39541
use:
- VRMBlendShapeProxyValue: all
- name: sendForever
port: 39542
use:
- RootTransform
それぞれのVMCPメッセージについて、受け取るSocketの優先順位を設定する。
書いておいてなんだけど、実装面倒そうだしよくわからないのであまりやりたくない。
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.