watfordjc / csharp-stream-controller

My WIP stream controller for live streaming
MIT License
1 stars 0 forks source link

csharp-stream-controller

My WIP stream controller for live streaming.

Work In Progress

All of the projects in this Visual Studio solution are not yet in a usable state and the program is nowhere near the point where I use it for streaming.

Goals

The app I currently use for streaming is buggy, and is akin to a stream deck. While it does have some options for integration with the operating system and other programs, they are rather limited.

The main purpose of the solution in this repository is to create a connectivity hub for streaming. These are the things I am currently considering interfacing with:

Solution Projects

Project names and purposes are subject to changes, and this README is likely to lag such changes.

NAudioWrapperLibrary

The purpose of this library is to interface with the Windows audio devices via the NAudio library.

Its short name for milestones is NAWLib.

NetworkingWrapperLibrary

The purpose of this library is to interface with the Windows networking devices.

Its short name for milestones is NWLib.

OBSWebSocketLibrary

The purpose of this library is to provide an obs-websocket specific implementation of WebSocketLibrary.GenericClient.

Its short name for milestones is OBSWSLib.

Setup

This library is for generating installers/releases.

SharedModels

This library is for classes that are used by other projects/libraries and will eventually be for classes that aren't dependent on other projects and are used across projects.

Its short name for milestones is SMLib.

Stream Controller

This is the user interface project. All of the windows are contained in this project and it is also the thing the Setup project creates installers from.

Its short name for milestones is SC.

WebSocketLibrary

The purpose of this library is to provide a generic websocket client (GenericClient) using System.Net.WebSockets.ClientWebSocket.

Its short name for milestones is WSLib.

Branches

master

This branch is, for the time being, the only one suitable for forking from.

Feature Branches

Feature branches for issues follow the naming convention feature/issue-issueNumber/projectShortname-branchNumer where: