Wang-Yue / CamillaDSP-Monitor

A host monitor program for CamillaDSP.
BSD 3-Clause "New" or "Revised" License
8 stars 2 forks source link

Attribute Error STALLED #1

Closed ynot123 closed 2 years ago

ynot123 commented 2 years ago

Hi tried running your monitor program using the latest CamillaDSP rc1. Got the following error:

  1. PhaseInvert [x] Off [ ] Left [ ] Right [ ] Both
  2. CrossFeed [x] Off [ ] L1 [ ] L2 [ ] L3 [ ] L4 [ ] L5
  3. EQ [x] Off [ ] Headphone [ ] Room
  4. Loudness [x] Off [ ] On

Successfully updated DSP setting!Traceback (most recent call last): File "monitor.py", line 163, in if state == camilladsp.ProcessingState.STALLED: File "/usr/lib/python3.7/enum.py", line 349, in getattr raise AttributeError(name) from None AttributeError: STALLED

Any ideas what's going on. CamillaDSP is running and the setting.yml gets loaded when monitor.py starts up. I am running on Debian, using alsa, port 1234 for CamillaDSP. Thanks, Yvon.

Wang-Yue commented 2 years ago

Thanks for trying this project!

You need to use the most recent version of pycamilladsp (in next branch). STALLED was added in this commit: https://github.com/HEnquist/pycamilladsp/commit/1ec0fb4bc7a056dff1b07c2d46ce36db3993b6eb

The alternative is to use old version of pycamilladsp but remove the STALLED case in my script.

I've never tried my script on Linux. If you can make it work please let me know.

ynot123 commented 2 years ago

Thanks for the tip. That worked nicely. The script functions well under Debian. I do get however: "ed to start websocket server: Address already in use (os error 98)"
upon script startup and it remains on the display. In my useage, I also have the web gui backend running. Cheers and thanks. May do a few mods to include a convolution filter selection for my Favs.

Wang-Yue commented 2 years ago

Thanks for the feedback. The script displays all error messages real time. I just made a few format changes to make it look better.

The updated script also includes the new spectrum analyzer, which should work fine on all platforms.

ynot123 commented 2 years ago

Thanks for the update. Much cleaner and the spectrum analyzer works as well. Took a lesson in Alsa configuration to figure out how to send the sound output multiple sources (sound card and spectrum analyzer). Cheers.

ynot123 commented 2 years ago

Was playing a bit more, camillagui could be used as a basis to make a pretty frontend for your script and decent spectrum viewer. See attached.
Spectrum_GUI

Wang-Yue commented 2 years ago

Yeah I was actually using the camillagui when prototyping the spectrum analyzer a few days ago. Writing a webpage to cover all the current settings and meters is not hard. CamillaGUI uses advanced frameworks (for instance, React) and may consider an overkill for this simple project.

However my highest priority for this project is to implement useful DSPs, especially those in the RME ADI-2 DAC, which I consider super useful. Last night I already implemented Emphasis and the DC Protection filter. The missing pieces are Mono, Width, MS Proc, Balance, and Mute. Those are pretty trivial and can be implemented with simple camilladsp mixers. But I need to find time to do that, and more importantly to get permission from RME to make sure they won't sue me for providing all their product features...

After that I will need to work on performance improvements, as you may notice the spectrum analyzer consumes a lot of CPU power. Hard to improve real performance because of the limitations of CamillaDSP. But a straightforward solution exists, which is to split the task into two or four processes. I believe this is sufficient to make it perform well even on a Raspberry Pi.

So I don't really have time to implement it in HTML/Javascript, and is happy with a terminal only UI for now. If you have time and is willing to contribute, feel free to make a simple HTML frontend. I'll be happy to accept your patches.