Skip to content

dtmuller/rohrkabel

Β 
Β 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

273 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation


A C++20 pipewire-api wrapper

πŸ“ƒ Description

rohrkabel is a wrapper around the pipewire-api that embraces RAII and tries to simplify working with pipewire.

Note

As of writing only a portion of the pipewire-api has been wrapped.
In case we're missing something you need feel free to open an issue.
More portions of the api might be covered in the future depending on personal demand as well as demand from Soundux.

πŸ“¦ Installation

  • Using CPM

    CPMFindPackage( NAME rohrkabel VERSION 4.0 GIT_REPOSITORY "https://github.com/Curve/rohrkabel" )
  • Using FetchContent

    include(FetchContent) FetchContent_Declare(rohrkabel GIT_REPOSITORY "https://github.com/Curve/rohrkabel" GIT_TAG v4.0) FetchContent_MakeAvailable(rohrkabel) target_link_libraries(<target> cr::rohrkabel)

🧡 Thread-Safety

The pw_main_loop is not thread-safe, but supplies a special loop implementation meant for threaded-usage. However said special loop is cumbersome to deal with, especially from a RAII perspective, thus rohrkabel uses a different, channel-based approach inspired by pipewire-rs.

The channel based approach greatly simplifies working with rohrkabel in multi-threaded environments.

For more information check out this example, or feel free to open a discussion.

🌎 Who's using rohrkabel?

About

πŸ”Œ A C++ RAII Pipewire-API Wrapper

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages

  • C++ 68.5%
  • CMake 31.5%