GithubHelp home page GithubHelp logo

teezzan / casl Goto Github PK

View Code? Open in Web Editor NEW

This project forked from kinsondigital/casl

0.0 0.0 0.0 9.25 MB

Cross-platform library for playing and dealing with sounds.

License: MIT License

C# 99.28% PowerShell 0.72%

casl's Introduction


CASL

Contributor Covenant

!! NOTICE !!

This library is still under development and has not reached v1.0.0 yet and is currently under preview.

📖 About CASL

Pronounced Castle, CASL is an acronym for (C)ross-platform (A)udio and (S)ound (L)ibrary

CASL is a simplistic cross-platform, .NET library for playing and managing sounds powered by OpenAL 1.1 using software rendering. This is accomplished by using low level bindings to the native OpenAL library.

This can be used for applications such as video games, sound players, and works on any .NET 5.0 compliant platform.

✨Features

Audio Formats

Currently this library can play .ogg and .mp3 file formats. There are plans to support .wav files in the future as well as other possible sound formats.

Cross-Platform

We strive for CASL to be a cross platform library by running under .NET v5.0. There are plans for this library to continually be updated as we approach .NET 6.0 and beyond.

🔧Maintainers

We currently have the following maintainers:

📄Documentation

  • Goto the Table Of Contents for instructions on various things such as the branching, release process, environment setup and more.

🙏🏼Contributing

CASL encourages and uses Early Pull Requests. Please don't wait until you're finished with your work before creating a PR.

  1. Fork the repository
  2. Create a feature branch following the feature branch section in the documentation here
  3. Add an empty commit to the new feature branch to start your work off.
    • Use this git command: git commit --allow-empty -m "start of [thing you're working on]"
  4. Once you've pushed a commit, open a draft pull request. Do this before you actually start working.
  5. Make your commits in small, incremental steps with clear descriptions.
  6. All unit tests must pass before a PR will be completed.
  7. Make sure that the code follows the the coding standards.
    • Pay attention to the warnings in Visual Studio!!
    • Refer to the .editorconfig files in the code base for rules
  8. Tag a maintainer when you're done and ask for a review!

If you have any questions, contact a project maintainer

Practices

  1. The code base is highly tested using unit testing with a high level of code coverage. When contributing, make sure to add or adjust the unit tests appropriately regarding your changes.
  2. We use a combination of StyleCop and Microsoft.CodeAnalysis.NetAnalyzers libraries for maintaining coding standards.
    • We understand that there are some exceptions to the rule and not all coding standards fit every situation. In these scenarios, contact a maintainer and lets discuss it!! Warnings can always be suppressed if need be.

Further Resources

  • A sample project CASLTesting can be found in the Testing Folder
    • This project serves the purpose of a sample project as well as a simple way to do manual testing of the library
  • Goto OpenAL for more information and documentation.
  • Checkout NVorbis for dealing with .ogg data.
  • Checkout MP3Sharp for dealing with .mp3 data.

Licensing And Governance

CASL is distributed under the very permissive MIT license and all dependencies are distributed under MIT-compatible licenses. This project has adopted the code of conduct defined by the Contributor Covenant to clarify expected behavior in our community.

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.