This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision | ||
sarah_skinning [2017/09/30 16:39] shane |
sarah_skinning [2017/10/01 16:39] (current) shane [Thoughts on skinning] |
||
---|---|---|---|
Line 4: | Line 4: | ||
The present version of SARAH provides for a minimalist skinning approach---just a single background image---the technique, limitations, | The present version of SARAH provides for a minimalist skinning approach---just a single background image---the technique, limitations, | ||
+ | ===== Default GUI is vector-only ===== | ||
+ | If the user does not provide a // | ||
+ | The code still includes support for a default background image, compiled in to the executable using JUCE's // | ||
+ | ===== Raster vs. Vector graphics for GUIs ===== | ||
+ | Using pre-rendered images has only one real drawback: Because computer displays have different pixel densities, the GUI may appear too small on the higher-density displays. Standard LCD screens have about 100 pixels per inch (ppi, aka dpi or "dots per inch" | ||
+ | |||
+ | The advent of high-ppi displays, together with the more prosaic problem of aging users requiring larger GUIs just so they can see them clearly, has led to tremendous interest in so-called " | ||
+ | |||
+ | ===== Advantages of pre-rendered raster GUIs ===== | ||
+ | The traditional raster GUI approach, however old-fashioned it may seem, has a number of advantages: | ||
+ | - It supports [[wp> | ||
+ | - It supports skinning //without coding// | ||
+ | - More generally, the ability to develop GUI designs using image-editing tools allows for highly detailed GUIs and a good (efficient, appropriate) division of labour between programmers and designers. | ||
+ | - CPU usage may be lower, as rendering the GUI reduces to simply [[wp> | ||
+ | |||
+ | ==== Skeuomorphic GUIs: the good, the bad, and the ugly ==== | ||
+ | A lot of people like to hate on skeuomorphic GUI designs, but I happen to think they work quite well for audio plugins, for two reasons: | ||
+ | - While some people decry the visual cacophony of different-looking plugins, having a distinct look for every plugin helps users find the one they are looking for, when several are on-screen and possibly overlapping. | ||
+ | - Within each plugin GUI, users engaged in musical work tend to find their way around by memory---both visual and muscle-memory. Nicely detailed GUI designs facilitate visual memory. | ||
+ | |||
+ | This is not to say that there are not good, bad, and downright ugly skeuomorphic GUI designs around. But imagine if you will, a large screen full of plugin GUIs that all look like Windows apps from the 1980s. How would you find your way around? How could you tell one from another? | ||
+ | |||
+ | ==== Division of labour and " | ||
+ | Building GUIs out of pre-rendered raster graphic images supports an efficient and sensible division of labour between // | ||
+ | |||
+ | ==== " | ||
+ | It's easy to say that highly-detailed graphics need not burden the CPU of the host system, since modern GPUs have become so powerful, but it is quite another thing to program a system to ensure that this is the case. It's worth noting that in the world of interactive games---where CPU and GPU efficiency are pursued relentlessly---pre-rendered graphic " | ||
+ | |||
+ | Any discussion of " | ||