1
0
mirror of https://github.com/tomahawk-player/tomahawk.git synced 2025-09-07 12:40:45 +02:00

Compare commits

..

1 Commits

Author SHA1 Message Date
Dominik Schmidt
24d21ae9db Foo 2014-09-01 00:40:59 +02:00
673 changed files with 46639 additions and 100995 deletions

View File

@@ -1,7 +1,7 @@
[main]
host = https://www.transifex.com
host = https://www.transifex.net
[tomahawk.tomahawk-stable08]
[tomahawk.tomahawk-master]
file_filter = lang/tomahawk_<lang>.ts
source_file = lang/tomahawk_en.ts
source_lang = en

View File

@@ -20,11 +20,6 @@ SET( TOMAHAWK_ORGANIZATION_NAME "Tomahawk" )
SET( TOMAHAWK_ORGANIZATION_DOMAIN "tomahawk-player.org" )
SET( TOMAHAWK_APPLICATION_NAME "Tomahawk" )
SET( TOMAHAWK_DESCRIPTION_SUMMARY "The social media player" )
IF(APPLE)
SET( TOMAHAWK_TARGET_NAME "Tomahawk" )
ELSE()
SET( TOMAHAWK_TARGET_NAME "tomahawk" )
ENDIF()
IF( WIN32 )
SET( TOMAHAWK_SYSTEM "Windows" )
@@ -38,10 +33,10 @@ ENDIF()
SET( TOMAHAWK_VERSION_MAJOR 0 )
SET( TOMAHAWK_VERSION_MINOR 8 )
SET( TOMAHAWK_VERSION_PATCH 4 )
#SET( TOMAHAWK_VERSION_RC 1 )
SET( TOMAHAWK_VERSION_PATCH 99 )
#SET( TOMAHAWK_VERSION_RC 0 )
SET( TOMAHAWK_TRANSLATION_LANGUAGES ar bg bn_IN ca cs da de en el es fi fr hi_IN hu gl id it ja lt nl pl pt_BR ro ru sq sv th tr uk vi zh_CN zh_TW )
SET( TOMAHAWK_TRANSLATION_LANGUAGES ar bg bn_IN ca cs de en el es fi fr hi_IN hu gl it ja lt pl pt_BR ro ru sv tr zh_CN zh_TW )
# add_definitions is only in the scope of this directory and all directories
# below it. Tomahawk Libraries and plugins that are built with Tomahawk are
@@ -57,17 +52,10 @@ tomahawk_add_definitions( "-fvisibility=hidden" )
tomahawk_add_definitions( "-DQT_STRICT_ITERATORS" )
# build options
option(BUILD_RELEASE "Generate TOMAHAWK_VERSION without GIT info" OFF)
if(BUILD_RELEASE)
set(BUILD_NO_RELEASE OFF)
else()
set(BUILD_NO_RELEASE ON)
endif()
option(BUILD_GUI "Build Tomahawk with GUI" ON)
option(BUILD_TESTS "Build Tomahawk with unit tests" ${BUILD_NO_RELEASE})
option(BUILD_TOOLS "Build Tomahawk helper tools" ${BUILD_NO_RELEASE})
option(BUILD_HATCHET "Build the Hatchet plugin" ON)
option(BUILD_RELEASE "Generate TOMAHAWK_VERSION without GIT info" OFF)
option(BUILD_TESTS "Build Tomahawk with unit tests" ON)
option(BUILD_HATCHET "Build the Hatchet plugin" OFF)
option(BUILD_WITH_QT4 "Build Tomahawk with Qt4 no matter if Qt5 was found" ON)
option(WITH_CRASHREPORTER "Build with CrashReporter" ON)
@@ -75,10 +63,6 @@ option(WITH_BINARY_ATTICA "Enable support for downloading binary resolvers autom
option(LEGACY_KDE_INTEGRATION "Install tomahawk.protocol file, deprecated since 4.6.0" OFF)
option(WITH_KDE4 "Build with support for KDE specific stuff" ON)
# build options for development purposes
option(SANITIZE_ADDRESS "Enable Address Sanitizer for memory error detection" OFF)
option(TOMAHAWK_FINEGRAINED_MESSAGES "Enable even more verbose logging (will hurt performance significantly" OFF)
CMAKE_DEPENDENT_OPTION(WITH_UPOWER "Build with support for UPower events" ON
"UNIX;NOT APPLE" OFF)
CMAKE_DEPENDENT_OPTION(WITH_GNOMESHORTCUTHANDLER "Build with shortcut handler for GNOME" ON
@@ -92,32 +76,30 @@ ENDIF()
# generate version string
# base string used in release and unstable builds
SET( TOMAHAWK_VERSION_TMP "${TOMAHAWK_VERSION_MAJOR}.${TOMAHAWK_VERSION_MINOR}.${TOMAHAWK_VERSION_PATCH}")
SET( TOMAHAWK_VERSION_SHORT "${TOMAHAWK_VERSION_TMP}" )
SET( TOMAHAWK_VERSION ${TOMAHAWK_VERSION_MAJOR}.${TOMAHAWK_VERSION_MINOR}.${TOMAHAWK_VERSION_PATCH} )
SET( TOMAHAWK_VERSION_SHORT "${TOMAHAWK_VERSION}" )
IF( TOMAHAWK_VERSION_RC )
SET( TOMAHAWK_VERSION_TMP "${TOMAHAWK_VERSION_TMP}rc${TOMAHAWK_VERSION_RC}")
SET( TOMAHAWK_VERSION ${TOMAHAWK_VERSION}rc${TOMAHAWK_VERSION_RC} )
ENDIF()
# additional info for non-release builds
IF( NOT BUILD_RELEASE AND EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/.git/" )
INCLUDE( CMakeDateStamp )
SET( TOMAHAWK_VERSION_DATE "${CMAKE_DATESTAMP_YEAR}${CMAKE_DATESTAMP_MONTH}${CMAKE_DATESTAMP_DAY}" )
IF( TOMAHAWK_VERSION_DATE GREATER 0 )
SET( TOMAHAWK_VERSION_TMP ${TOMAHAWK_VERSION_TMP}.${TOMAHAWK_VERSION_DATE} )
SET( TOMAHAWK_VERSION ${TOMAHAWK_VERSION}.${TOMAHAWK_VERSION_DATE} )
ENDIF()
INCLUDE( CMakeVersionSource )
IF( CMAKE_VERSION_SOURCE )
SET( TOMAHAWK_VERSION_TMP ${TOMAHAWK_VERSION_TMP}-${CMAKE_VERSION_SOURCE} )
SET( TOMAHAWK_VERSION ${TOMAHAWK_VERSION}-${CMAKE_VERSION_SOURCE} )
ENDIF()
ENDIF()
# write Tomahawk version to cache
SET(TOMAHAWK_VERSION "${TOMAHAWK_VERSION_TMP}" CACHE STRING "Tomahawk Version")
# set paths
SET( THIRDPARTY_DIR "${CMAKE_SOURCE_DIR}/thirdparty" )
SET( THIRDPARTY_DIR ${CMAKE_SOURCE_DIR}/thirdparty )
SET( CMAKE_RUNTIME_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}" )
SET( CMAKE_LIBRARY_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}" )
SET( CMAKE_ARCHIVE_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}" )
@@ -196,7 +178,7 @@ if( NOT Qt5Core_DIR )
endif()
macro_optional_find_package(Qt4 4.7.0 COMPONENTS ${NEEDED_QT4_COMPONENTS} )
macro_log_feature(QT4_FOUND "Qt" "A cross-platform application and UI framework" "http://qt-project.org" TRUE "" "If you see this, although libqt4-devel is installed, check whether the \n qtwebkit-devel package and whatever contains QtUiTools is installed too")
macro_log_feature(QT4_FOUND "Qt" "A cross-platform application and UI framework" "http://qt.nokia.com" TRUE "" "If you see this, although libqt4-devel is installed, check whether the \n qtwebkit-devel package and whatever contains QtUiTools is installed too")
macro(qt5_use_modules)
endmacro()
@@ -249,8 +231,7 @@ else( Qt5Core_DIR )
endif( Qt5Core_DIR )
if( BUILD_GUI AND UNIX AND NOT APPLE )
macro_optional_find_package( X11 )
macro_log_feature(X11_FOUND "X11" "The Xorg libraries" "http://www.x.org/wiki/" TRUE "" "Xorg libraries are used by libqnetwm to bring windows to front reliably")
find_package( X11 )
endif()
# Check if we can use <functional> or need <tr1/functional>
@@ -266,22 +247,22 @@ endif()
macro_optional_find_package(Echonest 2.2.0)
macro_log_feature(ECHONEST_FOUND "Echonest" "Qt library for communicating with The Echo Nest" "http://projects.kde.org/libechonest" TRUE "" "libechonest 2.2.0 is needed for dynamic playlists and the infosystem")
find_package(Boost REQUIRED COMPONENTS filesystem system)
macro_log_feature(Boost_FOUND "Boost" "Provides free peer-reviewed portable C++ source libraries" "http://www.boost.org" TRUE "" "") #FIXME: give useful explanation
macro_optional_find_package(Lucene++ 3.0.0)
macro_log_feature(LUCENEPP_FOUND "Lucene++" "The open-source, C++ search engine" "https://github.com/luceneplusplus/LucenePlusPlus/" TRUE "" "Lucene++ is used for indexing the collection")
macro_optional_find_package(CLucene 0.9.23)
macro_log_feature(CLucene_FOUND "CLucene" "The open-source, C++ search engine" "http://clucene.sf.net" TRUE "" "CLucene is used for indexing the collection")
if( NOT TOMAHAWK_QT5 )
macro_optional_find_package(QJSON 0.8.1)
macro_log_feature(QJSON_FOUND "QJson" "Qt library that maps JSON data to QVariant objects" "http://qjson.sf.net" TRUE "" "libqjson is used for encoding communication between Tomahawk instances")
ENDIF()
macro_optional_find_package(Taglib 1.8.0)
macro_optional_find_package(Taglib 1.6.0)
macro_log_feature(TAGLIB_FOUND "TagLib" "Audio Meta-Data Library" "http://developer.kde.org/~wheeler/taglib.html" TRUE "" "taglib is needed for reading meta data from audio files")
include( CheckTagLibFileName )
check_taglib_filename( COMPLEX_TAGLIB_FILENAME )
find_package(Boost REQUIRED)
macro_log_feature(Boost_FOUND "Boost" "Provides free peer-reviewed portable C++ source libraries" "http://www.boost.org" TRUE "" "") #FIXME: give useful explanation
macro_optional_find_package(Sparsehash)
macro_log_feature(SPARSEHASH_FOUND "Sparsehash"
"An extremely memory-efficient hash_map implementation."
@@ -304,7 +285,7 @@ if( TOMAHAWK_QT5 )
else()
macro_optional_find_package(LibAttica 0.4.0)
endif()
macro_log_feature(LIBATTICA_FOUND "libattica" "Provides support for installation of resolvers from the Tomahawk website" "http://download.kde.org/stable/attica/" TRUE "" "")
macro_log_feature(LIBATTICA_FOUND "libattica" "Provides support for installation of resolvers from the Tomahawk website" "https://projects.kde.org/projects/kdesupport/attica" TRUE "" "")
macro_optional_find_package(QuaZip)
macro_log_feature(QuaZip_FOUND "QuaZip" "Provides support for extracting downloaded resolvers automatically." "http://quazip.sourceforge.net/" TRUE "" "")
@@ -422,19 +403,11 @@ CONFIGURE_FILE(
# ADD_CUSTOM_TARGET(uninstall "${CMAKE_COMMAND}" -P "${CMAKE_CURRENT_BINARY_DIR}/cmake_uninstall.cmake")
# ENDIF()
IF( ( NOT APPLE ) AND ( NOT SANITIZE_ADDRESS ))
IF( NOT APPLE )
# Make linking as strict on linux as it is on osx. Then we don't break linking on mac so often
#
# On using Address Sanitizer, we cannot link to the ASAN lib, so
# --no-undefined would break the build.
SET( CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} -Wl,--no-undefined" )
SET( CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -Wl,--no-undefined" )
ENDIF()
IF ( SANITIZE_ADDRESS )
SET( CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fsanitize=address -fno-omit-frame-pointer")
SET( CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fsanitize=address -fno-omit-frame-pointer")
ENDIF()
ENDIF( NOT APPLE )
# Early configure these files as we need them later on
configure_file(TomahawkUse.cmake.in "${PROJECT_BINARY_DIR}/TomahawkUse.cmake" @ONLY)

View File

@@ -12,8 +12,8 @@ SET(WINDRES_EXECUTABLE ${CMAKE_RC_COMPILER})
# adds application icon to target source list
# for detailed documentation see the top of FindKDE4Internal.cmake
macro (TOMAHAWK_ADD_APP_ICON appsources outfilename pattern)
set (_outfilename ${CMAKE_CURRENT_BINARY_DIR}/${outfilename})
macro (KDE4_ADD_APP_ICON appsources pattern)
set (_outfilename ${CMAKE_CURRENT_BINARY_DIR}/${appsources})
if (WIN32)
if(NOT WINCE)
@@ -86,9 +86,9 @@ macro (TOMAHAWK_ADD_APP_ICON appsources outfilename pattern)
if (_icon)
# first, get the basename of our app icon
add_custom_command(OUTPUT ${_outfilename}.icns ${_outfilename}.tiff
COMMAND ${SIPS_EXECUTABLE} -s format tiff ${_icon} --out ${_outfilename}.tiff
COMMAND ${TIFF2ICNS_EXECUTABLE} ${_outfilename}.tiff ${_outfilename}.icns
add_custom_command(OUTPUT ${_outfilename}.icns ${outfilename}.tiff
COMMAND ${SIPS_EXECUTABLE} -s format tiff ${_icon} --out ${outfilename}.tiff
COMMAND ${TIFF2ICNS_EXECUTABLE} ${outfilename}.tiff ${_outfilename}.icns
DEPENDS ${_icon}
)
@@ -111,4 +111,4 @@ macro (TOMAHAWK_ADD_APP_ICON appsources outfilename pattern)
message(STATUS "Unable to find the sips and tiff2icns utilities - application will not have an application icon!")
endif(SIPS_EXECUTABLE AND TIFF2ICNS_EXECUTABLE)
endif(Q_WS_MAC)
endmacro (TOMAHAWK_ADD_APP_ICON)
endmacro (KDE4_ADD_APP_ICON)

View File

@@ -0,0 +1,132 @@
#
# This module looks for clucene (http://clucene.sf.net) support
# It will define the following values
#
# CLUCENE_INCLUDE_DIRS = CLUCENE_INCLUDE_DIR + CLUCENE_LIBRARY_DIR
# CLUCENE_INCLUDE_DIR = where CLucene/StdHeader.h can be found
# CLUCENE_LIBRARY_DIR = where CLucene/clucene-config.h can be found
# CLUCENE_LIBRARIES = the libraries to link against CLucene
# CLUCENE_VERSION = The CLucene version string
# CLucene_FOUND = set to 1 if clucene is found
#
INCLUDE(CheckSymbolExists)
INCLUDE(FindLibraryWithDebug)
# try to locate a patched unstable version (for comp's sake *sigh*) first
FIND_PACKAGE(CLuceneUnstable QUIET)
IF(CLUCENEUNSTABLE_FOUND)
SET(CLucene_FOUND TRUE)
SET(CLUCENE_INCLUDE_DIR ${CLUCENE_UNSTABLE_INCLUDE_DIRS})
SET(CLUCENE_INCLUDE_DIRS ${CLUCENE_INCLUDE_DIR})
SET(CLUCENE_LIBRARIES ${CLUCENE_UNSTABLE_LIBS})
#MESSAGE(FATAL_ERROR NARF)
ELSE(CLUCENEUNSTABLE_FOUND)
IF(CLucene_FIND_VERSION)
SET(CLUCENE_MIN_VERSION ${CLucene_FIND_VERSION})
ELSEIF()
SET(CLUCENE_MIN_VERSION "0.9.23")
ENDIF(CLucene_FIND_VERSION)
IF(EXISTS ${PROJECT_CMAKE}/CLuceneConfig.cmake)
INCLUDE(${PROJECT_CMAKE}/CLuceneConfig.cmake)
ENDIF(EXISTS ${PROJECT_CMAKE}/CLuceneConfig.cmake)
SET(TRIAL_LIBRARY_PATHS
$ENV{CLUCENE_HOME}/lib${LIB_SUFFIX}
${CMAKE_INSTALL_PREFIX}/lib${LIB_SUFFIX}
/usr/local/lib${LIB_SUFFIX}
/usr/lib${LIB_SUFFIX}
/sw/lib${LIB_SUFFIX}
/usr/pkg/lib${LIB_SUFFIX}
/usr/lib64
/usr/lib/${CMAKE_LIBRARY_ARCHITECTURE}
)
SET(TRIAL_INCLUDE_PATHS
$ENV{CLUCENE_HOME}/include
${CMAKE_INSTALL_PREFIX}/include
/usr/local/include
/usr/include
/sw/include
/usr/pkg/include
)
FIND_LIBRARY_WITH_DEBUG(CLUCENE_CORE_LIBRARY
WIN32_DEBUG_POSTFIX d
NAMES clucene-core
PATHS ${TRIAL_LIBRARY_PATHS})
IF (CLUCENE_CORE_LIBRARY)
MESSAGE(STATUS "Found CLucene core library: ${CLUCENE_CORE_LIBRARY}")
ENDIF (CLUCENE_CORE_LIBRARY)
FIND_LIBRARY_WITH_DEBUG(CLUCENE_SHARED_LIBRARY
WIN32_DEBUG_POSTFIX d
NAMES clucene-shared
PATHS ${TRIAL_LIBRARY_PATHS})
IF (CLUCENE_SHARED_LIBRARY)
MESSAGE(STATUS "Found CLucene shared library: ${CLUCENE_SHARED_LIBRARY}")
ENDIF (CLUCENE_SHARED_LIBRARY)
IF(CLUCENE_CORE_LIBRARY AND CLUCENE_SHARED_LIBRARY)
SET(CLUCENE_LIBRARIES ${CLUCENE_CORE_LIBRARY} ${CLUCENE_SHARED_LIBRARY})
ENDIF(CLUCENE_CORE_LIBRARY AND CLUCENE_SHARED_LIBRARY)
FIND_PATH(CLUCENE_INCLUDE_DIR
NAMES CLucene.h
PATHS ${TRIAL_INCLUDE_PATHS})
IF (CLUCENE_INCLUDE_DIR)
MESSAGE(STATUS "Found CLucene include dir: ${CLUCENE_INCLUDE_DIR}")
ENDIF (CLUCENE_INCLUDE_DIR)
IF(WIN32)
SET(TRIAL_LIBRARY_PATHS ${CLUCENE_INCLUDE_DIR})
ENDIF(WIN32)
SET(CLUCENE_GOOD_VERSION TRUE)
FIND_PATH(CLUCENE_LIBRARY_DIR
NAMES CLuceneConfig.cmake/CLuceneConfig.cmake CLucene/CLuceneConfig.cmake
PATHS ${TRIAL_LIBRARY_PATHS} ${TRIAL_INCLUDE_PATHS} NO_DEFAULT_PATH)
IF (CLUCENE_LIBRARY_DIR)
MESSAGE(STATUS "Found CLucene library dir: ${CLUCENE_LIBRARY_DIR}")
# include CLuceneConfig/CLuceneConfig.cmake
IF(EXISTS ${CLUCENE_LIBRARY_DIR}/CLuceneConfig.cmake/CLuceneConfig.cmake)
INCLUDE(${CLUCENE_LIBRARY_DIR}/CLuceneConfig.cmake/CLuceneConfig.cmake)
ENDIF(EXISTS ${CLUCENE_LIBRARY_DIR}/CLuceneConfig.cmake/CLuceneConfig.cmake)
# include CLucene/CLuceneConfig.cmake
IF(EXISTS ${CLUCENE_LIBRARY_DIR}/CLucene/CLuceneConfig.cmake)
INCLUDE(${CLUCENE_LIBRARY_DIR}/CLucene/CLuceneConfig.cmake)
ENDIF(EXISTS ${CLUCENE_LIBRARY_DIR}/CLucene/CLuceneConfig.cmake)
IF (CLUCENE_VERSION STRLESS "${CLUCENE_MIN_VERSION}")
MESSAGE(ERROR " CLucene version ${CLUCENE_VERSION} is less than the required minimum ${CLUCENE_MIN_VERSION}")
SET(CLUCENE_GOOD_VERSION FALSE)
ENDIF (CLUCENE_VERSION STRLESS "${CLUCENE_MIN_VERSION}")
IF (CLUCENE_VERSION STREQUAL "0.9.17")
MESSAGE(ERROR "CLucene version 0.9.17 is not supported.")
SET(CLUCENE_GOOD_VERSION FALSE)
ENDIF (CLUCENE_VERSION STREQUAL "0.9.17")
ENDIF (CLUCENE_LIBRARY_DIR)
IF(CLUCENE_INCLUDE_DIR AND CLUCENE_LIBRARIES AND CLUCENE_LIBRARY_DIR AND CLUCENE_GOOD_VERSION)
SET(CLucene_FOUND TRUE)
SET(CLUCENE_INCLUDE_DIRS ${CLUCENE_LIBRARY_DIR} ${CLUCENE_INCLUDE_DIR})
ENDIF(CLUCENE_INCLUDE_DIR AND CLUCENE_LIBRARIES AND CLUCENE_LIBRARY_DIR AND CLUCENE_GOOD_VERSION)
ENDIF(CLUCENEUNSTABLE_FOUND)
IF(CLucene_FOUND)
IF(NOT CLucene_FIND_QUIETLY)
MESSAGE(STATUS "Found CLucene: ${CLUCENE_LIBRARIES} version ${CLUCENE_VERSION}")
ENDIF(NOT CLucene_FIND_QUIETLY)
ELSE(CLucene_FOUND)
IF(CLucene_FIND_REQUIRED)
MESSAGE(FATAL_ERROR "Could not find CLucene.")
ENDIF(CLucene_FIND_REQUIRED)
ENDIF(CLucene_FOUND)
MARK_AS_ADVANCED(
CLUCENE_INCLUDE_DIRS
CLUCENE_INCLUDE_DIR
CLUCENE_LIBRARY_DIR
CLUCENE_LIBRARIES
)

View File

@@ -0,0 +1,37 @@
# - Try to find clucene-unstable
# This is a workaround for distros, that want to ship a recent enough clucene but don't want to replace the old version
#
# CLUCENEUNSTABLE_FOUND - system has clucene-unstable
# CLUCENE_UNSTABLE_INCLUDE_DIR - the clucene-unstable include directories
# CLUCENE_UNSTABLE_LIBS - link these to use clucene-unstable
#
# (c) Dominik Schmidt <dev@dominik-schmidt.de>
#
# Include dir
find_path(CLUCENE_UNSTABLE_INCLUDE_DIR
NAMES CLucene.h
PATH_SUFFIXES clucene-unstable
PATHS ${KDE4_INCLUDE_DIR}
)
# Finally the library itself
find_library(CLUCENE_UNSTABLE_SHARED_LIB
NAMES clucene-unstable-shared
PATHS ${KDE4_LIB_DIR}
)
find_library(CLUCENE_UNSTABLE_CORE_LIB
NAMES clucene-unstable-core
PATHS ${KDE4_LIB_DIR}
)
SET( CLUCENE_UNSTABLE_LIBS ${CLUCENE_UNSTABLE_SHARED_LIB} ${CLUCENE_UNSTABLE_CORE_LIB} )
SET( CLUCENE_UNSTABLE_INCLUDE_DIRS ${CLUCENE_UNSTABLE_INCLUDE_DIR})
INCLUDE(FindPackageHandleStandardArgs)
FIND_PACKAGE_HANDLE_STANDARD_ARGS(CLuceneUnstable DEFAULT_MSG CLUCENE_UNSTABLE_LIBS CLUCENE_UNSTABLE_INCLUDE_DIRS)
MARK_AS_ADVANCED(CLUCENE_UNSTABLE_LIBS CLUCENE_UNSTABLE_INCLUDE_DIRS)

View File

@@ -7,10 +7,6 @@
# (c) Dominik Schmidt <dev@dominik-schmidt.de>
#
if( TOMAHAWK_QT5 )
set(LASTFM_LIB_SUFFIX "5")
endif()
# Include dir
find_path(LIBLASTFM_INCLUDE_DIR
# Track.h doesn't exist in liblastfm-0.3.1, was called Track back then
@@ -20,7 +16,7 @@ find_path(LIBLASTFM_INCLUDE_DIR
# Finally the library itself
find_library(LIBLASTFM_LIBRARY
NAMES lastfm${LASTFM_LIB_SUFFIX}
NAMES lastfm
PATHS ${KDE4_LIB_DIR}
)

View File

@@ -1,103 +0,0 @@
#
# This module looks for lucene++ support
# It will define the following values
#
# LUCENEPP_INCLUDE_DIRS = LUCENEPP_INCLUDE_DIR + LUCENEPP_LIBRARY_DIR
# LUCENEPP_INCLUDE_DIR = where lucene++/Lucene.h can be found
# LUCENEPP_LIBRARY_DIR = where liblucene++.so can be found
# LUCENEPP_LIBRARIES = the libraries to link against lucene++
# LUCENEPP_VERSION = The lucene++ version string
# LUCENEPP_FOUND = set to 1 if lucene++ is found
#
INCLUDE(CheckSymbolExists)
INCLUDE(FindLibraryWithDebug)
IF(LUCENEPP_FIND_VERSION)
SET(LUCENEPP_MIN_VERSION ${LUCENEPP_FIND_VERSION})
ELSEIF()
SET(LUCENEPP_MIN_VERSION "3.0.0")
ENDIF(LUCENEPP_FIND_VERSION)
SET(TRIAL_LIBRARY_PATHS
$ENV{LUCENEPP_HOME}/lib${LIB_SUFFIX}
${CMAKE_INSTALL_PREFIX}/lib${LIB_SUFFIX}
${CMAKE_INSTALL_PREFIX}/lib
/usr/local/lib${LIB_SUFFIX}
/usr/local/lib/${CMAKE_LIBRARY_ARCHITECTURE}
/usr/lib${LIB_SUFFIX}
/sw/lib${LIB_SUFFIX}
/usr/pkg/lib${LIB_SUFFIX}
/usr/lib64
/usr/lib/${CMAKE_LIBRARY_ARCHITECTURE}
)
SET(TRIAL_INCLUDE_PATHS
$ENV{LUCENEPP_HOME}/include
${CMAKE_INSTALL_PREFIX}/include
/usr/local/include
/usr/include
/sw/include
/usr/pkg/include
)
FIND_LIBRARY_WITH_DEBUG(LUCENEPP_CORE_LIBRARY
WIN32_DEBUG_POSTFIX d
NAMES lucene++
PATHS ${TRIAL_LIBRARY_PATHS})
IF (LUCENEPP_CORE_LIBRARY)
MESSAGE(STATUS "Found Lucene++ core library: ${LUCENEPP_CORE_LIBRARY}")
ENDIF (LUCENEPP_CORE_LIBRARY)
FIND_LIBRARY_WITH_DEBUG(LUCENEPP_SHARED_LIBRARY
WIN32_DEBUG_POSTFIX d
NAMES lucene++-contrib
PATHS ${TRIAL_LIBRARY_PATHS})
IF (LUCENEPP_SHARED_LIBRARY)
MESSAGE(STATUS "Found Lucene++ contrib library: ${LUCENEPP_SHARED_LIBRARY}")
ENDIF (LUCENEPP_SHARED_LIBRARY)
IF(LUCENEPP_CORE_LIBRARY AND LUCENEPP_SHARED_LIBRARY)
SET(LUCENEPP_LIBRARIES ${LUCENEPP_CORE_LIBRARY} ${LUCENEPP_SHARED_LIBRARY} ${Boost_SYSTEM_LIBRARY})
ENDIF(LUCENEPP_CORE_LIBRARY AND LUCENEPP_SHARED_LIBRARY)
FIND_PATH(LUCENEPP_INCLUDE_DIR
NAMES lucene++/Lucene.h
PATHS ${TRIAL_INCLUDE_PATHS})
IF (LUCENEPP_INCLUDE_DIR)
MESSAGE(STATUS "Found Lucene++ include dir: ${LUCENEPP_INCLUDE_DIR}")
ENDIF (LUCENEPP_INCLUDE_DIR)
SET(LUCENEPP_GOOD_VERSION TRUE)
FIND_PATH(LUCENEPP_LIBRARY_DIR
NAMES liblucene++.dylib liblucene++.so liblucene++.dll.a lucene++
PATHS ${TRIAL_LIBRARY_PATHS} ${TRIAL_INCLUDE_PATHS} NO_DEFAULT_PATH)
IF (LUCENEPP_LIBRARY_DIR)
MESSAGE(STATUS "Found Lucene++ library dir: ${LUCENEPP_LIBRARY_DIR}")
IF (LUCENEPP_VERSION STRLESS "${LUCENEPP_MIN_VERSION}")
MESSAGE(ERROR " Lucene++ version ${LUCENEPP_VERSION} is less than the required minimum ${LUCENEPP_MIN_VERSION}")
SET(LUCENEPP_GOOD_VERSION FALSE)
ENDIF (LUCENEPP_VERSION STRLESS "${LUCENEPP_MIN_VERSION}")
ENDIF (LUCENEPP_LIBRARY_DIR)
IF(LUCENEPP_INCLUDE_DIR AND LUCENEPP_LIBRARIES AND LUCENEPP_LIBRARY_DIR AND LUCENEPP_GOOD_VERSION)
SET(LUCENEPP_FOUND TRUE)
SET(LUCENEPP_INCLUDE_DIRS ${LUCENEPP_LIBRARY_DIR} ${LUCENEPP_INCLUDE_DIR})
ENDIF(LUCENEPP_INCLUDE_DIR AND LUCENEPP_LIBRARIES AND LUCENEPP_LIBRARY_DIR AND LUCENEPP_GOOD_VERSION)
IF(LUCENEPP_FOUND)
IF(NOT LUCENEPP_FIND_QUIETLY)
MESSAGE(STATUS "Found Lucene++: ${LUCENEPP_LIBRARIES} version ${LUCENEPP_VERSION}")
ENDIF(NOT LUCENEPP_FIND_QUIETLY)
ELSE(LUCENEPP_FOUND)
IF(LUCENEPP_FIND_REQUIRED)
MESSAGE(FATAL_ERROR "Could not find Lucene++.")
ENDIF(LUCENEPP_FIND_REQUIRED)
ENDIF(LUCENEPP_FOUND)
MARK_AS_ADVANCED(
LUCENEPP_INCLUDE_DIRS
LUCENEPP_INCLUDE_DIR
LUCENEPP_LIBRARY_DIR
LUCENEPP_LIBRARIES
)

View File

@@ -394,14 +394,8 @@ Section "Tomahawk Player" SEC_TOMAHAWK_PLAYER
File "${MING_BIN}\libssl-10.dll"
File "${MING_BIN}\libcrypto-10.dll"
; LucenePlusPlus
File "${MING_BIN}\liblucene++.dll"
File "${MING_BIN}\libboost_system-mt.dll"
File "${MING_BIN}\libboost_filesystem-mt.dll"
File "${MING_BIN}\libboost_iostreams-mt.dll"
File "${MING_BIN}\libboost_regex-mt.dll"
File "${MING_BIN}\libboost_thread-mt.dll"
File "${MING_BIN}\bz2-1.dll"
File "${MING_BIN}\libclucene-core.dll"
File "${MING_BIN}\libclucene-shared.dll"
File "${MING_BIN}\libqtsparkle.dll"
File "${MING_BIN}\libattica.dll"
@@ -501,72 +495,6 @@ Section -post
WriteRegStr HKCR "tomahawk\shell" "" "open"
WriteRegStr HKCR "tomahawk\shell\open\command" "" '"$INSTDIR\tomahawk.exe" "%1"'
; Register file associations
WriteRegStr HKCR ".mp3" "" "MPEG Audio Layer 3"
WriteRegStr HKCR ".mp3\DefaultIcon" "" $INSTDIR\tomahawk.exe,1
WriteRegStr HKCR ".mp3\shell" "" "open"
WriteRegStr HKCR ".mp3\shell\open\command" "" '"$INSTDIR\tomahawk.exe" "%1"'
WriteRegStr HKCR ".oga" "" "Ogg Audio File"
WriteRegStr HKCR ".oga\DefaultIcon" "" $INSTDIR\tomahawk.exe,1
WriteRegStr HKCR ".oga\shell" "" "open"
WriteRegStr HKCR ".oga\shell\open\command" "" '"$INSTDIR\tomahawk.exe" "%1"'
WriteRegStr HKCR ".ogg" "" "Ogg Audio File"
WriteRegStr HKCR ".ogg\DefaultIcon" "" $INSTDIR\tomahawk.exe,1
WriteRegStr HKCR ".ogg\shell" "" "open"
WriteRegStr HKCR ".ogg\shell\open\command" "" '"$INSTDIR\tomahawk.exe" "%1"'
WriteRegStr HKCR ".opus" "" "OPUS File"
WriteRegStr HKCR ".opus\DefaultIcon" "" $INSTDIR\tomahawk.exe,1
WriteRegStr HKCR ".opus\shell" "" "open"
WriteRegStr HKCR ".opus\shell\open\command" "" '"$INSTDIR\tomahawk.exe" "%1"'
WriteRegStr HKCR ".mp4" "" "AAC File"
WriteRegStr HKCR ".mp4\DefaultIcon" "" $INSTDIR\tomahawk.exe,1
WriteRegStr HKCR ".mp4\shell" "" "open"
WriteRegStr HKCR ".mp4\shell\open\command" "" '"$INSTDIR\tomahawk.exe" "%1"'
WriteRegStr HKCR ".aac" "" "AAC File"
WriteRegStr HKCR ".aac\DefaultIcon" "" $INSTDIR\tomahawk.exe,1
WriteRegStr HKCR ".aac\shell" "" "open"
WriteRegStr HKCR ".aac\shell\open\command" "" '"$INSTDIR\tomahawk.exe" "%1"'
WriteRegStr HKCR ".m4a" "" "AAC File"
WriteRegStr HKCR ".m4a\DefaultIcon" "" $INSTDIR\tomahawk.exe,1
WriteRegStr HKCR ".m4a\shell" "" "open"
WriteRegStr HKCR ".m4a\shell\open\command" "" '"$INSTDIR\tomahawk.exe" "%1"'
WriteRegStr HKCR ".mpc" "" "Musepack Audio File"
WriteRegStr HKCR ".mpc\DefaultIcon" "" $INSTDIR\tomahawk.exe,1
WriteRegStr HKCR ".mpc\shell" "" "open"
WriteRegStr HKCR ".mpc\shell\open\command" "" '"$INSTDIR\tomahawk.exe" "%1"'
WriteRegStr HKCR ".wma" "" "Windows Media Audio"
WriteRegStr HKCR ".wma\DefaultIcon" "" $INSTDIR\tomahawk.exe,1
WriteRegStr HKCR ".wma\shell" "" "open"
WriteRegStr HKCR ".wma\shell\open\command" "" '"$INSTDIR\tomahawk.exe" "%1"'
WriteRegStr HKCR ".aiff" "" "AIFF File"
WriteRegStr HKCR ".aiff\DefaultIcon" "" $INSTDIR\tomahawk.exe,1
WriteRegStr HKCR ".aiff\shell" "" "open"
WriteRegStr HKCR ".aiff\shell\open\command" "" '"$INSTDIR\tomahawk.exe" "%1"'
WriteRegStr HKCR ".aif" "" "AIFF File"
WriteRegStr HKCR ".aif\DefaultIcon" "" $INSTDIR\tomahawk.exe,1
WriteRegStr HKCR ".aif\shell" "" "open"
WriteRegStr HKCR ".aif\shell\open\command" "" '"$INSTDIR\tomahawk.exe" "%1"'
WriteRegStr HKCR ".wv" "" "WavePack Audio File"
WriteRegStr HKCR ".wv\DefaultIcon" "" $INSTDIR\tomahawk.exe,1
WriteRegStr HKCR ".wv\shell" "" "open"
WriteRegStr HKCR ".wv\shell\open\command" "" '"$INSTDIR\tomahawk.exe" "%1"'
WriteRegStr HKCR ".flac" "" "FLAC Audio File"
WriteRegStr HKCR ".flac\DefaultIcon" "" $INSTDIR\tomahawk.exe,1
WriteRegStr HKCR ".flac\shell" "" "open"
WriteRegStr HKCR ".flac\shell\open\command" "" '"$INSTDIR\tomahawk.exe" "%1"'
SetDetailsPrint textonly
DetailPrint "Finsihed."
SectionEnd
@@ -625,9 +553,9 @@ Section Uninstall
DeleteRegValue HKLM "Software\Tomahawk" "VersionRevision"
DeleteRegValue HKLM "Software\Tomahawk" ""
DeleteRegKey HKLM "Software\Tomahawk"
;DeleteRegKey HKCR "Software\Tomahawk"
;DeleteRegKey HKCR "Software\TomahawkSpotify"
DeleteRegKey HKCR "Software\Tomahawk"
DeleteRegKey HKCR "Software\TomahawkSpotify"
DeleteRegKey HKCR "tomahawk"
;Start menu shortcuts.

View File

@@ -1,86 +1,41 @@
Version 0.8.4:
* Fixed drag & drop issues on sidebar.
* Fixed starting Tomahawk with a filename as parameter.
* Update column view when collection changes.
* (Linux) Don't crash on environments with invalid locales.
Version 0.8.3:
* Performance improvements for collection browsing.
* Improved memory footprint.
* Show cloud collections above your friends in the sidebar.
* Keep looking for alternative sources even when we found a perfect match.
* Fixed crash in network code.
* Fixed repeat one/all icons.
* Be more lenient about accepting JSPF and M3U playlists.
* Improved support for compilation albums.
* (Windows) Fixed support for Windows XP.
* (OS X) Fixed settings dialog appearance on Yosemite.
* (OS X) Fixed SSL errors on Yosemite.
Version 0.8.2:
* Show error message if saving tags failed.
* Fixed painting issue on search page.
* (OS X & Windows) Fixed crash during collection scan.
Version 0.8.1:
* Disabled sorting for stations.
* Fixed drag & drop behavior in combination with certain resolvers.
* Fixed infinite scanning recursion.
* Prevented adding dupes to the collection when scanning.
* When playing an artist or album, don't give up when the first track
in list isn't playable.
* Fixed importing M3U playlists.
* Sort album grids by artist name.
* Fixed painting issue on 'More Albums' grid.
* Fixed crash when editing/saving track tags.
Version 0.9.0:
Version 0.8.0:
* Redesigned - Shiny new interface. Simplified. New icons.
* Added Friend Feed.
* Now Playing notifications (OS X & Windows) - support for OS-level
notification systems (e.g. Notification Center) with fallback to its own
native notification system.
* Many actions now available in context menu - including Favorite and Send
to a Friend.
* Drag and drop support for iTunes, Deezer, Beats Music, Rdio, Spotify,
SoundCloud links (into Tomahawk) for playlists/tracks/artists/album urls.
* Support for clicking source icon for currently playing track in audio
controls to take user to associated page on source's site.
* Added Hatchet plug-in.
* Added Google Play Music and Beats Music support.
* Add links to Support site, Bug Reports and Translations to Help menu.
* Add "What's New" page to display on first launch (or until dismissed).
Also available from Help menu.
* Changed label from "Resolvers" and "Services" to more generic "Plug-Ins".
* Clarified some labels, help text and status messages.
* Changed icon color a bit.
* Added "Acoustic" and "Electric" songtypes to Stations options.
* Removed some stale Chart sources.
* Playback Queue now saves its state across sessions.
* Queue now moved to sidebar.
* Added "Inbox" feature, showing incoming song recommendations. Dropping
a track on a user in the sidebar sends a recommendation to them.
* You will now be asked whether you want to trust invalid SSL certificates.
* Improved connecting between Tomahawk peers and support multiple IPs
* Improved connecting between Tomahawk peers and support having multiple IPs
(including IPv6).
* Added Trending page, showing you the most played tracks of your friends recently,
trending songs and playlists.
* Removed Top Loved from sidebar.
* Removed Spotify playlist syncing (will return in future versions).
* JavaScript-Resolver can now handle URLs (e.g. when dropped from a browser)
and resolve them to Playlists/Tracks/Artists/Albums.
* HTTP(S) streaming is now done by Tomahawk instead of the Phonon backend
(fixed HTTPS streaming on MacOS).
* Heavily reduced memory footprint during and after indexing the database.
* New Loved widget shows what friends have loved tracks throughout the app.
* New Artist, Album and Track page design - new fonts, colors, layout.
* Retina display and DPI scaling fixes.
* New Collection views. Re-added support for tracklist view of Collection.
* New Dashboard layout.
* New Stats widget.
* New Collection views.
* Added Telepathy support.
* Plugin refactoring (and .AXE resolver binaries).
* Removed Twitter due to change in Twitter's API.
* Removed auto-playlists.
* Improved error messages.
* Support drag & drop of items from Artist and Album page headers.
* Added basic remote control API.
* Add support for Opus codec (requires TagLib 1.9).
* Add support for Opus codec in local files (requires TagLib 1.9).
* Support rtmp:// streams.
* Support custom headers in CustomUrlHandler.
* Drop QJson as a dependency for Qt5.
* Support additional headers in CustomUrlHandler.
* Fuzzy search indices for JS Resolvers.
* Add metadata retrieval of HTTP(S) streams in JavaScript resolvers.
* New Dependencies: google-sparsehash, GnuTLS.
* Flat Collection View.
* Support for Windows, OS X and Growl notifications.
Version 0.7.0:
* JavaScript Resolvers can now expose collections.

View File

@@ -1,73 +0,0 @@
# Packaging Tomahawk
General distribution agnostic packaging documentation for Linux.
## Stay up to date!
We will try to keep this document up to date, but we also let our packagers know if our dependencies get important updates - especially if they fix crashes or add new features - or if we add completely new ones. Last but not least, of course we want to let you know about new releases of Tomahawk!
If you want to be notified too subscribe to our [Google Group](https://groups.google.com/forum/#!forum/tomahawk-packagers).
## CMake build options
CMake build options are prefixed with ```-D``` and get their value passed after an ```=```.
You could for example specify the build type like this ```-DCMAKE_BUILD_TYPE=RelWithDebInfo```.
This document contains only options relevant to packaging, to have a complete overview you should check our CMake scripts yourself. Looking at it the other way round, this also means that you should read everything in here really carefully.
##### ```CMAKE_BUILD_TYPE```
Make sure to specify the build type as ```Release``` or even better ```RelWithDebInfo``` if your distribution supports debug packages. If you do not do this, your users might see asserts (that look like crashes to them) which are only really useful to developers.
##### ```BUILD_RELEASE``` (boolean) (default: OFF)
If you're not using our tarballs you can turn this on to suppress putting Git revision hashes into the version string. This also disables building tools and tests by default (although you can do that manually) it's more future-proof to simply pass ```-DBUILD_RELEASE=ON``` because we might make use of it in later releases.
##### ```BUILD_TOOLS``` (boolean) (default: OFF, when BUILD_RELEASE=ON)
Tomahawk provides some tools that help highlight where crashes (of course we only crash in theory!) come from. To make them really useful, we need debug symbols to be available. If your distribution supports/allows it, you could put them into the -debug package.
##### ```BUILD_HATCHET``` (boolean) (default: ON)
Build the account plugin for Hatchet (http://hatchet.is). Requires [websocketpp](https://github.com/zaphoyd/websocketpp).
##### ```BUILD_WITH_QT4``` (boolean) (default: ON)
This enforces CMake to link against Qt4 regardless of whether Qt5 was found or not. Currently Qt4 is still our main development target, so this is still recommended. If you feel adventurous or are preparing Qt5 repositories for your distribution, feel free to give ```-DBUILD_WITH_QT4=OFF``` a shot.
##### ```WITH_CRASHREPORTER``` (boolean) (default: ON)
The crash reporter is built by default if libcrashreporter-qt is available in ```thirdparty/libcrashreporter-qt/``` (for example via git submodule). Usually distributions don't allow packagers to upload debug symbols to the Tomahawk HQ so to give crash reports more meaning for us, that's why we have no standardised submit process in place yet. If you can do that in your distribution, please get in touch with us!
##### ```WITH_KDE``` (boolean) (default: ON)
The KDE Telepathy plugin to configure Telepathy accounts from our Telepathy plugin can be disabled, if for some reason KDE is available in your build environment but you don't need this plugin.
##### ```WITH_UPOWER``` (boolean) (default on Linux: ON)
Build with support for UPower events.
##### ```WITH_GNOMESHORTCUTHANDLER``` (boolean) (default on Linux: ON)
Build with shortcut handler for GNOME.
#### Runtime dependencies
##### QSql
If your distribution splits the QSqlite plugin for QSql into a separate package, make it a requirement of Tomahawk - otherwise it might fail to start.
##### XMPP / jreen
Either jreen or (at least) Tomahawk's package should require the qca-ossl plugin, otherwise there will be no GTalk/Jabber support.
##### Audio / Phonon
Tomahawk requires phonon-vlc >= 0.4.1 or phonon-gstreamer >= 4.6.1 (esp. phonon-xine in any version will not work!).
### Icon caches
In openSUSE there are macros for updating icon caches in KDE and GNOME (```%desktop_database_post[un]``` ```%icon_theme_cache_post[un]```) after [un]installation, check if your distribution offers the same.
### Firewall
Tomahawk offers P2P functionality, if your distribution offers a default firewall, it's nice to support a default profile for the standard Tomahawk P2P-port (50210). (cf. [openSUSE integration](https://build.opensuse.org/package/view_file/KDE:Extra/tomahawk/tomahawk.SuSEfirewall2?expand=1))

180
README.md
View File

@@ -1,157 +1,69 @@
# TOMAHAWK
Tomahawk
========
## WHAT TOMAHAWK IS
Compiling and running Tomahawk
------------------------------
Tomahawk is a free multi-source and cross-platform music player. An application that can play not only your local files, but also stream from services like Spotify, Beats, SoundCloud, Google Music, YouTube and many others. You can even connect with your friends' Tomahawks, share your musical gems or listen along to them. Let the music play!
![Tomahawk Screenshot](/data/screenshots/tomahawk-screenshot.png?raw=true)
## HOW TOMAHAWK WORKS
Tomahawk is basically a **music metadata player**. At its core it decouples the metadata about a song from the source and reassembles it for each user based on their individual music accessibility and rights. In short, given the name of a song and artist Tomahawk will find the right source, for the right user at the right time. This fundamentally different approach to music enables a range of new music consumption and sharing experiences previously not possible.
## MUSIC SOURCES
* Local music library (MP3, Ogg, FLAC and many other formats)
* Networked music libraries (other connected computers)
### Subscription Music Services
* Spotify
* Beats Music
* Google Play Music (on-demand streaming and music locker)
* Grooveshark
* Rdio (Android only)
* Deezer (Android only)
### Free Streaming/Music Promotion Platforms
* Soundcloud
* Bandcamp
* Last.fm
* Jamendo
* Official.fm
### Network/Cloud storage
* Ampache
* Owncloud
* Subsonic
* Beets
Third party-developed resolvers have also been written for services like YouTube, Qobuz and others. We've also heard of digital music distributors writing their own for their internal CMSes to help them navigate and preview their content. That's cool.
Packaged binary resolvers (.axes) are available: [here](http://teom.org/axes).
Source code (and examples) can be found in our [Resolver repository](https://github.com/tomahawk-player/tomahawk-resolvers).
## DOWNLOAD TOMAHAWK
You can download one of our nightly or stable builds:
| *BUILD* | MAC / OSX | WINDOWS | LINUX |
|:-------:|:---------:|:-------:|:-----:|
|**NIGHTLY** | [**latest**](http://download.tomahawk-player.org/nightly/mac/Tomahawk-latest.dmg) | [**latest**](http://download.tomahawk-player.org/nightly/windows/tomahawk-latest.exe) | [**latest**] (https://launchpad.net/~tomahawk/+archive/ubuntu/nightly) (Ubuntu) |
|**STABLE** | [**0.8**](http://download.tomahawk-player.org/Tomahawk-0.8.0.dmg) | [**0.8**](http://download.tomahawk-player.org/tomahawk-0.8.0.exe) | [**0.8**](http://www.tomahawk-player.org/#page-about) (various distros) |
## BUILD TOMAHAWK
... or you can compile it yourself:
Compile:
$ mkdir build && cd build
$ cmake ..
$ make
### Detailed Build Instructions
Start the application on Linux:
**LINUX**
$ ./tomahawk
* [Arch](http://wiki.tomahawk-player.org/index.php/Building_ArchLinux_package)
* [Debian](http://wiki.tomahawk-player.org/index.php/Building_on_Debian)
* [Fedora](http://wiki.tomahawk-player.org/index.php/Building_on_Fedora)
* [openSUSE](http://wiki.tomahawk-player.org/index.php/Building_on_openSUSE)
* [Ubuntu](http://wiki.tomahawk-player.org/index.php/Building_on_Ubuntu)
Start the application on OS X:
**MAC**
$ open tomahawk.app
* [OS X](http://wiki.tomahawk-player.org/index.php/Building_OS_X_Application_Bundle)
**WINDOWS**
Detailed building instructions for Ubuntu
-----------------------------------------
See: http://wiki.tomahawk-player.org/index.php/Building_on_Ubuntu
* [Windows](http://wiki.tomahawk-player.org/index.php/Building_Windows_Binary)
Detailed building instructions for OS X
---------------------------------------
See: http://wiki.tomahawk-player.org/index.php/Building_OS_X_Application_Bundle
### Dependencies
Doxygen Documentation
---------------------
See: http://dev.tomahawk-player.org/api/classes.html
Dependencies
------------
Required dependencies:
* [CMake 2.8.6](http://www.cmake.org/)
* [Qt 4.7.0](http://qt-project.org/)
* [Phonon 4.6.0](http://phonon.kde.org/)
* [QJson 0.8.1](http://qjson.sourceforge.net/)
* [SQLite 3.6.22](http://www.sqlite.org/)
* [TagLib 1.8](http://developer.kde.org/~wheeler/taglib.html)
* [Boost 1.3](http://www.boost.org/)
* [Lucene++ 3.0.6](https://github.com/luceneplusplus/LucenePlusPlus/)
* [libechonest 2.2.0](http://projects.kde.org/projects/playground/libs/libechonest/)
* [Attica 0.4.0](http://ftp.kde.org/stable/attica/)
* [QuaZip 0.4.3](http://quazip.sourceforge.net/)
* [liblastfm 1.0.1](https://github.com/lastfm/liblastfm/)
* [QtKeychain 0.1](https://github.com/frankosterfeld/qtkeychain/)
* [Sparsehash](https://code.google.com/p/sparsehash/)
* [GnuTLS](http://gnutls.org/)
* CMake 2.8.6 - http://www.cmake.org/
* Qt 4.7.0 - http://qt-project.org/
* Phonon 4.6.0 - http://phonon.kde.org/
* QJson 0.8.1 - http://qjson.sourceforge.net/
* SQLite 3.6.22 - http://www.sqlite.org/
* TagLib 1.8 - http://developer.kde.org/~wheeler/taglib.html
* Boost 1.3 - http://www.boost.org/
* CLucene 0.9.23 (0.9.21 will fail) - http://clucene.sourceforge.net/download.shtml
* libechonest 2.2.0 - http://projects.kde.org/projects/playground/libs/libechonest/
* Attica 0.4.0 - ftp://ftp.kde.org/pub/kde/stable/attica/
* QuaZip 0.4.3 - http://quazip.sourceforge.net/
* liblastfm 1.0.1 - https://github.com/lastfm/liblastfm/
* QtKeychain 0.1 - https://github.com/frankosterfeld/qtkeychain/
* Sparsehash - https://code.google.com/p/sparsehash/
* GnuTLS - http://gnutls.org/
The following dependencies are optional (but *recommended*):
The following dependencies are optional, but recommended:
* [Jreen 1.0.5](http://qutim.org/jreen/) (1.1.0 will fail, 1.1.1 is fine)
* [Snorenotify](https://github.com/Snorenotify/Snorenotify/)
* Jreen 1.0.5 (1.1.0 will fail, 1.1.1 is fine) - http://qutim.org/jreen/
* Snorenotify - https://github.com/Snorenotify/Snorenotify/
Third party libraries that we ship with our source:
* [MiniUPnP 1.6](http://miniupnp.free.fr/)
* [Qocoa](https://github.com/mikemcquaid/Qocoa/)
* [libqnetwm](https://code.google.com/p/libqnetwm/)
* [libqxt](http://libqxt.org/) (QxtWeb module)
* [SPMediaKeyTap](https://github.com/nevyn/SPMediaKeyTap/)
* [kdSingleApplicationGuard](http://www.kdab.com/)
* MiniUPnP 1.6 - http://miniupnp.free.fr/
* Qocoa - https://github.com/mikemcquaid/Qocoa/
* libqnetwm - http://code.google.com/p/libqnetwm/
* libqxt (QxtWeb module) - http://libqxt.org/
* SPMediaKeyTap - https://github.com/nevyn/SPMediaKeyTap/
* kdSingleApplicationGuard - http://www.kdab.com/
## SUPPORT TOMAHAWK
* [Bug Tracker & Issues](https://bugs.tomahawk-player.org/secure/Dashboard.jspa)
* [Translations](https://www.transifex.com/projects/p/tomahawk/)
* [Donate](https://flattr.com/thing/169312/Tomahawk)
## GET HELP
* [Support & Feedback](https://tomahawk.uservoice.com)
* Chat with Us (IRC): #tomahawk (on Freenode)
* [Twitter](https://twitter.com/tomahawk)
* [Facebook](https://facebook.com/tomahawkplayer)
* [Developer API documentation](http://dev.tomahawk-player.org/api/classes.html)
## SCREENSHOTS
BROWSE FRIENDS' MUSIC & LISTEN ALONG
![Browse](https://dchtm6r471mui.cloudfront.net/hackpad.com_ZRZMJDdxrVe_p.242147_1410998050088_listen-along.jpg)
INBOX - RECEIVED & FORWARDING
![Inbox](https://dchtm6r471mui.cloudfront.net/hackpad.com_ZRZMJDdxrVe_p.242147_1410997751044_inbox.jpg)
CHARTS - BILLBOARD'S TASTEMAKER ALBUMS
![Charts](https://dchtm6r471mui.cloudfront.net/hackpad.com_ZRZMJDdxrVe_p.242147_1410997901969_charts.jpg)
FRIEND FEED
![Feed](https://dchtm6r471mui.cloudfront.net/hackpad.com_ZRZMJDdxrVe_p.242147_1410971283885_heroshot.png)
DYNAMIC (AUTO-UPDATING) PLAYLIST
![Xspf](https://dchtm6r471mui.cloudfront.net/hackpad.com_ZRZMJDdxrVe_p.242147_1410998362549_dynamic-playlist-1.jpg)
PLUG-INS / RESOLVER SETTINGS
![Settings](https://dchtm6r471mui.cloudfront.net/hackpad.com_ZRZMJDdxrVe_p.242147_1410998587408_prefs.jpg)
**Enjoy!**
Enjoy!

View File

@@ -23,7 +23,7 @@
<key>CFBundleName</key>
<string>Tomahawk</string>
<key>LSMinimumSystemVersion</key>
<string>10.7.0</string>
<string>10.5.0</string>
<key>NSPrincipalClass</key>
<string>NSApplication</string>
<key>NSHighResolutionCapable</key>
@@ -63,174 +63,6 @@
<key>CFBundleTypeRole</key>
<string>Viewer</string>
</dict>
<dict>
<key>CFBundleTypeExtensions</key>
<array>
<string>jspf</string>
</array>
<key>CFBundleTypeIconFile</key>
<string>Generic.icns</string>
<key>CFBundleTypeMIMETypes</key>
<array>
<string>application/jspf</string>
</array>
<key>CFBundleTypeName</key>
<string>JSPF Playlist</string>
<key>CFBundleTypeRole</key>
<string>Viewer</string>
</dict>
<dict>
<key>CFBundleTypeExtensions</key>
<array>
<string>mp3</string>
</array>
<key>CFBundleTypeIconFile</key>
<string>mp3.icns</string>
<key>CFBundleTypeMIMETypes</key>
<array>
<string>audio/mpeg</string>
</array>
<key>CFBundleTypeName</key>
<string>MPEG Audio Layer 3</string>
<key>CFBundleTypeRole</key>
<string>Viewer</string>
</dict>
<dict>
<key>CFBundleTypeExtensions</key>
<array>
<string>oga</string>
<string>ogg</string>
</array>
<key>CFBundleTypeIconFile</key>
<string>ogg.icns</string>
<key>CFBundleTypeMIMETypes</key>
<array>
<string>audio/ogg</string>
</array>
<key>CFBundleTypeName</key>
<string>Ogg Audio File</string>
<key>CFBundleTypeRole</key>
<string>Viewer</string>
</dict>
<dict>
<key>CFBundleTypeExtensions</key>
<array>
<string>opus</string>
</array>
<key>CFBundleTypeIconFile</key>
<string>ogg.icns</string>
<key>CFBundleTypeMIMETypes</key>
<array>
<string>audio/opus</string>
<string>application/opus</string>
<string>audio/ogg; codecs=opus</string>
</array>
<key>CFBundleTypeName</key>
<string>OPUS file</string>
<key>CFBundleTypeRole</key>
<string>Viewer</string>
</dict>
<dict>
<key>CFBundleTypeExtensions</key>
<array>
<string>aac</string>
<string>mp4</string>
<string>m4a</string>
</array>
<key>CFBundleTypeIconFile</key>
<string>audio.icns</string>
<key>CFBundleTypeMIMETypes</key>
<array>
<string>audio/aac</string>
<string>audio/mp4</string>
</array>
<key>CFBundleTypeName</key>
<string>AAC file</string>
<key>CFBundleTypeRole</key>
<string>Viewer</string>
</dict>
<dict>
<key>CFBundleTypeExtensions</key>
<array>
<string>mpc</string>
</array>
<key>CFBundleTypeIconFile</key>
<string>audio.icns</string>
<key>CFBundleTypeMIMETypes</key>
<array>
<string>audio/x-musepack</string>
<string>audio/mpc</string>
</array>
<key>CFBundleTypeName</key>
<string>Musepack Audio File</string>
<key>CFBundleTypeRole</key>
<string>Viewer</string>
</dict>
<dict>
<key>CFBundleTypeExtensions</key>
<array>
<string>wma</string>
</array>
<key>CFBundleTypeIconFile</key>
<string>audio.icns</string>
<key>CFBundleTypeMIMETypes</key>
<array>
<string>audio/x-ms-wma</string>
</array>
<key>CFBundleTypeName</key>
<string>Windows Media Audio</string>
<key>CFBundleTypeRole</key>
<string>Viewer</string>
</dict>
<dict>
<key>CFBundleTypeExtensions</key>
<array>
<string>flac</string>
</array>
<key>CFBundleTypeIconFile</key>
<string>audio.icns</string>
<key>CFBundleTypeMIMETypes</key>
<array>
<string>audio/flac</string>
</array>
<key>CFBundleTypeName</key>
<string>FLAC Audio File</string>
<key>CFBundleTypeRole</key>
<string>Viewer</string>
</dict>
<dict>
<key>CFBundleTypeExtensions</key>
<array>
<string>aiff</string>
<string>aif</string>
</array>
<key>CFBundleTypeIconFile</key>
<string>audio.icns</string>
<key>CFBundleTypeMIMETypes</key>
<array>
<string>audio/aiff</string>
</array>
<key>CFBundleTypeName</key>
<string>AIFF File</string>
<key>CFBundleTypeRole</key>
<string>Viewer</string>
</dict>
<dict>
<key>CFBundleTypeExtensions</key>
<array>
<string>wv</string>
</array>
<key>CFBundleTypeIconFile</key>
<string>audio.icns</string>
<key>CFBundleTypeMIMETypes</key>
<array>
<string>audio/x-wavpack</string>
</array>
<key>CFBundleTypeName</key>
<string>WavePack Audio File</string>
<key>CFBundleTypeRole</key>
<string>Viewer</string>
</dict>
</array>
</dict>
</plist>

View File

@@ -1,11 +1,9 @@
#!/bin/bash
#
# Usage: ./admin/mac/build-release-osx.sh VERSION CERT_SIGNER [--no-clean]
# Usage: ./admin/mac/build-release-osx.sh [--no-clean]
#
################################################################################
set -e
function header {
echo -e "\033[0;34m==>\033[0;0;1m $1 \033[0;0m"
@@ -18,44 +16,43 @@ function die {
}
################################################################################
if [ -z "$2" ]
if [ -z $1 ]
then
echo This script expects the version number and cert-signer as parameters, e.g. "1.0.0 John Doe"
echo This script expects the version number as a parameter, e.g. 1.0.0
exit 1
fi
ROOT=`pwd`
VERSION=$1
CERT_SIGNER=$2
################################################################################
mv tomahawk.app Tomahawk.app
mv Tomahawk.app/Contents/MacOS/tomahawk Tomahawk.app/Contents/MacOS/Tomahawk
header "Fixing and copying libraries"
$ROOT/../admin/mac/macdeploy.py Tomahawk.app quiet
cd Tomahawk.app
header "Renaming icon"
mv Contents/Resources/tomahawkSources.icns Contents/Resources/Tomahawk.icns
cp $ROOT/../admin/mac/qt.conf Contents/Resources/qt.conf
header "Copying Sparkle framework"
rm -rf Contents/Frameworks/Sparkle.framework
cp -R /Library/Frameworks/Sparkle.framework Contents/Frameworks/
cp -R /Library/Frameworks/Sparkle.framework Contents/Frameworks
header "Creating DMG"
cd ..
header "Signing bundle"
codesign -s "Developer ID Application: $CERT_SIGNER" -f -v ./Tomahawk.app
if [ -f ~/sign_step.sh ];
then
~/sign_step.sh "$CERT_SIGNER" "Tomahawk.app"
fi
codesign -s "Developer ID Application: Leonardo Franchi" -f -v ./Tomahawk.app
$ROOT/../admin/mac/create-dmg.sh Tomahawk.app
mv Tomahawk.dmg Tomahawk-$VERSION.dmg
header "Creating signed Sparkle update"
$ROOT/../admin/mac/sign_bundle.rb $VERSION ~/tomahawk_sparkle_privkey.pem
mv Tomahawk.app tomahawk.app
header "Done!"

Binary file not shown.

Before

Width:  |  Height:  |  Size: 53 KiB

After

Width:  |  Height:  |  Size: 99 KiB

View File

@@ -222,17 +222,16 @@ TOMAHAWK_PLUGINS = [
'libtomahawk_infoplugin_spotify.so',
'libtomahawk_viewpage_dashboard.so',
# 'libtomahawk_viewpage_networkactivity.so',
'libtomahawk_viewpage_charts.so',
'libtomahawk_viewpage_newreleases.so',
'libtomahawk_viewpage_whatshot.so',
'libtomahawk_viewpage_whatsnew_0_8.so',
]
QT_PLUGINS_SEARCH_PATH=[
'/usr/local/Cellar/qt/HEAD/plugins',
'/usr/local/Cellar/qt/4.8.6/plugins',
]
SNORE_PLUGINS_SEARCH_PATH=[
'/usr/local/Cellar/snorenotify/0.5.2/lib/libsnore',
'/usr/local/Cellar/snorenotify/HEAD/lib/libsnore',
]
class Error(Exception):
@@ -444,10 +443,8 @@ def CopyPlugin(path, subdir):
def CopyFramework(path):
parts = path.split(os.sep)
name = ''
for i, part in enumerate(parts):
if re.match(r'\w+\.framework', part):
name = part[:-10]
full_path = os.path.join(frameworks_dir, *parts[i:-1])
break
args = ['mkdir', '-p', full_path]
@@ -459,47 +456,9 @@ def CopyFramework(path):
menu_nib = os.path.join(os.path.split(path)[0], 'Resources', 'qt_menu.nib')
if os.path.exists(menu_nib):
args = ['cp', '-rf', menu_nib, resources_dir]
args = ['cp', '-r', menu_nib, resources_dir]
commands.append(args)
framework_versions_dir = os.path.join(full_path, '..', '..', 'Versions')
framework_resources_current_dir = os.path.join(full_path, 'Resources')
framework_resources_main_dir = os.path.join(full_path, '..', '..', 'Resources')
framework_current_version = full_path.split(os.sep)[-1]
# link /Versions/Current to /Versions/$currentVersion
args = ['ln', '-Fs', framework_current_version, os.path.join(framework_versions_dir, 'Current')]
commands.append(args)
# Copy Contents/Info.plist to Resources/Info.plist if Resources/Info.plist does not exist
# If Contents/Info.plist doesn't exist either, error out. If we actually see this, we can copy QtCore's Info.plist
info_plist_in_resources = os.path.join(os.path.split(path)[0], '..', '..', 'Resources', 'Info.plist')
if not os.path.exists(info_plist_in_resources):
info_plist_in_contents = os.path.join(os.path.split(path)[0], '..', '..', 'Contents', 'Info.plist')
args = ['mkdir', '-p', framework_resources_current_dir]
commands.append(args)
if os.path.exists(info_plist_in_contents):
args = ['cp', '-rf', info_plist_in_contents, framework_resources_current_dir]
commands.append(args)
else:
print "%s: Framework does not contain an Info.plist file in Contents/ or Resources/ folder." % (path)
sys.exit(-1)
# link /Resources to /Versions/Current/Resources
args = ['ln', '-Fs', 'Versions/Current/Resources', framework_resources_main_dir]
commands.append(args)
# link /$name to /Versions/Current/$name
args = ['ln', '-Fs', os.path.join('Versions/Current/', name), os.path.join(full_path, '..', '..', name)]
commands.append(args)
# HACK: CopyFramework is called repeatedly for the same frameworks, but we can't check for the existence of the link from python
# as the commands are only executed in the end, that's why we remove wrong symlinks afterwards
args = ['rm', '-rf', os.path.join(framework_resources_main_dir, 'Resources')]
commands.append(args)
args = ['rm', '-rf', os.path.join(framework_versions_dir, 'Current', framework_current_version)]
commands.append(args)
return os.path.join(full_path, parts[-1])
def FixId(path, library_name):

View File

@@ -10,7 +10,7 @@ GenericName[ro]=Redare muzică
GenericName[se]=Musikspelare
TryExec=tomahawk
Exec=tomahawk %u
Comment=Tomahawk — Multi Source Music Player
Comment=Tomahawk — Social Music Player
Comment[fi]=Tomahawk sosiaalinen musiikkisoitin
Comment[pl]=Tomahawk Społecznościowy Odtwarzacz Muzyki
Comment[ro]=Tomahawk Redare muzică în mod social
@@ -18,4 +18,4 @@ Comment[se]=Tomahawk — Den Sociala Musikspelaren
Icon=tomahawk
Terminal=false
Categories=Qt;AudioVideo;Audio;Player;
MimeType=x-scheme-handler/tomahawk;x-scheme-handler/spotify;audio/aac;audio/mp4;audio/mpeg;audio/mpegurl;audio/vorbis;audio/x-flac;audio/x-mp3;audio/x-mpegurl;audio/x-ms-wma;audio/x-musepack;audio/x-oggflac;audio/opus;application/opus;audio/x-vorbis;application/x-ogm-audio;audio/x-vorbis+ogg;audio/ogg;application/xspf+xml;application/jspf;
MimeType=x-scheme-handler/tomahawk;x-scheme-handler/spotify;

View File

@@ -7,9 +7,7 @@ SET(CMAKE_SYSTEM_NAME Windows)
# specify the cross compiler
SET(CMAKE_C_COMPILER ${MINGW_PREFIX}-gcc)
SET(CMAKE_CXX_COMPILER ${MINGW_PREFIX}-g++)
SET(CMAKE_RC_COMPILER /usr/bin/${MINGW_PREFIX}-windres CACHE FILEPATH "windres")
SET(CMAKE_AR /usr/bin/${MINGW_PREFIX}-ar CACHE FILEPATH "ar")
SET(CMAKE_RC_COMPILER ${MINGW_PREFIX}-windres)
# where is the target environment containing libraries
SET(CMAKE_FIND_ROOT_PATH /usr/${MINGW_PREFIX}/sys-root/mingw)
@@ -28,11 +26,12 @@ SET(QT_PLUGINS_DIR ${CMAKE_FIND_ROOT_PATH}/lib/qt4/plugins)
SET(QT_MKSPECS_DIR ${CMAKE_FIND_ROOT_PATH}/share/qt4/mkspecs)
SET(QT_QT_INCLUDE_DIR ${CMAKE_FIND_ROOT_PATH}/include)
SET(QT_QMAKE_EXECUTABLE /usr/bin/${MINGW_PREFIX}-qmake CACHE FILEPATH "qmake" )
SET(QT_MOC_EXECUTABLE /usr/bin/${MINGW_PREFIX}-moc CACHE FILEPATH "moc")
SET(QT_RCC_EXECUTABLE /usr/bin/${MINGW_PREFIX}-rcc CACHE FILEPATH "rcc")
SET(QT_UIC_EXECUTABLE /usr/bin/${MINGW_PREFIX}-uic CACHE FILEPATH "uic")
SET(QT_LRELEASE_EXECUTABLE /usr/bin/${MINGW_PREFIX}-lrelease CACHE FILEPATH "lrelease")
# qt tools
SET(QT_QMAKE_EXECUTABLE ${MINGW_PREFIX}-qmake )
SET(QT_MOC_EXECUTABLE ${MINGW_PREFIX}-moc)
SET(QT_RCC_EXECUTABLE ${MINGW_PREFIX}-rcc)
SET(QT_UIC_EXECUTABLE ${MINGW_PREFIX}-uic)
SET(QT_LRELEASE_EXECUTABLE ${MINGW_PREFIX}-lrelease)
# phonon -_-
SET(Automoc4_DIR "/usr/lib64/automoc4/")

Binary file not shown.

Before

Width:  |  Height:  |  Size: 29 KiB

After

Width:  |  Height:  |  Size: 26 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 151 KiB

After

Width:  |  Height:  |  Size: 151 KiB

View File

@@ -50,7 +50,6 @@ tar xvjf pvlc.tar.bz2
# this is for vlc-2.x
cd vlc/plugins
rm -rvf \
video_*/ \
gui/ \
@@ -77,8 +76,8 @@ rm -rvf \
**/liblibbluray_plugin* \
**/libdtv_plugin* \
**/*.dll.a \
**/*.la \
misc/liblogger_plugin*
**/*.la
echo "Downloaded and stripped VLC"

Binary file not shown.

0
data/fonts/Roboto-Black.ttf Normal file → Executable file
View File

0
data/fonts/Roboto-BlackItalic.ttf Normal file → Executable file
View File

0
data/fonts/Roboto-Bold.ttf Normal file → Executable file
View File

0
data/fonts/Roboto-BoldItalic.ttf Normal file → Executable file
View File

0
data/fonts/Roboto-Italic.ttf Normal file → Executable file
View File

0
data/fonts/Roboto-Light.ttf Normal file → Executable file
View File

0
data/fonts/Roboto-LightItalic.ttf Normal file → Executable file
View File

0
data/fonts/Roboto-Medium.ttf Normal file → Executable file
View File

0
data/fonts/Roboto-MediumItalic.ttf Normal file → Executable file
View File

0
data/fonts/Roboto-Regular.ttf Normal file → Executable file
View File

0
data/fonts/Roboto-Thin.ttf Normal file → Executable file
View File

0
data/fonts/Roboto-ThinItalic.ttf Normal file → Executable file
View File

0
data/fonts/RobotoCondensed-Bold.ttf Normal file → Executable file
View File

0
data/fonts/RobotoCondensed-BoldItalic.ttf Normal file → Executable file
View File

0
data/fonts/RobotoCondensed-Italic.ttf Normal file → Executable file
View File

0
data/fonts/RobotoCondensed-Light.ttf Normal file → Executable file
View File

0
data/fonts/RobotoCondensed-LightItalic.ttf Normal file → Executable file
View File

0
data/fonts/RobotoCondensed-Regular.ttf Normal file → Executable file
View File

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Before

Width:  |  Height:  |  Size: 73 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 13 KiB

After

Width:  |  Height:  |  Size: 7.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.9 KiB

After

Width:  |  Height:  |  Size: 852 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 25 KiB

After

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.3 KiB

After

Width:  |  Height:  |  Size: 1.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 52 KiB

After

Width:  |  Height:  |  Size: 35 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.8 KiB

After

Width:  |  Height:  |  Size: 3.6 KiB

View File

@@ -1,14 +1,23 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg width="512px" height="512px" viewBox="0 0 512 512" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:sketch="http://www.bohemiancoding.com/sketch/ns">
<title>tomahawk-icon-512x512</title>
<svg width="3100px" height="3100px" viewBox="0 0 3100 3100" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:sketch="http://www.bohemiancoding.com/sketch/ns">
<title>tomahawk-icon</title>
<description>Created with Sketch (http://www.bohemiancoding.com/sketch)</description>
<defs></defs>
<g id="Page-1" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd" sketch:type="MSPage">
<g id="Oval-1-+-Shape" sketch:type="MSLayerGroup" transform="translate(18.000000, 19.000000)">
<g id="Oval-1" transform="translate(0.927734, 0.927734)" fill-opacity="0.9" fill="#FFFFFF" sketch:type="MSShapeGroup">
<path d="M236.572266,473.144531 C367.227527,473.144531 473.144531,367.227527 473.144531,236.572266 C473.144531,105.917005 367.227527,0 236.572266,0 C105.917005,0 0,105.917005 0,236.572266 C0,367.227527 105.917005,473.144531 236.572266,473.144531 Z"></path>
</g>
<path d="M237.385542,0 C106.48012,0 -1.70530257e-13,106.48012 -1.70530257e-13,237.356928 C-1.70530257e-13,368.239458 106.48012,474.713855 237.385542,474.713855 C368.262349,474.713855 474.748193,368.239458 474.748193,237.356928 C474.74247,106.48012 368.262349,0 237.385542,0 L237.385542,0 Z M336.706325,394.261446 L336.706325,123.946386 L285.51506,123.946386 L280.07259,123.946386 L280.07259,215.672892 L152.234639,125.211145 C150.191566,123.774699 147.50753,123.58012 145.241265,124.684639 C142.975,125.875 141.567169,128.221386 141.567169,130.710843 L141.567169,342.761145 C141.567169,345.250602 142.975,347.574096 145.241265,348.73012 C146.208434,349.285241 147.284337,349.508434 148.337349,349.508434 C149.687952,349.508434 151.095783,349.062048 152.234639,348.289458 L280.07259,257.833434 L280.07259,418.137349 C266.343373,421.393675 252.081928,423.219277 237.385542,423.219277 C134.882831,423.219277 51.5231928,339.836747 51.5231928,237.362651 C51.5231928,134.888554 134.877108,51.5289157 237.385542,51.5289157 C339.859639,51.5289157 423.247892,134.882831 423.247892,237.362651 C423.242169,303.336145 388.647289,361.274699 336.706325,394.261446 L336.706325,394.261446 Z" id="Shape" fill="#FF004C" sketch:type="MSShapeGroup"></path>
<defs>
<filter x="-20%" y="-20%" width="140%" height="140%" filterUnits="objectBoundingBox" id="filter-1">
<feOffset dx="0" dy="2" in="SourceAlpha" result="shadowOffsetOuter1"></feOffset>
<feGaussianBlur stdDeviation="2" in="shadowOffsetOuter1" result="shadowBlurOuter1"></feGaussianBlur>
<feColorMatrix values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.7 0" in="shadowBlurOuter1" type="matrix" result="shadowMatrixOuter1"></feColorMatrix>
<feMerge>
<feMergeNode in="shadowMatrixOuter1"></feMergeNode>
<feMergeNode in="SourceGraphic"></feMergeNode>
</feMerge>
</filter>
</defs>
<g id="Page 1" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd" sketch:type="MSPage">
<circle d="M1546,3051 C2374.42717,3051 3046,2379.42717 3046,1551 C3046,722.572834 2374.42717,51 1546,51 C717.572834,51 46,722.572834 46,1551 C46,2379.42717 717.572834,3051 1546,3051 Z M1546,3051" id="Oval 1" stroke="#979797" fill="#FFFFFF" sketch:type="MSShapeGroup" cx="1546" cy="1551" r="1500"></circle>
<g id="Group" sketch:type="MSLayerGroup" transform="translate(46.000000, 48.000000)">
<path d="M1500.00026,326.562245 C852.333832,326.562245 325.623384,853.409757 325.623384,1501.14467 C325.623384,2148.84339 852.297589,2675.87184 1500.00026,2675.87184 C1592.85982,2675.87184 1682.97119,2664.36909 1769.71967,2643.75096 L1769.71967,1630.53256 L961.97175,2202.26973 C954.812018,2207.15297 945.916593,2209.9744 937.346612,2209.9744 C930.693123,2209.9744 923.894994,2208.56369 917.783909,2205.05499 C903.464446,2197.74821 894.56902,2183.06231 894.56902,2167.32742 L894.56902,827.040286 C894.56902,811.305396 903.464445,796.474809 917.783909,788.951001 C932.103373,781.969774 949.026377,783.199628 961.97175,792.27884 L1769.71967,1364.0522 L1769.71967,784.284802 L1804.10807,784.284802 L2127.56161,784.284802 L2127.56161,2492.84071 C2455.75216,2284.34437 2674.34095,1918.13743 2674.34095,1501.10857 C2674.34087,853.446289 2147.48558,326.562245 1500.00026,326.562245 L1500.00026,326.562245 L1500.00026,326.562245" id="Shape" sketch:type="MSShapeGroup"></path>
<path d="M1500.00026,0.904613118 C672.870406,0.904613118 0.0726019231,673.923876 0.0726019231,1501.14494 C0.0726019231,2328.4023 672.870475,3001.38527 1500.00026,3001.38527 C2326.94928,3001.38527 2999.78337,2328.40223 2999.78337,1501.14494 C2999.74681,673.923394 2326.94887,0.904613118 1500.00026,0.904613118 L1500.00026,0.904613118 L1500.00026,0.904613118 M2127.56146,2492.87708 L2127.56146,784.321176 L1804.10793,784.321176 L1769.71952,784.321176 L1769.71952,1364.08857 L961.971604,792.315213 C949.06239,783.236001 932.103228,782.006148 917.783763,788.987375 C903.464299,796.511184 894.568874,811.341769 894.568874,827.076659 L894.568874,2167.3638 C894.568874,2183.09869 903.464299,2197.78459 917.783763,2205.09136 C923.894847,2208.60006 930.692976,2210.01078 937.346465,2210.01078 C945.880287,2210.01078 954.775711,2207.18935 961.971604,2202.30611 L1769.71952,1630.56893 L1769.71952,2643.78733 C1682.97105,2664.36929 1592.85968,2675.90821 1500.00012,2675.90821 C852.333686,2675.90821 325.623237,2148.87983 325.623237,1501.18104 C325.623237,853.482317 852.297442,326.598618 1500.00012,326.598618 C2147.48578,326.598618 2674.377,853.44613 2674.377,1501.18104 C2674.34087,1918.17376 2455.75215,2284.38047 2127.56146,2492.87708 L2072.56159,399.051282" id="Shape" fill="#E63E30" filter="url(#filter-1)" sketch:type="MSShapeGroup"></path>
</g>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 2.3 KiB

After

Width:  |  Height:  |  Size: 3.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.7 KiB

View File

@@ -0,0 +1,17 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg width="62px" height="62px" viewBox="0 0 62 62" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:sketch="http://www.bohemiancoding.com/sketch/ns">
<title>Slice 1</title>
<description>Created with Sketch (http://www.bohemiancoding.com/sketch)</description>
<defs></defs>
<g id="Page-1" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd" sketch:type="MSPage">
<g id="account-settings" sketch:type="MSLayerGroup" transform="translate(1.000000, 1.000000)" fill="#000000">
<g id="Page-1" sketch:type="MSShapeGroup">
<g id="account-settings">
<g id="Page-1">
<path d="M51.0600062,15.0759327 L40.5857196,25.552555 L37.0910209,22.5074737 L47.7906208,11.8039501 L49.2134624,8.24707031 L53.5493811,5.02172353 L57.8461191,9.31341677 L54.625705,13.6433753 L51.0600062,15.0759327 L51.0600062,15.0759327 Z M57.345307,44.205397 C61.0555096,47.9156369 61.0542764,53.9534837 57.3428584,57.6662143 C55.5440824,59.4649897 53.152654,60.4543774 50.6106132,60.4543774 C48.0685724,60.4543774 45.6795929,59.4649898 43.8428582,57.6258061 L21.5938785,32.0829482 C19.524491,32.5115197 17.4085725,32.7368258 15.4457154,32.7368258 L15.4444909,32.7368258 C10.7657158,32.7368258 7.02612397,31.4694787 4.62734847,29.0719277 C0.596328,25.0384588 -1.14979445,19.289479 -0.0404066755,13.6886628 C0.0195933184,13.3825403 0.242450461,13.1388669 0.536328,13.0507036 C0.831430004,12.9613158 1.15102184,13.0409077 1.37143002,13.2600913 L8.67183806,20.5580505 L15.732246,22.0188669 L21.6955112,16.0580505 L20.2334702,8.99641758 L12.9330623,1.69478515 C12.7151031,1.47805047 12.6355113,1.15600963 12.7248991,0.862132078 C12.8155113,0.565805547 13.0591848,0.345397384 13.3628582,0.284172894 C14.4538787,0.068662702 15.5730623,-0.0427658706 16.6885727,-0.0427658706 C21.2436744,-0.0427658706 25.5269396,1.7315197 28.7448988,4.9531524 C33.6391845,9.844989 32.4281641,18.6380505 31.7571437,21.9172342 L37.2820418,26.7294791 L37.9702051,27.3294791 L57.345307,44.205397 L57.345307,44.205397 Z M52.2930535,52.6138991 C51.3648901,53.5432869 49.8624411,53.5432869 48.9342779,52.6151236 L48.9330534,52.6138991 C48.0061146,51.6857358 48.0061146,50.1808379 48.9330534,49.2538991 C49.8612167,48.3281848 51.3648901,48.3281848 52.2930534,49.2563481 L52.2942779,49.2563481 C53.2199968,50.1831553 53.2199968,51.6856664 52.2930535,52.6138991 L52.2930535,52.6138991 L52.2930535,52.6138991 Z M20.401219,36.7042013 L25.5342795,42.6809353 C26.3816264,43.5295067 26.3816264,44.9046087 25.5342795,45.7519556 L11.7244837,59.5605276 C10.8746879,60.40665 9.50081035,60.40665 8.65346344,59.5605276 L3.1016268,54.0062422 C2.2542799,53.1564463 2.2542799,51.7825687 3.1016268,50.9364463 L17.3314231,36.7042013 C18.1799945,35.8568543 19.553872,35.8568543 20.401219,36.7042013 L20.401219,36.7042013 L20.401219,36.7042013 Z" id="Shape"></path>
</g>
</g>
</g>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 3.0 KiB

BIN
data/images/add-contact.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.2 KiB

BIN
data/images/add.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.9 KiB

BIN
data/images/album-icon.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.8 KiB

View File

@@ -1,13 +1,87 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg width="200px" height="200px" viewBox="0 0 200 200" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:sketch="http://www.bohemiancoding.com/sketch/ns">
<title>album-placeholder-grid</title>
<title>Slice 1</title>
<description>Created with Sketch (http://www.bohemiancoding.com/sketch)</description>
<defs></defs>
<g id="Page-1" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd" sketch:type="MSPage">
<rect id="Rectangle-1" fill="#D8D8D8" sketch:type="MSShapeGroup" x="0" y="0" width="200" height="200"></rect>
<g id="icon_Playlist" sketch:type="MSLayerGroup" transform="translate(70.000000, 70.000000)">
<path id="Shape" stroke="#449FDB" opacity="0" fill="#000000" sketch:type="MSShapeGroup"></path>
<path d="M30,0 C13.5,0 0,13.5 0,30 C0,46.5 13.5,60 30,60 C46.5,60 60,46.5 60,30 C59.499375,13.5 46.5,0 30,0 L30,0 Z M30,39.999375 C24.500625,39.999375 20.000625,35.499375 20.000625,30 C20.000625,24.500625 24.500625,20.000625 30,20.000625 C35.499375,20.000625 39.500625,24.500625 39.500625,30 C39.500625,35.499375 35.000625,39.999375 30,39.999375 L30,39.999375 Z" id="Shape" fill="#606060" sketch:type="MSShapeGroup"></path>
<g id="album-placeholder-grid" sketch:type="MSLayerGroup">
<g id="Page-1">
<rect id="Rectangle-1" fill="#D8D8D8" sketch:type="MSShapeGroup" x="0" y="0" width="200" height="200"></rect>
<g id="album-placeholder-grid" transform="translate(75.000000, 75.000000)">
<g id="Page-1">
<g id="album-icon">
<g id="Page-1">
<g id="icon_Playlist">
<g id="Layer_2"></g>
<g id="Layer_3"></g>
<g id="Layer_4"></g>
<g id="Layer_5"></g>
<g id="Layer_6"></g>
<g id="Layer_8"></g>
<g id="Layer_9"></g>
<g id="Layer_10"></g>
<g id="Layer_11"></g>
<g id="Layer_12"></g>
<g id="Layer_13"></g>
<g id="Layer_14"></g>
<g id="Layer_15"></g>
<g id="Layer_16"></g>
<g id="Layer_17"></g>
<g id="Layer_18"></g>
<g id="Layer_19"></g>
<g id="Layer_20"></g>
<g id="Layer_21"></g>
<g id="Layer_24"></g>
<g id="Layer_25"></g>
<g id="Layer_26"></g>
<g id="Layer_27"></g>
<g id="Layer_28"></g>
<g id="Layer_29"></g>
<g id="Layer_47"></g>
<g id="Layer_30"></g>
<g id="Layer_31"></g>
<g id="Layer_32"></g>
<g id="Layer_33"></g>
<g id="Layer_34"></g>
<g id="Layer_35"></g>
<g id="Layer_36"></g>
<g id="Layer_37"></g>
<g id="Layer_38"></g>
<g id="Layer_39"></g>
<g id="Layer_40" fill="#606060" sketch:type="MSShapeGroup">
<path d="M25,0 C11.25,0 0,11.25 0,25 C0,38.75 11.25,50 25,50 C38.75,50 50,38.75 50,25 C49.5833333,11.25 38.75,0 25,0 L25,0 L25,0 Z M25,33.3333333 C20.4166667,33.3333333 16.6666667,29.5833333 16.6666667,25 C16.6666667,20.4166667 20.4166667,16.6666667 25,16.6666667 C29.5833333,16.6666667 32.9166667,20.4166667 32.9166667,25 C32.9166667,29.5833333 29.1666667,33.3333333 25,33.3333333 L25,33.3333333 L25,33.3333333 Z" id="Shape"></path>
</g>
<g id="Layer_41"></g>
<g id="Layer_42"></g>
<g id="Layer_43"></g>
<g id="Layer_44"></g>
<g id="Layer_45"></g>
<g id="Layer_46"></g>
<g id="Layer_48"></g>
<g id="Layer_49"></g>
<g id="Layer_51"></g>
<g id="Layer_52"></g>
<g id="Layer_53"></g>
<g id="Layer_54"></g>
<g id="Layer_55"></g>
<g id="Layer_56"></g>
<g id="Layer_57"></g>
<g id="Layer_58"></g>
<g id="Layer_59"></g>
<g id="Layer_60"></g>
<g id="Layer_61"></g>
<g id="Layer_62"></g>
<g id="Layer_63"></g>
<g id="Layer_64"></g>
<g id="Layer_65"></g>
<g id="Layer_66"></g>
<g id="Layer_50"></g>
</g>
</g>
</g>
</g>
</g>
</g>
</g>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 1.3 KiB

After

Width:  |  Height:  |  Size: 5.2 KiB

BIN
data/images/apply-check.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.9 KiB

View File

@@ -1,74 +1,15 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg width="9px" height="9px" viewBox="0 0 9 9" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:sketch="http://www.bohemiancoding.com/sketch/ns">
<title>Slice 1</title>
<svg width="45px" height="45px" viewBox="0 0 45 45" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:sketch="http://www.bohemiancoding.com/sketch/ns">
<title>arrow-down-double</title>
<description>Created with Sketch (http://www.bohemiancoding.com/sketch)</description>
<defs></defs>
<g id="Page-1" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd" sketch:type="MSPage">
<g id="icon_chev_up" sketch:type="MSLayerGroup" transform="translate(4.500000, 4.500000) scale(1, -1) translate(-4.500000, -4.500000) translate(0.000000, 2.000000)">
<g id="Layer_2"></g>
<g id="Layer_3"></g>
<g id="Layer_4"></g>
<g id="Layer_5"></g>
<g id="Layer_6"></g>
<g id="Layer_8"></g>
<g id="Layer_9"></g>
<g id="Layer_10"></g>
<g id="Layer_11"></g>
<g id="Layer_12"></g>
<g id="Layer_13"></g>
<g id="Layer_14"></g>
<g id="Layer_15"></g>
<g id="Layer_16"></g>
<g id="Layer_17"></g>
<g id="Layer_18"></g>
<g id="Layer_19"></g>
<g id="Layer_20"></g>
<g id="Layer_21"></g>
<g id="Layer_24"></g>
<g id="Layer_25"></g>
<g id="Layer_26"></g>
<g id="Layer_27"></g>
<g id="Layer_28"></g>
<g id="Layer_29"></g>
<g id="Layer_47"></g>
<g id="Layer_30"></g>
<g id="Layer_31"></g>
<g id="Layer_32"></g>
<g id="Layer_33"></g>
<g id="Layer_34"></g>
<g id="Layer_35"></g>
<g id="Layer_36"></g>
<g id="Layer_37"></g>
<g id="Layer_38"></g>
<g id="Layer_39" fill="#000000" sketch:type="MSShapeGroup">
<path d="M0.724137931,5 L0,4.33962264 L4.55172414,0 L9,4.33962264 L8.27586207,5 L4.55172414,1.41509434 L0.724137931,5 Z" id="Shape"></path>
<g id="Page 1" fill="rgb(215,215,215)" fill-rule="evenodd">
<g id="arrow-up-double" fill="rgb(0,0,0)" transform="translate(22.000000, 23.500000) rotate(-180.000000) translate(-22.000000, -23.500000)">
<g id="Page 1" fill="rgb(222,223,222)">
<g id="Group" fill="rgb(0,0,0)">
<path d="M3.48530778,39.7090464 L40.6463071,39.7090464 C41.8023053,39.7090464 42.8623067,39.0600481 43.3873082,38.0280466 C43.6143056,37.5890474 43.7243062,37.1090479 43.7243062,36.6310472 C43.7243062,35.9940462 43.5243054,35.3570452 43.1353055,34.8230448 L24.5533067,9.24104548 C23.9743062,8.44204569 23.0483056,7.9720459 22.0633069,7.9720459 C21.0783063,7.9720459 20.1523057,8.44404554 19.5743066,9.24104548 L0.993306841,34.8230448 C0.313306834,35.7580462 0.218306865,37.0010462 0.742306854,38.0280466 C1.2672902,39.0601206 2.32832536,39.7090464 3.48530778,39.7090464 C3.48530778,39.7090464 2.32832536,39.7090464 3.48530778,39.7090464 L3.48530778,39.7090464" id="Shape" fill="rgb(99,100,99)"></path>
</g>
</g>
<g id="Layer_40"></g>
<g id="Layer_41"></g>
<g id="Layer_42"></g>
<g id="Layer_43"></g>
<g id="Layer_44"></g>
<g id="Layer_45"></g>
<g id="Layer_46"></g>
<g id="Layer_48"></g>
<g id="Layer_49"></g>
<g id="Layer_51"></g>
<g id="Layer_52"></g>
<g id="Layer_53"></g>
<g id="Layer_54"></g>
<g id="Layer_55"></g>
<g id="Layer_56"></g>
<g id="Layer_57"></g>
<g id="Layer_58"></g>
<g id="Layer_59"></g>
<g id="Layer_60"></g>
<g id="Layer_61"></g>
<g id="Layer_62"></g>
<g id="Layer_63"></g>
<g id="Layer_64"></g>
<g id="Layer_65"></g>
<g id="Layer_66"></g>
<g id="Layer_50"></g>
</g>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 2.9 KiB

After

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.9 KiB

View File

@@ -0,0 +1,15 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg width="45px" height="45px" viewBox="0 0 45 45" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:sketch="http://www.bohemiancoding.com/sketch/ns">
<title>arrow-right-double</title>
<description>Created with Sketch (http://www.bohemiancoding.com/sketch)</description>
<defs></defs>
<g id="Page 1" fill="rgb(215,215,215)" fill-rule="evenodd">
<g id="arrow-up-double" fill="rgb(0,0,0)" transform="translate(22.000000, 22.500000) rotate(-270.000000) translate(-22.000000, -22.500000)">
<g id="Page 1" fill="rgb(222,223,222)">
<g id="Group" fill="rgb(0,0,0)">
<path d="M3.76020197,38.3028483 L40.9212013,38.3028483 C42.0771995,38.3028483 43.1372009,37.65385 43.6622024,36.6218485 C43.8891998,36.1828494 43.9992004,35.7028498 43.9992004,35.2248492 C43.9992004,34.5878481 43.7991996,33.9508471 43.4101997,33.4168467 L24.8282009,7.83484741 C24.2492004,7.03584762 23.3231998,6.56584783 22.3382011,6.56584783 C21.3532005,6.56584783 20.4271999,7.03784748 19.8492008,7.83484741 L1.26820104,33.4168467 C0.588201029,34.3518481 0.49320106,35.5948481 1.01720105,36.6218485 C1.5421844,37.6539225 2.60321955,38.3028483 3.76020197,38.3028483 C3.76020197,38.3028483 2.60321955,38.3028483 3.76020197,38.3028483 L3.76020197,38.3028483" id="Shape" fill="rgb(99,100,99)"></path>
</g>
</g>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.9 KiB

View File

@@ -0,0 +1,11 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg width="42px" height="42px" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:sketch="http://www.bohemiancoding.com/sketch/ns">
<title>arrow-up-double</title>
<description>Created with Sketch (http://www.bohemiancoding.com/sketch)</description>
<defs></defs>
<g id="Page 1" fill="rgb(223,223,223)" fill-rule="evenodd">
<g id="Group" fill="rgb(0,0,0)">
<path d="M2.35400391,38.0279541 L39.5150032,38.0279541 C40.6710032,38.0279541 41.7310033,37.3789541 42.2560031,36.3469541 C42.4830031,35.9079541 42.5930032,35.4279541 42.5930032,34.9499542 C42.5930032,34.3129541 42.3930032,33.6759541 42.0040032,33.1419542 L23.4220024,7.55995345 C22.8430024,6.76095343 21.9170024,6.2909534 20.9320024,6.2909534 C19.9470024,6.2909534 19.0210024,6.7629534 18.4430023,7.55995345 L-0.137997031,33.1419542 C-0.817997038,34.0769542 -0.912997007,35.3199542 -0.388997018,36.3469541 C0.135986328,37.3790283 1.19702148,38.0279541 2.35400391,38.0279541 C2.35400391,38.0279541 1.19702148,38.0279541 2.35400391,38.0279541 L2.35400391,38.0279541" id="Shape" fill="rgb(100,100,100)"></path>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 1.2 KiB

BIN
data/images/artist-icon.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 952 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.8 KiB

View File

@@ -1,79 +1,75 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg width="200px" height="200px" viewBox="0 0 200 200" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:sketch="http://www.bohemiancoding.com/sketch/ns">
<title>artist-placeholder-grid</title>
<title>Slice 1</title>
<description>Created with Sketch (http://www.bohemiancoding.com/sketch)</description>
<defs></defs>
<g id="Page-1" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd" sketch:type="MSPage">
<g id="artist-placeholder-grid" sketch:type="MSLayerGroup">
<g id="Page-1">
<rect id="Rectangle-1" fill="#D8D8D8" sketch:type="MSShapeGroup" x="0" y="0" width="200" height="200"></rect>
<g id="icon_Star" transform="translate(70.000000, 70.000000)">
<g id="Layer_2"></g>
<g id="Layer_3"></g>
<g id="Layer_4"></g>
<g id="Layer_5"></g>
<g id="Layer_6"></g>
<g id="Layer_8"></g>
<g id="Layer_9"></g>
<g id="Layer_10"></g>
<g id="Layer_11"></g>
<g id="Layer_12"></g>
<g id="Layer_13"></g>
<g id="Layer_14"></g>
<g id="Layer_15"></g>
<g id="Layer_16"></g>
<g id="Layer_17"></g>
<g id="Layer_18"></g>
<g id="Layer_19"></g>
<g id="Layer_20"></g>
<g id="Layer_21"></g>
<g id="Layer_24"></g>
<g id="Layer_25"></g>
<g id="Layer_26"></g>
<g id="Layer_27"></g>
<g id="Layer_28"></g>
<g id="Layer_29"></g>
<g id="Layer_47"></g>
<g id="Layer_30"></g>
<g id="Layer_31"></g>
<g id="Layer_32"></g>
<g id="Layer_33"></g>
<g id="Layer_34"></g>
<g id="Layer_35"></g>
<g id="Layer_36"></g>
<g id="Layer_37"></g>
<g id="Layer_38"></g>
<g id="Layer_39"></g>
<g id="Layer_40"></g>
<g id="Layer_41"></g>
<g id="Layer_42"></g>
<g id="Layer_43"></g>
<g id="Layer_44"></g>
<g id="Layer_45"></g>
<g id="Layer_46"></g>
<g id="Layer_48"></g>
<g id="Layer_49"></g>
<g id="Layer_51"></g>
<g id="Layer_52"></g>
<g id="Layer_53"></g>
<g id="Layer_54"></g>
<g id="Layer_55"></g>
<g id="Layer_56"></g>
<g id="Layer_57"></g>
<g id="Layer_58"></g>
<g id="Layer_59"></g>
<g id="Layer_60"></g>
<g id="Layer_61"></g>
<g id="Layer_62"></g>
<g id="Layer_63"></g>
<g id="Layer_64" fill="#606060" sketch:type="MSShapeGroup">
<path d="M37,22.9090909 L30,0 L23,22.9090909 L0,22.9090909 L19,37.0909091 L11.5,60 L30,45.8181818 L48.5,60 L41,37.0909091 L60,22.9090909 L37,22.9090909 L37,22.9090909 Z" id="Shape"></path>
</g>
<g id="Layer_65"></g>
<g id="Layer_66"></g>
<g id="Layer_50"></g>
</g>
<rect id="Rectangle-1" fill="#D8D8D8" sketch:type="MSShapeGroup" x="0" y="0" width="200" height="200"></rect>
<g id="icon_Star" sketch:type="MSLayerGroup" transform="translate(70.000000, 70.000000)">
<g id="Layer_2"></g>
<g id="Layer_3"></g>
<g id="Layer_4"></g>
<g id="Layer_5"></g>
<g id="Layer_6"></g>
<g id="Layer_8"></g>
<g id="Layer_9"></g>
<g id="Layer_10"></g>
<g id="Layer_11"></g>
<g id="Layer_12"></g>
<g id="Layer_13"></g>
<g id="Layer_14"></g>
<g id="Layer_15"></g>
<g id="Layer_16"></g>
<g id="Layer_17"></g>
<g id="Layer_18"></g>
<g id="Layer_19"></g>
<g id="Layer_20"></g>
<g id="Layer_21"></g>
<g id="Layer_24"></g>
<g id="Layer_25"></g>
<g id="Layer_26"></g>
<g id="Layer_27"></g>
<g id="Layer_28"></g>
<g id="Layer_29"></g>
<g id="Layer_47"></g>
<g id="Layer_30"></g>
<g id="Layer_31"></g>
<g id="Layer_32"></g>
<g id="Layer_33"></g>
<g id="Layer_34"></g>
<g id="Layer_35"></g>
<g id="Layer_36"></g>
<g id="Layer_37"></g>
<g id="Layer_38"></g>
<g id="Layer_39"></g>
<g id="Layer_40"></g>
<g id="Layer_41"></g>
<g id="Layer_42"></g>
<g id="Layer_43"></g>
<g id="Layer_44"></g>
<g id="Layer_45"></g>
<g id="Layer_46"></g>
<g id="Layer_48"></g>
<g id="Layer_49"></g>
<g id="Layer_51"></g>
<g id="Layer_52"></g>
<g id="Layer_53"></g>
<g id="Layer_54"></g>
<g id="Layer_55"></g>
<g id="Layer_56"></g>
<g id="Layer_57"></g>
<g id="Layer_58"></g>
<g id="Layer_59"></g>
<g id="Layer_60"></g>
<g id="Layer_61"></g>
<g id="Layer_62"></g>
<g id="Layer_63"></g>
<g id="Layer_64" fill="#606060" sketch:type="MSShapeGroup">
<path d="M37,22.9090909 L30,0 L23,22.9090909 L0,22.9090909 L19,37.0909091 L11.5,60 L30,45.8181818 L48.5,60 L41,37.0909091 L60,22.9090909 L37,22.9090909 Z" id="Shape"></path>
</g>
<g id="Layer_65"></g>
<g id="Layer_66"></g>
<g id="Layer_50"></g>
</g>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 3.7 KiB

After

Width:  |  Height:  |  Size: 3.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.7 KiB

View File

@@ -0,0 +1,17 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg width="122px" height="122px" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:sketch="http://www.bohemiancoding.com/sketch/ns">
<title>back-pressed</title>
<description>Created with Sketch (http://www.bohemiancoding.com/sketch)</description>
<defs>
<linearGradient x1="50%" y1="50%" x2="50%" y2="0%" id="linearGradient-1">
<stop stop-color="rgb(37,41,44)" offset="0%"></stop>
<stop stop-color="rgb(0,0,0)" stop-opacity="0.5" offset="100%"></stop>
</linearGradient>
<path d="M61,106 C85.852815,106 106,85.852815 106,61 C106,36.147185 85.852815,16 61,16 C36.147185,16 16,36.147185 16,61 C16,85.852815 36.147185,106 61,106 Z M61,121 C27.8629134,121 1,94.1370866 1,61 C1,27.8629134 27.8629134,1 61,1 C94.1370866,1 121,27.8629134 121,61 C121,94.1370866 94.1370866,121 61,121 Z M72.020667,47.866611 C72.5906846,47.4418988 73.3484729,47.3820274 73.9739682,47.7088251 C74.602506,48.0362617 74.9981666,48.6973776 75,49.4182771 L75,72.5816226 C75,73.3019496 74.603731,73.963029 73.9751875,74.2898267 C73.7063342,74.4307738 73.4155337,74.5 73.1241236,74.5 C72.7357801,74.5 72.3474365,74.3758917 72.0212766,74.1332881 L64.3385355,68.4243067 L64.3385355,72.5816224 C64.3385355,73.3019495 63.9416569,73.9630288 63.3131133,74.2898265 C63.0448697,74.4307736 62.7534596,74.4999998 62.4620495,74.4999998 C62.0737059,74.4999998 61.6853623,74.3758915 61.3598121,74.1332879 L45.773639,62.5513035 C45.2865329,62.1895808 45,61.6126956 45,60.9983907 C45,60.3847096 45.2877523,59.8072007 45.773639,59.4467253 L61.3598121,47.8666109 C61.9298299,47.4418986 62.6870084,47.3820273 63.3125037,47.708825 C63.941657,48.0362464 64.3379259,48.6973257 64.3379259,49.4189 L64.3379259,53.5737213 Z M72.020667,47.866611" id="path-2"></path>
</defs>
<g id="Page 1" fill="rgb(215,215,215)" fill-rule="evenodd">
<path d="M61,121 C94.1370866,121 121,94.1370866 121,61 C121,27.8629134 94.1370866,1 61,1 C27.8629134,1 1,27.8629134 1,61 C1,94.1370866 27.8629134,121 61,121 Z M61,121" id="Oval 18" stroke="rgb(150,150,150)" stroke-width="1" fill-opacity="0.00241268382" fill="rgb(254,255,254)"></path>
<use id="Oval 33" stroke="rgb(150,150,150)" stroke-width="1" fill="url(#linearGradient-1)" xlink:href="#path-2"></use>
<use id="Oval 33-1" stroke="none" fill="none" xlink:href="#path-2"></use>
</g>
</svg>

After

Width:  |  Height:  |  Size: 2.4 KiB

BIN
data/images/back-rest.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 KiB

17
data/images/back-rest.svg Normal file
View File

@@ -0,0 +1,17 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg width="122px" height="122px" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:sketch="http://www.bohemiancoding.com/sketch/ns">
<title>back-rest</title>
<description>Created with Sketch (http://www.bohemiancoding.com/sketch)</description>
<defs>
<linearGradient x1="50%" y1="50%" x2="50%" y2="0%" id="linearGradient-1">
<stop stop-color="rgb(37,41,44)" offset="0%"></stop>
<stop stop-color="rgb(0,0,0)" stop-opacity="0.5" offset="100%"></stop>
</linearGradient>
<path d="M61,106 C85.852815,106 106,85.852815 106,61 C106,36.147185 85.852815,16 61,16 C36.147185,16 16,36.147185 16,61 C16,85.852815 36.147185,106 61,106 Z M61,121 C27.8629134,121 1,94.1370866 1,61 C1,27.8629134 27.8629134,1 61,1 C94.1370866,1 121,27.8629134 121,61 C121,94.1370866 94.1370866,121 61,121 Z M72.020667,47.866611 C72.5906846,47.4418988 73.3484729,47.3820274 73.9739682,47.7088251 C74.602506,48.0362617 74.9981666,48.6973776 75,49.4182771 L75,72.5816226 C75,73.3019496 74.603731,73.963029 73.9751875,74.2898267 C73.7063342,74.4307738 73.4155337,74.5 73.1241236,74.5 C72.7357801,74.5 72.3474365,74.3758917 72.0212766,74.1332881 L64.3385355,68.4243067 L64.3385355,72.5816224 C64.3385355,73.3019495 63.9416569,73.9630288 63.3131133,74.2898265 C63.0448697,74.4307736 62.7534596,74.4999998 62.4620495,74.4999998 C62.0737059,74.4999998 61.6853623,74.3758915 61.3598121,74.1332879 L45.773639,62.5513035 C45.2865329,62.1895808 45,61.6126956 45,60.9983907 C45,60.3847096 45.2877523,59.8072007 45.773639,59.4467253 L61.3598121,47.8666109 C61.9298299,47.4418986 62.6870084,47.3820273 63.3125037,47.708825 C63.941657,48.0362464 64.3379259,48.6973257 64.3379259,49.4189 L64.3379259,53.5737213 Z M72.020667,47.866611" id="path-2"></path>
</defs>
<g id="Page 1" fill="rgb(215,215,215)" fill-rule="evenodd">
<path d="M61,121 C94.1370866,121 121,94.1370866 121,61 C121,27.8629134 94.1370866,1 61,1 C27.8629134,1 1,27.8629134 1,61 C1,94.1370866 27.8629134,121 61,121 Z M61,121" id="Oval 18" stroke="rgb(150,150,150)" stroke-width="1" fill-opacity="0.5027861" fill="rgb(254,255,254)"></path>
<use id="Oval 33" stroke="rgb(150,150,150)" stroke-width="1" fill="url(#linearGradient-1)" xlink:href="#path-2"></use>
<use id="Oval 33-1" stroke="none" fill="none" xlink:href="#path-2"></use>
</g>
</svg>

After

Width:  |  Height:  |  Size: 2.4 KiB

BIN
data/images/back.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.3 KiB

0
data/images/back.svg Normal file → Executable file
View File

Before

Width:  |  Height:  |  Size: 1.6 KiB

After

Width:  |  Height:  |  Size: 1.6 KiB

BIN
data/images/cancel.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 923 B

BIN
data/images/charts.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.7 KiB

View File

@@ -1,11 +1,28 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg width="50px" height="50px" viewBox="0 0 50 50" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:sketch="http://www.bohemiancoding.com/sketch/ns">
<title>charts</title>
<svg width="60px" height="60px" viewBox="0 0 60 60" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:sketch="http://www.bohemiancoding.com/sketch/ns">
<title>Slice 1</title>
<description>Created with Sketch (http://www.bohemiancoding.com/sketch)</description>
<defs></defs>
<g id="Page-1" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd" sketch:type="MSPage">
<g id="icon_charts" sketch:type="MSLayerGroup" transform="translate(0.000000, 2.000000)" fill="#000000">
<path d="M31.4416667,22 L24.5,13.6 L0,43 L13.8833333,43 L49,43 L49,1 L31.4416667,22 L31.4416667,22 Z" id="Shape" sketch:type="MSShapeGroup"></path>
<g id="charts" sketch:type="MSLayerGroup" transform="translate(1.000000, 0.000000)" fill="#000000">
<g id="Page-1" sketch:type="MSShapeGroup">
<g id="charts">
<g id="Page-1">
<g id="charts">
<g id="Page-1">
<g id="Group">
<path d="M55.5771484,45.8056815 L19.851435,45.8056815 C18.4985778,45.8056815 17.4000065,48.8856815 17.4000065,52.6736817 C17.4000065,56.4616815 18.4985779,59.5376815 19.851435,59.5376815 L55.5771484,59.5376815 C56.9300056,59.5376815 58.028577,56.4616815 58.028577,52.6736817 C58.028577,48.8856818 56.9314314,45.8056815 55.5771484,45.8056815 L55.5771484,45.8056815" id="Shape"></path>
<path d="M55.5771484,23.7842494 L19.851435,23.7842494 C18.4985778,23.7842494 17.4000065,26.8562495 17.4000065,30.6482495 C17.4000065,34.4402492 18.4985779,37.5082495 19.851435,37.5082495 L55.5771484,37.5082495 C56.9300056,37.5082495 58.028577,34.4402494 58.028577,30.6482495 C58.028577,26.8562492 56.9314314,23.7842494 55.5771484,23.7842494 L55.5771484,23.7842494" id="Shape"></path>
<path d="M19.8528355,14.4880371 L55.578549,14.4880371 C56.9314062,14.4880371 58.0299775,11.4160371 58.0299775,7.62803696 C58.0299775,3.83603689 56.9314061,0.76003691 55.578549,0.76003691 L19.8528355,0.76003691 C18.4999783,0.76003691 17.401407,3.83603689 17.401407,7.62803696 C17.4014457,11.4199218 18.4985526,14.4880371 19.8528355,14.4880371 C19.8528355,14.4880371 18.4985526,14.4880371 19.8528355,14.4880371 L19.8528355,14.4880371" id="Shape"></path>
<path d="M10.6863665,0.722830636 L2.95182071,0.722830636 C1.22818432,0.722830636 -0.169997488,2.11919428 -0.169997488,3.84101251 L-0.169997488,11.5791944 C-0.169997488,13.3010126 1.22818432,14.7010126 2.95182071,14.7010126 L10.6863665,14.7010126 C12.4100029,14.7010126 13.8081846,13.3010126 13.8081846,11.5791944 L13.8081846,3.84101251 C13.8082037,2.11742847 12.4099993,0.722830636 10.6863665,0.722830636 L10.6863665,0.722830636" id="Shape"></path>
<path d="M10.6863665,23.7428676 L2.95182071,23.7428676 C1.22818432,23.7428676 -0.169997488,25.1428676 -0.169997488,26.8665041 L-0.169997488,34.6028679 C-0.169997488,36.3246862 1.22818432,37.7210497 2.95182071,37.7210497 L10.6863665,37.7210497 C12.4100029,37.7210497 13.8081846,36.3246862 13.8081846,34.6028679 L13.8081846,26.8665041 C13.8082037,25.1429031 12.4099993,23.7428676 10.6863665,23.7428676 L10.6863665,23.7428676" id="Shape"></path>
<path d="M10.6863665,45.767177 L2.95182071,45.767177 C1.22818432,45.767177 -0.169997488,47.1635407 -0.169997488,48.887177 L-0.169997488,56.6235408 C-0.169997488,58.345359 1.22818432,59.7435408 2.95182071,59.7435408 L10.6863665,59.7435408 C12.4100029,59.7435408 13.8081846,58.3453589 13.8081846,56.6235408 L13.8081846,48.887177 C13.8082037,47.1616639 12.4099993,45.767177 10.6863665,45.767177 L10.6863665,45.767177" id="Shape"></path>
</g>
</g>
</g>
</g>
</g>
</g>
</g>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 794 B

After

Width:  |  Height:  |  Size: 3.7 KiB

BIN
data/images/close.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

BIN
data/images/collection.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 893 KiB

After

Width:  |  Height:  |  Size: 1022 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 298 KiB

BIN
data/images/configure.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.9 KiB

View File

@@ -1,14 +0,0 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg width="66px" height="66px" viewBox="0 0 66 66" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:sketch="http://www.bohemiancoding.com/sketch/ns">
<title>copy</title>
<description>Created with Sketch (http://www.bohemiancoding.com/sketch)</description>
<defs></defs>
<g id="Page-1" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd" sketch:type="MSPage">
<g id="link35" sketch:type="MSLayerGroup" transform="translate(1.000000, 1.000000)" fill="#000000">
<g id="Group" sketch:type="MSShapeGroup">
<path d="M27.1891064,27.1894468 C27.7334468,26.644766 28.4595745,26.3451915 29.2333617,26.3451915 C30.0071489,26.3451915 30.7332766,26.6451064 31.277617,27.1894468 L36.8105532,32.722383 C37.0022128,32.9137021 37.2619574,33.021617 37.5325957,33.021617 C37.803234,33.021617 38.0633191,32.9140426 38.2546383,32.722383 L43.7875745,27.1894468 C43.979234,26.9981277 44.0868085,26.7380426 44.0868085,26.4674043 C44.0868085,26.196766 43.979234,25.9366809 43.7875745,25.7453617 L38.2546383,20.2124255 C35.8440851,17.8025532 32.64,16.4755745 29.2330213,16.4755745 C25.8260426,16.4755745 22.6219574,17.8025532 20.2114043,20.2120851 L3.61191489,36.8115745 C1.2013617,39.2221277 -0.126297872,42.4265532 -0.126297872,45.8345532 C-0.126297872,49.2428936 1.2013617,52.4462979 3.61225532,54.8551489 L9.14485106,60.3877447 C11.5533617,62.7982979 14.7571064,64.1259574 18.1651064,64.1259574 C21.5731064,64.1259574 24.7775319,62.7982979 27.1884255,60.3877447 L36.5426383,51.0335319 C36.8435745,50.7325957 36.9262979,50.276766 36.7506383,49.8893617 C36.5841702,49.5227234 36.219234,49.2902128 35.8209362,49.2902128 C35.7981277,49.2902128 35.7756596,49.2908936 35.7525106,49.2925957 C35.4233191,49.3147234 35.0897021,49.325617 34.7605106,49.325617 C32.162383,49.325617 29.6071489,48.6348936 27.3715745,47.328 C27.2108936,47.2340426 27.0331915,47.1884255 26.8565106,47.1884255 C26.5923404,47.1884255 26.3308936,47.2908936 26.1341277,47.4876596 L20.2114043,53.410383 C19.6660426,53.9557447 18.9402553,54.2563404 18.1674894,54.2563404 C17.394383,54.2563404 16.6679149,53.9560851 16.1225532,53.410383 L10.589617,47.8774468 C10.0435745,47.332766 9.74297872,46.608 9.74229787,45.8362553 C9.74195745,45.0628085 10.0425532,44.3356596 10.589617,43.7885957 L27.1891064,27.1894468 L27.1891064,27.1894468 Z" id="Shape"></path>
<path d="M60.3874043,9.14382979 L54.8544681,3.61089362 C52.445617,1.2013617 49.2422128,-0.125957447 45.8342128,-0.125957447 C42.4262128,-0.125957447 39.2217872,1.20102128 36.811234,3.61055319 L27.4566809,12.9688511 C27.1557447,13.2697872 27.0730213,13.7259574 27.2490213,14.1133617 C27.4154894,14.4796596 27.7804255,14.7121702 28.178383,14.7121702 C28.2011915,14.7121702 28.2243404,14.7114894 28.2474894,14.7097872 C28.5797447,14.6873191 28.9164255,14.6760851 29.2486809,14.6760851 C31.8519149,14.6760851 34.4013617,15.3664681 36.621617,16.6726809 C36.7829787,16.7676596 36.9617021,16.813617 37.1390638,16.813617 C37.403234,16.813617 37.6646809,16.7111489 37.8614468,16.514383 L43.7882553,10.5875745 C44.3325957,10.0428936 45.0587234,9.74331915 45.8325106,9.74331915 C46.6062979,9.74331915 47.3324255,10.043234 47.876766,10.5875745 L53.4097021,16.1205106 C54.5358298,17.248 54.5358298,19.0835745 53.4093617,20.2117447 L36.8105532,36.8105532 C36.2662128,37.3562553 35.5414468,37.6565106 34.7693617,37.6565106 C33.9955745,37.6565106 33.2680851,37.3559149 32.7206809,36.8098723 L27.1891064,31.2779574 C26.9974468,31.0866383 26.7377021,30.9787234 26.4670638,30.9787234 C26.1964255,30.9787234 25.9363404,31.0862979 25.7450213,31.2779574 L20.2120851,36.8108936 C19.8131064,37.2098723 19.8131064,37.8563404 20.2120851,38.2553191 L25.7450213,43.7882553 C28.1555745,46.1988085 31.3596596,47.5264681 34.7666383,47.5264681 C38.173617,47.5264681 41.3777021,46.1988085 43.7882553,43.7882553 L60.3874043,27.1891064 C62.7979574,24.7795745 64.125617,21.5751489 64.125617,18.1664681 C64.125617,14.7577872 62.7979574,11.5533617 60.3874043,9.14382979 L60.3874043,9.14382979 Z" id="Shape"></path>
</g>
</g>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 4.1 KiB

BIN
data/images/dashboard.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.1 KiB

View File

@@ -1,41 +1,13 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 17.1.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
viewBox="0 0 8.7 8" enable-background="new 0 0 8.7 8" xml:space="preserve">
<g id="_x2E_svg_6_">
<rect width="8.7" height="1.6"/>
<rect y="3.2" width="7.1" height="1.6"/>
<rect y="6.4" width="4.4" height="1.6"/>
</g>
<g>
</g>
<g>
</g>
<g>
</g>
<g>
</g>
<g>
</g>
<g>
</g>
<g>
</g>
<g>
</g>
<g>
</g>
<g>
</g>
<g>
</g>
<g>
</g>
<g>
</g>
<g>
</g>
<g>
</g>
</svg>
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg width="62px" height="62px" viewBox="0 0 62 62" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:sketch="http://www.bohemiancoding.com/sketch/ns">
<title>Slice 1</title>
<description>Created with Sketch (http://www.bohemiancoding.com/sketch)</description>
<defs></defs>
<g id="Page-1" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd" sketch:type="MSPage">
<g id="g574" sketch:type="MSLayerGroup" transform="translate(25.250000, 16.875000)" fill="#000000">
<path d="M25.28,31.25 L3.49180006,31.25 C1.67480066,31.25 0.20224041,30.6675 0.20224041,29.9474999 L0.20224041,1.48874968 C0.20224041,0.769999698 1.67480038,0.186249614 3.49180044,0.186249614 L25.2800004,0.186249614 C27.1001603,0.186249614 28.5727206,0.769999623 28.5727206,1.48874968 L28.5727206,29.9474999 C28.5727202,30.6675 27.1001599,31.25 25.28,31.25" id="path576" sketch:type="MSShapeGroup"></path>
</g>
<path d="M20.4691028,19.6025008 L10.0308973,19.6025008 L10.0308973,45.4600018 L20.4691028,45.4600018 L20.4691028,19.6025008 L20.4691028,19.6025008 L20.4691028,19.6025008 M20.9850466,48.0625003 L9.51544862,48.0625003 C9.23073877,48.0625003 9,47.4800003 9,46.7612503 L9,18.3025001 C9,17.5825001 9.23073876,17 9.51544862,17 L20.9850466,17 C21.2692613,17 21.5,17.5825 21.5,18.3025001 L21.5,46.7612503 C21.5,47.4800003 21.2692612,48.0625003 20.9850466,48.0625003" id="path578" fill="#000000" sketch:type="MSShapeGroup"></path>
<path d="M4,49 L58,49 L58,7 L4,7 L4,49 L4,49 L4,49 M2.1523901,58 C0.962682853,58 0,57.021545 0,55.8151617 L0,5.18483831 C0,3.97845497 0.962682853,3 2.1523901,3 L59.8463694,3 C61.0360767,3 62,3.97845497 62,5.18483831 L62,55.8151617 C62,57.021545 61.0360766,58 59.8463694,58 L2.1523901,58 Z" id="path580" fill="#000000" sketch:type="MSShapeGroup" transform="translate(31.000000, 30.500000) scale(1, -1) translate(-31.000000, -30.500000) "></path>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 764 B

After

Width:  |  Height:  |  Size: 2.0 KiB

Some files were not shown because too many files have changed in this diff Show More