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

Better Theming Support #1839

Open
1 of 5 tasks
tresf opened this issue Mar 8, 2015 · 27 comments
Open
1 of 5 tasks

Better Theming Support #1839

tresf opened this issue Mar 8, 2015 · 27 comments

Comments

@tresf
Copy link
Member

tresf commented Mar 8, 2015

We have a hypothetical theme titled "Cusis" that has made a lot of commotion in the forums, mailing list, issue tracker and deviant art. To offer some features of this theme, we'll need to offer some better theme support in our code.

Obstacles/Milestones:

Related Bug Reports:


If you think of something, post it and we'll add it to the list. 👍

screen shot 2015-03-08 at 2 02 22 pm

History:

@pgiblock wrote: "I really like [this] work and I will break my back to make sure your theme and the Cusis theme make it into LMMS"

@RebeccaDeField
Copy link
Contributor

I've heard of this beautiful theme before and look forward to seeing it move forward. Has the graphic artists released the source files?

@tresf
Copy link
Member Author

tresf commented Mar 9, 2015

Has the graphic artists released the source files?

@RebeccaDeField from what I'm observing, the artist is still in the early design stages, so no, not yet.

Here's a copy of the latest post from the forum topic:

"Here is an image of the template file i'm working on. I couldn't find / sort all of the images, as i couldn't locate them in LMMS.

The file will work like this:

Next to each default / master image there will be a duplicate image or design with a slice fitting the exact proportions of the original. All you have to do it design within that space, and then export slices. (all slices will be setup with correct file name for exporting in one go, or individually.)

I also plan to edit the css file to make it correspond to the section number on this file, so that when needing to change a background or gradient within a certain, it is a lot easier to identify and or find.

This file should be compatible for Photoshop and Fireworks."

image

@RebeccaDeField
Copy link
Contributor

What a clever way of orginizing the slices. I am exporting my slices directly into the program, but this will definitly make it easier and more acessable for designers to create themes. If Cusis is interested, they can always download any of the icons, splash screens and demo graphics that I have created and modify them as they see fit.

@tresf
Copy link
Member Author

tresf commented Mar 9, 2015

Agreed. I think collaboration is key and I think the struggles we hit in code in one theme are likely to benefit both. 👍

@badosu
Copy link
Contributor

badosu commented Mar 10, 2015

I was having a radical thought after seeing the above prototype: how it would be easier for designers to collaborate on lmms if we could support sprites. The designer would just have to bother with positioning and resizing the artwork precisely, instead of memorizing and creating a lot of files.

Of course, this would be impractical on the code-side, but perhaps we could write a script to slice sprites and automate the process of artwork creation. This could even eliminate the need for specifying an artwork folder at all... This would be a really huge effort, but would make it so easy for theme creation that it could pay off. You would have just 2 files to think about: the css file and the sprite file.

@tresf
Copy link
Member Author

tresf commented Mar 10, 2015

Agreed, sprites have their benefits.... Are we sure CSS can't do the sprite stuff for us?

@tresf
Copy link
Member Author

tresf commented Mar 10, 2015

Or we use a 3rd party tool to slice and dice, so we don't clutter our code... :)

@badosu
Copy link
Contributor

badosu commented Mar 10, 2015

@tresf I find it unlikely, but not impossible. There could be a way to not use 3rd party code outside of QT and LMMS main process but I would have to research.

Unfortunately I am focused on studying DSP to support LV2 and modernize our plugin suite/management on LMMS so I won't be doing this for now.

@tresf
Copy link
Member Author

tresf commented Mar 10, 2015

Fixed. :)

Fortunately I am focused on studying DSP to support LV2 and modernize our plugin suite/management on LMMS

@badosu
Copy link
Contributor

badosu commented Mar 10, 2015

@tresf Well, unfortunately this is totally alien for me, so it will take a while :-). I made some progress building a generic QT host for lv2 plugins, adapting Jalv, see:

http://bado.so/2015-03-06-031713_1919x1045_scrot.png

This is amSynth on the jalv.qt host that I am helping develop, this will be useful as the analogue for the "controls" menu we use on VSTs to access parameters hidden by the UI or that need automation.

@deragon
Copy link

deragon commented Mar 19, 2015

Just a reminder that the font size used in the current theme (the one released) is just too small, extremely hard to read on a 15" screen laptop with 1080 resolution. This should be a priority, even if it means to hack the current theme instead of waiting for Cusis.

@tresf
Copy link
Member Author

tresf commented Mar 19, 2015

This should be a priority, even if it means to hack the current theme instead of waiting for Cusis.

Then make it one. We are all volunteers here that use the software too. We know how badly these items need addressing but we lack the proper help to get them all done in a reasonable amount of time. :)

@deragon
Copy link

deragon commented Mar 19, 2015

No time. I have my own open source project to take care of

And I receive valuable input from users and never I have asked them to contribute. The users are entitled to their opinion and can shed light on priorities. In this case, I am pointing out that the font size is an issue for those who have sight problems (i.e. 40+ years old). Ideally, if it is possible to increase the size in the current theme relatively easily, it should be done instead of waiting after Cusis that might take months to realize. It is a suggestion, nothing else.

@tresf
Copy link
Member Author

tresf commented Mar 19, 2015

No time. I have my own open source project to take care of

So do the rest of us. 👍

And I receive valuable input from users and never I have asked them to contribute.

Perhaps, but your above input is not valuable. But of course as a coder, you already know that. Bugs #541 #82 #455 brought the font size to a bug report and we've taken the time to organize and prioritize theme support, I'm not sure what value your statement "this should be a priority" adds. It's bossy and demanding. Not valuable. Not informative.

Furthermore, this project has a team that was mostly uninvolved code-wise one year ago. I'm not sure if your personal project is the same way, but our bugs and our codebase are ONLY improved by our community. The original author of LMMS is no longer our most active code contributor, so we rely almost solely on the help from others.

So, when you walk into a mosque and tell the community members someone should fix the crack in the wall, don't be surprised when they ask you if you know how to fix walls. 👍

@Umcaruje
Copy link
Member

I think the issue @deragon mentions also has a connection to #455 which should be fixed when LMMS gets upgraded to use Qt 5.

@RebeccaDeField
Copy link
Contributor

I think both @deragon and @tresf have a point. If I am understanding corectly, you are trying to say that although the font size is an issue in the Cusis theme, that it also needs to be an issue on the current theme. You also are trying to provide some valuable input, by letting us know that in your opinion it is very important and why.

@tresf Wants to keep the integrity of the Open Source concept, which is also important. He is also making sure that everyone understands this is not like a company where you can asign tasks unless you are doing it yourself. People work on a volunteer basis.

My question is, has this issue already been added as an important issue on the main theme? If so, what are the first steps to making that a reality so that if someone does have time, they can do that. Should we choose a new font size, pherhaps? Or has that already been chosen? Or are we still unsure how to change the font size to begin with?

In the theme that I am creating, I am sure I will need to change the font as well so it seems this is a consistant issue.

Thank you in advance for the valuable time you spend on answering my questions.

@tresf
Copy link
Member Author

tresf commented Mar 19, 2015

Or are we still unsure how to change the font size to begin with?

Yes that or perhaps @Umcaruje's point (which speaks about a possible technical limitation that can be addressed with switching the project to QT5).

The major problem we have with this stuff in general is that theming simply wasn't included into the design of many of our widgets, font-size included.

The tremendous benefit our project has over many other large C++ projects is that our build tutorial is so efficient, someone can have Ubuntu installed in a VM and have the software compiled in just a few hours. Most of this time is waiting for Ubuntu to download the dependencies, so this is really a sit-back-and-relax type task. So much so that many of us actually run build environments on multiple OSs (this really helps us troubleshoot platform-dependent issues).

The codebase is quite a bit of work to get one's head wrapped around, but finding a pixmap can be quite trivial thanks to the wonderful GitHub.

And we don't expect every bug submitter to fix their own bugs but most of the developers here actually manage multiple projects too (and I'm pretty sure all of them use the software to make music) so its less a matter of what we contribute to and more of a matter of how we contribute. Most of our code contributors help multiple LMMS sub-projects as well (such as our social media pages, forums, events, our website, our sample library).

So all this said, we still have people like Dave that say "give me work!". Let's give him work! With a little bit of research, the cosmetic and the coding can come together, we just need more help, and that takes people stepping up to the tasks that they feel need attention -- be that themes, performance, DSP, etc . 🎈

-Tres

@diizy
Copy link
Contributor

diizy commented Mar 20, 2015

Well when it comes to font sizes, there is no one "right size", because there is no one standard DPI that all monitors use. A font size that is "too small" for some may be uncomfortably clunky and large for others.

So considering that we're not flooded with requests to increase the font size in the default theme, I think it's safe to leave it as is for now.

That said, nothing is stopping anyone from creating a "large font theme" for LMMS. Most of the font sizes should already be configurable in CSS, if there are places where it can't be changed (settings window was one IIRC) then those need to be addressed in code. Otherwise it's up to theme makers.

@Spekular
Copy link
Member

Spekular commented Mar 20, 2015 via email

This was referenced Mar 31, 2015
@Umcaruje Umcaruje added the gui label Jul 5, 2015
@musikBear
Copy link

Here is an image comment on readability - I am well aware that the issue is undergoing work, but my question here is simply:
Couldent the mouseover tool-tip be used to echo the block name? -better fonts are Still needed, but the readability would be significant better with mouseover ?
readblocknames

Pop quiz -What is the name of the blocks?
relevant : #1935

@tresf
Copy link
Member Author

tresf commented Aug 19, 2015

@musikBear please provide a readability enhancement report. This should be relatively easy for a UX programmer to tackle.

@michaelgregorius
Copy link
Contributor

What do you think about giving the text a semitransparent background rectangle?

1839 - readability

I have also switched the text color for muted elements from almost black to 50% gray.

Judging from the code it seems that muted elements should also have an icon:

if( m_pat->isMuted() )
{
    p.drawPixmap( 3, p.fontMetrics().height() + 1, embed::getIconPixmap( "muted", 16, 16 ) );
}

The icon looks as follows:
muted

Was this turned off intentionally? In case it was not I guess this is something for a new issue?

@Umcaruje
Copy link
Member

A bit off-topic but:

@musikBear could you please crop your screenshots? Some of your screenshots have abnormal amounts of whitespace around them, which makes viewing them on mobile a nightmare.

@mamarilmanson
Copy link

Have you invited him here on github? :)

@musikBear
Copy link

@michaelgregorius

What do you think about giving the text a semitransparent background rectangle?

That is better, yes -but mouseover would show the name, even if the block was to short for a ..namespace :p

(and btw the sentence Use mousewheel to set the volume of a step is confusing. If i, as a new user, saw that in this context, i would misunderstand the word 'step' as a bar in song-editor, and expect to be able to set the volume of this block )

@Umcaruje done -sorry, i used the wrong one in upload

@tresf will do

@Umcaruje
Copy link
Member

Umcaruje commented May 1, 2016

About the Many widgets not currently themable point: Can someone make a list of what else is not themeable? During the efforts of making the new theme, we made a lot of previously hard-coded widgets themeable, so I'm curious at what's left hard-coded.

@IvanMaldonado
Copy link
Contributor

@Umcaruje Say no more, give me some time and I tell you.

@tresf tresf changed the title Cusis Theme Support Better Theming Support Sep 25, 2018
@Spekular Spekular added this to the 1.3 milestone Aug 27, 2020
@Spekular Spekular modified the milestones: 1.3, 1.3+ Mar 12, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests