Giter Club home page Giter Club logo

synchro.rs's Introduction

synchro.rs

This is a package that can be used to synchronize the audio across all the devices connected to a LAN.

A custom protocol will be used to swnd the data over to the client systems by the server. This protocol is under testing and developmen.

Protocol Discription

These are the sizes of the protocol packets after serialization:

  • Handshake packet: 16 bytes

  • Handshake Responce packet: ? bytes

  • Broadcast packet: ? bytes

  • Stream control packet: ? bytes

COMPLETED:

  • Hello world

  • Organized the codebase

TODO:

  • Implement a TUI in the tui lib to serve a graphical interface for the user (Use tui-rs already imported)

  • Add support for sources other than synthically generated sin waves

  • Setup sinks

  • Make do proper error handling

  • Set up std::net (TCP) for both server and client

  • Make a trait for the protocol so it can be easily implemented by other structs

  • Serialize and Deserialize the protocol struct using serde.rs (already imported)

  • Figure out a way to get data from a source and add that corresponding type into the protocol struct

  • Document the code base

Rules to follow

  • Fork the repo

  • Dont push src/main.rs without concent

  • If any crates need to be added into the project ask me directly or make sure noone is working on that purticular lib

synchro.rs's People

Contributors

bytecrak07 avatar cyberflaw avatar

Stargazers

 avatar

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.