munt / munt

A multi-platform software synthesiser emulating pre-GM MIDI devices such as the Roland MT-32, CM-32L, CM-64 and LAPC-I. In no way endorsed by or affiliated with Roland Corp.
http://munt.sourceforge.net/
620 stars 82 forks source link

Improve X desktop integration #55

Closed sergm closed 3 years ago

sergm commented 3 years ago

As suggested by @IlyaIndigo in #54, the desktop file should advertise more categories which are relevant to mt32emu-qt. Namely, Categories=Qt;AudioVideo;Midi; should be more appropriate.

Also, as we only have bitmap icons, we should install more of them under path /usr/share/icons/hicolor/NxN/apps/ for better desktop experience and avoid relying on the system to scale one icon.

13ilya commented 3 years ago

https://build.opensuse.org/package/view_file/multimedia:libs/mt32emu/mt32emu-qt.desktop?expand=1 At the moment, my desktop file looks like this. However, I think the name munt should be dropped in favor of mt32emu and not mention it anywhere except in the description.

13ilya commented 3 years ago

The hardest part for me, when I create a new package, is to come up with, and even translate into English, Summary and Description for both the main package and all of its subpackages. I don't think anyone can do it better than the project author. At the moment it looks like this. https://build.opensuse.org/package/view_file/multimedia:libs/mt32emu/mt32emu.spec?expand=1 Is there anything you would like to change or add?

sergm commented 3 years ago

However, I think the name munt should be dropped in favor of mt32emu and not mention it anywhere except in the description.

Well, it's kind of well-known atm, and probably grouping the subprojects under munt name isn't so bad and should help finding it instead. For instance, MSYS2 also keeps the munt project name as can be seen in their package index.

13ilya commented 3 years ago

For me, from the point of view of a package maintainer as well as from the point of view of a user of a linux distribution, this is hard to understand. If a project is called munt, I expect its library to be called libmunt.so.0, its executable (if there is no console utility and only 1 frontend is available), will be called munt, or the console utility will be called munt and the gui munt-qt. But nothing is called by this name. it's just mentioned and that's it. Everything is named mt32emu and the pure name mt32emu is not used. It is assumed that there will either be a console utility mt32emu in the future or this is the common name of the project. But the project is called munt and it has a common source code. I can't get this into my head. It would be only worse if each component had its own name too. This also confuses the user. The user knows exactly about munt, he tries to install it sudo zypper in munt but there is no such package, because it is called mt32emu-qt but the user has no idea about this, he knows only munt. I don't understand why to get so twisted.

sergm commented 3 years ago

Description for both the main package and all of its subpackages. I don't think anyone can do it better than the project author. At the moment it looks like this. https://build.opensuse.org/package/view_file/multimedia:libs/mt32emu/mt32emu.spec?expand=1 Is there anything you would like to change or add?

Well, I've put my version of package descriptions in the packages that already exist :) You are welcome to look at the rpm packages at SourceForge. Sample descriptions are pulled from the files related to the FreeBSD port included in the source tree (just because it was created first, heh).

There is one thing that looks weird to me in that spec file openSUSE. The library binary and its devel packages require quite some stuff as dependencies. I assume all those aren't really necessary except for building the mt32emu-qt application, so if the user doesn't needs the mt32emu-qt application he could save on installing those dependencies.

sergm commented 3 years ago

But nothing is called by this name. it's just mentioned and that's it.

Oh really? We have two projects at GitHub and SourceForge named munt, isn't it enough yet?

Everything is named mt32emu and the pure name mt32emu is not used.

I don't understand this point. mt32emu is the name of the core synthesiser engine, and hence the library that implements this engine. Anyway, both munt and mt32emu names stick for long, they existed when I came to this project, and I'm not going to change this as I personally feel quite comfortable with that. You may simply consider munt to be a codename or something.

It would be only worse if each component had its own name too.

Again, I don't understand this. Each component is supposed to have an unique name, right? Else we would be unable to distinguish them...

This also confuses the user. The user knows exactly about munt, he tries to install it sudo zypper in munt but there is no such package, because it is called mt32emu-qt but the user has no idea about this, he knows only munt.

Well, I assume the user would not try to install an unknown package that way. I for one always start with searching, and if doing it right, both "munt" and "mt32emu" should lead the user to the right packages.

I don't understand why to get so twisted.

As I mentioned, this is for historical reasons, and most of the users we have are well aware of the naming.