By default, Bugzilla does not search the list of RESOLVED bugs.
You can force it to do so by putting the upper-case word ALL in front of your search query, e.g.: ALL tdelibs
We recommend searching for bugs this way, as you may discover that your bug has already been resolved and fixed in a later release.
Bug 2782 - KMix expanding for true processing PuseAudio and master channel
Summary: KMix expanding for true processing PuseAudio and master channel
Status: PATCHAVAIL
Alias: None
Product: TDE
Classification: Unclassified
Component: tdemultimedia (show other bugs)
Version: R14.1.x [Trinity]
Hardware: All Linux
: P5 major
Assignee: Michele Calgaro
URL:
Depends on:
Blocks: R14.1.0
  Show dependency treegraph
 
Reported: 2017-06-17 09:19 CDT by Roman Savochenko
Modified: 2023-06-18 08:27 CDT (History)
4 users (show)

See Also:
Compiler Version:
TDE Version String:
Application Version:
Application Name:


Attachments
KMix expanding for PulseAudio and master mixer into DCOP. (4.33 KB, patch)
2017-06-17 09:19 CDT, Roman Savochenko
Details | Diff
Updating mixers at changing sound-boards and master (14.72 KB, patch)
2020-07-21 09:08 CDT, Roman Savochenko
Details | Diff
PulseAudio and Master channel true treating (4.34 KB, patch)
2020-10-24 09:53 CDT, Roman Savochenko
Details | Diff
Updating mixers at changing sound-boards and master (14.72 KB, patch)
2020-10-24 09:55 CDT, Roman Savochenko
Details | Diff
kmix-PulseAudio-MasterDCOP.patch (4.35 KB, patch)
2023-06-18 08:21 CDT, Roman Savochenko
Details | Diff
kmix-UpdMixersForChangeAndChMaster.patch (14.74 KB, patch)
2023-06-18 08:25 CDT, Roman Savochenko
Details | Diff
kmix-LightUpdMixers-NoLeakRPi.patch (3.48 KB, patch)
2023-06-18 08:27 CDT, Roman Savochenko
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Roman Savochenko 2017-06-17 09:19:39 CDT
Created attachment 2777 [details]
KMix expanding for PulseAudio and master mixer into DCOP.

KMix now has some problems in work with PulseAudio which appended as no HW card with index -1. But PulseAudio must be here as master card but doesn't works here properly.

My patch fixes working PulseAudio in the master card role and provides generic DCOP object Id MixerMaster" for its unambiguously control from KMilo.
Comment 1 deloptes 2018-09-11 01:32:03 CDT
Roman,
thank you very much for the patch.
This was bugging me for long time already.

I just compiled and installed 14.1 related multimedia and utils with the patch(es - also 2873) and it works great.

I can just recommend to add the patch.

regards
Comment 2 deloptes 2018-12-29 01:39:03 CST
I meant 2783 not 2873 - I will open pull request in Gitea
Comment 3 deloptes 2018-12-29 02:39:45 CST
Opened pull request in Gitea
https://mirror.git.trinitydesktop.org/gitea/TDE/tdemultimedia/pulls/4
Comment 4 Michele Calgaro 2020-05-11 11:48:07 CDT
This patch is obsoleted by PR tdemultimedia #19
https://mirror.git.trinitydesktop.org/gitea/TDE/tdemultimedia/pulls/19
Comment 5 Michele Calgaro 2020-05-24 23:30:54 CDT
tdemultimedia#19 has been merged into the master branch. This will be available for the R14.1.0 release.
Comment 6 Roman Savochenko 2020-07-21 09:08:01 CDT
Created attachment 2980 [details]
Updating mixers at changing sound-boards and master

That code modification was done primarily for true treating modern behaviours of PulseAudio, that is the delayed appearance at the requests in X-session and finishing together the X-session finish. So, KMix on Debian 10 doesn't see PulseAudio in LiveDisks and after installation, before commenting "autospawn=no" in /etc/pulse/client.conf.d/00-disable-autospawn.conf and cleaning kmixrc.

So, the patch makes KMix dynamic for mixers (sound-cards) updating, what also actual for the modern Linux sound system where the sound cards may appear and disappear just connection/disconnecting a sound external USB-dongle.

Also the patch finishes the master card+channel changing by recreation the mixers, so their true-actual binding DCOP.

The mixer changes detection performed by a new function mixersUpdate() with the periodic invoking in 10 seconds from a timer and who works only for closed mixer dialogs. This periodic load was successfully tested on wide Linux environments from P3(Debian 7) to Intel Core I7(Debian 10) and you may test that yourself by that LiveDisks: http://ftp.oscada.org/OpenSCADA/Work/Live/

During the process, the KMix code was cleaned from obvious memory leaks at dynamic treating the mixers (Mixer).

So, currently I have tested and this patch works for:
- PulseAudio appears and is accessible everytime in KMix on modern configurations both in LiveDisks and installed systems.
- KMix reflects connection/disconnection external sound cards.
- KMix complete applies the master card+channel changes.
Comment 7 Michele Calgaro 2020-07-21 10:33:46 CDT
Great, thanks Roman.
Any chance you could create a PR on TGW? That is the preferred way to propose patches and you commit could be authored and signed (if you want) by your GPG keys. Don't forget to sign-off the commit as well (option -s).
Comment 8 Roman Savochenko 2020-07-21 14:10:43 CDT
(In reply to Michele Calgaro from comment #7)
> Any chance you could create a PR on TGW? 

What difference where this patch will just lay, like with one about KRFB (https://mirror.git.trinitydesktop.org/gitea/TDE/tdenetwork/issues/11)?
Comment 9 Michele Calgaro 2020-09-16 09:46:19 CDT
The provided patch, comment and related problem has been moved to a separate new bug 3159. We can follow that topic there.

This bug will be closed again since it originally related to a separate issue that has already been addressed.
Comment 10 Roman Savochenko 2020-10-24 09:51:20 CDT
(In reply to Michele Calgaro from comment #9)
> The provided patch, comment and related problem has been moved to a separate
> new bug 3159. We can follow that topic there.
> 
> This bug will be closed again since it originally related to a separate
> issue that has already been addressed.
No, these issues is related and you did not apply my patch in whole, so did not fix the problems and the second patch completes the first one in the PulseAudio and Master channel treating part!
Comment 11 Roman Savochenko 2020-10-24 09:53:24 CDT
Created attachment 2992 [details]
PulseAudio and Master channel true treating

Adapted for 14.0.9.
Comment 12 Roman Savochenko 2020-10-24 09:55:55 CDT
Created attachment 2993 [details]
Updating mixers at changing sound-boards and master

Adapted for 14.0.9!
Comment 13 Michele Calgaro 2020-10-24 20:34:13 CDT
Hi Roman, thanks for your contribution.

1) the changes related with mixer detection at run time will be tracked at bug 3159 as I clearly mentioned in comment 9. Anything you want to discuss about that, please do so in that bug report, not here.

2) R14.0.x will not introduce any major API change, so there is no way such patch will enter R14.0 series. It has to go after R14.1.0

I already copied your comments and patch into bug 3159 at the time of creation, and I have now uploaded the new patches there.

This bug will be closed AGAIN and I invite you to continue the discussion on bug 3159, not here.
Comment 14 Michele Calgaro 2020-10-24 20:34:57 CDT
Comment on attachment 2992 [details]
PulseAudio and Master channel true treating

Patches uploaded into bug 3159.
Comment 15 Roman Savochenko 2020-10-26 08:37:44 CDT
(In reply to Michele Calgaro from comment #13)
> 2) R14.0.x will not introduce any major API change, so there is no way such
> patch will enter R14.0 series. It has to go after R14.1.0

I am commonly wonder why such kind of separation is provided for an established project and why do you disturbed about immediately changing that bad API?

If I want such sort of instability - flowing developing, I will use KDE. :)

And that project, I think and wait, must be targeted for flowing stabilisation - for USING, so the master branch must be the stable branch and all long term developing must be performed in separated branches. Otherwise you propose now a solution with yet many problems, more of whose already somewhere fixed but inaccessible and what are blocking of fixing other problems.
Comment 16 Roman Savochenko 2023-06-18 08:19:20 CDT
In 14.1.0 branch has been used only one part of my patches, that is treating the MasterDCOP and even this was rewrote in wrong way of binding directly to DCOPObject("kmix").

What will be if appeared some other mixer program?

Other part of my patches, that is the Mixers dynamic updating, was ignored in whole!
Comment 17 Roman Savochenko 2023-06-18 08:21:26 CDT
Created attachment 3067 [details]
kmix-PulseAudio-MasterDCOP.patch

My variant of the MasterDCOP treating adapted to 14.1.0.
Comment 18 Roman Savochenko 2023-06-18 08:25:13 CDT
Created attachment 3068 [details]
kmix-UpdMixersForChangeAndChMaster.patch

Mixers dynamic updating for appearing/disappearing Audio Adaptors like to USB-Dongles, adapted for 14.1.0.
Comment 19 Roman Savochenko 2023-06-18 08:27:17 CDT
Created attachment 3069 [details]
kmix-LightUpdMixers-NoLeakRPi.patch

Patch of lightening the dynamic updating and preventing of memory leaking on RPi.