Thanks. I think I've installed re installed from
https://t-5.eu/hp/Software/Debian repository/
I'll try to clean up everything and start afresh, modules included.
It looks like the app cannot 'see' the the modules in /usr/lib/ladspa. (I have the app installed in a home subdir.) Maybe it has to do with permissions.
On the other hand the new Time Alignment shows up ok and is functional.
Oriol
https://t-5.eu/hp/Software/Debian repository/
I'll try to clean up everything and start afresh, modules included.
It looks like the app cannot 'see' the the modules in /usr/lib/ladspa. (I have the app installed in a home subdir.) Maybe it has to do with permissions.
On the other hand the new Time Alignment shows up ok and is functional.
Oriol
Hi @Tfive, I'm think I have found a bug -
When I try to choose "Second Order Butterworth Lowpass" from the Add menu it does nothing.
Also the menu option is misspelt it actually says "Second Order Butterworth Lowpassk" (Which may be the problem?)
Sorry for being the annoying man who keeps finding problems 😉
When I try to choose "Second Order Butterworth Lowpass" from the Add menu it does nothing.
Also the menu option is misspelt it actually says "Second Order Butterworth Lowpassk" (Which may be the problem?)
Sorry for being the annoying man who keeps finding problems 😉
Hi T-5,
I removed (autoremove) plugins and PaX app.
I updated the repository from the source and reinstalled plugins and app.
Then I started the app from a terminal using
sudo python3 /usr/lib/pulseaudio-crossover-rack/pulseaudio-crossover-rack.py "$@"
It seemed good as during the first opening PaX app has shown dialogs prompting to install dependencies and missing bits, etc.
Eventually the main window opened but the same problem occurs:
Nothing happens when trying to create a new file or open a .paxor file.
Here is the traceback:
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/usr/lib/pulseaudio-crossover-rack/WindowClasses/MainWindow.py", line 408, in onFileOpen
self._openFile(fn)
File "/usr/lib/pulseaudio-crossover-rack/WindowClasses/MainWindow.py", line 883, in _openFile
except (FileStorageError, TypeError):
TypeError: catching classes that do not inherit from BaseException is not allowed
Traceback (most recent call last):
File "/usr/lib/pulseaudio-crossover-rack/WindowClasses/MainWindow.py", line 389, in onFileNew
self._xoverFile = XoverFile("")
File "/usr/lib/pulseaudio-crossover-rack/DataClasses/XoverFile.py", line 86, in init
self._zodb_storage = FileStorage.FileStorage(self._tempname)
AttributeError: 'NoneType' object has no attribute 'FileStorage'
It's still possible that I've made a mess, because of my former cloning of the repository via git
At this point the problem is starting getting over my head.
Thanks for your help and hope I can use your program some time.
The design is very neat (no obstruse configuration files: you can see everything and potter no end when it works).
Maybe making a foolproof package would help a wider adoption amongst the less computer literate.
Oriol
I removed (autoremove) plugins and PaX app.
I updated the repository from the source and reinstalled plugins and app.
Then I started the app from a terminal using
sudo python3 /usr/lib/pulseaudio-crossover-rack/pulseaudio-crossover-rack.py "$@"
It seemed good as during the first opening PaX app has shown dialogs prompting to install dependencies and missing bits, etc.
Eventually the main window opened but the same problem occurs:
Nothing happens when trying to create a new file or open a .paxor file.
Here is the traceback:
Bash:
QStandardPaths: XDG_RUNTIME_DIR not set, defaulting to '/tmp/runtime-root'
Traceback (most recent call last):
File "/usr/lib/pulseaudio-crossover-rack/WindowClasses/MainWindow.py", line 867, in _openFile
self._xoverFile = XoverFile(fn)
File "/usr/lib/pulseaudio-crossover-rack/DataClasses/XoverFile.py", line 86, in __init__
self._zodb_storage = FileStorage.FileStorage(self._tempname)
AttributeError: 'NoneType' object has no attribute 'FileStorage'
During handling of the above exception, another exception occurred
Traceback (most recent call last):
File "/usr/lib/pulseaudio-crossover-rack/WindowClasses/MainWindow.py", line 408, in onFileOpen
self._openFile(fn)
File "/usr/lib/pulseaudio-crossover-rack/WindowClasses/MainWindow.py", line 883, in _openFile
except (FileStorageError, TypeError):
TypeError: catching classes that do not inherit from BaseException is not allowed
Traceback (most recent call last):
File "/usr/lib/pulseaudio-crossover-rack/WindowClasses/MainWindow.py", line 389, in onFileNew
self._xoverFile = XoverFile("")
File "/usr/lib/pulseaudio-crossover-rack/DataClasses/XoverFile.py", line 86, in __init__
self._zodb_storage = FileStorage.FileStorage(self._tempname)
AttributeError: 'NoneType' object has no attribute 'FileStorage'
Empty filename passed to function
Traceback (most recent call last):
File "/usr/lib/pulseaudio-crossover-rack/WindowClasses/MainWindow.py", line 867, in _openFile
self._xoverFile = XoverFile(fn)
File "/usr/lib/pulseaudio-crossover-rack/DataClasses/XoverFile.py", line 86, in __init__
self._zodb_storage = FileStorage.FileStorage(self._tempname)
AttributeError: 'NoneType' object has no attribute 'FileStorage'
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/usr/lib/pulseaudio-crossover-rack/WindowClasses/MainWindow.py", line 408, in onFileOpen
self._openFile(fn)
File "/usr/lib/pulseaudio-crossover-rack/WindowClasses/MainWindow.py", line 883, in _openFile
except (FileStorageError, TypeError):
TypeError: catching classes that do not inherit from BaseException is not allowed
Traceback (most recent call last):
File "/usr/lib/pulseaudio-crossover-rack/WindowClasses/MainWindow.py", line 389, in onFileNew
self._xoverFile = XoverFile("")
File "/usr/lib/pulseaudio-crossover-rack/DataClasses/XoverFile.py", line 86, in init
self._zodb_storage = FileStorage.FileStorage(self._tempname)
AttributeError: 'NoneType' object has no attribute 'FileStorage'
It's still possible that I've made a mess, because of my former cloning of the repository via git
At this point the problem is starting getting over my head.
Thanks for your help and hope I can use your program some time.
The design is very neat (no obstruse configuration files: you can see everything and potter no end when it works).
Maybe making a foolproof package would help a wider adoption amongst the less computer literate.
Oriol
lmc63: Your pulseaudio-crossover-rack is started under root (sudo ...). Could it happen that you installed some libraries with pip into your user home and then root does not see them? Because the message looks like your ZODB.FileStorage module is messed up.
Then I started the app from a terminal using
sudo python3 /usr/lib/pulseaudio-crossover-rack/pulseaudio-crossover-rack.py "$@"
Actually you do not want to use sudo here at all - just start it with your desktop user using the command "/usr/bin/pulseaudio-crossover-rack"
When I try to choose "Second Order Butterworth Lowpass" from the Add menu it does nothing.
Also the menu option is misspelt it actually says "Second Order Butterworth Lowpassk" (Which may be the problem?)
Sorry for being the annoying man who keeps finding problems 😉
Just released version 1.80 that fixes the typo. Thanks for reporting.
Here's the changelog:
Code:
pulseaudio-crossover-rack (1.80) stable; urgency=high
* bugfix:
- fixed a typo that prevented the insertion of
"Second Order Butterworth Lowpass" filters
-- Jürgen Herrmann <t-5@t-5.eu> Sun, 17 Apr 2022 22:38:01 +0200
All working fine now, thanks again!Just released version 1.80 that fixes the typo. Thanks for reporting.
Here's the changelog:
Code:pulseaudio-crossover-rack (1.80) stable; urgency=high * bugfix: - fixed a typo that prevented the insertion of "Second Order Butterworth Lowpass" filters -- Jürgen Herrmann <t-5@t-5.eu> Sun, 17 Apr 2022 22:38:01 +0200
Unfortunately this is not possible with LADPSA Plugins, pulseaudio can only process left/right channels identically.
The successor version that will use camilladsp in the background will be able to do this.
The successor version that will use camilladsp in the background will be able to do this.
Isn't there a workaround to split channels into mono channels or something?Unfortunately this is not possible with LADPSA Plugins, pulseaudio can only process left/right channels identically.
The successor version that will use camilladsp in the background will be able to do this.
I think I have also seen audio effects that ping-pong (modulate) from left-to-right, if I am not mistaken.
Similar for some dynamic plugins (gates, compressors etc), that handle left-right differently.
So that at least suggest there are some other workarounds/"hacks" possible maybe?
also found this; https://www.mltframework.org/plugins/FilterLadspa-1956/
and LADSPA plugins like this also seem to have a balance in them and/or treat left/right channels differently
https://lsp-plug.in/?page=manuals§ion=para_equalizer_x16_stereo
Last edited:
as far as I know pulseaudio runs a single (mono) instance of a ladspa plugin for each channel.
even if there have been improvements I will not do any major work to the old architecture as there already has bee a lot of effort put into the new version that will use camilladsp. It will be much more flexible in a lot of other things, too.
please don't ask for a release date though. it's done when its done 🙂
even if there have been improvements I will not do any major work to the old architecture as there already has bee a lot of effort put into the new version that will use camilladsp. It will be much more flexible in a lot of other things, too.
please don't ask for a release date though. it's done when its done 🙂
Fair enough, it were just some thoughts, with maybe some quick fixes 🙂as far as I know pulseaudio runs a single (mono) instance of a ladspa plugin for each channel.
even if there have been improvements I will not do any major work to the old architecture as there already has bee a lot of effort put into the new version that will use camilladsp. It will be much more flexible in a lot of other things, too.
please don't ask for a release date though. it's done when its done 🙂
Hello, I find this idea VERY interesting. Usually, one needs Crossover, Delay and EQ on a typical stereo plus sub system (maybe limiters too). If that all can be done within the Linux system, then one DA-AD conversion plus one costly module (the DSP) can be saved! Is there any plan to bring this software to that level? (Sorry, I did not read through 56 pages of discussion, so I am not up to the latest info)
Limiters are not available, the rest already is.
PS: Please consider to RTFM 🙂
https://t-5.eu/hp/Software/Pulseaudio Crossover Rack/OnlineHelp/
PS: Please consider to RTFM 🙂
https://t-5.eu/hp/Software/Pulseaudio Crossover Rack/OnlineHelp/
Hello, I have problem using this program, I have an old pc (ALC882 audio card and asus xonar). My cards seems to work with Ubuntu studio. When I start the program, I click on new file, but I can not find the input interface, then If I add new output I see only the 3 icon (image 1), if I add a filter see image 2. I am going crazy, please can someone help me?
Attachments
I think there's something going wrong while widgets are drawn.
Please start the program in the console using the command "pulseaudio-crossover-rack" and post one of the python tracebacks here. Please use a code box for better legibility...
Please start the program in the console using the command "pulseaudio-crossover-rack" and post one of the python tracebacks here. Please use a code box for better legibility...
No error, but when I create a new file thi is the output. Thank you
Bash:
Traceback (most recent call last):
File "/usr/lib/pulseaudio-crossover-rack/CustomWidgets/AbstractWidget.py", line 215, in paintEvent
self.paint(qp)
File "/usr/lib/pulseaudio-crossover-rack/CustomWidgets/InputWidget.py", line 32, in paint
self._drawOutputDot(qp)
File "/usr/lib/pulseaudio-crossover-rack/CustomWidgets/AbstractWidget.py", line 300, in _drawOutputDot
qp.drawArc(x, y, w, h, 90 * 16, -180 * 16)
TypeError: arguments did not match any overloaded call:
drawArc(self, QRectF, int, int): argument 1 has unexpected type 'int'
drawArc(self, QRect, int, int): argument 1 has unexpected type 'int'
drawArc(self, int, int, int, int, int, int): argument 2 has unexpected type 'float'
QBackingStore::endPaint() called with active painter; did you forget to destroy it or call QPainter::end() on it?
QBackingStore::endPaint() called with active painter; did you forget to destroy it or call QPainter::end() on it?
QBackingStore::endPaint() called with active painter; did you forget to destroy it or call QPainter::end() on it?
Traceback (most recent call last):
File "/usr/lib/pulseaudio-crossover-rack/CustomWidgets/AbstractWidget.py", line 215, in paintEvent
self.paint(qp)
File "/usr/lib/pulseaudio-crossover-rack/CustomWidgets/InputWidget.py", line 32, in paint
self._drawOutputDot(qp)
File "/usr/lib/pulseaudio-crossover-rack/CustomWidgets/AbstractWidget.py", line 300, in _drawOutputDot
qp.drawArc(x, y, w, h, 90 * 16, -180 * 16)
TypeError: arguments did not match any overloaded call:
drawArc(self, QRectF, int, int): argument 1 has unexpected type 'int'
drawArc(self, QRect, int, int): argument 1 has unexpected type 'int'
drawArc(self, int, int, int, int, int, int): argument 2 has unexpected type 'float'
QBackingStore::endPaint() called with active painter; did you forget to destroy it or call QPainter::end() on it?
Traceback (most recent call last):
File "/usr/lib/pulseaudio-crossover-rack/CustomWidgets/AbstractWidget.py", line 215, in paintEvent
self.paint(qp)
File "/usr/lib/pulseaudio-crossover-rack/CustomWidgets/InputWidget.py", line 32, in paint
self._drawOutputDot(qp)
File "/usr/lib/pulseaudio-crossover-rack/CustomWidgets/AbstractWidget.py", line 300, in _drawOutputDot
qp.drawArc(x, y, w, h, 90 * 16, -180 * 16)
TypeError: arguments did not match any overloaded call:
drawArc(self, QRectF, int, int): argument 1 has unexpected type 'int'
drawArc(self, QRect, int, int): argument 1 has unexpected type 'int'
drawArc(self, int, int, int, int, int, int): argument 2 has unexpected type 'float'
QBackingStore::endPaint() called with active painter; did you forget to destroy it or call QPainter::end() on it?
Traceback (most recent call last):
File "/usr/lib/pulseaudio-crossover-rack/CustomWidgets/AbstractWidget.py", line 215, in paintEvent
self.paint(qp)
File "/usr/lib/pulseaudio-crossover-rack/CustomWidgets/InputWidget.py", line 32, in paint
self._drawOutputDot(qp)
File "/usr/lib/pulseaudio-crossover-rack/CustomWidgets/AbstractWidget.py", line 300, in _drawOutputDot
qp.drawArc(x, y, w, h, 90 * 16, -180 * 16)
TypeError: arguments did not match any overloaded call:
drawArc(self, QRectF, int, int): argument 1 has unexpected type 'int'
drawArc(self, QRect, int, int): argument 1 has unexpected type 'int'
drawArc(self, int, int, int, int, int, int): argument 2 has unexpected type 'float'
QBackingStore::endPaint() called with active painter; did you forget to destroy it or call QPainter::end() on it?
Traceback (most recent call last):
File "/usr/lib/pulseaudio-crossover-rack/CustomWidgets/AbstractWidget.py", line 215, in paintEvent
self.paint(qp)
File "/usr/lib/pulseaudio-crossover-rack/CustomWidgets/InputWidget.py", line 32, in paint
self._drawOutputDot(qp)
File "/usr/lib/pulseaudio-crossover-rack/CustomWidgets/AbstractWidget.py", line 300, in _drawOutputDot
qp.drawArc(x, y, w, h, 90 * 16, -180 * 16)
TypeError: arguments did not match any overloaded call:
drawArc(self, QRectF, int, int): argument 1 has unexpected type 'int'
drawArc(self, QRect, int, int): argument 1 has unexpected type 'int'
drawArc(self, int, int, int, int, int, int): argument 2 has unexpected type 'float'
QBackingStore::endPaint() called with active painter; did you forget to destroy it or call QPainter::end() on it?
Traceback (most recent call last):
File "/usr/lib/pulseaudio-crossover-rack/CustomWidgets/AbstractWidget.py", line 215, in paintEvent
self.paint(qp)
File "/usr/lib/pulseaudio-crossover-rack/CustomWidgets/InputWidget.py", line 32, in paint
self._drawOutputDot(qp)
File "/usr/lib/pulseaudio-crossover-rack/CustomWidgets/AbstractWidget.py", line 300, in _drawOutputDot
qp.drawArc(x, y, w, h, 90 * 16, -180 * 16)
TypeError: arguments did not match any overloaded call:
drawArc(self, QRectF, int, int): argument 1 has unexpected type 'int'
drawArc(self, QRect, int, int): argument 1 has unexpected type 'int'
drawArc(self, int, int, int, int, int, int): argument 2 has unexpected type 'float'
QBackingStore::endPaint() called with active painter; did you forget to destroy it or call QPainter::end() on it?
Never have seen this one before - seems to me that PyQt5 sometimes does conversion from float to int by itself, and in your case it doesn't. Are you able to download this file: https://gitlab.com/t-5/paxoverrack/.../CustomWidgets/AbstractWidget.py?inline=false and put it into the directory /usr/lib/pulseaudio-crossover-rack/CustomWidgets (have to do that as root!)? There might be other bugs like this one lurking around and I don't want to spam everybody with a load of new releases...
Ok @Tfive thank you, now it works, I can see the input, but...... I can not use any filters, I have this error
Then with another type of filter I have this one
Really nice work, I think that I am unfortunatly, or my machine has got tough hardware... I see that you are working with another version, if my errors require too time, for me is not a problem... I don't want that you loose too many times. However congratulations for the work :-D
Bash:
Traceback (most recent call last):
File "/usr/lib/pulseaudio-crossover-rack/WindowClasses/MainWindow.py", line 303, in onAddFilter
dlg = EditFilterDialog(self, new, newlyCreated=True)
File "/usr/lib/pulseaudio-crossover-rack/WindowClasses/EditFilterDialog.py", line 68, in __init__
slider.setValue(FILTER_EDIT_DLG_SLIDER_MAX / 2)
TypeError: setValue(self, int): argument 1 has unexpected type 'float'
Then with another type of filter I have this one
Bash:
then with other FILTER
File "/usr/lib/pulseaudio-crossover-rack/WindowClasses/MainWindow.py", line 299, in onAddFilter
dlg = EditFilterDialog(self, new, newlyCreated=True)
File "/usr/lib/pulseaudio-crossover-rack/WindowClasses/EditFilterDialog.py", line 68, in __init__
slider.setValue(FILTER_EDIT_DLG_SLIDER_MAX / 2)
TypeError: setValue(self, int): argument 1 has unexpected type 'float'
qt.qpa.xcb: QXcbConnection: XCB error: 3 (BadWindow), sequence: 1694, resource id: 16790618, major code: 40 (TranslateCoords), minor code: 0
Really nice work, I think that I am unfortunatly, or my machine has got tough hardware... I see that you are working with another version, if my errors require too time, for me is not a problem... I don't want that you loose too many times. However congratulations for the work :-D
Really nice work, I think that I am unfortunatly, or my machine has got tough hardware... I see that you are working with another version, if my errors require too time, for me is not a problem... I don't want that you loose too many times. However congratulations for the work :-D
Please bear with me as these errors might crop up for other users as well... There's another file here: https://gitlab.com/t-5/paxoverrack/-/raw/master/WindowClasses/EditFilterDialog.py?inline=false
Please put it into /usr/lib/pulseaudio-crossover-rack/WindowClasses .
Hopefully this is the last one where a int is expected but a float is given as parameter.
BTW: Which linux distro/version are you on?
Last edited:
- Home
- Source & Line
- PC Based
- Pulseaudio Crossover Rack - multi-way crossover design & implementation with linux