The fact that stdin/stdout are available as "files" in linux, macOS etc means I got the stdin/out functionality for free when I added the File device. Of course this trick doesn't work on windows, there I would need to do something specifically for stdin/out. There are special functions for reading and writing to stdin/out that I would need to use instead of reading/writing to files. That is probably a more elegant way also on the various unix-based systems. I'll add it on the todo list. I haven't looked at how big changes are needed to the code, and I also have to think a little about how to change the config options to include this.
Never coded on rust but you should be able to catch the input from io::stdin() saving the stream to a buffer to then process it, the implementation on io::stdin() on rust should be the same on every os (afaik), but again, it's not my language. In the config you can use a placeholder like "-" or "pipe".
There are other ways to reach this result but are really overkill and not really elegant, the best should be to have it integrated in camilladsp, so thanks a lot to add it in the todo 😀😀🙂
Yes I also think regular binaries should work as long as the dependencies are there. The default builds on github include both Alsa and PulseAudio, not sure if they will both be available. It would be great if someone tries it 🙂I thought it was basically a hyperv virtualization and regular ubuntu binaries should work. I have never tried it though, in fact I have no non-virtualized win10 on my machines and the one machine of my son is permanently busy... gaming.
Yes the io::stdin/out work the same on all platforms. They implement the Read and Write traits I use on File so it should be possible to add support for them to the existing File capture/playback devices. Some work needed but I don't see any issues.Never coded on rust but you should be able to catch the input from io::stdin() saving the stream to a buffer to then process it, the implementation on io::stdin() on rust should be the same on every os (afaik), but again, it's not my language. In the config you can use a placeholder like "-" or "pipe".
It's on the todo list, but no ETA 😉There are other ways to reach this result but are really overkill and not really elegant, the best should be to have it integrated in camilladsp, so thanks a lot to add it in the todo 😀😀🙂
Hopefully Rust will not lose its momentum when Mozilla is focused more on diversity than on software development now...
Laying the foundation for Rust'''s future | Rust Blog
Laying the foundation for Rust'''s future | Rust Blog
It turned out to be less work than expected. If you want to try it, grab the branch "stdinout". It seems fine on linux, but haven't had time to try on windows yet.Never coded on rust but you should be able to catch the input from io::stdin() saving the stream to a buffer to then process it, the implementation on io::stdin() on rust should be the same on every os (afaik), but again, it's not my language. In the config you can use a placeholder like "-" or "pipe".
There are other ways to reach this result but are really overkill and not really elegant, the best should be to have it integrated in camilladsp, so thanks a lot to add it in the todo 😀😀🙂
In short, I added a new capture device type "Stdin" and a playback type "Stdout". These take the same options as File, except they don't need a filename.
Quick update, I merged the stdinout branch to develop now so use develop instead.It turned out to be less work than expected. If you want to try it, grab the branch "stdinout". It seems fine on linux, but haven't had time to try on windows yet.
In short, I added a new capture device type "Stdin" and a playback type "Stdout". These take the same options as File, except they don't need a filename.
Quick update, I merged the stdinout branch to develop now so use develop instead.
Tested and correctly working on Windows 10!
Tested and correctly working on Windows 10!
Great! Thanks for testing 🙂
Ouch, they are laying off a lot of people. This will probably hurt a bit for the rust project now, but I think it's a good thing in the long run to be more independent.Hopefully Rust will not lose its momentum when Mozilla is focused more on diversity than on software development now...
Laying the foundation for Rust'''s future | Rust Blog
A beta of CamillaDSP 0.3.2 is now available for download.
New features:
At the same time I would like to announce the compainion Python library pyCamillaDSP, available here: GitHub - HEnquist/pycamilladsp: Python library for handling the communication with CamillaDSP via a websocket.
This implements all the websocket communication, and parsing of the resonses so you don't need to handle that yourself. It requires python 3.x and the libraries PyYAML, websocket_client, numpy and matplotlib. This also contains an updated version of the show_config.py script, see the readme!
New features:
- New commands to get more information from the websocket server.
- Possible to skip lines or bytes in coefficient files.
- Updated Cpal library.
- Added capture and playback devices Stdin & Stdout.
- Improved error messages.
- Fix websocket exit command.
- Correct response of setconfigname websocket command.
At the same time I would like to announce the compainion Python library pyCamillaDSP, available here: GitHub - HEnquist/pycamilladsp: Python library for handling the communication with CamillaDSP via a websocket.
This implements all the websocket communication, and parsing of the resonses so you don't need to handle that yourself. It requires python 3.x and the libraries PyYAML, websocket_client, numpy and matplotlib. This also contains an updated version of the show_config.py script, see the readme!
Great work Henrik!
lykkedk, regarding how to get sample rate from SqueezeLite, you might consider some of the ideas in the attached file. I put the text an attachment, because I believe we are a little bit off topic and I don't want to occupy to much visual space.
lykkedk, regarding how to get sample rate from SqueezeLite, you might consider some of the ideas in the attached file. I put the text an attachment, because I believe we are a little bit off topic and I don't want to occupy to much visual space.
Attachments
There is more coming... 🙂
Some teaser screenshots:
View attachment 869776
View attachment 869777
View attachment 869778
I literally saw this thread last morning and searched on google/github to see if anyone had made a gui for this. I refreshed the thread and saw this post!
It would be nice if some of the popular streaming software like moode or volumio would implement camilla
Volumio already has BruteFIR. Its not that hard to get it going on PiCoreplayer. But it would be great if it was integrated.
Is anyone brave enough to try out the gui? I have just written a (very) brief instruction here:
GitHub - HEnquist/camillagui-backend: Backend server for camillagui
It needs the latest CamillaDSP from the develop branch to work.
I haven't had time to try following my own instructions to set it up on a new machine yet. So there is high risk something is wrong or missing. So does anyone feel like potentially wasting some time? 😀
Any feedback is appreciated!
GitHub - HEnquist/camillagui-backend: Backend server for camillagui
It needs the latest CamillaDSP from the develop branch to work.
I haven't had time to try following my own instructions to set it up on a new machine yet. So there is high risk something is wrong or missing. So does anyone feel like potentially wasting some time? 😀
Any feedback is appreciated!
- Home
- Source & Line
- PC Based
- CamillaDSP - Cross-platform IIR and FIR engine for crossovers, room correction etc