mirror of
https://github.com/owntone/owntone-server.git
synced 2024-12-24 22:25:56 -05:00
more adds from win32-branch
This commit is contained in:
parent
9a133dcbdc
commit
47f6eeb8c5
151
win32/config.h
Normal file
151
win32/config.h
Normal file
@ -0,0 +1,151 @@
|
|||||||
|
/* config.h. Generated by configure. */
|
||||||
|
/* config.h.in. Generated from configure.in by autoheader. */
|
||||||
|
|
||||||
|
/* Define to 1 if you have the `atoll' function. */
|
||||||
|
#define HAVE_ATOLL 1
|
||||||
|
|
||||||
|
/* Define to 1 if you have the <fcntl.h> header file. */
|
||||||
|
#define HAVE_FCNTL_H 1
|
||||||
|
|
||||||
|
/* Define to 1 if you have the <FLAC/metadata.h> header file. */
|
||||||
|
/* #undef HAVE_FLAC_METADATA_H */
|
||||||
|
|
||||||
|
/* Define to 1 if you have the <getopt.h> header file. */
|
||||||
|
#define HAVE_GETOPT_H 1
|
||||||
|
|
||||||
|
/* Define to 1 if you have the <id3tag.h> header file. */
|
||||||
|
#define HAVE_ID3TAG_H 1
|
||||||
|
|
||||||
|
/* Define to 1 if you have the <inttypes.h> header file. */
|
||||||
|
#define HAVE_INTTYPES_H 1
|
||||||
|
|
||||||
|
/* Define to 1 if you have the `FLAC' library (-lFLAC). */
|
||||||
|
/* #undef HAVE_LIBFLAC */
|
||||||
|
|
||||||
|
/* Define to 1 if you have the `id3tag' library (-lid3tag). */
|
||||||
|
#define HAVE_LIBID3TAG 1
|
||||||
|
|
||||||
|
/* Define to 1 if you have the `ogg' library (-logg). */
|
||||||
|
/* #undef HAVE_LIBOGG */
|
||||||
|
|
||||||
|
/* Define to 1 if you have the `sqlite' library (-lsqlite). */
|
||||||
|
#define HAVE_LIBSQLITE 1
|
||||||
|
|
||||||
|
/* Define to 1 if you have the `sqlite3' library (-lsqlite3). */
|
||||||
|
/* #define HAVE_LIBSQLITE3 1 */
|
||||||
|
|
||||||
|
/* Define to 1 if you have the `vorbis' library (-lvorbis). */
|
||||||
|
/* #undef HAVE_LIBVORBIS */
|
||||||
|
|
||||||
|
/* Define to 1 if you have the `vorbisfile' library (-lvorbisfile). */
|
||||||
|
/* #undef HAVE_LIBVORBISFILE */
|
||||||
|
|
||||||
|
/* Define to 1 if you have the <memory.h> header file. */
|
||||||
|
#define HAVE_MEMORY_H 1
|
||||||
|
|
||||||
|
/* Define to 1 if you have the <ogg/ogg.h> header file. */
|
||||||
|
/* #undef HAVE_OGG_OGG_H */
|
||||||
|
|
||||||
|
/* Define to 1 if you have the `select' function. */
|
||||||
|
#define HAVE_SELECT 1
|
||||||
|
|
||||||
|
/* Define to 1 if you have the `socket' function. */
|
||||||
|
#define HAVE_SOCKET 1
|
||||||
|
|
||||||
|
/* Define to 1 if you have the <sqlite3.h> header file. */
|
||||||
|
#define HAVE_SQLITE3_H 1
|
||||||
|
|
||||||
|
/* Define to 1 if you have the <sqlite.h> header file. */
|
||||||
|
#define HAVE_SQLITE_H 1
|
||||||
|
|
||||||
|
/* Define to 1 if you have the <stdint.h> header file. */
|
||||||
|
#define HAVE_STDINT_H 1
|
||||||
|
|
||||||
|
/* Define to 1 if you have the <stdlib.h> header file. */
|
||||||
|
#define HAVE_STDLIB_H 1
|
||||||
|
|
||||||
|
/* Define to 1 if you have the `strcasestr' function. */
|
||||||
|
/* #define HAVE_STRCASESTR 1 */
|
||||||
|
|
||||||
|
/* Define to 1 if you have the `strdup' function. */
|
||||||
|
#define HAVE_STRDUP 1
|
||||||
|
|
||||||
|
/* Define to 1 if you have the `strerror' function. */
|
||||||
|
#define HAVE_STRERROR 1
|
||||||
|
|
||||||
|
/* Define to 1 if you have the <strings.h> header file. */
|
||||||
|
#define HAVE_STRINGS_H 1
|
||||||
|
|
||||||
|
/* Define to 1 if you have the <string.h> header file. */
|
||||||
|
#define HAVE_STRING_H 1
|
||||||
|
|
||||||
|
/* Define to 1 if you have the `strsep' function. */
|
||||||
|
#define HAVE_STRSEP 1
|
||||||
|
|
||||||
|
/* Define to 1 if you have the <syslog.h> header file. */
|
||||||
|
#define HAVE_SYSLOG_H 1
|
||||||
|
|
||||||
|
/* Define to 1 if you have the <sys/filio.h> header file. */
|
||||||
|
#define HAVE_SYS_FILIO_H 1
|
||||||
|
|
||||||
|
/* Define to 1 if you have the <sys/ioctl.h> header file. */
|
||||||
|
#define HAVE_SYS_IOCTL_H 1
|
||||||
|
|
||||||
|
/* Define to 1 if you have the <sys/stat.h> header file. */
|
||||||
|
#define HAVE_SYS_STAT_H 1
|
||||||
|
|
||||||
|
/* Define to 1 if you have the <sys/time.h> header file. */
|
||||||
|
/* #define HAVE_SYS_TIME_H 1 */
|
||||||
|
|
||||||
|
/* Define to 1 if you have the <sys/types.h> header file. */
|
||||||
|
#define HAVE_SYS_TYPES_H 1
|
||||||
|
|
||||||
|
/* Define to 1 if you have <sys/wait.h> that is POSIX.1 compatible. */
|
||||||
|
/* #define HAVE_SYS_WAIT_H 1 */
|
||||||
|
|
||||||
|
/* Define to 1 if you have the <taglib/tag_c.h> header file. */
|
||||||
|
/* #undef HAVE_TAGLIB_TAG_C_H */
|
||||||
|
|
||||||
|
/* Define to 1 if you have the <termio.h> header file. */
|
||||||
|
/* #undef HAVE_TERMIO_H */
|
||||||
|
|
||||||
|
/* Define to 1 if you have the <unistd.h> header file. */
|
||||||
|
/* #define HAVE_UNISTD_H 1 */
|
||||||
|
|
||||||
|
/* Define to 1 if you have the <vorbis/codec.h> header file. */
|
||||||
|
/* #undef HAVE_VORBIS_CODEC_H */
|
||||||
|
|
||||||
|
/* Name of package */
|
||||||
|
#define PACKAGE "mt-daapd"
|
||||||
|
|
||||||
|
/* Define to the address where bug reports for this package should be sent. */
|
||||||
|
#define PACKAGE_BUGREPORT ""
|
||||||
|
|
||||||
|
/* Define to the full name of this package. */
|
||||||
|
#define PACKAGE_NAME ""
|
||||||
|
|
||||||
|
/* Define to the full name and version of this package. */
|
||||||
|
#define PACKAGE_STRING ""
|
||||||
|
|
||||||
|
/* Define to the one symbol short name of this package. */
|
||||||
|
#define PACKAGE_TARNAME ""
|
||||||
|
|
||||||
|
/* Define to the version of this package. */
|
||||||
|
#define PACKAGE_VERSION ""
|
||||||
|
|
||||||
|
/* Define as the return type of signal handlers (`int' or `void'). */
|
||||||
|
#define RETSIGTYPE void
|
||||||
|
|
||||||
|
/* Define to 1 if the `setpgrp' function takes no argument. */
|
||||||
|
/* #undef SETPGRP_VOID */
|
||||||
|
|
||||||
|
/* Define to 1 if you have the ANSI C header files. */
|
||||||
|
#define STDC_HEADERS 1
|
||||||
|
|
||||||
|
/* Define to 1 if you can safely include both <sys/time.h> and <time.h>. */
|
||||||
|
#define TIME_WITH_SYS_TIME 1
|
||||||
|
|
||||||
|
/* Version number of package */
|
||||||
|
#define VERSION "cvs-win32-afu"
|
||||||
|
|
||||||
|
#include "win32.h"
|
28
win32/messages.mc
Normal file
28
win32/messages.mc
Normal file
@ -0,0 +1,28 @@
|
|||||||
|
;#ifndef __MESSAGES_H__
|
||||||
|
;#define __MESSAGES_H__
|
||||||
|
;
|
||||||
|
;
|
||||||
|
; // Eventlog messages? What's this rubbish? I'll just make a
|
||||||
|
; // single message so I can reduce the eventlog api to syslog(3). <sigh>
|
||||||
|
; // Perhaps this isn't as win32ish as it could be. :)
|
||||||
|
;
|
||||||
|
|
||||||
|
LanguageNames =
|
||||||
|
(
|
||||||
|
English = 0x0409:Messages_ENU
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
|
;////////////////////////////////////////
|
||||||
|
;// Events
|
||||||
|
;//
|
||||||
|
|
||||||
|
MessageId = +1
|
||||||
|
SymbolicName = EVENT_MSG
|
||||||
|
Language = English
|
||||||
|
%1
|
||||||
|
.
|
||||||
|
|
||||||
|
;
|
||||||
|
;#endif //__MESSAGES_H__
|
||||||
|
;
|
101
win32/mt-daapd.rc
Normal file
101
win32/mt-daapd.rc
Normal file
@ -0,0 +1,101 @@
|
|||||||
|
// Microsoft Visual C++ generated resource script.
|
||||||
|
//
|
||||||
|
#include "resource.h"
|
||||||
|
|
||||||
|
#define APSTUDIO_READONLY_SYMBOLS
|
||||||
|
/////////////////////////////////////////////////////////////////////////////
|
||||||
|
//
|
||||||
|
// Generated from the TEXTINCLUDE 2 resource.
|
||||||
|
//
|
||||||
|
#include "afxres.h"
|
||||||
|
|
||||||
|
/////////////////////////////////////////////////////////////////////////////
|
||||||
|
#undef APSTUDIO_READONLY_SYMBOLS
|
||||||
|
|
||||||
|
/////////////////////////////////////////////////////////////////////////////
|
||||||
|
// English (U.S.) resources
|
||||||
|
|
||||||
|
#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU)
|
||||||
|
#ifdef _WIN32
|
||||||
|
LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US
|
||||||
|
#pragma code_page(1252)
|
||||||
|
#endif //_WIN32
|
||||||
|
|
||||||
|
#ifdef APSTUDIO_INVOKED
|
||||||
|
/////////////////////////////////////////////////////////////////////////////
|
||||||
|
//
|
||||||
|
// TEXTINCLUDE
|
||||||
|
//
|
||||||
|
|
||||||
|
1 TEXTINCLUDE
|
||||||
|
BEGIN
|
||||||
|
"resource.h\0"
|
||||||
|
END
|
||||||
|
|
||||||
|
2 TEXTINCLUDE
|
||||||
|
BEGIN
|
||||||
|
"#include ""afxres.h""\r\n"
|
||||||
|
"\0"
|
||||||
|
END
|
||||||
|
|
||||||
|
3 TEXTINCLUDE
|
||||||
|
BEGIN
|
||||||
|
"#include ""res/Messages.rc""\0"
|
||||||
|
END
|
||||||
|
|
||||||
|
#endif // APSTUDIO_INVOKED
|
||||||
|
|
||||||
|
|
||||||
|
/////////////////////////////////////////////////////////////////////////////
|
||||||
|
//
|
||||||
|
// Version
|
||||||
|
//
|
||||||
|
|
||||||
|
VS_VERSION_INFO VERSIONINFO
|
||||||
|
FILEVERSION 0,3,0,0
|
||||||
|
PRODUCTVERSION 0,3,0,0
|
||||||
|
FILEFLAGSMASK 0x17L
|
||||||
|
#ifdef _DEBUG
|
||||||
|
FILEFLAGS 0x1L
|
||||||
|
#else
|
||||||
|
FILEFLAGS 0x0L
|
||||||
|
#endif
|
||||||
|
FILEOS 0x4L
|
||||||
|
FILETYPE 0x1L
|
||||||
|
FILESUBTYPE 0x0L
|
||||||
|
BEGIN
|
||||||
|
BLOCK "StringFileInfo"
|
||||||
|
BEGIN
|
||||||
|
BLOCK "040904b0"
|
||||||
|
BEGIN
|
||||||
|
VALUE "Comments", "http://www.mt-daapd.org"
|
||||||
|
VALUE "CompanyName", "Ron Pedde"
|
||||||
|
VALUE "FileDescription", "Multi-Threaded DAAP Server"
|
||||||
|
VALUE "FileVersion", "0, 3, 0, 0"
|
||||||
|
VALUE "InternalName", "mt-daapd"
|
||||||
|
VALUE "LegalCopyright", "Copyright (C) 2006 Ron Pedde"
|
||||||
|
VALUE "OriginalFilename", "mt-daapd.exe"
|
||||||
|
VALUE "ProductName", "mt-daapd"
|
||||||
|
VALUE "ProductVersion", "0, 3, 0, 0"
|
||||||
|
END
|
||||||
|
END
|
||||||
|
BLOCK "VarFileInfo"
|
||||||
|
BEGIN
|
||||||
|
VALUE "Translation", 0x409, 1200
|
||||||
|
END
|
||||||
|
END
|
||||||
|
|
||||||
|
#endif // English (U.S.) resources
|
||||||
|
/////////////////////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
#ifndef APSTUDIO_INVOKED
|
||||||
|
/////////////////////////////////////////////////////////////////////////////
|
||||||
|
//
|
||||||
|
// Generated from the TEXTINCLUDE 3 resource.
|
||||||
|
//
|
||||||
|
#include "res/Messages.rc"
|
||||||
|
/////////////////////////////////////////////////////////////////////////////
|
||||||
|
#endif // not APSTUDIO_INVOKED
|
||||||
|
|
@ -36,6 +36,7 @@
|
|||||||
AdditionalDependencies="zlib.lib libid3tag.lib gnu_regex.lib pthreadVC2.lib wsock32.lib sqlite3.lib sqlite.lib dnssd.lib"
|
AdditionalDependencies="zlib.lib libid3tag.lib gnu_regex.lib pthreadVC2.lib wsock32.lib sqlite3.lib sqlite.lib dnssd.lib"
|
||||||
OutputFile="$(OutDir)/mt-daapd.exe"
|
OutputFile="$(OutDir)/mt-daapd.exe"
|
||||||
LinkIncremental="2"
|
LinkIncremental="2"
|
||||||
|
AdditionalLibraryDirectories=""
|
||||||
IgnoreDefaultLibraryNames="LIBC"
|
IgnoreDefaultLibraryNames="LIBC"
|
||||||
GenerateDebugInformation="TRUE"
|
GenerateDebugInformation="TRUE"
|
||||||
ProgramDatabaseFile="$(OutDir)/mt-daapd.pdb"
|
ProgramDatabaseFile="$(OutDir)/mt-daapd.pdb"
|
||||||
@ -50,7 +51,8 @@
|
|||||||
<Tool
|
<Tool
|
||||||
Name="VCPreLinkEventTool"/>
|
Name="VCPreLinkEventTool"/>
|
||||||
<Tool
|
<Tool
|
||||||
Name="VCResourceCompilerTool"/>
|
Name="VCResourceCompilerTool"
|
||||||
|
AdditionalIncludeDirectories="C:\working\projects\win32\include"/>
|
||||||
<Tool
|
<Tool
|
||||||
Name="VCWebServiceProxyGeneratorTool"/>
|
Name="VCWebServiceProxyGeneratorTool"/>
|
||||||
<Tool
|
<Tool
|
||||||
@ -84,6 +86,7 @@
|
|||||||
AdditionalDependencies="zlib.lib libid3tag.lib gnu_regex.lib pthreadVC2.lib wsock32.lib sqlite3.lib sqlite.lib dnssd.lib"
|
AdditionalDependencies="zlib.lib libid3tag.lib gnu_regex.lib pthreadVC2.lib wsock32.lib sqlite3.lib sqlite.lib dnssd.lib"
|
||||||
OutputFile="$(OutDir)/mt-daapd.exe"
|
OutputFile="$(OutDir)/mt-daapd.exe"
|
||||||
LinkIncremental="1"
|
LinkIncremental="1"
|
||||||
|
AdditionalLibraryDirectories=""
|
||||||
IgnoreDefaultLibraryNames=""
|
IgnoreDefaultLibraryNames=""
|
||||||
GenerateDebugInformation="TRUE"
|
GenerateDebugInformation="TRUE"
|
||||||
SubSystem="1"
|
SubSystem="1"
|
||||||
@ -99,7 +102,8 @@
|
|||||||
<Tool
|
<Tool
|
||||||
Name="VCPreLinkEventTool"/>
|
Name="VCPreLinkEventTool"/>
|
||||||
<Tool
|
<Tool
|
||||||
Name="VCResourceCompilerTool"/>
|
Name="VCResourceCompilerTool"
|
||||||
|
AdditionalIncludeDirectories="C:\working\projects\win32\include"/>
|
||||||
<Tool
|
<Tool
|
||||||
Name="VCWebServiceProxyGeneratorTool"/>
|
Name="VCWebServiceProxyGeneratorTool"/>
|
||||||
<Tool
|
<Tool
|
||||||
@ -128,9 +132,6 @@
|
|||||||
<File
|
<File
|
||||||
RelativePath="..\src\db-sql-sqlite2.c">
|
RelativePath="..\src\db-sql-sqlite2.c">
|
||||||
</File>
|
</File>
|
||||||
<File
|
|
||||||
RelativePath="..\src\db-sql-sqlite3.c">
|
|
||||||
</File>
|
|
||||||
<File
|
<File
|
||||||
RelativePath="..\src\db-sql.c">
|
RelativePath="..\src\db-sql.c">
|
||||||
</File>
|
</File>
|
||||||
@ -144,7 +145,7 @@
|
|||||||
RelativePath="..\src\err.c">
|
RelativePath="..\src\err.c">
|
||||||
</File>
|
</File>
|
||||||
<File
|
<File
|
||||||
RelativePath=".\getopt.c">
|
RelativePath="..\src\getopt.c">
|
||||||
</File>
|
</File>
|
||||||
<File
|
<File
|
||||||
RelativePath="..\src\main.c">
|
RelativePath="..\src\main.c">
|
||||||
@ -206,6 +207,12 @@
|
|||||||
<File
|
<File
|
||||||
RelativePath="..\src\strtok_r.c">
|
RelativePath="..\src\strtok_r.c">
|
||||||
</File>
|
</File>
|
||||||
|
<File
|
||||||
|
RelativePath="..\src\w32-eventlog.c">
|
||||||
|
</File>
|
||||||
|
<File
|
||||||
|
RelativePath="..\src\w32-service.c">
|
||||||
|
</File>
|
||||||
<File
|
<File
|
||||||
RelativePath="..\src\webserver.c">
|
RelativePath="..\src\webserver.c">
|
||||||
</File>
|
</File>
|
||||||
@ -220,12 +227,24 @@
|
|||||||
<File
|
<File
|
||||||
RelativePath=".\config.h">
|
RelativePath=".\config.h">
|
||||||
</File>
|
</File>
|
||||||
|
<File
|
||||||
|
RelativePath="..\src\daapd.h">
|
||||||
|
</File>
|
||||||
|
<File
|
||||||
|
RelativePath="..\src\err.h">
|
||||||
|
</File>
|
||||||
<File
|
<File
|
||||||
RelativePath="..\src\os-win32.h">
|
RelativePath="..\src\os-win32.h">
|
||||||
</File>
|
</File>
|
||||||
|
<File
|
||||||
|
RelativePath="..\src\os.h">
|
||||||
|
</File>
|
||||||
<File
|
<File
|
||||||
RelativePath="..\src\rend.h">
|
RelativePath="..\src\rend.h">
|
||||||
</File>
|
</File>
|
||||||
|
<File
|
||||||
|
RelativePath=".\resource.h">
|
||||||
|
</File>
|
||||||
<File
|
<File
|
||||||
RelativePath="..\src\strptime.h">
|
RelativePath="..\src\strptime.h">
|
||||||
</File>
|
</File>
|
||||||
@ -235,6 +254,12 @@
|
|||||||
<File
|
<File
|
||||||
RelativePath="..\src\uici.h">
|
RelativePath="..\src\uici.h">
|
||||||
</File>
|
</File>
|
||||||
|
<File
|
||||||
|
RelativePath="..\src\w32-eventlog.h">
|
||||||
|
</File>
|
||||||
|
<File
|
||||||
|
RelativePath="..\src\w32-service.h">
|
||||||
|
</File>
|
||||||
<File
|
<File
|
||||||
RelativePath="..\src\win32.h">
|
RelativePath="..\src\win32.h">
|
||||||
</File>
|
</File>
|
||||||
@ -243,7 +268,41 @@
|
|||||||
Name="Resource Files"
|
Name="Resource Files"
|
||||||
Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx"
|
Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx"
|
||||||
UniqueIdentifier="{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}">
|
UniqueIdentifier="{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}">
|
||||||
|
<File
|
||||||
|
RelativePath=".\mt-daapd.rc">
|
||||||
|
<FileConfiguration
|
||||||
|
Name="Debug|Win32">
|
||||||
|
<Tool
|
||||||
|
Name="VCResourceCompilerTool"
|
||||||
|
AdditionalIncludeDirectories=".;res"/>
|
||||||
|
</FileConfiguration>
|
||||||
|
<FileConfiguration
|
||||||
|
Name="Release|Win32">
|
||||||
|
<Tool
|
||||||
|
Name="VCResourceCompilerTool"
|
||||||
|
AdditionalIncludeDirectories=".;res;.."/>
|
||||||
|
</FileConfiguration>
|
||||||
|
</File>
|
||||||
</Filter>
|
</Filter>
|
||||||
|
<File
|
||||||
|
RelativePath=".\messages.mc">
|
||||||
|
<FileConfiguration
|
||||||
|
Name="Debug|Win32">
|
||||||
|
<Tool
|
||||||
|
Name="VCCustomBuildTool"
|
||||||
|
CommandLine="mc.exe -A $(InputDir)$(InputName).mc -r $(InputDir)res -h $(InputDir)
|
||||||
|
"
|
||||||
|
Outputs="$(InputDir)res\$(InputName).rc;$(InputDir)$(InputName).h"/>
|
||||||
|
</FileConfiguration>
|
||||||
|
<FileConfiguration
|
||||||
|
Name="Release|Win32">
|
||||||
|
<Tool
|
||||||
|
Name="VCCustomBuildTool"
|
||||||
|
CommandLine="mc.exe -A $(InputDir)$(InputName).mc -r $(InputDir)res -h $(InputDir)
|
||||||
|
"
|
||||||
|
Outputs="$(InputDir)res\$(InputName).rc;$(InputDir)$(InputName).h"/>
|
||||||
|
</FileConfiguration>
|
||||||
|
</File>
|
||||||
<File
|
<File
|
||||||
RelativePath=".\ReadMe.txt">
|
RelativePath=".\ReadMe.txt">
|
||||||
</File>
|
</File>
|
||||||
|
307
win32/nsi/mt-daapd-example.conf
Normal file
307
win32/nsi/mt-daapd-example.conf
Normal file
@ -0,0 +1,307 @@
|
|||||||
|
# $Id$
|
||||||
|
#
|
||||||
|
# This is the mt-daapd config file.
|
||||||
|
#
|
||||||
|
# If you have problems or questions with the format of this file,
|
||||||
|
# direct your questions to rpedde@users.sourceforge.net.
|
||||||
|
#
|
||||||
|
# You can also check the website at http://mt-daapd.sourceforge.net,
|
||||||
|
# as there is a growing documentation library there, peer-supported
|
||||||
|
# forums and possibly more.
|
||||||
|
#
|
||||||
|
|
||||||
|
|
||||||
|
#
|
||||||
|
# web_root (required)
|
||||||
|
#
|
||||||
|
# Location of the admin web pages.
|
||||||
|
#
|
||||||
|
# If you installed from .RPM, .deb, or tarball with --prefix=/usr, then
|
||||||
|
# this is correct.
|
||||||
|
#
|
||||||
|
# If you installed from tarball without --prefix=/usr, then the correct
|
||||||
|
# path is probably /usr/local/share/mt-daapd/admin-root.
|
||||||
|
#
|
||||||
|
|
||||||
|
web_root admin-root
|
||||||
|
|
||||||
|
#
|
||||||
|
# port (required)
|
||||||
|
#
|
||||||
|
# What port to listen on. It is possible to use a different
|
||||||
|
# port, but this is the default iTunes port
|
||||||
|
#
|
||||||
|
|
||||||
|
port 9999
|
||||||
|
|
||||||
|
#
|
||||||
|
# admin_pw (required)
|
||||||
|
#
|
||||||
|
# This is the password to the administrative pages
|
||||||
|
#
|
||||||
|
|
||||||
|
admin_pw mt-daapd
|
||||||
|
|
||||||
|
|
||||||
|
#
|
||||||
|
# db_type (required)
|
||||||
|
#
|
||||||
|
# This is what kind of backend database to store the song
|
||||||
|
# info in. Valid choices are "sqlite" and "sqlite3".
|
||||||
|
#
|
||||||
|
|
||||||
|
db_type sqlite
|
||||||
|
|
||||||
|
#
|
||||||
|
# db_parms
|
||||||
|
#
|
||||||
|
# This is any extra information the db needs to connect.
|
||||||
|
# in the case of sqlite and sqlite3, this is the name
|
||||||
|
# of the directory to store the database in
|
||||||
|
#
|
||||||
|
# If you installed from RPM or .deb, this path likely already
|
||||||
|
# exists. If not, then you must create it. The directory itself
|
||||||
|
# must be writable by the "runas" user.
|
||||||
|
#
|
||||||
|
|
||||||
|
db_parms .
|
||||||
|
|
||||||
|
#
|
||||||
|
# mp3_dir (required)
|
||||||
|
#
|
||||||
|
# Location of the mp3 files to share. Note that because the
|
||||||
|
# files are stored in the database by inode, these must be
|
||||||
|
# in the same physical filesystem.
|
||||||
|
#
|
||||||
|
|
||||||
|
mp3_dir c:\documents and settings
|
||||||
|
|
||||||
|
#
|
||||||
|
# servername (required)
|
||||||
|
#
|
||||||
|
# This is both the name of the server as advertised
|
||||||
|
# via rendezvous, and the name of the database
|
||||||
|
# exported via DAAP. Also know as "What shows up in iTunes".
|
||||||
|
#
|
||||||
|
|
||||||
|
servername mt-daapd
|
||||||
|
|
||||||
|
#
|
||||||
|
# runas (required)
|
||||||
|
#
|
||||||
|
# This is the user to drop privs to if running as
|
||||||
|
# root. If mt-daapd is not started as root, this
|
||||||
|
# configuration option is ignored. Notice that this
|
||||||
|
# must be specified whether the server is running
|
||||||
|
# as root or not.
|
||||||
|
#
|
||||||
|
|
||||||
|
runas nobody
|
||||||
|
|
||||||
|
#
|
||||||
|
# playlist (optional)
|
||||||
|
#
|
||||||
|
# This is the location of a playlist file.
|
||||||
|
# This is for Apple-style "Smart Playlists"
|
||||||
|
# See the mt-daapd.playlist file in the
|
||||||
|
# contrib directory for syntax and examples
|
||||||
|
#
|
||||||
|
# This doesn't control static playlists... these
|
||||||
|
# are controlled with the "process_m3u" directive
|
||||||
|
# below.
|
||||||
|
#
|
||||||
|
|
||||||
|
playlist /etc/mt-daapd.playlist
|
||||||
|
|
||||||
|
#
|
||||||
|
# password (optional)
|
||||||
|
#
|
||||||
|
# This is the password required to listen to MP3 files
|
||||||
|
# i.e. the password that iTunes prompts for
|
||||||
|
#
|
||||||
|
|
||||||
|
#password mp3
|
||||||
|
|
||||||
|
#
|
||||||
|
# extensions (optional)
|
||||||
|
#
|
||||||
|
# These are the file extensions that the daap server will
|
||||||
|
# try to index and serve. By default, it only indexes and
|
||||||
|
# serves .mp3 files. It can also server .m4a and .m4p files,
|
||||||
|
# and just about any other files, really. Unfortunately, while
|
||||||
|
# it can *attempt* to serve other files (.ogg?), iTunes won't
|
||||||
|
# play them. Perhaps this would be useful on Linux with
|
||||||
|
# Rhythmbox, once it understands daap. (hurry up!)
|
||||||
|
#
|
||||||
|
# Failing that, one can use server-side conversion to transcode
|
||||||
|
# non-standard (.ogg, .flac) music to wav on the server side.
|
||||||
|
# See the ssc_* options below.
|
||||||
|
#
|
||||||
|
|
||||||
|
extensions .mp3,.m4a,.m4p
|
||||||
|
|
||||||
|
#
|
||||||
|
# ssc_codectypes (optional)
|
||||||
|
#
|
||||||
|
# List of codectypes for files that the daap server should
|
||||||
|
# perform internal format conversion and present to clients
|
||||||
|
# as WAV files. The file extensions that these codectypes correspond
|
||||||
|
# to must also be present in 'extensions'
|
||||||
|
# configuration value, or files are not probed in the first
|
||||||
|
# place.
|
||||||
|
#
|
||||||
|
# Valid codectypes:
|
||||||
|
#
|
||||||
|
# mp4a - for AAC (.aac, .mp4, .m4a, .m4p)
|
||||||
|
# mpeg - for mp3
|
||||||
|
# wav - for wav
|
||||||
|
# wma - for wma
|
||||||
|
# ogg - for ogg
|
||||||
|
# flac - for flac (.flac, .fla)
|
||||||
|
# mpc for musepack (.mpc, .mpp, .mp+)
|
||||||
|
# alac for alac (.m4a)
|
||||||
|
#
|
||||||
|
|
||||||
|
#ssc_codectypes ogg,flac,alac
|
||||||
|
|
||||||
|
#
|
||||||
|
# ssc_prog (optional)
|
||||||
|
#
|
||||||
|
# Program that is used in server side format conversion.
|
||||||
|
# Program must accept following command line syntax:
|
||||||
|
# ssc_prog filename offset length ...
|
||||||
|
# Parameter filename is the real name of the file that is
|
||||||
|
# to be converted and streamed, offset is number of bytes
|
||||||
|
# that are skipped from the beginning of the _output_ file
|
||||||
|
# before streaming is started, length is length of the song
|
||||||
|
# in seconds (or zero). All other possible arguments must
|
||||||
|
# be ignored. The resulting wav file (or the rest of
|
||||||
|
# the file after initial seek) is written to the standard
|
||||||
|
# output by the ssc_prog program. This is typically
|
||||||
|
# a script that is a front end for different conversion tools
|
||||||
|
# handling different formats.
|
||||||
|
#
|
||||||
|
|
||||||
|
#ssc_prog /etc/mt-daapd-ssc-script
|
||||||
|
|
||||||
|
#
|
||||||
|
# logfile (optional)
|
||||||
|
#
|
||||||
|
# This is the file to log to. If this is not configured,
|
||||||
|
# then it will log to the syslog.
|
||||||
|
#
|
||||||
|
# Not that the -d <level> switch will control the log verbosity.
|
||||||
|
# By default, it runs at log level 1. Log level 9 will churn
|
||||||
|
# out scads of useless debugging information. Values in between
|
||||||
|
# will vary the amount of logging you get.
|
||||||
|
#
|
||||||
|
|
||||||
|
#logfile /var/log/mt-daapd.log
|
||||||
|
|
||||||
|
#
|
||||||
|
# art_filename (optional)
|
||||||
|
#
|
||||||
|
# There is experimental support thanks to Hiren Joshi
|
||||||
|
# (hirenj@mooh.org) for dynamically adding art to the id3v2
|
||||||
|
# header as it is streamed (!!). If you were using a music system
|
||||||
|
# like zina or andromeda, for example, with cover art called
|
||||||
|
# "_folderOpenImage.jpg", you could use the parameter
|
||||||
|
# art_file _folderOpenImage.jpg and if the file _folderOpenImage.jpg
|
||||||
|
# was located in the same folder as the .mp3 file, it would appear
|
||||||
|
# in iTunes. Cool, eh?
|
||||||
|
#
|
||||||
|
|
||||||
|
#art_filename _folderOpenImage.jpg
|
||||||
|
|
||||||
|
#
|
||||||
|
# rescan_interval
|
||||||
|
#
|
||||||
|
# How often to check the file system to see if any mp3 files
|
||||||
|
# have been added or removed.
|
||||||
|
#
|
||||||
|
# if not specified, the default is 0, which disables background scanning.
|
||||||
|
#
|
||||||
|
# If background rescanning is disabled, a scan can still be forced from the
|
||||||
|
# "status" page of the administrative web interface
|
||||||
|
#
|
||||||
|
# Setting a rescan_interval lower than the time it takes to rescan
|
||||||
|
# won't hurt anything, it will just waste CPU, and make connect times
|
||||||
|
# to the daap server longer.
|
||||||
|
#
|
||||||
|
#
|
||||||
|
|
||||||
|
#rescan_interval 300
|
||||||
|
|
||||||
|
# always_scan
|
||||||
|
#
|
||||||
|
# The default behavior is not not do background rescans of the
|
||||||
|
# filesystem unless there are clients connected. The thought is to
|
||||||
|
# allow the drives to spin down unless they are in use. This might be
|
||||||
|
# of more importance in IDE drives that aren't designed to be run
|
||||||
|
# 24x7. Forcing a scan through the web interface will always work
|
||||||
|
# though, even if no users are connected.
|
||||||
|
|
||||||
|
# always_scan 0
|
||||||
|
|
||||||
|
#
|
||||||
|
# process_m3u
|
||||||
|
#
|
||||||
|
# By default m3u processing is turned off, since most m3u files
|
||||||
|
# sitting around in peoples mp3 directories have bad paths, and
|
||||||
|
# I hear about it. :)
|
||||||
|
#
|
||||||
|
# If you are sure your m3u files have good paths (i.e. unixly pathed,
|
||||||
|
# with relative paths relative to the directory the m3u is in), then
|
||||||
|
# you can turn on m3u processing by setting this directive to 1.
|
||||||
|
#
|
||||||
|
# I'm not sure "unixly" is a word, but you get the idea.
|
||||||
|
#
|
||||||
|
|
||||||
|
# process_m3u 0
|
||||||
|
|
||||||
|
#
|
||||||
|
# scan_type
|
||||||
|
#
|
||||||
|
#
|
||||||
|
# This sets how aggressively mp3 files should be scanned to determine
|
||||||
|
# file length. There are three values:
|
||||||
|
#
|
||||||
|
# 0 (Normal)
|
||||||
|
# Just scan the first mp3 frame to try and calculate size. This will
|
||||||
|
# be accurate for most files, but VBR files without an Xing tag will
|
||||||
|
# probably have wildly inaccurate file times. This is the default.
|
||||||
|
#
|
||||||
|
# 1 (Aggressive)
|
||||||
|
# This checks the bitrates of 10 frames in the middle of the song.
|
||||||
|
# This will still be inaccurate for VBR files without an Xing tag,
|
||||||
|
# but they probably won't be quite as inaccurate as 0. This takes
|
||||||
|
# more time, obviously, although the time hit will only happen the
|
||||||
|
# first time you scan a particular file.
|
||||||
|
#
|
||||||
|
# 2 (Painfully aggressive)
|
||||||
|
# This walks through the entire song, counting the number of frames.
|
||||||
|
# This should result in accurate song times, but will take the most
|
||||||
|
# time. Again, this will only have to be incurred the first time
|
||||||
|
# the file is indexed.
|
||||||
|
#
|
||||||
|
|
||||||
|
scan_type 2
|
||||||
|
|
||||||
|
#
|
||||||
|
# compress
|
||||||
|
#
|
||||||
|
# Whether to use gzip content-encoding when transferring playlists etc.
|
||||||
|
# This was contributed as a patch by Ciamac Moallemi just prior to the 0.2.1
|
||||||
|
# release, and as such, hasn't gotten as much testing as other features.
|
||||||
|
#
|
||||||
|
# This feature should substantially speed up transfers of large databases
|
||||||
|
# and playlists.
|
||||||
|
#
|
||||||
|
# It will eventually default to 1, but currently it defaults to 0.
|
||||||
|
#
|
||||||
|
|
||||||
|
# compress 0
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
190
win32/nsi/mt-daapd.nsi
Normal file
190
win32/nsi/mt-daapd.nsi
Normal file
@ -0,0 +1,190 @@
|
|||||||
|
; $Id$
|
||||||
|
; Script generated by the HM NIS Edit Script Wizard.
|
||||||
|
|
||||||
|
; HM NIS Edit Wizard helper defines
|
||||||
|
!define PRODUCT_NAME "mt-daapd"
|
||||||
|
!define PRODUCT_SERVICE "Multi-Threaded DAAP Daemon"
|
||||||
|
!define /date DATEVER "%Y%m%d"
|
||||||
|
!define PRODUCT_VERSION "cvs-${DATEVER}"
|
||||||
|
!define PRODUCT_PUBLISHER "Ron Pedde"
|
||||||
|
!define PRODUCT_WEB_SITE "http://www.mt-daapd.org"
|
||||||
|
!define PRODUCT_DIR_REGKEY "Software\Microsoft\Windows\CurrentVersion\App Paths\mt-daapd.exe"
|
||||||
|
!define PRODUCT_UNINST_KEY "Software\Microsoft\Windows\CurrentVersion\Uninstall\${PRODUCT_NAME}"
|
||||||
|
!define PRODUCT_UNINST_ROOT_KEY "HKLM"
|
||||||
|
|
||||||
|
; MUI 1.67 compatible ------
|
||||||
|
!include "MUI.nsh"
|
||||||
|
!include "servicelib.nsh"
|
||||||
|
|
||||||
|
; MUI Settings
|
||||||
|
!define MUI_ABORTWARNING
|
||||||
|
!define MUI_ICON "${NSISDIR}\Contrib\Graphics\Icons\modern-install.ico"
|
||||||
|
!define MUI_UNICON "${NSISDIR}\Contrib\Graphics\Icons\modern-uninstall.ico"
|
||||||
|
|
||||||
|
; Welcome page
|
||||||
|
!insertmacro MUI_PAGE_WELCOME
|
||||||
|
; License page
|
||||||
|
!insertmacro MUI_PAGE_LICENSE "..\..\admin-root\gpl-license.txt"
|
||||||
|
; Directory page
|
||||||
|
!insertmacro MUI_PAGE_DIRECTORY
|
||||||
|
; Instfiles page
|
||||||
|
!insertmacro MUI_PAGE_INSTFILES
|
||||||
|
; Finish page
|
||||||
|
!insertmacro MUI_PAGE_FINISH
|
||||||
|
|
||||||
|
; Uninstaller pages
|
||||||
|
!insertmacro MUI_UNPAGE_INSTFILES
|
||||||
|
|
||||||
|
; Language files
|
||||||
|
!insertmacro MUI_LANGUAGE "English"
|
||||||
|
|
||||||
|
; MUI end ------
|
||||||
|
|
||||||
|
Name "${PRODUCT_NAME} ${PRODUCT_VERSION}"
|
||||||
|
OutFile "${PRODUCT_NAME}-${PRODUCT_VERSION}.exe"
|
||||||
|
InstallDir "$PROGRAMFILES\mt-daapd"
|
||||||
|
InstallDirRegKey HKLM "${PRODUCT_DIR_REGKEY}" ""
|
||||||
|
ShowInstDetails show
|
||||||
|
ShowUnInstDetails show
|
||||||
|
|
||||||
|
Section "MainSection" SEC01
|
||||||
|
SetOutPath "$INSTDIR"
|
||||||
|
SetOverwrite ifnewer
|
||||||
|
File "..\Release\mt-daapd.exe"
|
||||||
|
File "..\..\..\win32\dll\gnu_regex.dll"
|
||||||
|
File "..\..\..\win32\dll\pthreadVC2.dll"
|
||||||
|
File "..\..\..\win32\dll\sqlite.dll"
|
||||||
|
File "..\..\..\win32\dll\zlib.dll"
|
||||||
|
|
||||||
|
SetOutPath "$INSTDIR\admin-root"
|
||||||
|
File "..\..\admin-root\thanks.html"
|
||||||
|
File "..\..\admin-root\status.html"
|
||||||
|
File "..\..\admin-root\smartpopup.html"
|
||||||
|
File "..\..\admin-root\smart.js"
|
||||||
|
File "..\..\admin-root\smart.html"
|
||||||
|
File "..\..\admin-root\required.gif"
|
||||||
|
File "..\..\admin-root\playlist.js"
|
||||||
|
File "..\..\admin-root\playlist.html"
|
||||||
|
File "..\..\admin-root\mt-daapd.png"
|
||||||
|
File "..\..\admin-root\mt-daapd.js"
|
||||||
|
File "..\..\admin-root\mt-daapd.css"
|
||||||
|
File "..\..\admin-root\linkTransparent.gif"
|
||||||
|
File "..\..\admin-root\linkOpaque.gif"
|
||||||
|
File "..\..\admin-root\index.html"
|
||||||
|
File "..\..\admin-root\hdr.html"
|
||||||
|
File "..\..\admin-root\gpl-license.txt"
|
||||||
|
File "..\..\admin-root\gpl-license.html"
|
||||||
|
File "..\..\admin-root\ftr.html"
|
||||||
|
File "..\..\admin-root\feedback.html"
|
||||||
|
File "..\..\admin-root\favicon.ico"
|
||||||
|
File "..\..\admin-root\DAAPApplet-0.1.jar"
|
||||||
|
File "..\..\admin-root\CREDITS"
|
||||||
|
File "..\..\admin-root\config-update.html"
|
||||||
|
File "..\..\admin-root\config.html"
|
||||||
|
File "..\..\admin-root\aspl-license.txt"
|
||||||
|
File "..\..\admin-root\aspl-license.html"
|
||||||
|
File "..\..\admin-root\applet.html"
|
||||||
|
SetOutPath "$INSTDIR"
|
||||||
|
File "mt-daapd-example.conf"
|
||||||
|
SetOverwrite off
|
||||||
|
CopyFiles "$INSTDIR\mt-daapd-example.conf" "$INSTDIR\mt-daapd.conf"
|
||||||
|
SectionEnd
|
||||||
|
|
||||||
|
Section -AdditionalIcons
|
||||||
|
WriteIniStr "$INSTDIR\${PRODUCT_NAME}.url" "InternetShortcut" "URL" "${PRODUCT_WEB_SITE}"
|
||||||
|
CreateDirectory "$SMPROGRAMS\mt-daapd"
|
||||||
|
CreateShortCut "$SMPROGRAMS\mt-daapd\Website.lnk" "$INSTDIR\${PRODUCT_NAME}.url"
|
||||||
|
CreateShortCut "$SMPROGRAMS\mt-daapd\Uninstall.lnk" "$INSTDIR\uninst.exe"
|
||||||
|
CreateShortCut "$SMPROGRAMS\mt-daapd\Debug Mode.lnk" "$INSTDIR\mt-daapd.exe" "-d9 -f"
|
||||||
|
CreateShortCut "$SMPROGRAMS\mt-daapd\Config File.lnk" "notepad.exe" "$INSTDIR\mt-daapd.conf"
|
||||||
|
SectionEnd
|
||||||
|
|
||||||
|
Section -Post
|
||||||
|
WriteUninstaller "$INSTDIR\uninst.exe"
|
||||||
|
WriteRegStr HKLM "${PRODUCT_DIR_REGKEY}" "" "$INSTDIR\mt-daapd.exe"
|
||||||
|
WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "DisplayName" "$(^Name)"
|
||||||
|
WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "UninstallString" "$INSTDIR\uninst.exe"
|
||||||
|
WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "DisplayIcon" "$INSTDIR\mt-daapd.exe"
|
||||||
|
WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "DisplayVersion" "${PRODUCT_VERSION}"
|
||||||
|
WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "URLInfoAbout" "${PRODUCT_WEB_SITE}"
|
||||||
|
WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "Publisher" "${PRODUCT_PUBLISHER}"
|
||||||
|
ExecWait "$INSTDIR\mt-daapd.exe -i"
|
||||||
|
; !insertmacro SERVICE "create" "${PRODUCT_SERVICE}" "path=$INSTDIR\mt-daapd.exe;autostart=1;interact=0;shortname=mt-daapd;"
|
||||||
|
SectionEnd
|
||||||
|
|
||||||
|
|
||||||
|
Function un.onUninstSuccess
|
||||||
|
HideWindow
|
||||||
|
MessageBox MB_ICONINFORMATION|MB_OK "$(^Name) was successfully removed from your computer."
|
||||||
|
FunctionEnd
|
||||||
|
|
||||||
|
Function un.onInit
|
||||||
|
MessageBox MB_ICONQUESTION|MB_YESNO|MB_DEFBUTTON2 "Are you sure you want to completely remove $(^Name) and all of its components?" IDYES +2
|
||||||
|
Abort
|
||||||
|
FunctionEnd
|
||||||
|
|
||||||
|
Section Uninstall
|
||||||
|
; !undef UN
|
||||||
|
; !define UN "un."
|
||||||
|
; !insertmacro SERVICE "running" "${PRODUCT_SERVICE}" ""
|
||||||
|
; IntCmp $0 0 lbl_check_install
|
||||||
|
; !insertmacro SERVICE "stop" "${PRODUCT_SERVICE}" ""
|
||||||
|
|
||||||
|
; lbl_check_install:
|
||||||
|
; !insertmacro SERVICE "installed" "${PRODUCT_SERVICE}" ""
|
||||||
|
; IntCmp $0 0 lbl_svc_done
|
||||||
|
; !insertmacro SERVICE "uninstall" "${PRODUCT_SERVICE}" ""
|
||||||
|
|
||||||
|
; lbl_svc_done:
|
||||||
|
|
||||||
|
ExecWait "net stop mt-daapd"
|
||||||
|
ExecWait "$INSTDIR\mt-daapd.exe -u"
|
||||||
|
Delete "$INSTDIR\${PRODUCT_NAME}.url"
|
||||||
|
Delete "$INSTDIR\uninst.exe"
|
||||||
|
Delete "$INSTDIR\gnu_regex.dll"
|
||||||
|
Delete "$INSTDIR\pthreadVC2.dll"
|
||||||
|
Delete "$INSTDIR\sqlite.dll"
|
||||||
|
Delete "$INSTDIR\zlib.dll"
|
||||||
|
Delete "$INSTDIR\mt-daapd-example.conf"
|
||||||
|
Delete "$INSTDIR/admin-root\applet.html"
|
||||||
|
Delete "$INSTDIR/admin-root\aspl-license.html"
|
||||||
|
Delete "$INSTDIR/admin-root\aspl-license.txt"
|
||||||
|
Delete "$INSTDIR/admin-root\config.html"
|
||||||
|
Delete "$INSTDIR/admin-root\config-update.html"
|
||||||
|
Delete "$INSTDIR/admin-root\CREDITS"
|
||||||
|
Delete "$INSTDIR/admin-root\DAAPApplet-0.1.jar"
|
||||||
|
Delete "$INSTDIR/admin-root\favicon.ico"
|
||||||
|
Delete "$INSTDIR/admin-root\feedback.html"
|
||||||
|
Delete "$INSTDIR/admin-root\ftr.html"
|
||||||
|
Delete "$INSTDIR/admin-root\gpl-license.html"
|
||||||
|
Delete "$INSTDIR/admin-root\gpl-license.txt"
|
||||||
|
Delete "$INSTDIR/admin-root\hdr.html"
|
||||||
|
Delete "$INSTDIR/admin-root\index.html"
|
||||||
|
Delete "$INSTDIR/admin-root\linkOpaque.gif"
|
||||||
|
Delete "$INSTDIR/admin-root\linkTransparent.gif"
|
||||||
|
Delete "$INSTDIR/admin-root\mt-daapd.css"
|
||||||
|
Delete "$INSTDIR/admin-root\mt-daapd.js"
|
||||||
|
Delete "$INSTDIR/admin-root\mt-daapd.png"
|
||||||
|
Delete "$INSTDIR/admin-root\playlist.html"
|
||||||
|
Delete "$INSTDIR/admin-root\playlist.js"
|
||||||
|
Delete "$INSTDIR/admin-root\required.gif"
|
||||||
|
Delete "$INSTDIR/admin-root\smart.html"
|
||||||
|
Delete "$INSTDIR/admin-root\smart.js"
|
||||||
|
Delete "$INSTDIR/admin-root\smartpopup.html"
|
||||||
|
Delete "$INSTDIR/admin-root\status.html"
|
||||||
|
Delete "$INSTDIR/admin-root\thanks.html"
|
||||||
|
Delete "$INSTDIR\mt-daapd.exe"
|
||||||
|
|
||||||
|
Delete "$SMPROGRAMS\mt-daapd\Uninstall.lnk"
|
||||||
|
Delete "$SMPROGRAMS\mt-daapd\Website.lnk"
|
||||||
|
Delete "$SMPROGRAMS\mt-daapd\Config File.lnk"
|
||||||
|
Delete "$SMPROGRAMS\mt-daapd\Debug Mode.lnk"
|
||||||
|
|
||||||
|
RMDir "$SMPROGRAMS\mt-daapd"
|
||||||
|
RMDir "$INSTDIR/admin-root"
|
||||||
|
RMDir "$INSTDIR"
|
||||||
|
|
||||||
|
DeleteRegKey ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}"
|
||||||
|
DeleteRegKey HKLM "${PRODUCT_DIR_REGKEY}"
|
||||||
|
SetAutoClose true
|
||||||
|
SectionEnd
|
348
win32/nsi/servicelib.nsh
Normal file
348
win32/nsi/servicelib.nsh
Normal file
@ -0,0 +1,348 @@
|
|||||||
|
; NSIS SERVICE LIBRARY - servicelib.nsh
|
||||||
|
; Version 1.3 - January 5th, 2006
|
||||||
|
; Questions/Comments - dselkirk@hotmail.com
|
||||||
|
;
|
||||||
|
; Description:
|
||||||
|
; Provides an interface to window services
|
||||||
|
;
|
||||||
|
; Inputs:
|
||||||
|
; action - systemlib action ie. create, delete, start, stop, pause,
|
||||||
|
; continue, installed, running, status
|
||||||
|
; name - name of service to manipulate
|
||||||
|
; param - action parameters; usage: var1=value1;var2=value2;...etc.
|
||||||
|
; (don't forget to add a ';' after the last value!)
|
||||||
|
;
|
||||||
|
; Actions:
|
||||||
|
; create - creates a new windows service
|
||||||
|
; Parameters:
|
||||||
|
; path - path to service executable
|
||||||
|
; autostart - automatically start with system ie. 1|0
|
||||||
|
; interact - interact with the desktop ie. 1|0
|
||||||
|
; machine - machine name where to install service
|
||||||
|
; user - user that runs the service
|
||||||
|
; password - password of the above user
|
||||||
|
;
|
||||||
|
; delete - deletes a windows service
|
||||||
|
; start - start a stopped windows service
|
||||||
|
; stop - stops a running windows service
|
||||||
|
; pause - pauses a running windows service
|
||||||
|
; continue - continues a paused windows service
|
||||||
|
; installed - is the provided service installed
|
||||||
|
; Parameters:
|
||||||
|
; action - if true then invokes the specified action
|
||||||
|
; running - is the provided service running
|
||||||
|
; Parameters:
|
||||||
|
; action - if true then invokes the specified action
|
||||||
|
; status - check the status of the provided service
|
||||||
|
;
|
||||||
|
; If run from uninstall define "UN" as "un." gefore running.
|
||||||
|
;
|
||||||
|
; Usage:
|
||||||
|
; Method 1:
|
||||||
|
; Push "action"
|
||||||
|
; Push "name"
|
||||||
|
; Push "param"
|
||||||
|
; Call Service
|
||||||
|
; Pop $0 ;response
|
||||||
|
;
|
||||||
|
; Method 2:
|
||||||
|
; !insertmacro SERVICE "action" "name" "param"
|
||||||
|
;
|
||||||
|
; History:
|
||||||
|
; 1.0 - 09/15/2003 - Initial release
|
||||||
|
; 1.1 - 09/16/2003 - Changed &l to i, thx brainsucker
|
||||||
|
; 1.2 - 02/29/2004 - Fixed documentation.
|
||||||
|
|
||||||
|
!ifndef SERVICELIB
|
||||||
|
!define SERVICELIB
|
||||||
|
|
||||||
|
!define SC_MANAGER_ALL_ACCESS 0x3F
|
||||||
|
!define SERVICE_ALL_ACCESS 0xF01FF
|
||||||
|
|
||||||
|
!define SERVICE_CONTROL_STOP 1
|
||||||
|
!define SERVICE_CONTROL_PAUSE 2
|
||||||
|
!define SERVICE_CONTROL_CONTINUE 3
|
||||||
|
|
||||||
|
!define SERVICE_STOPPED 0x1
|
||||||
|
!define SERVICE_START_PENDING 0x2
|
||||||
|
!define SERVICE_STOP_PENDING 0x3
|
||||||
|
!define SERVICE_RUNNING 0x4
|
||||||
|
!define SERVICE_CONTINUE_PENDING 0x5
|
||||||
|
!define SERVICE_PAUSE_PENDING 0x6
|
||||||
|
!define SERVICE_PAUSED 0x7
|
||||||
|
|
||||||
|
!ifndef UN
|
||||||
|
!define UN ""
|
||||||
|
!endif
|
||||||
|
|
||||||
|
!macro SERVICE ACTION NAME PARAM
|
||||||
|
Push '${ACTION}'
|
||||||
|
Push '${NAME}'
|
||||||
|
Push '${PARAM}'
|
||||||
|
Call ${UN}Service
|
||||||
|
!macroend
|
||||||
|
|
||||||
|
!macro FUNC_GETPARAM
|
||||||
|
Push $0
|
||||||
|
Push $1
|
||||||
|
Push $2
|
||||||
|
Push $3
|
||||||
|
Push $4
|
||||||
|
Push $5
|
||||||
|
Push $6
|
||||||
|
Push $7
|
||||||
|
Exch 8
|
||||||
|
Pop $1 ;name
|
||||||
|
Exch 8
|
||||||
|
Pop $2 ;source
|
||||||
|
StrCpy $0 ""
|
||||||
|
StrLen $7 $2
|
||||||
|
StrCpy $3 0
|
||||||
|
lbl_loop:
|
||||||
|
IntCmp $3 $7 0 0 lbl_done
|
||||||
|
StrLen $4 "$1="
|
||||||
|
StrCpy $5 $2 $4 $3
|
||||||
|
StrCmp $5 "$1=" 0 lbl_next
|
||||||
|
IntOp $5 $3 + $4
|
||||||
|
StrCpy $3 $5
|
||||||
|
lbl_loop2:
|
||||||
|
IntCmp $3 $7 0 0 lbl_done
|
||||||
|
StrCpy $6 $2 1 $3
|
||||||
|
StrCmp $6 ";" 0 lbl_next2
|
||||||
|
IntOp $6 $3 - $5
|
||||||
|
StrCpy $0 $2 $6 $5
|
||||||
|
Goto lbl_done
|
||||||
|
lbl_next2:
|
||||||
|
IntOp $3 $3 + 1
|
||||||
|
Goto lbl_loop2
|
||||||
|
lbl_next:
|
||||||
|
IntOp $3 $3 + 1
|
||||||
|
Goto lbl_loop
|
||||||
|
lbl_done:
|
||||||
|
Pop $5
|
||||||
|
Pop $4
|
||||||
|
Pop $3
|
||||||
|
Pop $2
|
||||||
|
Pop $1
|
||||||
|
Exch 2
|
||||||
|
Pop $6
|
||||||
|
Pop $7
|
||||||
|
Exch $0
|
||||||
|
!macroend
|
||||||
|
|
||||||
|
!macro CALL_GETPARAM VAR NAME DEFAULT LABEL
|
||||||
|
Push $1
|
||||||
|
Push ${NAME}
|
||||||
|
Call ${UN}GETPARAM
|
||||||
|
Pop $6
|
||||||
|
StrCpy ${VAR} "${DEFAULT}"
|
||||||
|
StrCmp $6 "" "${LABEL}" 0
|
||||||
|
StrCpy ${VAR} $6
|
||||||
|
!macroend
|
||||||
|
|
||||||
|
!macro FUNC_SERVICE UN
|
||||||
|
Push $0
|
||||||
|
Push $1
|
||||||
|
Push $2
|
||||||
|
Push $3
|
||||||
|
Push $4
|
||||||
|
Push $5
|
||||||
|
Push $6
|
||||||
|
Push $7
|
||||||
|
Exch 8
|
||||||
|
Pop $1 ;param
|
||||||
|
Exch 8
|
||||||
|
Pop $2 ;name
|
||||||
|
Exch 8
|
||||||
|
Pop $3 ;action
|
||||||
|
;$0 return
|
||||||
|
;$4 OpenSCManager
|
||||||
|
;$5 OpenService
|
||||||
|
|
||||||
|
|
||||||
|
StrCpy $0 "false"
|
||||||
|
System::Call 'advapi32::OpenSCManagerA(n, n, i ${SC_MANAGER_ALL_ACCESS}) i.r4'
|
||||||
|
IntCmp $4 0 lbl_done
|
||||||
|
StrCmp $3 "create" lbl_create
|
||||||
|
System::Call 'advapi32::OpenServiceA(i r4, t r2, i ${SERVICE_ALL_ACCESS}) i.r5'
|
||||||
|
IntCmp $5 0 lbl_done
|
||||||
|
|
||||||
|
lbl_select:
|
||||||
|
StrCmp $3 "delete" lbl_delete
|
||||||
|
StrCmp $3 "start" lbl_start
|
||||||
|
StrCmp $3 "stop" lbl_stop
|
||||||
|
StrCmp $3 "pause" lbl_pause
|
||||||
|
StrCmp $3 "continue" lbl_continue
|
||||||
|
StrCmp $3 "installed" lbl_installed
|
||||||
|
StrCmp $3 "running" lbl_running
|
||||||
|
StrCmp $3 "status" lbl_status
|
||||||
|
Goto lbl_done
|
||||||
|
|
||||||
|
; create service
|
||||||
|
lbl_create:
|
||||||
|
Push $R1 ;machine
|
||||||
|
Push $R2 ;user
|
||||||
|
Push $R3 ;password
|
||||||
|
Push $R4 ;interact
|
||||||
|
Push $R5 ;autostart
|
||||||
|
Push $R6 ;path
|
||||||
|
Push $R7 ;shortname
|
||||||
|
|
||||||
|
!insertmacro CALL_GETPARAM $R1 "machine" "n" "lbl_machine"
|
||||||
|
lbl_machine:
|
||||||
|
|
||||||
|
!insertmacro CALL_GETPARAM $R2 "user" "n" "lbl_user"
|
||||||
|
lbl_user:
|
||||||
|
|
||||||
|
!insertmacro CALL_GETPARAM $R3 "password" "n" "lbl_password"
|
||||||
|
lbl_password:
|
||||||
|
|
||||||
|
!insertmacro CALL_GETPARAM $R4 "interact" "0x10" "lbl_interact"
|
||||||
|
StrCpy $6 0x10
|
||||||
|
IntCmp $R4 0 +2
|
||||||
|
IntOp $6 $6 | 0x100
|
||||||
|
StrCpy $R4 $6
|
||||||
|
lbl_interact:
|
||||||
|
|
||||||
|
!insertmacro CALL_GETPARAM $R5 "autostart" "0x3" "lbl_autostart"
|
||||||
|
StrCpy $6 0x3
|
||||||
|
IntCmp $R5 0 +2
|
||||||
|
StrCpy $6 0x2
|
||||||
|
StrCpy $R5 $6
|
||||||
|
lbl_autostart:
|
||||||
|
|
||||||
|
!insertmacro CALL_GETPARAM $R6 "path" "n" "lbl_path"
|
||||||
|
lbl_path:
|
||||||
|
|
||||||
|
!insertmacro CALL_GETPARAM $R7 "shortname" r2 "lbl_shortname"
|
||||||
|
lbl_shortname:
|
||||||
|
|
||||||
|
System::Call 'advapi32::CreateServiceA(i r4, t r7, t r2, i ${SERVICE_ALL_ACCESS}, \
|
||||||
|
i R4, i R5, i 0, t R6, n, n, R1, R2, R3) i.r6'
|
||||||
|
Pop $R7
|
||||||
|
Pop $R6
|
||||||
|
Pop $R5
|
||||||
|
Pop $R4
|
||||||
|
Pop $R3
|
||||||
|
Pop $R2
|
||||||
|
Pop $R1
|
||||||
|
StrCmp $6 0 lbl_done lbl_good
|
||||||
|
|
||||||
|
; delete service
|
||||||
|
lbl_delete:
|
||||||
|
System::Call 'advapi32::DeleteService(i r5) i.r6'
|
||||||
|
StrCmp $6 0 lbl_done lbl_good
|
||||||
|
|
||||||
|
; start service
|
||||||
|
lbl_start:
|
||||||
|
System::Call 'advapi32::StartServiceA(i r5, i 0, i 0) i.r6'
|
||||||
|
StrCmp $6 0 lbl_done lbl_good
|
||||||
|
|
||||||
|
; stop service
|
||||||
|
lbl_stop:
|
||||||
|
Push $R1
|
||||||
|
System::Call '*(i,i,i,i,i,i,i) i.R1'
|
||||||
|
System::Call 'advapi32::ControlService(i r5, i ${SERVICE_CONTROL_STOP}, i $R1) i'
|
||||||
|
System::Free $R1
|
||||||
|
Pop $R1
|
||||||
|
StrCmp $6 0 lbl_done lbl_good
|
||||||
|
|
||||||
|
; pause service
|
||||||
|
lbl_pause:
|
||||||
|
Push $R1
|
||||||
|
System::Call '*(i,i,i,i,i,i,i) i.R1'
|
||||||
|
System::Call 'advapi32::ControlService(i r5, i ${SERVICE_CONTROL_PAUSE}, i $R1) i'
|
||||||
|
System::Free $R1
|
||||||
|
Pop $R1
|
||||||
|
StrCmp $6 0 lbl_done lbl_good
|
||||||
|
|
||||||
|
; continue service
|
||||||
|
lbl_continue:
|
||||||
|
Push $R1
|
||||||
|
System::Call '*(i,i,i,i,i,i,i) i.R1'
|
||||||
|
System::Call 'advapi32::ControlService(i r5, i ${SERVICE_CONTROL_CONTINUE}, i $R1) i'
|
||||||
|
System::Free $R1
|
||||||
|
Pop $R1
|
||||||
|
StrCmp $6 0 lbl_done lbl_good
|
||||||
|
|
||||||
|
; is installed
|
||||||
|
lbl_installed:
|
||||||
|
!insertmacro CALL_GETPARAM $7 "action" "" "lbl_good"
|
||||||
|
StrCpy $3 $7
|
||||||
|
Goto lbl_select
|
||||||
|
|
||||||
|
; is service running
|
||||||
|
lbl_running:
|
||||||
|
Push $R1
|
||||||
|
System::Call '*(i,i,i,i,i,i,i) i.R1'
|
||||||
|
System::Call 'advapi32::QueryServiceStatus(i r5, i $R1) i'
|
||||||
|
System::Call '*$R1(i, i.r6)'
|
||||||
|
System::Free $R1
|
||||||
|
Pop $R1
|
||||||
|
IntFmt $6 "0x%X" $6
|
||||||
|
StrCmp $6 ${SERVICE_RUNNING} 0 lbl_done
|
||||||
|
!insertmacro CALL_GETPARAM $7 "action" "" "lbl_good"
|
||||||
|
StrCpy $3 $7
|
||||||
|
Goto lbl_select
|
||||||
|
|
||||||
|
lbl_status:
|
||||||
|
Push $R1
|
||||||
|
System::Call '*(i,i,i,i,i,i,i) i.R1'
|
||||||
|
System::Call 'advapi32::QueryServiceStatus(i r5, i $R1) i'
|
||||||
|
System::Call '*$R1(i, i .r6)'
|
||||||
|
System::Free $R1
|
||||||
|
Pop $R1
|
||||||
|
IntFmt $6 "0x%X" $6
|
||||||
|
StrCpy $0 "running"
|
||||||
|
IntCmp $6 ${SERVICE_RUNNING} lbl_done
|
||||||
|
StrCpy $0 "stopped"
|
||||||
|
IntCmp $6 ${SERVICE_STOPPED} lbl_done
|
||||||
|
StrCpy $0 "start_pending"
|
||||||
|
IntCmp $6 ${SERVICE_START_PENDING} lbl_done
|
||||||
|
StrCpy $0 "stop_pending"
|
||||||
|
IntCmp $6 ${SERVICE_STOP_PENDING} lbl_done
|
||||||
|
StrCpy $0 "running"
|
||||||
|
IntCmp $6 ${SERVICE_RUNNING} lbl_done
|
||||||
|
StrCpy $0 "continue_pending"
|
||||||
|
IntCmp $6 ${SERVICE_CONTINUE_PENDING} lbl_done
|
||||||
|
StrCpy $0 "pause_pending"
|
||||||
|
IntCmp $6 ${SERVICE_PAUSE_PENDING} lbl_done
|
||||||
|
StrCpy $0 "paused"
|
||||||
|
IntCmp $6 ${SERVICE_PAUSED} lbl_done
|
||||||
|
StrCpy $0 "unknown"
|
||||||
|
|
||||||
|
lbl_good:
|
||||||
|
StrCpy $0 "true"
|
||||||
|
lbl_done:
|
||||||
|
IntCmp $5 0 +2
|
||||||
|
System::Call 'advapi32::CloseServiceHandle(i r5) n'
|
||||||
|
IntCmp $4 0 +2
|
||||||
|
System::Call 'advapi32::CloseServiceHandle(i r4) n'
|
||||||
|
Pop $4
|
||||||
|
Pop $3
|
||||||
|
Pop $2
|
||||||
|
Pop $1
|
||||||
|
Exch 3
|
||||||
|
Pop $5
|
||||||
|
Pop $7
|
||||||
|
Pop $6
|
||||||
|
Exch $0
|
||||||
|
!macroend
|
||||||
|
|
||||||
|
Function Service
|
||||||
|
!insertmacro FUNC_SERVICE ""
|
||||||
|
FunctionEnd
|
||||||
|
|
||||||
|
Function un.Service
|
||||||
|
!insertmacro FUNC_SERVICE "un."
|
||||||
|
FunctionEnd
|
||||||
|
|
||||||
|
Function GetParam
|
||||||
|
!insertmacro FUNC_GETPARAM
|
||||||
|
FunctionEnd
|
||||||
|
|
||||||
|
Function un.GetParam
|
||||||
|
!insertmacro FUNC_GETPARAM
|
||||||
|
FunctionEnd
|
||||||
|
|
||||||
|
!endif
|
27
win32/resource.h
Normal file
27
win32/resource.h
Normal file
@ -0,0 +1,27 @@
|
|||||||
|
//{{NO_DEPENDENCIES}}
|
||||||
|
// Microsoft Visual C++ generated include file.
|
||||||
|
// Used by mt-daapd.rc
|
||||||
|
//
|
||||||
|
#define IDS_PROJNAME 100
|
||||||
|
#define IDR_WMDMLOGGER 101
|
||||||
|
#define IDS_LOG_SEV_INFO 201
|
||||||
|
#define IDS_LOG_SEV_WARN 202
|
||||||
|
#define IDS_LOG_SEV_ERROR 203
|
||||||
|
#define IDS_LOG_DATETIME 204
|
||||||
|
#define IDS_LOG_SRCNAME 205
|
||||||
|
#define IDS_DEF_LOGFILE 301
|
||||||
|
#define IDS_DEF_MAXSIZE 302
|
||||||
|
#define IDS_DEF_SHRINKTOSIZE 303
|
||||||
|
#define IDS_DEF_LOGENABLED 304
|
||||||
|
#define IDS_MUTEX_TIMEOUT 401
|
||||||
|
|
||||||
|
// Next default values for new objects
|
||||||
|
//
|
||||||
|
#ifdef APSTUDIO_INVOKED
|
||||||
|
#ifndef APSTUDIO_READONLY_SYMBOLS
|
||||||
|
#define _APS_NEXT_RESOURCE_VALUE 201
|
||||||
|
#define _APS_NEXT_COMMAND_VALUE 32768
|
||||||
|
#define _APS_NEXT_CONTROL_VALUE 201
|
||||||
|
#define _APS_NEXT_SYMED_VALUE 101
|
||||||
|
#endif
|
||||||
|
#endif
|
Loading…
Reference in New Issue
Block a user