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

Dynamic branding color for different build types #5166

Draft
wants to merge 53 commits into
base: master
Choose a base branch
from
Draft
Show file tree
Hide file tree
Changes from 3 commits
Commits
Show all changes
53 commits
Select commit Hold shift + click to select a range
c0f45b9
Get rid of Synchro
rubiefawn Sep 3, 2019
f741b8a
Update README.md
rubiefawn Sep 3, 2019
9bfa4d0
Add SVG splash screen to recolor script
rubiefawn Sep 9, 2019
c71413f
:penguin: Fix wildcard, improve readability
rubiefawn Sep 10, 2019
c696ce8
:apple: Fix wildcard, improve readability
rubiefawn Sep 10, 2019
d4e4213
:checkered_flag: Fix wildcard, improve readability
rubiefawn Sep 10, 2019
7e81b92
Add mechanism to assist build type auto-detection
rubiefawn Sep 10, 2019
f80bdae
:penguin: Move script to OS-specific folder
rubiefawn Sep 10, 2019
588005c
:apple: Move script to OS-specific folder
rubiefawn Sep 10, 2019
1078d80
:checkered_flag: Move script to OS-specific folder
rubiefawn Sep 10, 2019
3f5190f
:checkered_flag: Fix file path typo
rubiefawn Sep 10, 2019
5f04f80
:apple: Fix file path typo
rubiefawn Sep 10, 2019
9a750ee
:apple: Set up script to run through cmake
rubiefawn Sep 10, 2019
1de59a9
:apple: Rename to work with cmake
rubiefawn Sep 10, 2019
f554948
:penguin: Set up script to run through cmake
rubiefawn Sep 10, 2019
fec7400
:penguin: Rename to work with cmake
rubiefawn Sep 10, 2019
673fcc5
Remove magic variable (there's a better way)
rubiefawn Sep 10, 2019
12c7704
:checkered_flag: Polish windows script
rubiefawn Sep 10, 2019
1ba8cab
:apple: Polish apple script
rubiefawn Sep 10, 2019
ec207ab
:penguin: Polish linux script
rubiefawn Sep 10, 2019
c3061cf
:recycle: Consolidate to single shell script
rubiefawn Sep 11, 2019
afdf3df
:bug: Fix various things according to failed CI tests
rubiefawn Sep 11, 2019
0f2f1a1
:bug: Delete the bugged line instead of the essential one
rubiefawn Sep 11, 2019
adb5ca0
:construction: I have no idea how this works
rubiefawn Sep 11, 2019
233420d
:green_heart: Fix shellcheck
rubiefawn Sep 11, 2019
0e8bd4e
:green_heart: Fix shellcheck again before I go to bed
rubiefawn Sep 11, 2019
4d644ee
Refactor branding generation
tresf Sep 13, 2019
7e3ff7b
Cherry pick e1d16f2
tresf Sep 13, 2019
fd0cf50
New logos, fix project icons
tresf Sep 13, 2019
42ff8fc
Minor typos
tresf Sep 13, 2019
afb8f76
Minor fix
tresf Sep 13, 2019
a1a77ff
Fix shellcheck warnings
tresf Sep 13, 2019
fce9453
Add more sample colors, temporary montage support
tresf Sep 13, 2019
7ffac7a
Detect branding tools before running script
tresf Sep 13, 2019
fa4fa75
Fix shellcheck again
tresf Sep 13, 2019
8ffca1e
Cleanup output, run only when needed
tresf Sep 14, 2019
080ad14
Semi-final colors
tresf Sep 15, 2019
16c795e
Fix splash opacity for purple
tresf Sep 15, 2019
4d75056
Fix opacity
tresf Sep 15, 2019
131efe1
Fix blue border
tresf Sep 15, 2019
1efc917
Add theme support
tresf Oct 6, 2019
35a92b8
Fix typo
tresf Oct 6, 2019
c4eed28
Convert bash script to cmake
tresf Oct 7, 2019
35cf7b5
Minor cleanup
tresf Oct 7, 2019
d8c5cbd
Minor cleanup
tresf Oct 7, 2019
49d4307
Merge branch 'master' into dynamic-icon
PhysSong Oct 28, 2019
7c61126
Replace cmake 3.7 LESS_EQUAL
tresf Nov 2, 2019
6a49f11
Spaces to tabs
tresf Nov 2, 2019
94f742c
Add build type to about; fix INSTALL ordering; typo
tresf Nov 2, 2019
c2a9b42
Add Gimp detection, initial cli invocation
tresf Jul 24, 2020
b0731c1
Merge remote-tracking branch 'upstream/master' into dynamic-icon
PhysSong Mar 3, 2022
4b480c0
Merge branch 'master' into dynamic-icon
PhysSong Jan 14, 2023
e593da2
Update a typo in VersionInfo.cmake
PhysSong Jan 14, 2023
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# ![LMMS Logo](http://lmms.sourceforge.net/Lmms_logo.png) LMMS
# ![LMMS Logo](cmake/branding/icon-branding.svg) LMMS

[![Build status](https://img.shields.io/travis/LMMS/lmms.svg?maxAge=3600)](https://travis-ci.org/LMMS/lmms)
[![Latest stable release](https://img.shields.io/github/release/LMMS/lmms.svg?maxAge=3600)](https://lmms.io/download)
Expand Down
50 changes: 50 additions & 0 deletions cmake/branding/generate_icons_linux.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,50 @@
#!/bin/bash

# Recolor icon
echo Recoloring vector icon...
case "$1" in
"-r" ) # Release
sed 's/#780116/#249a56/g; s/#c51306/#50d99b/g' icon.svg > recolored.svg
sed 's/#780116/#249a56/g; s/#c51306/#50d99b/g' splash.svg > splash-recolored.svg
;;
"-b" | "-rc" ) # Beta/Release Candidate
sed 's/#780116/#0267c1/g; s/#c51306/#09a9d9/g' icon.svg > recolored.svg
sed 's/#780116/#0267c1/g; s/#c51306/#09a9d9/g' splash.svg > splash-recolored.svg
;;
"-c" | "-n" ) # Canary/Nightly
sed 's/#780116/#ffa40f/g; s/#c51306/#fad200/g' icon.svg > recolored.svg
sed 's/#780116/#ffa40f/g; s/#c51306/#fad200/g' splash.svg > splash-recolored.svg
;;
* ) # No type specified, leave it be
sed '' icon.svg > recolored.svg
sed '' splash.svg > splash-recolored.svg
;;
esac

# Generate raster images
echo Generating raster images for icon...
for RES in 16 24 32 48 64 96 128
do
mkdir -p icons/${RES}x${RES}/apps
rsvg-convert -w $RES -h $RES -o "icons/${RES}x${RES}/apps/lmms.png" recolored.svg
tresf marked this conversation as resolved.
Show resolved Hide resolved
done

for RES in 16 24 32 48 64 96 128
do
mkdir -p icons/${RES}x${RES}@2/apps
rsvg-convert -w $((RES * 2)) -h $((RES * 2)) -o "icons/${RES}x${RES}@2/apps/lmms.png" recolored.svg
done

echo Generating raster image for splash screen...
rsvg-convert -w 680 -h 573 -o "../../data/themes/default/splash.png" splash-recolored.svg

mkdir -p icons/scalable/apps
cp recolored.svg icons/scalable/apps/lmms.svg

echo Replacing old icons with new ones...
cp -r -f icons ../linux/

# Clean up images
echo Cleaning up temporary images...
rm -f *recolored.svg
rm -rf icons
55 changes: 55 additions & 0 deletions cmake/branding/generate_icons_osx.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,55 @@
#!/bin/bash

# Recolor icon
echo Recoloring vector icon...
case "$1" in
"-r" ) # Release
sed 's/#780116/#249a56/g; s/#c51306/#50d99b/g' icon.svg > recolored.svg
sed 's/#780116/#249a56/g; s/#c51306/#50d99b/g' splash.svg > splash-recolored.svg
;;
"-b" | "-rc" ) # Beta/Release Candidate
sed 's/#780116/#0267c1/g; s/#c51306/#09a9d9/g' icon.svg > recolored.svg
sed 's/#780116/#0267c1/g; s/#c51306/#09a9d9/g' splash.svg > splash-recolored.svg
;;
"-c" | "-n" ) # Canary/Nightly
sed 's/#780116/#ffa40f/g; s/#c51306/#fad200/g' icon.svg > recolored.svg
sed 's/#780116/#ffa40f/g; s/#c51306/#fad200/g' splash.svg > splash-recolored.svg
;;
* ) # No type specified, leave it be
sed '' icon.svg > recolored.svg
sed '' splash.svg > splash-recolored.svg
;;
esac

# Generate raster images
echo Generating raster images for icon...
rsvg-convert -w 1024 -h 1024 icon_512x512@2x.png recolored.svg
rsvg-convert -w 512 -h 512 -o icon_512x512.png recolored.svg
rsvg-convert -w 256 -h 256 -o icon_256x256.png recolored.svg
rsvg-convert -w 128 -h 128 -o icon_128x128.png recolored.svg
rsvg-convert -w 64 -h 64 -o icon_64x64.png recolored.svg
rsvg-convert -w 32 -h 32 -o icon_32x32.png recolored.svg
rsvg-convert -w 16 -h 16 -o icon_16x16.png recolored.svg

# Move to .iconset
mkdir lmms.iconset
cp icon_512x512@2x.png icon_512x512.png icon_256x256.png icon_128x128.png icon_64x64.png icon_32x32.png icon_16x16.png lmms.iconset

# Make @2x duplicates
cp icon_32x32.png lmms.iconset/icon_16x16@2x.png
cp icon_64x64.png lmms.iconset/icon_32x32@2x.png
cp icon_256x256.png lmms.iconset/icon_128x128@2x.png
cp icon_512x512.png lmms.iconset/icon_256x256@2x.png

# Generate macOS .icns from .iconset
echo Generating macOS .icns from raster images...
iconutil -c icns -o icon.icns lmms.iconset

echo Generating raster image for splash screen...
rsvg-convert -w 680 -h 573 -o "../../data/themes/default/splash.png" splash-recolored.svg

# Clean up images
echo Cleaning up temporary images...
rm -f *recolored.svg
rm -f icon_*.png
rm -r lmms.iconset
54 changes: 54 additions & 0 deletions cmake/branding/generate_icons_win.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,54 @@
#!/bin/bash

# Recolor icon
echo Recoloring vector images...
case "$1" in
"-r" ) # Release
sed 's/#780116/#249a56/g; s/#c51306/#50d99b/g' icon.svg > icon_recolored.svg
sed 's/#780116/#249a56/g' logo-small.svg > logo_small_recolored.svg
sed 's/#780116/#249a56/g' logo.svg > logo_recolored.svg
sed 's/#780116/#249a56/g; s/#c51306/#50d99b/g' splash.svg > splash-recolored.svg
;;
"-b" | "-rc" ) # Beta/Release Candidate
sed 's/#780116/#0267c1/g; s/#c51306/#09a9d9/g' icon.svg > icon_recolored.svg
sed 's/#780116/#0267c1/g' logo-small.svg > logo_small_recolored.svg
sed 's/#780116/#0267c1/g' logo.svg > logo_recolored.svg
sed 's/#780116/#0267c1/g; s/#c51306/#09a9d9/g' splash.svg > splash-recolored.svg
;;
"-c" | "-n" ) # Canary/Nightly
sed 's/#780116/#ffa40f/g; s/#c51306/#fad200/g' icon.svg > icon_recolored.svg
sed 's/#780116/#ffa40f/g' logo-small.svg > logo_small_recolored.svg
sed 's/#780116/#ffa40f/g' logo.svg > logo_recolored.svg
sed 's/#780116/#ffa40f/g; s/#c51306/#fad200/g' splash.svg > splash-recolored.svg
;;
* ) # No type specified, leave it be
sed '' icon.svg > recolored.svg
sed '' logo-small.svg > logo_small_recolored.svg
sed '' logo.svg > logo_recolored.svg
sed '' splash.svg > splash-recolored.svg
;;
esac

# Generate raster images
echo Generating raster images for icon...
rsvg-convert -w 128 -h 128 -o icon_128x128.png icon_recolored.svg
rsvg-convert -w 64 -h 64 -o icon_64x64.png icon_recolored.svg
rsvg-convert -w 48 -h 48 -o icon_48x48.png icon_recolored.svg
rsvg-convert -w 32 -h 32 -o icon_32x32.png icon_recolored.svg
rsvg-convert -w 16 -h 16 -o icon_16x16.png icon_recolored.svg

echo Generating raster image for splash screen...
rsvg-convert -w 680 -h 573 -o "../../data/themes/default/splash.png" splash-recolored.svg

echo Generating raster images for NSIS installer...
rsvg-convert -w 192 -h 192 -o ../nsis/assets/SmallLogo.png logo_small_recolored.svg
rsvg-convert -w 600 -h 600 -o ../nsis/assets/Logo.png logo_recolored.svg

# Generate Windows .ico icon
echo Generating Windows .ico from raster images...
convert icon_16x16.png icon_32x32.png icon_48x48.png icon_64x64.png icon_128x128.png -background transparent ../nsis/icon.ico

# Clean up images
echo Cleaning up temporary images...
rm -f *recolored.svg
rm -f icon_*.png
120 changes: 120 additions & 0 deletions cmake/branding/icon-branding.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading