diff --git a/scripts/create_mac_icon.sh b/scripts/create_mac_icon.sh
new file mode 100755
index 00000000..3467da93
--- /dev/null
+++ b/scripts/create_mac_icon.sh
@@ -0,0 +1,18 @@
+#!/bin/bash
+set -e
+
+svg_file="$1"
+test -z "$svg_file" && exit 1
+
+sizes="32 48 128 256"
+
+rm -f "$svg_file".icon.*.png
+
+for size in $sizes; do
+ png_file="$svg_file".icon."$size".png
+ inkscape -e "$png_file" "$svg_file" -w "$size" -h "$size"
+ optipng "$png_file"
+done
+
+png2icns "$svg_file".icns "$svg_file".icon.*.png
+rm -f "$svg_file".icon.*.png
diff --git a/scripts/create_windows_icon.sh b/scripts/create_windows_icon.sh
new file mode 100755
index 00000000..710fbdc8
--- /dev/null
+++ b/scripts/create_windows_icon.sh
@@ -0,0 +1,18 @@
+#!/bin/bash
+set -e
+
+svg_file="$1"
+test -z "$svg_file" && exit 1
+
+sizes="32 48 128 256"
+
+rm -f "$svg_file".icon.*.png
+
+for size in $sizes; do
+ png_file="$svg_file".icon."$size".png
+ inkscape -e "$png_file" "$svg_file" -w "$size" -h "$size"
+ optipng "$png_file"
+done
+
+icotool -c -o "$svg_file".ico "$svg_file".icon.*.png
+rm -f "$svg_file".icon.*.png
diff --git a/vst/CMakeLists.txt b/vst/CMakeLists.txt
index 7eaa90f7..808660c0 100644
--- a/vst/CMakeLists.txt
+++ b/vst/CMakeLists.txt
@@ -63,7 +63,9 @@ execute_process (
if(WIN32)
set_target_properties(${VSTPLUGIN_PRJ_NAME} PROPERTIES
LIBRARY_OUTPUT_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}/${VSTPLUGIN_BUNDLE_NAME}/Contents/${VST3_PACKAGE_ARCHITECTURE}-win")
- # TODO: make desktop.ini, Plugin.ico
+ file(COPY "${CMAKE_CURRENT_SOURCE_DIR}/win/Plugin.ico"
+ "${CMAKE_CURRENT_SOURCE_DIR}/win/desktop.ini"
+ DESTINATION "${CMAKE_CURRENT_BINARY_DIR}/${VSTPLUGIN_BUNDLE_NAME}")
elseif(APPLE)
set_target_properties(${VSTPLUGIN_PRJ_NAME} PROPERTIES
SUFFIX ""
@@ -74,7 +76,8 @@ elseif(APPLE)
set(SFIZZ_VST3_BUNDLE_VERSION "${PROJECT_VERSION}")
configure_file("${CMAKE_CURRENT_SOURCE_DIR}/mac/Info.plist"
"${CMAKE_CURRENT_BINARY_DIR}/${VSTPLUGIN_BUNDLE_NAME}/Contents/Info.plist" @ONLY)
- # TODO: create icons as sfizz.icns, and fill it in as CFBundleIconFile
+ file(COPY "${CMAKE_CURRENT_SOURCE_DIR}/mac/Plugin.icns"
+ DESTINATION "${CMAKE_CURRENT_BINARY_DIR}/${VSTPLUGIN_BUNDLE_NAME}/Contents/Resources")
else()
set_target_properties(${VSTPLUGIN_PRJ_NAME} PROPERTIES
LIBRARY_OUTPUT_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}/${VSTPLUGIN_BUNDLE_NAME}/Contents/${VST3_PACKAGE_ARCHITECTURE}-linux")
diff --git a/vst/mac/Info.plist b/vst/mac/Info.plist
index 00c2b750..fe09355f 100644
--- a/vst/mac/Info.plist
+++ b/vst/mac/Info.plist
@@ -7,7 +7,7 @@
CFBundleExecutable
@SFIZZ_VST3_BUNDLE_EXECUTABLE@
CFBundleIconFile
-
+ Plugin.icns
CFBundleIdentifier
tools.sfz.sfizz
CFBundleInfoDictionaryVersion
diff --git a/vst/mac/Plugin.icns b/vst/mac/Plugin.icns
new file mode 100644
index 00000000..f8ce53c4
Binary files /dev/null and b/vst/mac/Plugin.icns differ
diff --git a/vst/resources/logo.svg b/vst/resources/logo.svg
new file mode 100644
index 00000000..f4a65f2c
--- /dev/null
+++ b/vst/resources/logo.svg
@@ -0,0 +1,78 @@
+
+
+
diff --git a/vst/win/Plugin.ico b/vst/win/Plugin.ico
new file mode 100644
index 00000000..51656576
Binary files /dev/null and b/vst/win/Plugin.ico differ
diff --git a/vst/win/desktop.ini b/vst/win/desktop.ini
new file mode 100644
index 00000000..be3001a9
--- /dev/null
+++ b/vst/win/desktop.ini
@@ -0,0 +1,2 @@
+[.ShellClassInfo]
+IconResource=Plugin.ico,0