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

Qt5 affects abilty to find window in AltaCast #9327

Open
mixxxbot opened this issue Aug 23, 2022 · 38 comments
Open

Qt5 affects abilty to find window in AltaCast #9327

mixxxbot opened this issue Aug 23, 2022 · 38 comments
Labels
broadcast Bugs pertaining to streaming radio broadcaster use-case bug qt5

Comments

@mixxxbot
Copy link
Collaborator

Reported by: wunjo
Date: 2018-06-04T22:56:09Z
Status: In Progress
Importance: Low
Launchpad Issue: lp1775095
Tags: broadcast, qt5
Attachments: Qt5_Find_Window_AltaCast.PNG, output_file.txt, [Cyrillic in questinmarks](https://bugs.launchpad.net/bugs/1775095/+attachment/5150413/+files/Cyrillic in questinmarks), output_file.txt, [library can't print player do](https://bugs.launchpad.net/bugs/1775095/+attachment/5150881/+files/library can't print player do), [AltaCast printscreen.PNG](https://bugs.launchpad.net/bugs/1775095/+attachment/5150902/+files/AltaCast printscreen.PNG)


After the change to Qt5 I can't grab metadata from the mainwindow of Mixxx no more using AltaCast for streaming.
Windows 7-64

@mixxxbot mixxxbot added broadcast Bugs pertaining to streaming radio broadcaster use-case bug qt5 labels Aug 23, 2022
@mixxxbot
Copy link
Collaborator Author

Commented by: wunjo
Date: 2018-06-04T22:56:09Z
Attachments: Qt5_Find_Window_AltaCast.PNG

@mixxxbot
Copy link
Collaborator Author

Commented by: daschuer
Date: 2018-06-05T16:46:18Z


We are currently implementing more metadata output. I consider trading the window title as an ugly havk. Which other interfaces can be used by AltaCast? To which one do you like to switch for Mixxx 2.2?

@mixxxbot
Copy link
Collaborator Author

Commented by: davidhm
Date: 2018-06-06T14:25:27Z


Does Altacast let you use a file to grab the metadata? Or can it use the MPRIS interface?

@mixxxbot
Copy link
Collaborator Author

Commented by: Be-ing
Date: 2018-06-06T15:10:36Z


Why do you use a separate program to broadcast instead of broadcasting from Mixxx?

@mixxxbot
Copy link
Collaborator Author

Commented by: wunjo
Date: 2018-06-06T20:45:40Z


@ Daniel; grabbing is ugly, but it did the job
@ David; a plain text file can be used, MPRIS is unknown to me
@ Be; I'm using Stereotool for compessing/expanding/enhancing etc. Routed by VBCable. DSP support would also be useful.

Thanks for your support!

@mixxxbot
Copy link
Collaborator Author

Commented by: wunjo
Date: 2018-06-06T21:05:45Z


@ David; found a Python script for MPRIS in Clementine, ok for Linux, Windows don't use dbus

https://github.com/clementine-player/Clementine/wiki/Controlling-Clementine-from-the-commandline-with-DBus-and-MPRIS

@mixxxbot
Copy link
Collaborator Author

Commented by: daschuer
Date: 2018-06-06T21:14:19Z


Could you file a separate bug for you effect request. Maybe we have already a LV2 solution in upcoming Mixxx 2.2 or we could integrate your needs natively...

@mixxxbot
Copy link
Collaborator Author

Commented by: davidhm
Date: 2018-06-07T10:00:07Z


@peter, what format does the file have to be?

@mixxxbot
Copy link
Collaborator Author

Commented by: wunjo
Date: 2018-06-08T10:13:36Z
Attachments: output_file.txt


@ David
I formerly used Sam Broadcaster, however they took another road.
They use a .txt file, see attachment

@mixxxbot
Copy link
Collaborator Author

Commented by: wunjo
Date: 2018-06-08T10:16:59Z


@ Daniel
I will :-)

@mixxxbot
Copy link
Collaborator Author

Commented by: daschuer
Date: 2018-06-08T13:52:03Z


Can you provide a file with non ASCII characters like umlauts or Cyrillic cjaracters as well?

@mixxxbot
Copy link
Collaborator Author

Commented by: davidhm
Date: 2018-06-08T14:08:37Z


For writing to the file, I use QTextStream's operator << QString, which encodes the string with the locale codec. So if the author or the title are in Unicode I don't see a reason for it to not print non ASCII characters: http://doc.qt.io/qt-5/qtextstream.html#operator-lt-lt-12

@mixxxbot
Copy link
Collaborator Author

Commented by: daschuer
Date: 2018-06-08T15:25:24Z


If the local8bit codec is latin1, you cannot print Cyrillic titles. I am not sure what is the default 8 bit codec in windows there is also cp848 or such things.
I know we had similar issues with m3u playlists. They are defined as latin1.
Because that does not work for any track, we have a successor that is m3u8 Wich is utf8.
Unfortunately the reader app cannot or hard distinguish utf8 from Latin one. If it fails, you get the famous ü.
If this is an issue, we need a preference option for the character encoding.

@mixxxbot
Copy link
Collaborator Author

Commented by: wunjo
Date: 2018-06-08T22:17:40Z
Attachments: [Cyrillic in questinmarks](https://bugs.launchpad.net/mixxx/+bug/1775095/+attachment/5150413/+files/Cyrillic in questinmarks)


SAM can print umlauts but can't print Cyrillic.
In Cyrillic I get a string of questionmarks
see attatchment

btw Sam uses an inputfile too, containing: $song.artist$ - $song.title$ 

@mixxxbot
Copy link
Collaborator Author

Commented by: davidhm
Date: 2018-06-09T12:05:32Z


@daniel, we an allow for the user to set the codec, no problem. However, if broadcast apps can read UTF-8, I think we should prefer that, because it allows for every language.

@mixxxbot
Copy link
Collaborator Author

Commented by: daschuer
Date: 2018-06-09T14:51:41Z


Yes, right. I am only afraid that the majority of windows apps expect latin1.
And I am also afraid that the evetage user does not know the difference between latin1 and utf8. The issue is that it can be only identified at runtime, when suddenly an umlauts track is played. This might be too late. How about add a test mode, sending a fake umlauts track and ask the user if it is decided right.

@mixxxbot
Copy link
Collaborator Author

Commented by: davidhm
Date: 2018-06-09T15:58:45Z


Maybe, but before all of that, shouldn't we need to know which encoding the broadcast app uses? It doesn't matter if the title is not displayed correctly if we don't know how to do it.

@mixxxbot
Copy link
Collaborator Author

Commented by: daschuer
Date: 2018-06-09T16:26:46Z


Yes, right. It is not utf8, because of the question marks in Peters file.

Peter: can you attach an other SAM example with an umlauts title and €.

Critical are these as well: €‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ.

@mixxxbot
Copy link
Collaborator Author

Commented by: wunjo
Date: 2018-06-10T13:25:01Z
Attachments: output_file.txt


@ Daniel
The question marks are added by SAM when importing in its library
I made a tag with the string provided by you, the library (mySQL) can't print them, but the payers do and also the output-file do.
Two attachments

@mixxxbot
Copy link
Collaborator Author

Commented by: wunjo
Date: 2018-06-10T13:27:02Z
Attachments: [library can't print player do](https://bugs.launchpad.net/mixxx/+bug/1775095/+attachment/5150881/+files/library can't print player do)


screenshot SAM

@mixxxbot
Copy link
Collaborator Author

Commented by: wunjo
Date: 2018-06-10T13:56:03Z
Attachments: [AltaCast printscreen.PNG](https://bugs.launchpad.net/mixxx/+bug/1775095/+attachment/5150902/+files/AltaCast printscreen.PNG)


btw forgot most important one :-)
see attatchment

@mixxxbot
Copy link
Collaborator Author

Commented by: wunjo
Date: 2018-06-18T18:22:40Z


We can summarize that AltaCast users are probably Western users.
For Windows I was happy to find a free gui-based streamer with metadata capabilities, they are rare.
Utf8 will cover most of its users.

@mixxxbot
Copy link
Collaborator Author

Commented by: davidhm
Date: 2018-06-26T15:44:06Z


I would like to test my code with a streaming service that allows files to input metadata. However, AltaCast is for Windows and I don't want to subscribe to SAM Broadcaster. Is there anything for Linux that's free / open source?

@mixxxbot
Copy link
Collaborator Author

Commented by: wunjo
Date: 2018-07-07T22:35:36Z


Hi David, I'm back from vacation.

Rivendell is an open source Linux radio automation app. However, I have no experience with it.
As a free streaming service in Windows I use StreamerP2P; streamerp2p.com - You can download the broadcast version there. Feed it with AltaCast using your testbuild for Windows. 
I hope this can help you out?

@mixxxbot
Copy link
Collaborator Author

Commented by: wunjo
Date: 2018-07-10T21:41:27Z


#1675
Seen your progress, however it's most abracadabra to me. Thanks!

@mixxxbot
Copy link
Collaborator Author

Commented by: davidhm
Date: 2018-07-10T21:55:18Z


Is there anything for Linux? The file listener is implemented and the only thing left is to test it.

@mixxxbot
Copy link
Collaborator Author

Commented by: wunjo
Date: 2018-07-11T06:43:50Z


I'll try to find something in vbox, takes some time however

@mixxxbot
Copy link
Collaborator Author

Commented by: wunjo
Date: 2018-07-11T16:07:09Z


DarkIce must do the same as AltaCast in Windows however no metadata support.
https://github.com/rafael2k/darkice
IceCast does have such function, though it is an audio server
https://icecast.org/docs/icecast-trunk/admin_interface/
Ices is an input module for IceCast, it can handle metadata
https://icecast.org/ices/docs/ices-2.0.1/inputs.html

Maybe you can send me a link to a windows testbuild to test it?

@mixxxbot
Copy link
Collaborator Author

Commented by: wunjo
Date: 2018-07-11T21:09:11Z


Butt will also do the job
http://danielnoethen.de/manual.html
see 6 streaming section

some more see http://www.icecast.org/apps/

@mixxxbot
Copy link
Collaborator Author

Commented by: wunjo
Date: 2018-09-27T18:22:26Z


in progress see; https://github.com/mixxxdj/mixxx/pull/1675

@mixxxbot
Copy link
Collaborator Author

Commented by: daschuer
Date: 2019-09-14T23:29:53Z


The original issue can be fixed by setting a different Window Class than the default.

The default is defined here:
https://github.com/qt/qtbase/blob/c7b3c5a082d9099e7995006f033c3017bfa7f19c/src/plugins/platforms/windows/qwindowscontext.cpp#L533

I have no idea if we can change this afterwards.

@mixxxbot
Copy link
Collaborator Author

Commented by: wunjo
Date: 2019-12-16T23:11:27Z


<quote>The original issue can be fixed by setting a different Window Class than the default.</quote>

Indeed there are to many instances called Qt5QWindiwIcon, only one is the usable one.

some googling:

https://doc.qt.io/qt-5/qwindow.html#details

https://doc.qt.io/qt-5/qstring.html

Hope someone can find a fix :-)

@mixxxbot
Copy link
Collaborator Author

Commented by: wunjo
Date: 2019-12-16T23:26:56Z


https://doc.qt.io/qt-5/qxmlstreamwriter.html could maybe useful

@mixxxbot
Copy link
Collaborator Author

Commented by: wunjo
Date: 2019-12-16T23:45:38Z


https://vitux.com/compiling-your-first-qt-program-in-ubuntu/ quite an challenge to me...

@mixxxbot
Copy link
Collaborator Author

Commented by: daschuer
Date: 2019-12-17T07:17:04Z


Here is a pretty straight forward guide to build Mixxx on Linux.
https://www.mixxx.org/wiki/doku.php/compiling_on_linux

If you are still struggling, I will help you out on https://mixxx.zulipchat.com/

In general this is a good start to read:
,https://mixxx.org/wiki/doku.php/bugfix_workflow

@mixxxbot
Copy link
Collaborator Author

Commented by: wunjo
Date: 2020-06-01T10:02:10Z


Issue solved probably during recent changes in QT name assignment for windows.
There are now only two same assignments. Preferences and the main window.

@mixxxbot
Copy link
Collaborator Author

Commented by: wunjo
Date: 2020-06-11T21:14:23Z


I was a bit to eager. It wasn't fixed in the Deere skin, there were 5 same named windows...

@mixxxbot
Copy link
Collaborator Author

Commented by: wunjo
Date: 2020-06-11T21:30:07Z


I'm using the Tango skin on mixxx-2.4.0-alpha-pre-master-git7412-release-x64, win 10 pro

It's about the Window Class Qt5QWindowIcon. If there is one instace of it, it is found by Altacast
Also checked Shade skin, is ok, Latenight ok too.

@mixxxbot mixxxbot transferred this issue from another repository Aug 24, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
broadcast Bugs pertaining to streaming radio broadcaster use-case bug qt5
Projects
None yet
Development

No branches or pull requests

1 participant