rbn42 / panon

An Audio Visualizer Widget in KDE Plasma
GNU General Public License v3.0
192 stars 30 forks source link

[BUG] Visualization won't show for PulseAudio, due to Python 3.10 #107

Open renyuneyun opened 1 year ago

renyuneyun commented 1 year ago

Desktop (please complete the following information):

Describe the bug

The visualization won't show when using PulseAudio as the backend.

Any error message shown in the console Please execute the following commands in the console and upload the outputs.

git clone https://github.com/rbn42/panon.git cd panon git submodule update --init

You need to install plasma-sdk to get plasmoidviewer.

plasmoidviewer --applet ./plasmoid/

The following is shown (the error at the end appears right after choosing PulseAudio as backend).

QML debugging is enabled. Only use this in a safe environment.
qml: View QML loaded
kf.plasma.quick: Applet preload policy set to 1
Toolbox not loading, toolbox package is either invalid or disabled.
qml: New Containment: ContainmentInterface(0x555b4499cc10)
QQuickOpenGLShaderEffect: 'source' does not have a matching property!
QQuickOpenGLShaderEffect: 'source' does not have a matching property!
org.kde.plasma.containmentlayoutmanager: Trying to take space not available BasicAppletContainer_QMLTYPE_176_QML_197(0x555b449909a0, parent=0x555b442a14a0, geometry=320,240 640x80)
kf.kio.core: Invalid URL: QUrl("")
kf.kio.core: Malformed JSON protocol file for protocol: "trash" , number of the ExtraNames fields should match the number of ExtraTypes fields
org.kde.plasma.containmentlayoutmanager: Error: cannot change the containment to AppletsLayout
file:///home/ryey/vcs/panon/plasmoid/contents/ui/Spectrum.qml:95:45: QML Image: unknown error qml: 
qml: 
org.kde.plasma.containmentlayoutmanager: Trying to take space not available BasicAppletContainer_QMLTYPE_176_QML_197(0x555b449909a0, parent=0x555b442a14a0, geometry=320,240 640x80)
kf.kio.core: Malformed JSON protocol file for protocol: "trash" , number of the ExtraNames fields should match the number of ExtraTypes fields
kf.kio.core: Malformed JSON protocol file for protocol: "trash" , number of the ExtraNames fields should match the number of ExtraTypes fields
kf.kio.core: Malformed JSON protocol file for protocol: "trash" , number of the ExtraNames fields should match the number of ExtraTypes fields
kf.kio.core: Malformed JSON protocol file for protocol: "trash" , number of the ExtraNames fields should match the number of ExtraTypes fields
kf.kio.core: Malformed JSON protocol file for protocol: "trash" , number of the ExtraNames fields should match the number of ExtraTypes fields
kf.kio.core: Malformed JSON protocol file for protocol: "trash" , number of the ExtraNames fields should match the number of ExtraTypes fields
kf.kio.core: Malformed JSON protocol file for protocol: "trash" , number of the ExtraNames fields should match the number of ExtraTypes fields

.....                   {Lots of repeats}

QProcess: Destroyed while process ("/bin/sh") is still running.
qml: 
qml: Traceback (most recent call last):
  File "/usr/lib/python3.10/runpy.py", line 196, in _run_module_as_main
    return _run_code(code, main_globals, None,
  File "/usr/lib/python3.10/runpy.py", line 86, in _run_code
    exec(code, run_globals)
  File "/home/ryey/vcs/panon/plasmoid/contents/scripts/panon/backend/client.py", line 53, in <module>
    spectrum_source = source.SoundCardSource(spectrum.NUM_CHANNEL, sample_rate, arguments['--device-index'], cfg_fps)
  File "/home/ryey/vcs/panon/plasmoid/contents/scripts/panon/backend/source.py", line 113, in __init__
    self.start()
  File "/home/ryey/vcs/panon/plasmoid/contents/scripts/panon/backend/source.py", line 172, in start
    stream.__enter__()
  File "/home/ryey/vcs/panon/plasmoid/contents/scripts/soundcard/pulseaudio.py", line 638, in __enter__
    if isinstance(self.channels, collections.Iterable):
AttributeError: module 'collections' has no attribute 'Iterable'
creeloper27 commented 10 months ago

This is valid also for python 3.11