SoundCharts branding assets
This folder holds the master art for the SoundCharts icon and macOS installer, and the icon and installer files generated from it. The build, the CI release workflow and the documentation site use these files.
Source files
Edit these files, then regenerate the assets.
| File | Purpose |
|---|---|
icon.svg |
Master application icon, 1024×1024. |
dmg-background.svg |
Master background for the macOS .dmg installer window, 540×380. |
Generate.sh |
Script that regenerates every generated file below from the two SVGs. |
Generated files
These files are committed. Don't edit them by hand.
| File | Used by |
|---|---|
AppIcon.png (1024×1024) |
The Avalonia window icon. Also the 1024 px source for Linux. |
AppIcon.icns |
The macOS .app bundle icon and the DMG volume icon. |
AppIcon.ico |
The Windows executable icon. Contains 16, 32, 48, 64, 128 and 256 px images. |
dmg-background.png |
The macOS installer DMG background, 540×380. |
dmg-background@2x.png |
A 1080×760 Retina version of the DMG background. The CI workflow doesn't use it yet. |
png/AppIcon-<size>.png |
Single-size PNGs at 16, 32, 48, 64, 128, 256, 512 and 1024 px, for Linux icon themes and other reuse. |
How the build uses the assets
- Window icon:
EncDotNet.S100.Viewer.csprojincludesBranding/AppIcon.pngas anAvaloniaResource, andMainWindow.axamlsetsIcon="avares://SoundCharts/Branding/AppIcon.png". - Windows executable icon: the same project file sets
<ApplicationIcon>Branding\AppIcon.ico</ApplicationIcon>, sodotnet publishfor awin-*runtime embeds the icon in the executable. - macOS app icon:
Info.plistsetsCFBundleIconFiletoAppIcon, and the publish workflow copiesAppIcon.icnsintoSoundCharts.app/Contents/Resources/. - macOS DMG: the publish workflow builds the DMG with
create-dmg, using
dmg-background.pngas the window background andAppIcon.icnsas the volume icon. The window size and icon positions inpublish.ymlmust match the layout drawn indmg-background.svg. - Documentation site:
docfx.jsonusesicon.svgas the site logo and favicon.
Regenerate the assets
Run the script after you edit either SVG. It needs macOS, because it uses
sips and iconutil, and Python 3 with Pillow to write the .ico file.
python3 -m pip install --user Pillow
./Generate.sh
The script overwrites AppIcon.png, AppIcon.icns, AppIcon.ico, both DMG
background PNGs and the png/ folder. Commit the regenerated files with the
SVG change.
Icon design
The icon is a geometric, faceted treatment of the S-100 chart palette:
- Buff land (
#e7cf8e) with a desaturated gold coastline. - Stepped depth bands, from shallow (
#c9deec) to deepest (#5d9bd3). - Two layers of simplified contour lines.
- A navy (
#0b3a67) frame that is also the icon's rounded-rectangle mask. The bezel is part of the artwork; the operating system doesn't apply it.
Land fills the upper left, and open water extends toward the lower right, the way a chart of a coastline usually appears in SoundCharts.