Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

AutomaticVolumeAdjustment Plugin #3499

Open
jbleyel opened this issue Jan 16, 2025 · 27 comments
Open

AutomaticVolumeAdjustment Plugin #3499

jbleyel opened this issue Jan 16, 2025 · 27 comments
Labels

Comments

@jbleyel
Copy link
Contributor

jbleyel commented Jan 16, 2025

The AutomaticVolumeAdjustment Plugin is no longer compatible with ATV

Posts from @ian10951:

_The biggest issue with the audio recently is that something recently broke the AutoVolumeAdjustment plugin in ATV.

This is an OE-A plugin and it used to work perfectly in ATV but now it crashes the box upon every channel change.

This plugin used to address all users audio issues as it set and remembered the volume level for every single individual channel. It is greatly missed and would have fixed the original posters issues too if it still worked in ATV.

Sorry that this doesnt help the original poster, but if whatever broke the plugin could be addressed then I doubt there would be anymore posts about audio volume levels, in here or in any forums._

Nothing has changed in that plugin for a very long time and it still works perfectly with OpenVix. Something changed in ATV which broke it when trying to use it with ATV.

_The ViX plugin is far easier to use jbleyel, you just adjust the volume as you want it using the volume buttons and the plugin remembers it and always sets the volume at that level everytime you switch to a given channel. theres no adding channels to a list like with the onboard ATV VolumeAdjust, you just simply use the Vol + and Vol - as you normally would. It performs better too. The simple fact is it's just better, but sadly it has now been broken in ATV for 5 or 6 months.
Now when it tries to adjust the volume to the remembered value it causes the image to crash upon channel change.

Such a shame._

_Another major benefit of this plugin over the onboard ATV one is IPTV, it works with that too, but more importantly. often when we watch movies from our HDD's we set the volume very high to get the best Dolby affects ect, but after doing this when the movie has ended and you exit mediaplayer and the box reverts to the last channel watched the volume remains very high and you jump out of your skin lol, not to mention possibly damaging the speakers. When you use this plugin because its already remembered the channels desired volume level it automatically adjusts the volume to the normal level the very moment you exit mediaplayer.

As I said its just better._

@jbleyel
Copy link
Contributor Author

jbleyel commented Jan 16, 2025

Hi @ian10951:

Please copy this py in the plugin AutomaticVolumeAdjustment folder and test.

AutomaticVolumeAdjustment.py.zip

@ian10951
Copy link

ian10951 commented Jan 16, 2025

New py added

Image

Sadly it doesnt say why.

@jbleyel
Copy link
Contributor Author

jbleyel commented Jan 16, 2025

You may need also this -> https://github.com/oe-alliance/enigma2-plugins/blob/master/automaticvolumeadjustment/src/plugin.py

Because you have not the latest version.

@jbleyel
Copy link
Contributor Author

jbleyel commented Jan 16, 2025

All files for the plugin.

Archiv.zip

@ian10951
Copy link

ian10951 commented Jan 16, 2025

Still the same error message jbleyel

This is with 7.5.1 by the way

Could it be this ?

try:
from Components.SystemInfo import BoxInfo
IMAGEDISTRO = BoxInfo.getItem("distro")
except:
from boxbranding import getImageDistro
IMAGEDISTRO = getImageDistro()

@jbleyel
Copy link
Contributor Author

jbleyel commented Jan 16, 2025

@ian10951
Copy link

ian10951 commented Jan 16, 2025

Ok that sorted the plugin install in 7.5.1, but now its back to crashing upon channel change again

20250116-210412-enigma2-crash.log

The crash is now the same error that was in 7.4 after the image changes that initially broke the plugin some 5 or 6 months ago.

@jbleyel
Copy link
Contributor Author

jbleyel commented Jan 17, 2025

Next:
AutomaticVolumeAdjustment.py.zip

@ian10951
Copy link

Fantastic jbleyel ! Everything seems to be working on first testing.

Its so nice to have this plugin back, it seems an eternity not having it for 5-6 months.

Can this be put onto the ATV feeds ? I'm sure many will want to use it.

@jbleyel
Copy link
Contributor Author

jbleyel commented Jan 17, 2025

I'm thinking about to implement the missing features of the plugin into the core code, so you no longer need the plugin.
That means the plugin is only a workaround for now.

@ian10951
Copy link

ian10951 commented Jan 17, 2025

Thats a great idea jbleyel because its vastly superior in every way from easy of use to how it actually performs to what ATV has now. The core Volume Adust in use now is not great and basically only offers an AC3 offset. It is not a complete volume control like what this plugin is. And of course an AC3 offset isnt needed at all if you have something like this that controls each individual channels audio and remembers the users setting. I also believe it will sort nearly all audio issues that people post about. It would be interesting if the user who posted in the other thread were to try this and report back on if it fixed his issue or not.

@jbleyel
Copy link
Contributor Author

jbleyel commented Jan 18, 2025

Hi @ian10951 :

Not finished and not tested!!

#3501

@ian10951
Copy link

Ok I will test once I get the update.

The status plugin is telling me that my next image build is in 30 hours.

@jbleyel
Copy link
Contributor Author

jbleyel commented Jan 18, 2025

Ok I will test once I get the update.

The status plugin is telling me that my next image build is in 30 hours.

This is an extra branch and this will be not build.
You need to get the changed files from github if you want to test this.

These changes will be in the image after testing and not before.

@ian10951
Copy link

ian10951 commented Jan 18, 2025

Ah OK

Might be a bit above my paygrade that.

@pololoko111
Copy link
Contributor

@ian10951

UploadIsideFOLDERS.zip

Here's a crash from my decoder.

[VolumeAdjustment] service changed
[VolumeAdjust] Description: 'AC3'.
[VolumeAdjust] AudioAC3Dolby = YES
Traceback (most recent call last):
File "/usr/lib/enigma2/python/Navigation.py", line 273, in dispatchEvent
File "/usr/lib/enigma2/python/Components/ServiceEventTracker.py", line 82, in event
File "/usr/lib/enigma2/python/Screens/VolumeAdjust.py", line 311, in processVolumeOffset
vol -= self.lastAdjustedValue # go back to origin value first
^^^^^^^^^^^^^^^^^^^^^^
AttributeError: 'Volume' object has no attribute 'lastAdjustedValue'
[ePyObject] (PyObject_CallObject(<bound method Navigation.dispatchEvent of <Navigation.Navigation object at 0xae7492a0>>,(5,)) failed)

@jbleyel
Copy link
Contributor Author

jbleyel commented Jan 18, 2025

ecd7ed9

@pololoko111
Copy link
Contributor

21:07:09.0714 [VolumeAdjustment] service changed
21:07:09.0717 [VolumeAdjust] Description: 'AC3'.
21:07:09.0718 [VolumeAdjust] AudioAC3Dolby = YES
21:07:09.0721 Traceback (most recent call last):
21:07:09.0722 File "/usr/lib/enigma2/python/Navigation.py", line 273, in dispatchEvent
21:07:09.0728 File "/usr/lib/enigma2/python/Components/ServiceEventTracker.py", line 82, in event
21:07:09.0732 File "/usr/lib/enigma2/python/Screens/VolumeAdjust.py", line 314, in processVolumeOffset
21:07:09.0743 ajvol = self.serviceList.get(ref.toString(), self.defaultValue) # get delta from config
21:07:09.0748 ^^^^^^^^^^^^^^^^^
21:07:09.0750 AttributeError: 'Volume' object has no attribute 'defaultValue'
21:07:09.0751 [ePyObject] (PyObject_CallObject(<bound method Navigation.dispatchEvent of <Navigation.Navigation object at 0xae6ca2e8>>,(5,)) failed)

21:15:37.7585 [VolumeAdjustment] service changed
21:15:37.7586 [VolumeAdjust] Description: 'AC3'.
21:15:37.7587 [VolumeAdjust] AudioAC3Dolby = YES
21:15:37.7589 Traceback (most recent call last):
21:15:37.7590 File "/usr/lib/enigma2/python/Navigation.py", line 273, in dispatchEvent
21:15:37.7594 File "/usr/lib/enigma2/python/Components/ServiceEventTracker.py", line 82, in event
21:15:37.7598 File "/usr/lib/enigma2/python/Screens/VolumeAdjust.py", line 356, in processVolumeOffset
21:15:37.7611 self.lastAdjustedValue = self.serviceList.get(self.session.nav.getCurrentlyPlayingServiceReference().toString(), self.defaultValue)
21:15:37.7619 ^^^^^^^^^^^^^^^^^
21:15:37.7622 AttributeError: 'Volume' object has no attribute 'defaultValue'
21:15:37.7623 [ePyObject] (PyObject_CallObject(<bound method Navigation.dispatchEvent of <Navigation.Navigation object at 0xae68a300>>,(5,)) failed)

@jbleyel
Copy link
Contributor Author

jbleyel commented Jan 19, 2025

i have posted an update in the branch.

@pololoko111
Copy link
Contributor

11:34:38.8790 [VolumeAdjustment] service changed
11:34:38.8792 [eDVBVolumecontrol] Set volume raw: L=59 R=59, -1db: L=26 R=26.
11:34:38.8795 Traceback (most recent call last):
11:34:38.8796 File "/usr/lib/enigma2/python/Navigation.py", line 273, in dispatchEvent
11:34:38.8799 File "/usr/lib/enigma2/python/Components/ServiceEventTracker.py", line 82, in event
11:34:38.8803 File "/usr/lib/enigma2/python/Screens/VolumeAdjust.py", line 358, in processVolumeOffset
11:34:38.8814 self.setVolume(lastvol)
11:34:38.8817 File "/usr/lib/enigma2/python/Screens/VolumeAdjust.py", line 415, in setVolume
11:34:38.8828 if self.volumeControlInstance is not None:
11:34:38.8831 ^^^^^^^^^^^^^^^^^^^^^^^^^^
11:34:38.8834 AttributeError: 'Volume' object has no attribute 'volumeControlInstance'
11:34:38.8834 [ePyObject] (PyObject_CallObject(<bound method Navigation.dispatchEvent of <Navigation.Navigation object at 0xae74b2d0>>,(5,)) failed)

@jbleyel
Copy link
Contributor Author

jbleyel commented Jan 19, 2025

43a1ea4

@pololoko111
Copy link
Contributor

Now works properly on Octagon Supreme.
The Remember option works and the Defined option also works.

@jbleyel
Copy link
Contributor Author

jbleyel commented Jan 19, 2025

Now works properly on Octagon Supreme. The Remember option works and the Defined option also works.

Please make more tests and @ian10951 should also test.

@jbleyel
Copy link
Contributor Author

jbleyel commented Jan 19, 2025

Please test also all the options of VolumeAdjustment and remove the AutomaticVolumeAdjustment Plugin.

@pololoko111
Copy link
Contributor

I do not use the Automatic Volume Adjustment plugin.
For now all options are working, I will test them longer later.

@jbleyel
Copy link
Contributor Author

jbleyel commented Jan 21, 2025

Hi @ian10951 , have you tested the latest code?

@ian10951
Copy link

I'm working away in London at the moment and wont have access to my box till I return at the weekend.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

3 participants