mirror of
https://gitlab.xiph.org/xiph/icecast-server.git
synced 2025-01-03 14:56:34 -05:00
Win32 clean up
* Removed all files related to the removed Windows UI * Added files needed by NSIS * Added batch file used to start icecast on Windows
This commit is contained in:
parent
03ea74c04a
commit
3da438a8da
@ -156,6 +156,6 @@ AC_SUBST(KATE_LIBS)
|
||||
AC_OUTPUT([Makefile conf/Makefile src/Makefile src/avl/Makefile
|
||||
src/httpp/Makefile src/thread/Makefile src/log/Makefile
|
||||
src/net/Makefile src/timing/Makefile doc/Makefile doc/img/Makefile
|
||||
doc/assets/Makefile doc/assets/css/Makefile doc/assets/font/Makefile
|
||||
doc/assets/img/Makefile web/Makefile admin/Makefile win32/Makefile
|
||||
win32/res/Makefile examples/Makefile])
|
||||
doc/assets/Makefile doc/assets/css/Makefile doc/assets/font/Makefile
|
||||
doc/assets/img/Makefile web/Makefile admin/Makefile win32/Makefile
|
||||
examples/Makefile])
|
||||
|
@ -1,79 +0,0 @@
|
||||
// ConfigTab.cpp : implementation file
|
||||
//
|
||||
|
||||
#include "stdafx.h"
|
||||
#include "Icecast2win.h"
|
||||
#include "ConfigTab.h"
|
||||
|
||||
#ifdef _DEBUG
|
||||
#define new DEBUG_NEW
|
||||
#undef THIS_FILE
|
||||
static char THIS_FILE[] = __FILE__;
|
||||
#endif
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
// CConfigTab dialog
|
||||
|
||||
|
||||
CConfigTab::CConfigTab(CWnd* pParent /*=NULL*/)
|
||||
: CTabPageSSL(CConfigTab::IDD, pParent)
|
||||
{
|
||||
//{{AFX_DATA_INIT(CConfigTab)
|
||||
m_Config = _T("");
|
||||
//}}AFX_DATA_INIT
|
||||
}
|
||||
|
||||
|
||||
void CConfigTab::DoDataExchange(CDataExchange* pDX)
|
||||
{
|
||||
CTabPageSSL::DoDataExchange(pDX);
|
||||
//{{AFX_DATA_MAP(CConfigTab)
|
||||
DDX_Control(pDX, IDC_CONFIG, m_ConfigCtrl);
|
||||
DDX_Text(pDX, IDC_CONFIG, m_Config);
|
||||
//}}AFX_DATA_MAP
|
||||
}
|
||||
|
||||
|
||||
BEGIN_MESSAGE_MAP(CConfigTab, CTabPageSSL)
|
||||
//{{AFX_MSG_MAP(CConfigTab)
|
||||
ON_EN_KILLFOCUS(IDC_CONFIG, OnKillfocusConfig)
|
||||
//}}AFX_MSG_MAP
|
||||
END_MESSAGE_MAP()
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
// CConfigTab message handlers
|
||||
|
||||
void CConfigTab::SaveConfiguration()
|
||||
{
|
||||
// TODO: Add your command handler code here
|
||||
// TODO: Add your control notification handler code here
|
||||
FILE *filep;
|
||||
char buffer[2046] = "";
|
||||
CIcecast2winApp *myApp = (CIcecast2winApp *)AfxGetApp();
|
||||
|
||||
UpdateData(TRUE);
|
||||
if (m_Config != "") {
|
||||
filep = fopen(myApp->m_configFile, "w");
|
||||
if (filep) {
|
||||
fputs(LPCSTR(m_Config), filep);
|
||||
fclose(filep);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
BOOL CConfigTab::OnInitDialog()
|
||||
{
|
||||
CTabPageSSL::OnInitDialog();
|
||||
|
||||
// TODO: Add extra initialization here
|
||||
// AddAnchor(IDC_CONFIG, TOP_LEFT, BOTTOM_RIGHT);
|
||||
|
||||
return TRUE; // return TRUE unless you set the focus to a control
|
||||
// EXCEPTION: OCX Property Pages should return FALSE
|
||||
}
|
||||
|
||||
void CConfigTab::OnKillfocusConfig()
|
||||
{
|
||||
// TODO: Add your control notification handler code here
|
||||
SaveConfiguration();
|
||||
}
|
@ -1,50 +0,0 @@
|
||||
#if !defined(AFX_CONFIGTAB_H__D8B0CC28_59FA_44E8_91A4_377C64F67DCF__INCLUDED_)
|
||||
#define AFX_CONFIGTAB_H__D8B0CC28_59FA_44E8_91A4_377C64F67DCF__INCLUDED_
|
||||
|
||||
#if _MSC_VER > 1000
|
||||
#pragma once
|
||||
#endif // _MSC_VER > 1000
|
||||
// ConfigTab.h : header file
|
||||
//
|
||||
#include "TabPageSSL.h"
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
// CConfigTab dialog
|
||||
|
||||
class CConfigTab : public CTabPageSSL
|
||||
{
|
||||
// Construction
|
||||
public:
|
||||
void SaveConfiguration();
|
||||
CConfigTab(CWnd* pParent = NULL); // standard constructor
|
||||
|
||||
// Dialog Data
|
||||
//{{AFX_DATA(CConfigTab)
|
||||
enum { IDD = IDD_CONFIGDIALOG };
|
||||
CEdit m_ConfigCtrl;
|
||||
CString m_Config;
|
||||
//}}AFX_DATA
|
||||
|
||||
|
||||
// Overrides
|
||||
// ClassWizard generated virtual function overrides
|
||||
//{{AFX_VIRTUAL(CConfigTab)
|
||||
protected:
|
||||
virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV support
|
||||
//}}AFX_VIRTUAL
|
||||
|
||||
// Implementation
|
||||
protected:
|
||||
|
||||
// Generated message map functions
|
||||
//{{AFX_MSG(CConfigTab)
|
||||
virtual BOOL OnInitDialog();
|
||||
afx_msg void OnKillfocusConfig();
|
||||
//}}AFX_MSG
|
||||
DECLARE_MESSAGE_MAP()
|
||||
};
|
||||
|
||||
//{{AFX_INSERT_LOCATION}}
|
||||
// Microsoft Visual C++ will insert additional declarations immediately before the previous line.
|
||||
|
||||
#endif // !defined(AFX_CONFIGTAB_H__D8B0CC28_59FA_44E8_91A4_377C64F67DCF__INCLUDED_)
|
@ -1,149 +0,0 @@
|
||||
; CLW file contains information for the MFC ClassWizard
|
||||
|
||||
[General Info]
|
||||
Version=1
|
||||
LastClass=CIcecast2winDlg
|
||||
LastTemplate=CDialog
|
||||
NewFileInclude1=#include "stdafx.h"
|
||||
NewFileInclude2=#include "Icecast2win.h"
|
||||
|
||||
ClassCount=6
|
||||
Class1=CIcecast2winApp
|
||||
Class2=CIcecast2winDlg
|
||||
Class3=CAboutDlg
|
||||
|
||||
ResourceCount=10
|
||||
Resource1=IDR_MENU2
|
||||
Resource2=IDR_MAINFRAME
|
||||
Resource3=IDR_TRAY
|
||||
Resource4=IDD_ICECAST2WIN_DIALOG
|
||||
Class4=CStatus
|
||||
Resource5=IDD_SSTATUS
|
||||
Class5=CConfigTab
|
||||
Class6=CStatsTab
|
||||
Resource6=IDD_CONFIGDIALOG
|
||||
Resource7=IDD_STATSDIALOG
|
||||
Resource8=IDR_MENU3
|
||||
Resource9=IDD_ABOUTBOX
|
||||
Resource10=IDR_MENU4
|
||||
|
||||
[CLS:CIcecast2winApp]
|
||||
Type=0
|
||||
HeaderFile=Icecast2win.h
|
||||
ImplementationFile=Icecast2win.cpp
|
||||
Filter=N
|
||||
|
||||
[CLS:CIcecast2winDlg]
|
||||
Type=0
|
||||
HeaderFile=Icecast2winDlg.h
|
||||
ImplementationFile=Icecast2winDlg.cpp
|
||||
Filter=C
|
||||
LastObject=ID_ABOUT_CREDITS
|
||||
BaseClass=CDialog
|
||||
VirtualFilter=dWC
|
||||
|
||||
[CLS:CAboutDlg]
|
||||
Type=0
|
||||
HeaderFile=Icecast2winDlg.h
|
||||
ImplementationFile=Icecast2winDlg.cpp
|
||||
Filter=D
|
||||
|
||||
[DLG:IDD_ABOUTBOX]
|
||||
Type=1
|
||||
Class=CAboutDlg
|
||||
ControlCount=2
|
||||
Control1=IDOK,button,1342373889
|
||||
Control2=IDC_STATIC,static,1350572046
|
||||
|
||||
[DLG:IDD_ICECAST2WIN_DIALOG]
|
||||
Type=1
|
||||
Class=CIcecast2winDlg
|
||||
ControlCount=7
|
||||
Control1=IDC_MAINTAB,SysTabControl32,1342177280
|
||||
Control2=IDC_START,button,1342242816
|
||||
Control3=IDC_AUTOSTART,button,1342251011
|
||||
Control4=IDC_STATIC,static,1342177294
|
||||
Control5=IDC_SERVERSTATUS,static,1342177294
|
||||
Control6=IDC_STATIC_SS,static,1342308865
|
||||
Control7=IDC_HIDESYSTRAY,button,1342242816
|
||||
|
||||
[DLG:IDD_SSTATUS]
|
||||
Type=1
|
||||
Class=CStatus
|
||||
ControlCount=5
|
||||
Control1=IDC_FILLER2,static,1342308352
|
||||
Control2=IDC_GLOBALSTAT_LIST,SysListView32,1350631425
|
||||
Control3=IDC_STATIC_GS,static,1342308352
|
||||
Control4=IDC_STATIC_RUN,static,1342308352
|
||||
Control5=IDC_RUNNINGFOR,static,1342308352
|
||||
|
||||
[CLS:CStatus]
|
||||
Type=0
|
||||
HeaderFile=Status.h
|
||||
ImplementationFile=Status.cpp
|
||||
BaseClass=CTabPageSSL
|
||||
Filter=D
|
||||
LastObject=ID_POPUP_ADDTOGLOBALSTATLIST
|
||||
VirtualFilter=dWC
|
||||
|
||||
[DLG:IDD_CONFIGDIALOG]
|
||||
Type=1
|
||||
Class=CConfigTab
|
||||
ControlCount=1
|
||||
Control1=IDC_CONFIG,edit,1352732868
|
||||
|
||||
[CLS:CConfigTab]
|
||||
Type=0
|
||||
HeaderFile=ConfigTab.h
|
||||
ImplementationFile=ConfigTab.cpp
|
||||
BaseClass=CTabPageSSL
|
||||
Filter=D
|
||||
VirtualFilter=dWC
|
||||
LastObject=IDC_CONFIG
|
||||
|
||||
[DLG:IDD_STATSDIALOG]
|
||||
Type=1
|
||||
Class=CStatsTab
|
||||
ControlCount=4
|
||||
Control1=IDC_STATSLIST,SysListView32,1350631425
|
||||
Control2=IDC_SOURCELIST,SysListView32,1350631425
|
||||
Control3=IDC_STATIC_SLS,static,1342308352
|
||||
Control4=IDC_STATIC,static,1342308352
|
||||
|
||||
[CLS:CStatsTab]
|
||||
Type=0
|
||||
HeaderFile=StatsTab.h
|
||||
ImplementationFile=StatsTab.cpp
|
||||
BaseClass=CTabPageSSL
|
||||
Filter=D
|
||||
VirtualFilter=dWC
|
||||
LastObject=IDC_SOURCELIST
|
||||
|
||||
[MNU:IDR_MENU2]
|
||||
Type=1
|
||||
Class=?
|
||||
Command1=ID_POPUP_ADDTOGLOBALSTATLIST
|
||||
CommandCount=1
|
||||
|
||||
[MNU:IDR_MENU3]
|
||||
Type=1
|
||||
Class=?
|
||||
Command1=ID__DELETEFROMGLOBALSTATS
|
||||
Command2=ID__MAKETHISSTATTHEWINDOWTITLE
|
||||
CommandCount=2
|
||||
|
||||
[MNU:IDR_TRAY]
|
||||
Type=1
|
||||
Class=CIcecast2winDlg
|
||||
Command1=ID_BLANK_RESTORE
|
||||
CommandCount=1
|
||||
|
||||
[MNU:IDR_MENU4]
|
||||
Type=1
|
||||
Class=CIcecast2winDlg
|
||||
Command1=ID_FILE_EXIT
|
||||
Command2=ID_FILE_EDITCONFIGURATION
|
||||
Command3=ID_ABOUT_HELP
|
||||
Command4=ID_ABOUT_CREDITS
|
||||
CommandCount=4
|
||||
|
@ -1,101 +0,0 @@
|
||||
// Icecast2win.cpp : Defines the class behaviors for the application.
|
||||
//
|
||||
|
||||
#include "stdafx.h"
|
||||
#include "Icecast2win.h"
|
||||
#include "Icecast2winDlg.h"
|
||||
|
||||
extern "C" {
|
||||
#include "xslt.h"
|
||||
void initialize_subsystems(void);
|
||||
void shutdown_subsystems(void);
|
||||
}
|
||||
#ifdef _DEBUG
|
||||
#define new DEBUG_NEW
|
||||
#undef THIS_FILE
|
||||
static char THIS_FILE[] = __FILE__;
|
||||
#endif
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
// CIcecast2winApp
|
||||
|
||||
BEGIN_MESSAGE_MAP(CIcecast2winApp, CWinApp)
|
||||
//{{AFX_MSG_MAP(CIcecast2winApp)
|
||||
// NOTE - the ClassWizard will add and remove mapping macros here.
|
||||
// DO NOT EDIT what you see in these blocks of generated code!
|
||||
//}}AFX_MSG
|
||||
ON_COMMAND(ID_HELP, CWinApp::OnHelp)
|
||||
END_MESSAGE_MAP()
|
||||
|
||||
#include "colors.h"
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
// CIcecast2winApp construction
|
||||
|
||||
CIcecast2winApp::CIcecast2winApp()
|
||||
{
|
||||
// TODO: add construction code here,
|
||||
// Place all significant initialization in InitInstance
|
||||
}
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
// The one and only CIcecast2winApp object
|
||||
|
||||
CIcecast2winApp theApp;
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
// CIcecast2winApp initialization
|
||||
|
||||
BOOL CIcecast2winApp::InitInstance()
|
||||
{
|
||||
AfxEnableControlContainer();
|
||||
|
||||
// Standard initialization
|
||||
// If you are not using these features and wish to reduce the size
|
||||
// of your final executable, you should remove from the following
|
||||
// the specific initialization routines you do not need.
|
||||
|
||||
initialize_subsystems();
|
||||
if (strlen(m_lpCmdLine) > 0) {
|
||||
strcpy(m_configFile, m_lpCmdLine);
|
||||
}
|
||||
else {
|
||||
strcpy(m_configFile, ".\\icecast.xml");
|
||||
}
|
||||
|
||||
|
||||
|
||||
#ifdef _AFXDLL
|
||||
Enable3dControls(); // Call this when using MFC in a shared DLL
|
||||
#else
|
||||
Enable3dControlsStatic(); // Call this when linking to MFC statically
|
||||
#endif
|
||||
|
||||
CIcecast2winDlg dlg;
|
||||
m_pMainWnd = &dlg;
|
||||
|
||||
// SetDialogBkColor(BGCOLOR,TEXTCOLOR);
|
||||
|
||||
m_pIconList[0] = LoadIcon (MAKEINTRESOURCE(IDR_MAINFRAME));
|
||||
|
||||
int nResponse = dlg.DoModal();
|
||||
if (nResponse == IDOK)
|
||||
{
|
||||
// TODO: Place code here to handle when the dialog is
|
||||
// dismissed with OK
|
||||
}
|
||||
else if (nResponse == IDCANCEL)
|
||||
{
|
||||
// TODO: Place code here to handle when the dialog is
|
||||
// dismissed with Cancel
|
||||
}
|
||||
|
||||
// Since the dialog has been closed, return FALSE so that we exit the
|
||||
// application, rather than start the application's message pump.
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
int CIcecast2winApp::ExitInstance()
|
||||
{
|
||||
shutdown_subsystems();
|
||||
return CWinApp::ExitInstance();
|
||||
}
|
@ -1,274 +0,0 @@
|
||||
# Microsoft Developer Studio Project File - Name="Icecast2win" - Package Owner=<4>
|
||||
# Microsoft Developer Studio Generated Build File, Format Version 6.00
|
||||
# ** DO NOT EDIT **
|
||||
|
||||
# TARGTYPE "Win32 (x86) Application" 0x0101
|
||||
|
||||
CFG=Icecast2win - Win32 Debug
|
||||
!MESSAGE This is not a valid makefile. To build this project using NMAKE,
|
||||
!MESSAGE use the Export Makefile command and run
|
||||
!MESSAGE
|
||||
!MESSAGE NMAKE /f "Icecast2win.mak".
|
||||
!MESSAGE
|
||||
!MESSAGE You can specify a configuration when running NMAKE
|
||||
!MESSAGE by defining the macro CFG on the command line. For example:
|
||||
!MESSAGE
|
||||
!MESSAGE NMAKE /f "Icecast2win.mak" CFG="Icecast2win - Win32 Debug"
|
||||
!MESSAGE
|
||||
!MESSAGE Possible choices for configuration are:
|
||||
!MESSAGE
|
||||
!MESSAGE "Icecast2win - Win32 Release" (based on "Win32 (x86) Application")
|
||||
!MESSAGE "Icecast2win - Win32 Debug" (based on "Win32 (x86) Application")
|
||||
!MESSAGE
|
||||
|
||||
# Begin Project
|
||||
# PROP AllowPerConfigDependencies 0
|
||||
# PROP Scc_ProjName ""
|
||||
# PROP Scc_LocalPath ""
|
||||
CPP=cl.exe
|
||||
MTL=midl.exe
|
||||
RSC=rc.exe
|
||||
|
||||
!IF "$(CFG)" == "Icecast2win - Win32 Release"
|
||||
|
||||
# PROP BASE Use_MFC 5
|
||||
# PROP BASE Use_Debug_Libraries 0
|
||||
# PROP BASE Output_Dir "Release"
|
||||
# PROP BASE Intermediate_Dir "Release"
|
||||
# PROP BASE Target_Dir ""
|
||||
# PROP Use_MFC 5
|
||||
# PROP Use_Debug_Libraries 0
|
||||
# PROP Output_Dir "Release"
|
||||
# PROP Intermediate_Dir "releasewin_tmp"
|
||||
# PROP Ignore_Export_Lib 0
|
||||
# PROP Target_Dir ""
|
||||
# ADD BASE CPP /nologo /MT /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /Yu"stdafx.h" /FD /c
|
||||
# ADD CPP /nologo /MT /W3 /GX /O2 /I "../src" /I "../src/httpp" /I "../src/thread" /I "../src/log" /I "../src/avl" /I "../src/net" /I "src/timings" /I "../" /I "../../libxslt/include" /I "../../iconv/include" /I "../../libxml2/include" /I "../../pthreads" /I "../../oggvorbis-win32sdk-1.0.1/include" /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /D PACKAGE_VERSION=\"2.3.2\" /D "USE_YP" /FD /c
|
||||
# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /win32
|
||||
# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /win32
|
||||
# ADD BASE RSC /l 0x409 /d "NDEBUG"
|
||||
# ADD RSC /l 0x409 /d "NDEBUG"
|
||||
BSC32=bscmake.exe
|
||||
# ADD BASE BSC32 /nologo
|
||||
# ADD BSC32 /nologo
|
||||
LINK32=link.exe
|
||||
# ADD BASE LINK32 /nologo /subsystem:windows /machine:I386
|
||||
# ADD LINK32 libcurl.lib ogg_static_d.lib vorbis_static.lib libxml2.lib libxslt.lib iconv.lib pthreadVSE.lib ws2_32.lib winmm.lib theora_static_d.lib libspeex.lib /nologo /version:2.3 /subsystem:windows /machine:I386 /nodefaultlib:"libcd.lib" /nodefaultlib:"libcmtd.lib"
|
||||
# SUBTRACT LINK32 /pdb:none
|
||||
|
||||
!ELSEIF "$(CFG)" == "Icecast2win - Win32 Debug"
|
||||
|
||||
# PROP BASE Use_MFC 5
|
||||
# PROP BASE Use_Debug_Libraries 1
|
||||
# PROP BASE Output_Dir "Debug"
|
||||
# PROP BASE Intermediate_Dir "Debug"
|
||||
# PROP BASE Target_Dir ""
|
||||
# PROP Use_MFC 5
|
||||
# PROP Use_Debug_Libraries 1
|
||||
# PROP Output_Dir "Debug"
|
||||
# PROP Intermediate_Dir "debugwin_tmp"
|
||||
# PROP Ignore_Export_Lib 0
|
||||
# PROP Target_Dir ""
|
||||
# ADD BASE CPP /nologo /MTd /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /Yu"stdafx.h" /FD /GZ /c
|
||||
# ADD CPP /nologo /MTd /W3 /Gm /GX /ZI /Od /I "../src" /I "../" /I "../../libxslt/include" /I "../../iconv/include" /I "../../libxml2/include" /I "../../pthreads" /I "../../oggvorbis-win32sdk-1.0.1/include" /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /D "_WIN32" /D PACKAGE_VERSION=\"2.3.2\" /D "USE_YP" /FD /GZ /c
|
||||
# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /win32
|
||||
# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /win32
|
||||
# ADD BASE RSC /l 0x409 /d "_DEBUG"
|
||||
# ADD RSC /l 0x409 /d "_DEBUG"
|
||||
BSC32=bscmake.exe
|
||||
# ADD BASE BSC32 /nologo
|
||||
# ADD BSC32 /nologo
|
||||
LINK32=link.exe
|
||||
# ADD BASE LINK32 /nologo /subsystem:windows /debug /machine:I386 /pdbtype:sept
|
||||
# ADD LINK32 libcurl.lib ogg_static_d.lib vorbis_static_d.lib libxml2.lib libxslt.lib iconv.lib pthreadVSE.lib ws2_32.lib winmm.lib theora_static_d.lib libspeex.lib /nologo /subsystem:windows /incremental:no /debug /machine:I386 /nodefaultlib:"libcd.lib" /pdbtype:sept
|
||||
# SUBTRACT LINK32 /pdb:none
|
||||
|
||||
!ENDIF
|
||||
|
||||
# Begin Target
|
||||
|
||||
# Name "Icecast2win - Win32 Release"
|
||||
# Name "Icecast2win - Win32 Debug"
|
||||
# Begin Group "Source Files"
|
||||
|
||||
# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=.\ConfigTab.cpp
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=.\Icecast2win.cpp
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=.\Icecast2win.rc
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=.\Icecast2winDlg.cpp
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=\xiph\icecast\trunk\icecast\src\main.c
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=.\StatsTab.cpp
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=.\Status.cpp
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=.\StdAfx.cpp
|
||||
# ADD CPP /Yc"stdafx.h"
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=.\TabCtrlSSL.cpp
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=.\TabCtrlSSL.h
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=.\TabPageSSL.cpp
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=.\TabPageSSL.h
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=.\Traynot.cpp
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=.\TRAYNOT.H
|
||||
# End Source File
|
||||
# End Group
|
||||
# Begin Group "Header Files"
|
||||
|
||||
# PROP Default_Filter "h;hpp;hxx;hm;inl"
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=.\colors.h
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=.\ConfigTab.h
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=.\Icecast2win.h
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=.\Icecast2winDlg.h
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=.\Resource.h
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=.\StatsTab.h
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=.\Status.h
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=.\StdAfx.h
|
||||
# End Source File
|
||||
# End Group
|
||||
# Begin Group "Resource Files"
|
||||
|
||||
# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe"
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=.\bitmap1.bmp
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=.\bitmap2.bmp
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=.\black.bmp
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=.\credits.bmp
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=.\cursor1.cur
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=.\cursor2.cur
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=.\green1.ico
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=.\icecast.ico
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=.\Icecast2.ico
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=.\res\Icecast2.ico
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=.\icecast2logo2.bmp
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=.\icecast2title.bmp
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=.\res\Icecast2win.ico
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=.\res\Icecast2win.rc2
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=.\ico00001.ico
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=.\icon1.ico
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=.\icon2.ico
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=.\running.bmp
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=.\stopped.bmp
|
||||
# End Source File
|
||||
# End Group
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=.\ReadMe.txt
|
||||
# End Source File
|
||||
# End Target
|
||||
# End Project
|
@ -1,83 +0,0 @@
|
||||
Microsoft Developer Studio Workspace File, Format Version 6.00
|
||||
# WARNING: DO NOT EDIT OR DELETE THIS WORKSPACE FILE!
|
||||
|
||||
###############################################################################
|
||||
|
||||
Project: "Icecast2win"=.\Icecast2win.dsp - Package Owner=<4>
|
||||
|
||||
Package=<5>
|
||||
{{{
|
||||
}}}
|
||||
|
||||
Package=<4>
|
||||
{{{
|
||||
Begin Project Dependency
|
||||
Project_Dep_Name libxml
|
||||
End Project Dependency
|
||||
Begin Project Dependency
|
||||
Project_Dep_Name icecast
|
||||
End Project Dependency
|
||||
Begin Project Dependency
|
||||
Project_Dep_Name icecastService
|
||||
End Project Dependency
|
||||
Begin Project Dependency
|
||||
Project_Dep_Name icecast2 console
|
||||
End Project Dependency
|
||||
}}}
|
||||
|
||||
###############################################################################
|
||||
|
||||
Project: "icecast"=.\icecast.dsp - Package Owner=<4>
|
||||
|
||||
Package=<5>
|
||||
{{{
|
||||
}}}
|
||||
|
||||
Package=<4>
|
||||
{{{
|
||||
}}}
|
||||
|
||||
###############################################################################
|
||||
|
||||
Project: "icecast2 console"=.\icecast2_console.dsp - Package Owner=<4>
|
||||
|
||||
Package=<5>
|
||||
{{{
|
||||
}}}
|
||||
|
||||
Package=<4>
|
||||
{{{
|
||||
Begin Project Dependency
|
||||
Project_Dep_Name icecast
|
||||
End Project Dependency
|
||||
}}}
|
||||
|
||||
###############################################################################
|
||||
|
||||
Project: "icecastService"=.\icecastService.dsp - Package Owner=<4>
|
||||
|
||||
Package=<5>
|
||||
{{{
|
||||
}}}
|
||||
|
||||
Package=<4>
|
||||
{{{
|
||||
Begin Project Dependency
|
||||
Project_Dep_Name icecast
|
||||
End Project Dependency
|
||||
}}}
|
||||
|
||||
###############################################################################
|
||||
|
||||
Global:
|
||||
|
||||
Package=<5>
|
||||
{{{
|
||||
}}}
|
||||
|
||||
Package=<3>
|
||||
{{{
|
||||
}}}
|
||||
|
||||
###############################################################################
|
||||
|
@ -1,53 +0,0 @@
|
||||
// Icecast2win.h : main header file for the ICECAST2WIN application
|
||||
//
|
||||
|
||||
#if !defined(AFX_ICECAST2WIN_H__76A528C9_A424_4417_BFDF_0E556A9EE4F1__INCLUDED_)
|
||||
#define AFX_ICECAST2WIN_H__76A528C9_A424_4417_BFDF_0E556A9EE4F1__INCLUDED_
|
||||
|
||||
#if _MSC_VER > 1000
|
||||
#pragma once
|
||||
#endif // _MSC_VER > 1000
|
||||
|
||||
#ifndef __AFXWIN_H__
|
||||
#error include 'stdafx.h' before including this file for PCH
|
||||
#endif
|
||||
|
||||
#include "resource.h" // main symbols
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
// CIcecast2winApp:
|
||||
// See Icecast2win.cpp for the implementation of this class
|
||||
//
|
||||
|
||||
class CIcecast2winApp : public CWinApp
|
||||
{
|
||||
public:
|
||||
char m_configFile[1024];
|
||||
HICON m_pIconList[2];
|
||||
CIcecast2winApp();
|
||||
|
||||
// Overrides
|
||||
// ClassWizard generated virtual function overrides
|
||||
//{{AFX_VIRTUAL(CIcecast2winApp)
|
||||
public:
|
||||
virtual BOOL InitInstance();
|
||||
virtual int ExitInstance();
|
||||
//}}AFX_VIRTUAL
|
||||
|
||||
// Implementation
|
||||
|
||||
//{{AFX_MSG(CIcecast2winApp)
|
||||
// NOTE - the ClassWizard will add and remove member functions here.
|
||||
// DO NOT EDIT what you see in these blocks of generated code !
|
||||
//}}AFX_MSG
|
||||
DECLARE_MESSAGE_MAP()
|
||||
};
|
||||
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
//{{AFX_INSERT_LOCATION}}
|
||||
// Microsoft Visual C++ will insert additional declarations immediately before the previous line.
|
||||
|
||||
extern CIcecast2winApp theApp;
|
||||
#endif // !defined(AFX_ICECAST2WIN_H__76A528C9_A424_4417_BFDF_0E556A9EE4F1__INCLUDED_)
|
@ -1,300 +0,0 @@
|
||||
//Microsoft Developer Studio 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 DISCARDABLE
|
||||
BEGIN
|
||||
"resource.h\0"
|
||||
END
|
||||
|
||||
2 TEXTINCLUDE DISCARDABLE
|
||||
BEGIN
|
||||
"#include ""afxres.h""\r\n"
|
||||
"\0"
|
||||
END
|
||||
|
||||
3 TEXTINCLUDE DISCARDABLE
|
||||
BEGIN
|
||||
"#define _AFX_NO_SPLITTER_RESOURCES\r\n"
|
||||
"#define _AFX_NO_OLE_RESOURCES\r\n"
|
||||
"#define _AFX_NO_TRACKER_RESOURCES\r\n"
|
||||
"#define _AFX_NO_PROPERTY_RESOURCES\r\n"
|
||||
"\r\n"
|
||||
"#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU)\r\n"
|
||||
"#ifdef _WIN32\r\n"
|
||||
"LANGUAGE 9, 1\r\n"
|
||||
"#pragma code_page(1252)\r\n"
|
||||
"#endif //_WIN32\r\n"
|
||||
"#include ""res\\Icecast2win.rc2"" // non-Microsoft Visual C++ edited resources\r\n"
|
||||
"#include ""afxres.rc"" // Standard components\r\n"
|
||||
"#endif\r\n"
|
||||
"\0"
|
||||
END
|
||||
|
||||
#endif // APSTUDIO_INVOKED
|
||||
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// Dialog
|
||||
//
|
||||
|
||||
IDD_ABOUTBOX DIALOG DISCARDABLE 0, 0, 375, 163
|
||||
STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU
|
||||
CAPTION "Icecast Credits"
|
||||
FONT 8, "MS Sans Serif"
|
||||
BEGIN
|
||||
DEFPUSHBUTTON "OK",IDOK,157,141,50,14,WS_GROUP
|
||||
CONTROL 163,IDC_STATIC,"Static",SS_BITMAP | SS_REALSIZEIMAGE |
|
||||
SS_SUNKEN | WS_BORDER,7,7,361,145
|
||||
END
|
||||
|
||||
IDD_ICECAST2WIN_DIALOG DIALOGEX 0, 0, 326, 259
|
||||
STYLE WS_MINIMIZEBOX | WS_MAXIMIZEBOX | WS_POPUP | WS_VISIBLE | WS_CAPTION |
|
||||
WS_SYSMENU | WS_THICKFRAME
|
||||
EXSTYLE WS_EX_APPWINDOW
|
||||
MENU IDR_MENU4
|
||||
FONT 8, "MS Sans Serif"
|
||||
BEGIN
|
||||
CONTROL "Tab1",IDC_MAINTAB,"SysTabControl32",0x0,0,49,326,210
|
||||
PUSHBUTTON "Start Server",IDC_START,17,31,56,14
|
||||
CONTROL "Start Server on Application Startup",IDC_AUTOSTART,
|
||||
"Button",BS_AUTOCHECKBOX | BS_MULTILINE | WS_TABSTOP,76,
|
||||
29,81,17
|
||||
CONTROL 164,IDC_STATIC,"Static",SS_BITMAP,0,0,117,20
|
||||
CONTROL 151,IDC_SERVERSTATUS,"Static",SS_BITMAP,173,32,65,18,
|
||||
WS_EX_CLIENTEDGE
|
||||
CTEXT "Server Status",IDC_STATIC_SS,172,23,65,10,
|
||||
SS_CENTERIMAGE
|
||||
PUSHBUTTON "Hide To Systray",IDC_HIDESYSTRAY,262,22,58,12
|
||||
END
|
||||
|
||||
IDD_SSTATUS DIALOG DISCARDABLE 0, 0, 320, 210
|
||||
STYLE WS_CHILD
|
||||
FONT 8, "MS Sans Serif"
|
||||
BEGIN
|
||||
LTEXT "",IDC_FILLER2,0,199,319,11
|
||||
CONTROL "List1",IDC_GLOBALSTAT_LIST,"SysListView32",LVS_REPORT |
|
||||
WS_BORDER | WS_TABSTOP,9,34,300,147
|
||||
LTEXT "Global Statistics",IDC_STATIC_GS,9,6,300,10
|
||||
LTEXT "Server Has Been Running For ",IDC_STATIC_RUN,10,19,109,
|
||||
8
|
||||
LTEXT "",IDC_RUNNINGFOR,121,19,156,8
|
||||
END
|
||||
|
||||
IDD_CONFIGDIALOG DIALOG DISCARDABLE 0, 0, 320, 210
|
||||
STYLE WS_CHILD
|
||||
FONT 8, "MS Sans Serif"
|
||||
BEGIN
|
||||
EDITTEXT IDC_CONFIG,0,0,320,210,ES_MULTILINE | ES_AUTOVSCROLL |
|
||||
ES_AUTOHSCROLL | ES_WANTRETURN | WS_VSCROLL
|
||||
END
|
||||
|
||||
IDD_STATSDIALOG DIALOG DISCARDABLE 0, 0, 320, 210
|
||||
STYLE WS_CHILD
|
||||
FONT 8, "MS Sans Serif"
|
||||
BEGIN
|
||||
CONTROL "List1",IDC_STATSLIST,"SysListView32",LVS_REPORT |
|
||||
WS_BORDER | WS_TABSTOP,142,34,163,147
|
||||
CONTROL "List2",IDC_SOURCELIST,"SysListView32",LVS_REPORT |
|
||||
WS_BORDER | WS_TABSTOP,9,34,111,147
|
||||
LTEXT "Source Level Statistics",IDC_STATIC_SLS,9,7,300,10
|
||||
LTEXT "Click source to view statistics",IDC_STATIC,18,25,111,8
|
||||
END
|
||||
|
||||
|
||||
#ifndef _MAC
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// Version
|
||||
//
|
||||
|
||||
VS_VERSION_INFO VERSIONINFO
|
||||
FILEVERSION 1,0,0,1
|
||||
PRODUCTVERSION 1,0,0,1
|
||||
FILEFLAGSMASK 0x3fL
|
||||
#ifdef _DEBUG
|
||||
FILEFLAGS 0x1L
|
||||
#else
|
||||
FILEFLAGS 0x0L
|
||||
#endif
|
||||
FILEOS 0x4L
|
||||
FILETYPE 0x1L
|
||||
FILESUBTYPE 0x0L
|
||||
BEGIN
|
||||
BLOCK "StringFileInfo"
|
||||
BEGIN
|
||||
BLOCK "040904B0"
|
||||
BEGIN
|
||||
VALUE "CompanyName", "\0"
|
||||
VALUE "FileDescription", "Icecast2win MFC Application\0"
|
||||
VALUE "FileVersion", "1, 0, 0, 1\0"
|
||||
VALUE "InternalName", "Icecast2win\0"
|
||||
VALUE "LegalCopyright", "Copyright (C) 2001\0"
|
||||
VALUE "LegalTrademarks", "\0"
|
||||
VALUE "OriginalFilename", "Icecast2win.EXE\0"
|
||||
VALUE "ProductName", "Icecast2win Application\0"
|
||||
VALUE "ProductVersion", "1, 0, 0, 1\0"
|
||||
END
|
||||
END
|
||||
BLOCK "VarFileInfo"
|
||||
BEGIN
|
||||
VALUE "Translation", 0x409, 1200
|
||||
END
|
||||
END
|
||||
|
||||
#endif // !_MAC
|
||||
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// DESIGNINFO
|
||||
//
|
||||
|
||||
#ifdef APSTUDIO_INVOKED
|
||||
GUIDELINES DESIGNINFO DISCARDABLE
|
||||
BEGIN
|
||||
IDD_ABOUTBOX, DIALOG
|
||||
BEGIN
|
||||
LEFTMARGIN, 7
|
||||
RIGHTMARGIN, 368
|
||||
TOPMARGIN, 7
|
||||
BOTTOMMARGIN, 155
|
||||
END
|
||||
END
|
||||
#endif // APSTUDIO_INVOKED
|
||||
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// Bitmap
|
||||
//
|
||||
|
||||
IDB_BITMAP4 BITMAP DISCARDABLE "black.bmp"
|
||||
IDB_BITMAP5 BITMAP DISCARDABLE "stopped.bmp"
|
||||
IDB_BITMAP6 BITMAP DISCARDABLE "running.bmp"
|
||||
IDB_BITMAP7 BITMAP DISCARDABLE "icecast2logo2.bmp"
|
||||
IDB_BITMAP8 BITMAP DISCARDABLE "credits.bmp"
|
||||
IDB_BITMAP9 BITMAP DISCARDABLE "icecast2title.bmp"
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// Icon
|
||||
//
|
||||
|
||||
// Icon with lowest ID value placed first to ensure application icon
|
||||
// remains consistent on all systems.
|
||||
IDR_MAINFRAME ICON DISCARDABLE "icecast.ico"
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// Menu
|
||||
//
|
||||
|
||||
IDR_MENU2 MENU DISCARDABLE
|
||||
BEGIN
|
||||
POPUP "Popup"
|
||||
BEGIN
|
||||
MENUITEM "Add To Global Stat List", ID_POPUP_ADDTOGLOBALSTATLIST
|
||||
END
|
||||
END
|
||||
|
||||
IDR_MENU3 MENU DISCARDABLE
|
||||
BEGIN
|
||||
POPUP " "
|
||||
BEGIN
|
||||
MENUITEM "Delete From Global Stats", ID__DELETEFROMGLOBALSTATS
|
||||
MENUITEM "Make this stat the window title",
|
||||
ID__MAKETHISSTATTHEWINDOWTITLE
|
||||
|
||||
END
|
||||
END
|
||||
|
||||
IDR_TRAY MENU DISCARDABLE
|
||||
BEGIN
|
||||
POPUP "Blank"
|
||||
BEGIN
|
||||
MENUITEM "Restore", ID_BLANK_RESTORE
|
||||
END
|
||||
END
|
||||
|
||||
IDR_MENU4 MENU DISCARDABLE
|
||||
BEGIN
|
||||
POPUP "&File"
|
||||
BEGIN
|
||||
MENUITEM "E&xit", ID_FILE_EXIT
|
||||
END
|
||||
POPUP "C&onfiguration"
|
||||
BEGIN
|
||||
MENUITEM "&Edit Configuration", ID_FILE_EDITCONFIGURATION
|
||||
END
|
||||
POPUP "&About"
|
||||
BEGIN
|
||||
MENUITEM "H&elp", ID_ABOUT_HELP
|
||||
MENUITEM "Cr&edits", ID_ABOUT_CREDITS
|
||||
END
|
||||
END
|
||||
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// String Table
|
||||
//
|
||||
|
||||
STRINGTABLE DISCARDABLE
|
||||
BEGIN
|
||||
IDS_ABOUTBOX "&About Icecast2win..."
|
||||
END
|
||||
|
||||
#endif // English (U.S.) resources
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
|
||||
|
||||
#ifndef APSTUDIO_INVOKED
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// Generated from the TEXTINCLUDE 3 resource.
|
||||
//
|
||||
#define _AFX_NO_SPLITTER_RESOURCES
|
||||
#define _AFX_NO_OLE_RESOURCES
|
||||
#define _AFX_NO_TRACKER_RESOURCES
|
||||
#define _AFX_NO_PROPERTY_RESOURCES
|
||||
|
||||
#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU)
|
||||
#ifdef _WIN32
|
||||
LANGUAGE 9, 1
|
||||
#pragma code_page(1252)
|
||||
#endif //_WIN32
|
||||
#include "res\Icecast2win.rc2" // non-Microsoft Visual C++ edited resources
|
||||
#include "afxres.rc" // Standard components
|
||||
#endif
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
#endif // not APSTUDIO_INVOKED
|
||||
|
File diff suppressed because it is too large
Load Diff
@ -1,125 +0,0 @@
|
||||
// Icecast2winDlg.h : header file
|
||||
//
|
||||
|
||||
#if !defined(AFX_ICECAST2WINDLG_H__23B4DA8B_C9BC_49C8_A62C_37FC6BC5E54A__INCLUDED_)
|
||||
#define AFX_ICECAST2WINDLG_H__23B4DA8B_C9BC_49C8_A62C_37FC6BC5E54A__INCLUDED_
|
||||
|
||||
#include "TabCtrlSSL.h"
|
||||
#include "TabPageSSL.h"
|
||||
|
||||
#include "ConfigTab.h"
|
||||
#include "StatsTab.h"
|
||||
#include "Status.h"
|
||||
#include "TrayNot.h"
|
||||
|
||||
#if _MSC_VER > 1000
|
||||
#pragma once
|
||||
#endif // _MSC_VER > 1000
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
// CIcecast2winDlg dialog
|
||||
|
||||
class CIcecast2winDlg : public CDialog
|
||||
{
|
||||
// Construction
|
||||
public:
|
||||
time_t serverStart;
|
||||
void config_read();
|
||||
void config_write();
|
||||
void UpdateStatsLists();
|
||||
CConfigTab configTab;
|
||||
CStatsTab statsTab;
|
||||
CStatus statusTab;
|
||||
int m_colSource0Width;
|
||||
int m_colStats0Width;
|
||||
int m_colStats1Width;
|
||||
int m_colGStats0Width;
|
||||
int m_colGStats1Width;
|
||||
int m_colGStats2Width;
|
||||
CFont labelFont;
|
||||
CBitmap runningBitmap;
|
||||
CBitmap stoppedBitmap;
|
||||
CTrayNot* m_pTray;
|
||||
BOOL m_bHidden;
|
||||
int m_iconSwap;
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
void StopServer();
|
||||
bool m_isRunning;
|
||||
void DisableControl(UINT control);
|
||||
void EnableControl(UINT control);
|
||||
void getTag(char *pbuf, char *ptag, char *dest);
|
||||
CString m_ErrorLog;
|
||||
CString m_AccessLog;
|
||||
void ParseConfig();
|
||||
void LoadConfig();
|
||||
CIcecast2winDlg(CWnd* pParent = NULL); // standard constructor
|
||||
|
||||
// Dialog Data
|
||||
//{{AFX_DATA(CIcecast2winDlg)
|
||||
enum { IDD = IDD_ICECAST2WIN_DIALOG };
|
||||
CStatic m_SS;
|
||||
CStatic m_ServerStatusBitmap;
|
||||
CStatic m_iceLogo;
|
||||
CButton m_StartButton;
|
||||
CEdit m_StatsEditCtrl;
|
||||
CEdit m_ConfigEditCtrl;
|
||||
CEdit m_ErrorEditCtrl;
|
||||
CEdit m_AccessEditCtrl;
|
||||
CTabCtrlSSL m_MainTab;
|
||||
CString m_AccessEdit;
|
||||
CString m_ErrorEdit;
|
||||
CString m_ConfigEdit;
|
||||
CString m_ServerStatus;
|
||||
CString m_SourcesConnected;
|
||||
CString m_NumClients;
|
||||
FILE *filep_accesslog;
|
||||
FILE *filep_errorlog;
|
||||
CString m_StatsEdit;
|
||||
BOOL m_Autostart;
|
||||
//}}AFX_DATA
|
||||
|
||||
// ClassWizard generated virtual function overrides
|
||||
//{{AFX_VIRTUAL(CIcecast2winDlg)
|
||||
protected:
|
||||
virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV support
|
||||
//}}AFX_VIRTUAL
|
||||
|
||||
// Implementation
|
||||
protected:
|
||||
HICON m_hIcon;
|
||||
|
||||
// Generated message map functions
|
||||
//{{AFX_MSG(CIcecast2winDlg)
|
||||
virtual BOOL OnInitDialog();
|
||||
virtual void OnCancel();
|
||||
afx_msg void OnSysCommand(UINT nID, LPARAM lParam);
|
||||
afx_msg void OnPaint();
|
||||
afx_msg HCURSOR OnQueryDragIcon();
|
||||
afx_msg void OnSelchangeMaintab(NMHDR* pNMHDR, LRESULT* pResult);
|
||||
afx_msg void OnFileExit();
|
||||
afx_msg void OnTimer(UINT nIDEvent);
|
||||
afx_msg void OnFileStartserver();
|
||||
afx_msg void OnFileStopserver();
|
||||
afx_msg void OnStart();
|
||||
afx_msg void OnClose();
|
||||
afx_msg void OnSize(UINT nType, int cx, int cy);
|
||||
afx_msg void OnHidesystray();
|
||||
afx_msg void OnHide();
|
||||
afx_msg void OnBlankRestore();
|
||||
afx_msg LONG OnTrayNotify ( WPARAM wParam, LPARAM lParam );
|
||||
afx_msg void OnDestroy();
|
||||
afx_msg void OnFileEditconfiguration();
|
||||
afx_msg void OnAboutHelp();
|
||||
afx_msg void OnAboutCredits();
|
||||
//}}AFX_MSG
|
||||
DECLARE_MESSAGE_MAP()
|
||||
};
|
||||
|
||||
//{{AFX_INSERT_LOCATION}}
|
||||
// Microsoft Visual C++ will insert additional declarations immediately before the previous line.
|
||||
|
||||
#endif // !defined(AFX_ICECAST2WINDLG_H__23B4DA8B_C9BC_49C8_A62C_37FC6BC5E54A__INCLUDED_)
|
@ -2,15 +2,6 @@
|
||||
|
||||
AUTOMAKE_OPTIONS = foreign
|
||||
|
||||
SUBDIRS = res
|
||||
|
||||
EXTRA_DIST = ConfigTab.cpp ConfigTab.h Icecast2win.clw Icecast2win.cpp \
|
||||
Icecast2win.dsp Icecast2win.dsw Icecast2win.h Icecast2win.rc \
|
||||
Icecast2winDlg.cpp Icecast2winDlg.h Makefile.am \
|
||||
StatsTab.cpp StatsTab.h Status.cpp Status.h StdAfx.cpp \
|
||||
StdAfx.h TabCtrlSSL.cpp TabCtrlSSL.h TabPageSSL.cpp TabPageSSL.h black.bmp \
|
||||
colors.h icecast.dsp icecast.ico icecast2.iss icecast2logo2.bmp\
|
||||
resource.h running.bmp stopped.bmp TRAYNOT.h Traynot.cpp \
|
||||
icecast2_console.dsw icecast2_console.dsp credits.bmp icecast2title.bmp \
|
||||
icecastService.cpp icecastService.dsp
|
||||
EXTRA_DIST = dllbundler.sh icecast2logo2.bmp icecast2logo3.bmp \
|
||||
icecast2title.bmp icecast.ico icecast.nsis
|
||||
|
||||
|
@ -1,149 +0,0 @@
|
||||
// StatsTab.cpp : implementation file
|
||||
//
|
||||
|
||||
#include "stdafx.h"
|
||||
#include "Icecast2win.h"
|
||||
#include "StatsTab.h"
|
||||
|
||||
#include "Icecast2winDlg.h"
|
||||
|
||||
extern CIcecast2winDlg *g_mainDialog;
|
||||
|
||||
#ifdef _DEBUG
|
||||
#define new DEBUG_NEW
|
||||
#undef THIS_FILE
|
||||
static char THIS_FILE[] = __FILE__;
|
||||
#endif
|
||||
|
||||
extern void AddToAdditionalGlobalStats(CString source, CString name);
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
// CStatsTab dialog
|
||||
|
||||
|
||||
CStatsTab::CStatsTab(CWnd* pParent /*=NULL*/)
|
||||
: CTabPageSSL(CStatsTab::IDD, pParent)
|
||||
{
|
||||
//{{AFX_DATA_INIT(CStatsTab)
|
||||
// NOTE: the ClassWizard will add member initialization here
|
||||
//}}AFX_DATA_INIT
|
||||
}
|
||||
|
||||
|
||||
void CStatsTab::DoDataExchange(CDataExchange* pDX)
|
||||
{
|
||||
CTabPageSSL::DoDataExchange(pDX);
|
||||
//{{AFX_DATA_MAP(CStatsTab)
|
||||
DDX_Control(pDX, IDC_STATIC_SLS, m_SLS);
|
||||
DDX_Control(pDX, IDC_STATSLIST, m_StatsListCtrl);
|
||||
DDX_Control(pDX, IDC_SOURCELIST, m_SourceListCtrl);
|
||||
//}}AFX_DATA_MAP
|
||||
}
|
||||
|
||||
|
||||
BEGIN_MESSAGE_MAP(CStatsTab, CTabPageSSL)
|
||||
//{{AFX_MSG_MAP(CStatsTab)
|
||||
ON_NOTIFY(NM_DBLCLK, IDC_SOURCELIST, OnDblclkSourcelist)
|
||||
ON_NOTIFY(NM_RCLICK, IDC_STATSLIST, OnRclickStatslist)
|
||||
ON_NOTIFY(NM_CLICK, IDC_SOURCELIST, OnClickSourcelist)
|
||||
//}}AFX_MSG_MAP
|
||||
END_MESSAGE_MAP()
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
// CStatsTab message handlers
|
||||
|
||||
BOOL CStatsTab::OnInitDialog()
|
||||
{
|
||||
CTabPageSSL::OnInitDialog();
|
||||
|
||||
// TODO: Add extra initialization here
|
||||
m_SourceListCtrl.InsertColumn(0, _T("Source"), LVCFMT_LEFT, m_colSource0Width);
|
||||
m_StatsListCtrl.InsertColumn(0, _T("Statistic"), LVCFMT_LEFT, m_colStats0Width);
|
||||
m_StatsListCtrl.InsertColumn(1, _T("Value"), LVCFMT_LEFT, m_colStats1Width);
|
||||
|
||||
// AddAnchor(IDC_STATSLIST, TOP_LEFT, BOTTOM_RIGHT);
|
||||
// AddAnchor(IDC_SOURCELIST, TOP_LEFT, BOTTOM_LEFT);
|
||||
// AddAnchor(IDC_FILLER1, BOTTOM_LEFT, BOTTOM_RIGHT);
|
||||
|
||||
m_SourceListCtrl.SetSelectionMark(0);
|
||||
m_SLS.SetFont(&(g_mainDialog->labelFont), TRUE);
|
||||
|
||||
return TRUE; // return TRUE unless you set the focus to a control
|
||||
// EXCEPTION: OCX Property Pages should return FALSE
|
||||
}
|
||||
|
||||
void CStatsTab::OnDblclkSourcelist(NMHDR* pNMHDR, LRESULT* pResult)
|
||||
{
|
||||
// TODO: Add your control notification handler code here
|
||||
g_mainDialog->statsTab.m_StatsListCtrl.DeleteAllItems();
|
||||
g_mainDialog->UpdateStatsLists();
|
||||
*pResult = 0;
|
||||
}
|
||||
|
||||
void CStatsTab::OnRclickStatslist(NMHDR* pNMHDR, LRESULT* pResult)
|
||||
{
|
||||
// TODO: Add your control notification handler code here
|
||||
CMenu menu;
|
||||
|
||||
|
||||
CPoint point;
|
||||
::GetCursorPos(&point); //where is the mouse?
|
||||
|
||||
DWORD dwSelectionMade;
|
||||
menu.LoadMenu(IDR_MENU2);
|
||||
CMenu *pmenuPopup = menu.GetSubMenu(0);
|
||||
dwSelectionMade = pmenuPopup->TrackPopupMenu( (TPM_LEFTALIGN|TPM_LEFTBUTTON|
|
||||
TPM_NONOTIFY|TPM_RETURNCMD),
|
||||
point.x, point.y, this);
|
||||
|
||||
pmenuPopup->DestroyMenu();
|
||||
char msg[255] ="";
|
||||
char buffer[1024] = "";
|
||||
char buffer2[1024] = "";
|
||||
|
||||
CString name;
|
||||
CString source;
|
||||
POSITION pos;
|
||||
switch (dwSelectionMade) {
|
||||
case ID_POPUP_ADDTOGLOBALSTATLIST :
|
||||
pos = m_StatsListCtrl.GetFirstSelectedItemPosition();
|
||||
if (pos != NULL) {
|
||||
int nItem = m_StatsListCtrl.GetNextSelectedItem(pos);
|
||||
LVITEM lvi;
|
||||
|
||||
lvi.mask = LVIF_TEXT;
|
||||
lvi.iItem = nItem;
|
||||
lvi.iSubItem = 0;
|
||||
lvi.pszText = buffer;
|
||||
lvi.cchTextMax = sizeof(buffer);
|
||||
m_StatsListCtrl.GetItem(&lvi);
|
||||
name = buffer;
|
||||
}
|
||||
pos = m_SourceListCtrl.GetFirstSelectedItemPosition();
|
||||
if (pos != NULL) {
|
||||
int nItem = m_SourceListCtrl.GetNextSelectedItem(pos);
|
||||
LVITEM lvi;
|
||||
|
||||
lvi.mask = LVIF_TEXT;
|
||||
lvi.iItem = nItem;
|
||||
lvi.iSubItem = 0;
|
||||
lvi.pszText = buffer2;
|
||||
lvi.cchTextMax = sizeof(buffer2);
|
||||
m_SourceListCtrl.GetItem(&lvi);
|
||||
source = buffer2;
|
||||
}
|
||||
AddToAdditionalGlobalStats(source, name);
|
||||
break;
|
||||
default :
|
||||
break;
|
||||
}
|
||||
|
||||
*pResult = 0;
|
||||
}
|
||||
|
||||
void CStatsTab::OnClickSourcelist(NMHDR* pNMHDR, LRESULT* pResult)
|
||||
{
|
||||
// TODO: Add your control notification handler code here
|
||||
OnDblclkSourcelist(pNMHDR, pResult);
|
||||
*pResult = 0;
|
||||
}
|
@ -1,55 +0,0 @@
|
||||
#if !defined(AFX_STATSTAB_H__64B82CAB_8D6D_45A6_84FD_666F6317E5F2__INCLUDED_)
|
||||
#define AFX_STATSTAB_H__64B82CAB_8D6D_45A6_84FD_666F6317E5F2__INCLUDED_
|
||||
|
||||
#if _MSC_VER > 1000
|
||||
#pragma once
|
||||
#endif // _MSC_VER > 1000
|
||||
// StatsTab.h : header file
|
||||
//
|
||||
#include "TabPageSSL.h"
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
// CStatsTab dialog
|
||||
|
||||
class CStatsTab : public CTabPageSSL
|
||||
{
|
||||
// Construction
|
||||
public:
|
||||
int m_colStats1Width;
|
||||
int m_colStats0Width;
|
||||
int m_colSource0Width;
|
||||
CStatsTab(CWnd* pParent = NULL); // standard constructor
|
||||
|
||||
// Dialog Data
|
||||
//{{AFX_DATA(CStatsTab)
|
||||
enum { IDD = IDD_STATSDIALOG };
|
||||
CStatic m_SLS;
|
||||
CListCtrl m_StatsListCtrl;
|
||||
CListCtrl m_SourceListCtrl;
|
||||
//}}AFX_DATA
|
||||
|
||||
|
||||
// Overrides
|
||||
// ClassWizard generated virtual function overrides
|
||||
//{{AFX_VIRTUAL(CStatsTab)
|
||||
protected:
|
||||
virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV support
|
||||
//}}AFX_VIRTUAL
|
||||
|
||||
// Implementation
|
||||
protected:
|
||||
|
||||
// Generated message map functions
|
||||
//{{AFX_MSG(CStatsTab)
|
||||
virtual BOOL OnInitDialog();
|
||||
afx_msg void OnDblclkSourcelist(NMHDR* pNMHDR, LRESULT* pResult);
|
||||
afx_msg void OnRclickStatslist(NMHDR* pNMHDR, LRESULT* pResult);
|
||||
afx_msg void OnClickSourcelist(NMHDR* pNMHDR, LRESULT* pResult);
|
||||
//}}AFX_MSG
|
||||
DECLARE_MESSAGE_MAP()
|
||||
};
|
||||
|
||||
//{{AFX_INSERT_LOCATION}}
|
||||
// Microsoft Visual C++ will insert additional declarations immediately before the previous line.
|
||||
|
||||
#endif // !defined(AFX_STATSTAB_H__64B82CAB_8D6D_45A6_84FD_666F6317E5F2__INCLUDED_)
|
160
win32/Status.cpp
160
win32/Status.cpp
@ -1,160 +0,0 @@
|
||||
// Status.cpp : implementation file
|
||||
//
|
||||
|
||||
#include "stdafx.h"
|
||||
#include "Icecast2win.h"
|
||||
#include "Status.h"
|
||||
|
||||
#include "Icecast2winDlg.h"
|
||||
|
||||
extern CIcecast2winDlg *g_mainDialog;
|
||||
|
||||
#ifdef _DEBUG
|
||||
#define new DEBUG_NEW
|
||||
#undef THIS_FILE
|
||||
static char THIS_FILE[] = __FILE__;
|
||||
#endif
|
||||
|
||||
extern void RemoveFromAdditionalGlobalStats(CString source, CString name);
|
||||
extern void AddToTitleAdditionalGlobalStats(CString source, CString name);
|
||||
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
// CStatus dialog
|
||||
|
||||
|
||||
CStatus::CStatus(CWnd* pParent /*=NULL*/)
|
||||
: CTabPageSSL(CStatus::IDD, pParent)
|
||||
{
|
||||
//{{AFX_DATA_INIT(CStatus)
|
||||
m_Clients = _T("");
|
||||
m_Sources = _T("");
|
||||
m_RunningFor = _T("");
|
||||
//}}AFX_DATA_INIT
|
||||
}
|
||||
|
||||
|
||||
void CStatus::DoDataExchange(CDataExchange* pDX)
|
||||
{
|
||||
CTabPageSSL::DoDataExchange(pDX);
|
||||
//{{AFX_DATA_MAP(CStatus)
|
||||
DDX_Control(pDX, IDC_STATIC_GS, m_GS);
|
||||
DDX_Control(pDX, IDC_GLOBALSTAT_LIST, m_GlobalStatList);
|
||||
DDX_Text(pDX, IDC_RUNNINGFOR, m_RunningFor);
|
||||
//}}AFX_DATA_MAP
|
||||
}
|
||||
|
||||
|
||||
BEGIN_MESSAGE_MAP(CStatus, CTabPageSSL)
|
||||
//{{AFX_MSG_MAP(CStatus)
|
||||
ON_NOTIFY(NM_RCLICK, IDC_GLOBALSTAT_LIST, OnRclickGlobalstatList)
|
||||
//}}AFX_MSG_MAP
|
||||
END_MESSAGE_MAP()
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
// CStatus message handlers
|
||||
|
||||
BOOL CStatus::OnInitDialog()
|
||||
{
|
||||
CTabPageSSL::OnInitDialog();
|
||||
|
||||
|
||||
m_GlobalStatList.InsertColumn(0, _T("Stat Type"), LVCFMT_LEFT, m_colStats0Width);
|
||||
m_GlobalStatList.InsertColumn(1, _T("Name"), LVCFMT_LEFT, m_colStats1Width);
|
||||
m_GlobalStatList.InsertColumn(2, _T("Value"), LVCFMT_LEFT, m_colStats2Width);
|
||||
|
||||
m_GlobalStatList.SetExtendedStyle(LVS_EX_FULLROWSELECT);
|
||||
// TODO: Add extra initialization here
|
||||
// AddAnchor(IDC_FILLER2, BOTTOM_LEFT, BOTTOM_RIGHT);
|
||||
// AddAnchor(IDC_GLOBALSTAT_LIST, TOP_LEFT, BOTTOM_RIGHT);
|
||||
// AddAnchor(IDC_STATIC_RUN, BOTTOM_LEFT, BOTTOM_RIGHT);
|
||||
// AddAnchor(IDC_RUNNINGFOR, BOTTOM_LEFT, BOTTOM_RIGHT);
|
||||
|
||||
m_GS.SetFont(&(g_mainDialog->labelFont), TRUE);
|
||||
|
||||
return TRUE; // return TRUE unless you set the focus to a control
|
||||
// EXCEPTION: OCX Property Pages should return FALSE
|
||||
}
|
||||
|
||||
void CStatus::OnRclickGlobalstatList(NMHDR* pNMHDR, LRESULT* pResult)
|
||||
{
|
||||
// TODO: Add your control notification handler code here
|
||||
CMenu menu;
|
||||
|
||||
|
||||
CPoint point;
|
||||
::GetCursorPos(&point); //where is the mouse?
|
||||
|
||||
DWORD dwSelectionMade;
|
||||
menu.LoadMenu(IDR_MENU3);
|
||||
CMenu *pmenuPopup = menu.GetSubMenu(0);
|
||||
dwSelectionMade = pmenuPopup->TrackPopupMenu( (TPM_LEFTALIGN|TPM_LEFTBUTTON|
|
||||
TPM_NONOTIFY|TPM_RETURNCMD),
|
||||
point.x, point.y, this);
|
||||
|
||||
pmenuPopup->DestroyMenu();
|
||||
char msg[255] ="";
|
||||
char buffer[1024] = "";
|
||||
char buffer2[1024] = "";
|
||||
|
||||
CString name;
|
||||
CString source;
|
||||
POSITION pos;
|
||||
int nItem;
|
||||
switch (dwSelectionMade) {
|
||||
case ID__DELETEFROMGLOBALSTATS :
|
||||
pos = m_GlobalStatList.GetFirstSelectedItemPosition();
|
||||
if (pos != NULL) {
|
||||
nItem = m_GlobalStatList.GetNextSelectedItem(pos);
|
||||
LVITEM lvi;
|
||||
|
||||
lvi.mask = LVIF_TEXT;
|
||||
lvi.iItem = nItem;
|
||||
lvi.iSubItem = 0;
|
||||
lvi.pszText = buffer;
|
||||
lvi.cchTextMax = sizeof(buffer);
|
||||
m_GlobalStatList.GetItem(&lvi);
|
||||
source = buffer;
|
||||
lvi.iSubItem = 1;
|
||||
lvi.pszText = buffer2;
|
||||
lvi.cchTextMax = sizeof(buffer2);
|
||||
m_GlobalStatList.GetItem(&lvi);
|
||||
name = buffer2;
|
||||
|
||||
if (source == "Global Stat") {
|
||||
MessageBox("Sorry, but you can't delete this type of stat", NULL, MB_OK);
|
||||
}
|
||||
else {
|
||||
RemoveFromAdditionalGlobalStats(source, name);
|
||||
m_GlobalStatList.DeleteItem(nItem);
|
||||
}
|
||||
}
|
||||
break;
|
||||
case ID__MAKETHISSTATTHEWINDOWTITLE :
|
||||
pos = m_GlobalStatList.GetFirstSelectedItemPosition();
|
||||
if (pos != NULL) {
|
||||
nItem = m_GlobalStatList.GetNextSelectedItem(pos);
|
||||
LVITEM lvi;
|
||||
|
||||
lvi.mask = LVIF_TEXT;
|
||||
lvi.iItem = nItem;
|
||||
lvi.iSubItem = 0;
|
||||
lvi.pszText = buffer;
|
||||
lvi.cchTextMax = sizeof(buffer);
|
||||
m_GlobalStatList.GetItem(&lvi);
|
||||
source = buffer;
|
||||
lvi.iSubItem = 1;
|
||||
lvi.pszText = buffer2;
|
||||
lvi.cchTextMax = sizeof(buffer2);
|
||||
m_GlobalStatList.GetItem(&lvi);
|
||||
name = buffer2;
|
||||
|
||||
AddToTitleAdditionalGlobalStats(source, name);
|
||||
}
|
||||
break;
|
||||
default :
|
||||
break;
|
||||
}
|
||||
|
||||
*pResult = 0;
|
||||
}
|
@ -1,59 +0,0 @@
|
||||
#if !defined(AFX_STATUS_H__DE59E22B_FD4F_4131_B347_48BD9FAC9348__INCLUDED_)
|
||||
#define AFX_STATUS_H__DE59E22B_FD4F_4131_B347_48BD9FAC9348__INCLUDED_
|
||||
|
||||
#if _MSC_VER > 1000
|
||||
#pragma once
|
||||
#endif // _MSC_VER > 1000
|
||||
// Status.h : header file
|
||||
//
|
||||
#include "TabPageSSL.h"
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
// CStatus dialog
|
||||
|
||||
class CStatus : public CTabPageSSL
|
||||
{
|
||||
// Construction
|
||||
public:
|
||||
int m_colStats2Width;
|
||||
int m_colStats1Width;
|
||||
int m_colStats0Width;
|
||||
CFont labelFont;
|
||||
CStatus(CWnd* pParent = NULL); // standard constructor
|
||||
|
||||
// Dialog Data
|
||||
CBitmap runningBitmap;
|
||||
CBitmap stoppedBitmap;
|
||||
|
||||
//{{AFX_DATA(CStatus)
|
||||
enum { IDD = IDD_SSTATUS };
|
||||
CStatic m_GS;
|
||||
CListCtrl m_GlobalStatList;
|
||||
CString m_Clients;
|
||||
CString m_Sources;
|
||||
CString m_RunningFor;
|
||||
//}}AFX_DATA
|
||||
|
||||
|
||||
// Overrides
|
||||
// ClassWizard generated virtual function overrides
|
||||
//{{AFX_VIRTUAL(CStatus)
|
||||
protected:
|
||||
virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV support
|
||||
//}}AFX_VIRTUAL
|
||||
|
||||
// Implementation
|
||||
protected:
|
||||
|
||||
// Generated message map functions
|
||||
//{{AFX_MSG(CStatus)
|
||||
virtual BOOL OnInitDialog();
|
||||
afx_msg void OnRclickGlobalstatList(NMHDR* pNMHDR, LRESULT* pResult);
|
||||
//}}AFX_MSG
|
||||
DECLARE_MESSAGE_MAP()
|
||||
};
|
||||
|
||||
//{{AFX_INSERT_LOCATION}}
|
||||
// Microsoft Visual C++ will insert additional declarations immediately before the previous line.
|
||||
|
||||
#endif // !defined(AFX_STATUS_H__DE59E22B_FD4F_4131_B347_48BD9FAC9348__INCLUDED_)
|
@ -1,8 +0,0 @@
|
||||
// stdafx.cpp : source file that includes just the standard includes
|
||||
// Icecast2win.pch will be the pre-compiled header
|
||||
// stdafx.obj will contain the pre-compiled type information
|
||||
|
||||
#include "stdafx.h"
|
||||
|
||||
|
||||
|
@ -1,27 +0,0 @@
|
||||
// stdafx.h : include file for standard system include files,
|
||||
// or project specific include files that are used frequently, but
|
||||
// are changed infrequently
|
||||
//
|
||||
|
||||
#if !defined(AFX_STDAFX_H__2C2EF8C3_43CD_47D2_A979_EC36873E602D__INCLUDED_)
|
||||
#define AFX_STDAFX_H__2C2EF8C3_43CD_47D2_A979_EC36873E602D__INCLUDED_
|
||||
|
||||
#if _MSC_VER > 1000
|
||||
#pragma once
|
||||
#endif // _MSC_VER > 1000
|
||||
|
||||
#define VC_EXTRALEAN // Exclude rarely-used stuff from Windows headers
|
||||
|
||||
#include <afxwin.h> // MFC core and standard components
|
||||
#include <afxext.h> // MFC extensions
|
||||
#include <afxdisp.h> // MFC Automation classes
|
||||
#include <afxdtctl.h> // MFC support for Internet Explorer 4 Common Controls
|
||||
#ifndef _AFX_NO_AFXCMN_SUPPORT
|
||||
#include <afxcmn.h> // MFC support for Windows Common Controls
|
||||
#endif // _AFX_NO_AFXCMN_SUPPORT
|
||||
|
||||
#define WM_TRAY_NOTIFY WM_APP+1000
|
||||
//{{AFX_INSERT_LOCATION}}
|
||||
// Microsoft Visual C++ will insert additional declarations immediately before the previous line.
|
||||
|
||||
#endif // !defined(AFX_STDAFX_H__2C2EF8C3_43CD_47D2_A979_EC36873E602D__INCLUDED_)
|
@ -1,35 +0,0 @@
|
||||
// CTrayNot window
|
||||
#ifndef _CTRAYNOT
|
||||
#define _CTRAYNOT
|
||||
|
||||
class CTrayNot : public CObject
|
||||
{
|
||||
// Construction
|
||||
public:
|
||||
CTrayNot ( CWnd* pWnd, UINT uCallbackMessage,
|
||||
LPCTSTR szTip, HICON* pList ) ;
|
||||
|
||||
// Attributes
|
||||
public:
|
||||
BOOL m_bEnabled ;
|
||||
NOTIFYICONDATA m_tnd ;
|
||||
HICON* m_pIconList ;
|
||||
|
||||
|
||||
public:
|
||||
void SetState ( int id = 0 ) ;
|
||||
|
||||
// Overrides
|
||||
// ClassWizard generated virtual function overrides
|
||||
//{{AFX_VIRTUAL(CTrayNot)
|
||||
//}}AFX_VIRTUAL
|
||||
|
||||
// Implementation
|
||||
public:
|
||||
virtual ~CTrayNot();
|
||||
void SetTIP(char *pTip);
|
||||
|
||||
};
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
#endif
|
@ -1,499 +0,0 @@
|
||||
// TabCtrlSSL.cpp : implementation file
|
||||
//
|
||||
|
||||
#include "stdafx.h"
|
||||
#include "TabCtrlSSL.h"
|
||||
|
||||
#ifdef _DEBUG
|
||||
#define new DEBUG_NEW
|
||||
#undef THIS_FILE
|
||||
static char THIS_FILE[] = __FILE__;
|
||||
#endif
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
// Construction
|
||||
|
||||
CTabCtrlSSL::CTabCtrlSSL () {
|
||||
#ifndef _AFX_NO_OCC_SUPPORT
|
||||
AfxEnableControlContainer ();
|
||||
#endif // !_AFX_NO_OCC_SUPPORT
|
||||
}
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
// Destruction
|
||||
|
||||
CTabCtrlSSL::~CTabCtrlSSL (void) {
|
||||
}
|
||||
|
||||
BEGIN_MESSAGE_MAP(CTabCtrlSSL, CTabCtrl)
|
||||
//{{AFX_MSG_MAP(CTabCtrlSSL)
|
||||
ON_WM_DESTROY ()
|
||||
ON_WM_SETFOCUS ()
|
||||
ON_WM_KILLFOCUS ()
|
||||
ON_NOTIFY_REFLECT (TCN_SELCHANGING, OnSelChanging)
|
||||
ON_NOTIFY_REFLECT (TCN_SELCHANGE, OnSelChange)
|
||||
//}}AFX_MSG_MAP
|
||||
END_MESSAGE_MAP()
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
// Page Functions
|
||||
|
||||
int CTabCtrlSSL::AddSSLPage (LPCTSTR pszTitle, int nPageID, CTabPageSSL* pTabPage) {
|
||||
// Add a page to the tab control.
|
||||
TabDelete tabDelete;
|
||||
tabDelete.pTabPage = pTabPage;
|
||||
tabDelete.bDelete = FALSE;
|
||||
|
||||
return AddPage (pszTitle, nPageID, tabDelete);
|
||||
}
|
||||
|
||||
int CTabCtrlSSL::AddSSLPage (LPCTSTR pszTitle, int nPageID, LPCTSTR pszTemplateName) {
|
||||
// Verify that the dialog template is compatible with CTabCtrlSSL
|
||||
// (debug builds only). If your app asserts here, make sure the dialog
|
||||
// resource you're adding to the view is a borderless child window and
|
||||
// is not marked visible.
|
||||
#ifdef _DEBUG
|
||||
if (pszTemplateName != NULL) {
|
||||
BOOL bResult = CheckDialogTemplate (pszTemplateName);
|
||||
ASSERT (bResult);
|
||||
}
|
||||
#endif // _DEBUG
|
||||
|
||||
// Add a page to the tab control.
|
||||
// Create a modeless dialog box.
|
||||
CTabPageSSL* pDialog = new CTabPageSSL;
|
||||
|
||||
if (pDialog == NULL) {
|
||||
return -1;
|
||||
}
|
||||
|
||||
if (!pDialog->Create (pszTemplateName, this)) {
|
||||
pDialog->DestroyWindow ();
|
||||
delete pDialog;
|
||||
return -1;
|
||||
}
|
||||
|
||||
TabDelete tabDelete;
|
||||
tabDelete.pTabPage = pDialog;
|
||||
tabDelete.bDelete = TRUE;
|
||||
|
||||
return AddPage (pszTitle, nPageID, tabDelete);
|
||||
}
|
||||
|
||||
int CTabCtrlSSL::AddSSLPage (LPCTSTR pszTitle, int nPageID, int nTemplateID) {
|
||||
return AddSSLPage (pszTitle, nPageID, MAKEINTRESOURCE (nTemplateID));
|
||||
}
|
||||
|
||||
BOOL CTabCtrlSSL::RemoveSSLPage (int nIndex) {
|
||||
if (nIndex >= GetItemCount ())
|
||||
return FALSE;
|
||||
|
||||
// Notify derived classes that the page is being destroyed.
|
||||
OnDestroyPage (nIndex, m_nPageIDs[nIndex]);
|
||||
|
||||
// Switch pages if the page being deleted is the current page and it's
|
||||
// not the only remaining page.
|
||||
int nCount = GetItemCount ();
|
||||
if (nCount > 1 && nIndex == GetCurSel ()) {
|
||||
int nPage = nIndex + 1;
|
||||
if (nPage >= nCount)
|
||||
nPage = nCount - 2;
|
||||
ActivateSSLPage (nPage);
|
||||
}
|
||||
|
||||
// Remove the page from the tab control.
|
||||
DeleteItem (nIndex);
|
||||
|
||||
// Destroy the dialog (if any) that represents the page.
|
||||
TabDelete tabDelete = m_tabs[nIndex];
|
||||
CTabPageSSL* pDialog = tabDelete.pTabPage;
|
||||
if (pDialog != NULL) {
|
||||
pDialog->DestroyWindow ();
|
||||
delete pDialog;
|
||||
}
|
||||
|
||||
// Clean up, repaint, and return.
|
||||
m_tabs.RemoveAt (nIndex);
|
||||
m_hFocusWnd.RemoveAt (nIndex);
|
||||
m_nPageIDs.RemoveAt (nIndex);
|
||||
Invalidate ();
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
int CTabCtrlSSL::GetSSLPageCount (void) {
|
||||
return GetItemCount ();
|
||||
}
|
||||
|
||||
BOOL CTabCtrlSSL::GetSSLPageTitle (int nIndex, CString &strTitle) {
|
||||
if (nIndex >= GetItemCount ())
|
||||
return FALSE;
|
||||
|
||||
TCHAR szTitle[1024];
|
||||
|
||||
TC_ITEM item;
|
||||
item.mask = TCIF_TEXT;
|
||||
item.pszText = szTitle;
|
||||
item.cchTextMax = sizeof szTitle / sizeof (TCHAR);
|
||||
|
||||
if (!GetItem (nIndex, &item))
|
||||
return FALSE;
|
||||
|
||||
strTitle = item.pszText;
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
BOOL CTabCtrlSSL::SetSSLPageTitle (int nIndex, LPCTSTR pszTitle) {
|
||||
if (nIndex >= GetItemCount ())
|
||||
return FALSE;
|
||||
|
||||
TC_ITEM item;
|
||||
item.mask = TCIF_TEXT;
|
||||
item.pszText = (LPTSTR) pszTitle;
|
||||
|
||||
BOOL bResult = SetItem (nIndex, &item);
|
||||
if (bResult)
|
||||
Invalidate ();
|
||||
return bResult;
|
||||
}
|
||||
|
||||
int CTabCtrlSSL::GetSSLPageID (int nIndex) {
|
||||
if (nIndex >= GetItemCount ())
|
||||
return -1;
|
||||
|
||||
return m_nPageIDs[nIndex];
|
||||
}
|
||||
|
||||
int CTabCtrlSSL::SetSSLPageID (int nIndex, int nPageID) {
|
||||
if (nIndex >= GetItemCount ())
|
||||
return -1;
|
||||
|
||||
int nOldPageID = m_nPageIDs[nIndex];
|
||||
m_nPageIDs[nIndex] = nPageID;
|
||||
return nOldPageID;
|
||||
}
|
||||
|
||||
BOOL CTabCtrlSSL::ActivateSSLPage (int nIndex) {
|
||||
if (nIndex >= GetItemCount ())
|
||||
return FALSE;
|
||||
|
||||
// Do nothing if the specified page is already active.
|
||||
if (nIndex == GetCurSel ())
|
||||
return TRUE;
|
||||
|
||||
// Deactivate the current page.
|
||||
int nOldIndex = GetCurSel ();
|
||||
|
||||
if (nIndex != -1) {
|
||||
TabDelete tabDelete = m_tabs[nOldIndex];
|
||||
CTabPageSSL* pDialog = tabDelete.pTabPage;
|
||||
if (pDialog != NULL) {
|
||||
m_hFocusWnd[nOldIndex] = ::GetFocus ();
|
||||
pDialog->ShowWindow (SW_HIDE);
|
||||
}
|
||||
}
|
||||
|
||||
// Activate the new one.
|
||||
SetCurSel (nIndex);
|
||||
TabDelete tabDelete = m_tabs[nIndex];
|
||||
CTabPageSSL* pDialog = tabDelete.pTabPage;
|
||||
|
||||
if (pDialog != NULL) {
|
||||
::SetFocus (m_hFocusWnd[nIndex]);
|
||||
CRect rect;
|
||||
GetClientRect (&rect);
|
||||
ResizeDialog (nIndex, rect.Width (), rect.Height ());
|
||||
pDialog->ShowWindow (SW_SHOW);
|
||||
}
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
int CTabCtrlSSL::GetSSLActivePage (void) {
|
||||
return GetCurSel ();
|
||||
}
|
||||
|
||||
CWnd* CTabCtrlSSL::GetSSLPage (int nIndex) {
|
||||
if (nIndex >= GetItemCount ())
|
||||
return NULL;
|
||||
|
||||
TabDelete tabDelete = m_tabs[nIndex];
|
||||
return (CWnd*) tabDelete.pTabPage;
|
||||
}
|
||||
|
||||
int CTabCtrlSSL::GetSSLPageIndex (int nPageID) {
|
||||
int nCount = GetItemCount ();
|
||||
if (nCount == 0)
|
||||
return -1;
|
||||
|
||||
for (int i=0; i<nCount; i++) {
|
||||
if (m_nPageIDs[i] == nPageID)
|
||||
return i;
|
||||
}
|
||||
|
||||
return -1;
|
||||
}
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
// Private helper functions
|
||||
|
||||
#ifdef _DEBUG
|
||||
BOOL CTabCtrlSSL::CheckDialogTemplate (LPCTSTR pszTemplateName) {
|
||||
// Verify that the dialog resource exists.
|
||||
ASSERT (pszTemplateName != NULL);
|
||||
HINSTANCE hInstance = AfxFindResourceHandle (pszTemplateName, RT_DIALOG);
|
||||
HRSRC hResource = ::FindResource (hInstance, pszTemplateName, RT_DIALOG);
|
||||
|
||||
if (hResource == NULL)
|
||||
return FALSE; // Resource doesn't exist
|
||||
|
||||
HGLOBAL hTemplate = LoadResource (hInstance, hResource);
|
||||
ASSERT (hTemplate != NULL);
|
||||
|
||||
// Get the dialog's style bits.
|
||||
DLGTEMPLATEEX* pTemplate = (DLGTEMPLATEEX*) LockResource (hTemplate);
|
||||
|
||||
DWORD dwStyle;
|
||||
if (pTemplate->signature == 0xFFFF)
|
||||
dwStyle = pTemplate->style;
|
||||
else
|
||||
dwStyle = ((DLGTEMPLATE*) pTemplate)->style;
|
||||
|
||||
UnlockResource (hTemplate);
|
||||
FreeResource (hTemplate);
|
||||
|
||||
// Verify that the dialog is an invisible child window.
|
||||
if (dwStyle & WS_VISIBLE)
|
||||
return FALSE; // WS_VISIBLE flag is set
|
||||
|
||||
if (!(dwStyle & WS_CHILD))
|
||||
return FALSE; // WS_CHILD flag isn't set
|
||||
|
||||
// Verify that the dialog has no border and no title bar.
|
||||
if (dwStyle & (WS_BORDER | WS_THICKFRAME | DS_MODALFRAME))
|
||||
return FALSE; // One or more border flags are set
|
||||
|
||||
if (dwStyle & WS_CAPTION)
|
||||
return FALSE; // WS_CAPTION flag is set
|
||||
|
||||
return TRUE;
|
||||
}
|
||||
#endif // _DEBUG
|
||||
|
||||
void CTabCtrlSSL::ResizeDialog (int nIndex, int cx, int cy) {
|
||||
if (nIndex != -1) {
|
||||
TabDelete tabDelete = m_tabs[nIndex];
|
||||
CTabPageSSL* pDialog = tabDelete.pTabPage;
|
||||
|
||||
if (pDialog != NULL) {
|
||||
CRect rect;
|
||||
GetItemRect (nIndex, &rect);
|
||||
|
||||
int x, y, nWidth, nHeight;
|
||||
DWORD dwStyle = GetStyle ();
|
||||
|
||||
if (dwStyle & TCS_VERTICAL) { // Vertical tabs
|
||||
int nTabWidth =
|
||||
rect.Width () * GetRowCount ();
|
||||
x = (dwStyle & TCS_RIGHT) ? 4 : nTabWidth + 4;
|
||||
y = 4;
|
||||
nWidth = cx - nTabWidth - 8;
|
||||
nHeight = cy - 8;
|
||||
}
|
||||
else { // Horizontal tabs
|
||||
int nTabHeight =
|
||||
rect.Height () * GetRowCount ();
|
||||
x = 4;
|
||||
y = (dwStyle & TCS_BOTTOM) ? 4 : nTabHeight + 4;
|
||||
nWidth = cx - 8;
|
||||
nHeight = cy - nTabHeight - 8;
|
||||
|
||||
|
||||
|
||||
}
|
||||
pDialog->SetWindowPos (NULL, x, y, nWidth, nHeight, SWP_NOZORDER);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
// Overridables
|
||||
|
||||
BOOL CTabCtrlSSL::OnInitPage (int nIndex, int nPageID) {
|
||||
// TODO: Override in derived class to initialise pages.
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
void CTabCtrlSSL::OnActivatePage (int nIndex, int nPageID) {
|
||||
// TODO: Override in derived class to respond to page activations.
|
||||
}
|
||||
|
||||
void CTabCtrlSSL::OnDeactivatePage (int nIndex, int nPageID) {
|
||||
// TODO: Override in derived class to respond to page deactivations.
|
||||
}
|
||||
|
||||
void CTabCtrlSSL::OnDestroyPage (int nIndex, int nPageID) {
|
||||
// TODO: Override in derived class to free resources.
|
||||
}
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
// Message handlers
|
||||
|
||||
void CTabCtrlSSL::OnSelChanging (NMHDR* pNMHDR, LRESULT* pResult) {
|
||||
// Notify derived classes that the selection is changing.
|
||||
int nIndex = GetCurSel ();
|
||||
if (nIndex == -1)
|
||||
return;
|
||||
|
||||
OnDeactivatePage (nIndex, m_nPageIDs[nIndex]);
|
||||
|
||||
// Save the input focus and hide the old page.
|
||||
TabDelete tabDelete = m_tabs[nIndex];
|
||||
CTabPageSSL* pDialog = tabDelete.pTabPage;
|
||||
|
||||
if (pDialog != NULL) {
|
||||
m_hFocusWnd[nIndex] = ::GetFocus ();
|
||||
pDialog->ShowWindow (SW_HIDE);
|
||||
}
|
||||
*pResult = 0;
|
||||
}
|
||||
|
||||
void CTabCtrlSSL::OnSelChange (NMHDR* pNMHDR, LRESULT* pResult) {
|
||||
int nIndex = GetCurSel ();
|
||||
if (nIndex == -1)
|
||||
return;
|
||||
|
||||
// Show the new page.
|
||||
TabDelete tabDelete = m_tabs[nIndex];
|
||||
CTabPageSSL* pDialog = tabDelete.pTabPage;
|
||||
|
||||
if (pDialog != NULL) {
|
||||
::SetFocus (m_hFocusWnd[nIndex]);
|
||||
CRect rect;
|
||||
GetClientRect (&rect);
|
||||
ResizeDialog (nIndex, rect.Width (), rect.Height ());
|
||||
pDialog->ShowWindow (SW_SHOW);
|
||||
}
|
||||
|
||||
// Notify derived classes that the selection has changed.
|
||||
OnActivatePage (nIndex, m_nPageIDs[nIndex]);
|
||||
*pResult = 0;
|
||||
}
|
||||
|
||||
void CTabCtrlSSL::OnSetFocus (CWnd* pOldWnd) {
|
||||
CTabCtrl::OnSetFocus (pOldWnd);
|
||||
|
||||
// Set the focus to a control on the current page.
|
||||
int nIndex = GetCurSel ();
|
||||
if (nIndex != -1)
|
||||
::SetFocus (m_hFocusWnd[nIndex]);
|
||||
}
|
||||
|
||||
void CTabCtrlSSL::OnKillFocus (CWnd* pNewWnd) {
|
||||
CTabCtrl::OnKillFocus (pNewWnd);
|
||||
|
||||
// Save the HWND of the control that holds the input focus.
|
||||
int nIndex = GetCurSel ();
|
||||
if (nIndex != -1)
|
||||
m_hFocusWnd[nIndex] = ::GetFocus ();
|
||||
}
|
||||
|
||||
// My thanks to Tomasz Sowinski for all his help coming up with a workable
|
||||
// solution to the stack versus heap object destruction
|
||||
void CTabCtrlSSL::OnDestroy (void) {
|
||||
int nCount = m_tabs.GetSize ();
|
||||
|
||||
// Destroy dialogs and delete CTabCtrlSSL objects.
|
||||
if (nCount > 0) {
|
||||
for (int i=nCount - 1; i>=0; i--) {
|
||||
OnDestroyPage (i, m_nPageIDs[i]);
|
||||
TabDelete tabDelete = m_tabs[i];
|
||||
CTabPageSSL* pDialog = tabDelete.pTabPage;
|
||||
if (pDialog != NULL) {
|
||||
pDialog->DestroyWindow ();
|
||||
if (TRUE == tabDelete.bDelete) {
|
||||
delete pDialog;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Clean up the internal arrays.
|
||||
m_tabs.RemoveAll ();
|
||||
m_hFocusWnd.RemoveAll ();
|
||||
m_nPageIDs.RemoveAll ();
|
||||
|
||||
CTabCtrl::OnDestroy ();
|
||||
}
|
||||
|
||||
BOOL CTabCtrlSSL::OnCommand (WPARAM wParam, LPARAM lParam) {
|
||||
// Forward WM_COMMAND messages to the dialog's parent.
|
||||
return GetParent ()->SendMessage (WM_COMMAND, wParam, lParam);
|
||||
}
|
||||
|
||||
BOOL CTabCtrlSSL::OnNotify (WPARAM wParam, LPARAM lParam, LRESULT* pResult) {
|
||||
// Forward WM_NOTIFY messages to the dialog's parent.
|
||||
return GetParent ()->SendMessage (WM_NOTIFY, wParam, lParam);
|
||||
}
|
||||
|
||||
BOOL CTabCtrlSSL::OnCmdMsg (UINT nID, int nCode, void* pExtra,
|
||||
AFX_CMDHANDLERINFO* pHandlerInfo) {
|
||||
// Forward ActiveX control events to the dialog's parent.
|
||||
#ifndef _AFX_NO_OCC_SUPPORT
|
||||
if (nCode == CN_EVENT)
|
||||
return GetParent ()->OnCmdMsg (nID, nCode, pExtra, pHandlerInfo);
|
||||
#endif // !_AFX_NO_OCC_SUPPORT
|
||||
|
||||
return CTabCtrl::OnCmdMsg (nID, nCode, pExtra, pHandlerInfo);
|
||||
}
|
||||
|
||||
int CTabCtrlSSL::AddPage (LPCTSTR pszTitle, int nPageID, TabDelete tabDelete) {
|
||||
// Add a page to the tab control.
|
||||
TC_ITEM item;
|
||||
item.mask = TCIF_TEXT;
|
||||
item.pszText = (LPTSTR) pszTitle;
|
||||
int nIndex = GetItemCount ();
|
||||
|
||||
if (InsertItem (nIndex, &item) == -1)
|
||||
return -1;
|
||||
|
||||
if (NULL == tabDelete.pTabPage) {
|
||||
// Fail - no point calling the function with a NULL pointer!
|
||||
DeleteItem (nIndex);
|
||||
return -1;
|
||||
}
|
||||
else {
|
||||
// Record the address of the dialog object and the page ID.
|
||||
int nArrayIndex = m_tabs.Add (tabDelete);
|
||||
ASSERT (nIndex == nArrayIndex);
|
||||
|
||||
nArrayIndex = m_nPageIDs.Add (nPageID);
|
||||
ASSERT (nIndex == nArrayIndex);
|
||||
|
||||
// Size and position the dialog box within the view.
|
||||
tabDelete.pTabPage->SetParent (this); // Just to be sure
|
||||
|
||||
CRect rect;
|
||||
GetClientRect (&rect);
|
||||
|
||||
if (rect.Width () > 0 && rect.Height () > 0)
|
||||
ResizeDialog (nIndex, rect.Width (), rect.Height ());
|
||||
|
||||
// Initialize the page.
|
||||
if (OnInitPage (nIndex, nPageID)) {
|
||||
// Make sure the first control in the dialog is the one that
|
||||
// receives the input focus when the page is displayed.
|
||||
HWND hwndFocus = tabDelete.pTabPage->GetTopWindow ()->m_hWnd;
|
||||
nArrayIndex = m_hFocusWnd.Add (hwndFocus);
|
||||
ASSERT (nIndex == nArrayIndex);
|
||||
}
|
||||
else {
|
||||
// Make the control that currently has the input focus is the one
|
||||
// that receives the input focus when the page is displayed.
|
||||
m_hFocusWnd.Add (::GetFocus ());
|
||||
}
|
||||
|
||||
// If this is the first page added to the view, make it visible.
|
||||
if (nIndex == 0)
|
||||
tabDelete.pTabPage->ShowWindow (SW_SHOW);
|
||||
}
|
||||
return nIndex;
|
||||
}
|
@ -1,98 +0,0 @@
|
||||
#if !defined(AFX_TABCTRLSSL_H__75BE48A7_864C_11D5_9F04_000102FB9990__INCLUDED_)
|
||||
#define AFX_TABCTRLSSL_H__75BE48A7_864C_11D5_9F04_000102FB9990__INCLUDED_
|
||||
|
||||
#if _MSC_VER > 1000
|
||||
#pragma once
|
||||
#endif // _MSC_VER > 1000
|
||||
// TabCtrlEx.h : header file
|
||||
//
|
||||
|
||||
#include <afxtempl.h>
|
||||
#include "TabPageSSL.h"
|
||||
|
||||
#ifdef _DEBUG
|
||||
#pragma pack (push, 1)
|
||||
|
||||
typedef struct {
|
||||
WORD dlgVer;
|
||||
WORD signature;
|
||||
DWORD helpID;
|
||||
DWORD exStyle;
|
||||
DWORD style;
|
||||
WORD cDlgItems;
|
||||
short x;
|
||||
short y;
|
||||
short cx;
|
||||
short cy;
|
||||
} DLGTEMPLATEEX;
|
||||
|
||||
#pragma pack (pop)
|
||||
#endif // _DEBUG
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
// CTabCtrlSSL window
|
||||
|
||||
class CTabCtrlSSL : public CTabCtrl {
|
||||
public:
|
||||
// Construction
|
||||
CTabCtrlSSL ();
|
||||
// Destruction
|
||||
virtual ~CTabCtrlSSL (void);
|
||||
// Page Functions
|
||||
int AddSSLPage (LPCTSTR pszTitle, int nPageID, CTabPageSSL* pTabPage);
|
||||
int AddSSLPage (LPCTSTR pszTitle, int nPageID, LPCTSTR pszTemplateName);
|
||||
int AddSSLPage (LPCTSTR pszTitle, int nPageID, int nTemplateID);
|
||||
BOOL RemoveSSLPage (int nIndex);
|
||||
int GetSSLPageCount (void);
|
||||
BOOL GetSSLPageTitle (int nIndex, CString& strTitle);
|
||||
BOOL SetSSLPageTitle (int nIndex, LPCTSTR pszTitle);
|
||||
int GetSSLPageID (int nIndex);
|
||||
int SetSSLPageID (int nIndex, int nPageID);
|
||||
BOOL ActivateSSLPage (int nIndex);
|
||||
int GetSSLActivePage (void);
|
||||
CWnd* GetSSLPage (int nIndex);
|
||||
int GetSSLPageIndex (int nPageID);
|
||||
void ResizeDialog (int nIndex, int cx, int cy);
|
||||
|
||||
protected:
|
||||
struct TabDelete {
|
||||
CTabPageSSL* pTabPage;
|
||||
BOOL bDelete;
|
||||
};
|
||||
CArray<TabDelete, TabDelete> m_tabs;
|
||||
CArray<HWND, HWND> m_hFocusWnd;
|
||||
CArray<int, int> m_nPageIDs;
|
||||
|
||||
int AddPage (LPCTSTR pszTitle, int nPageID, TabDelete tabDelete);
|
||||
|
||||
virtual BOOL OnInitPage (int nIndex, int nPageID);
|
||||
virtual void OnActivatePage (int nIndex, int nPageID);
|
||||
virtual void OnDeactivatePage (int nIndex, int nPageID);
|
||||
virtual void OnDestroyPage (int nIndex, int nPageID);
|
||||
virtual BOOL OnCommand (WPARAM wParam, LPARAM lParam);
|
||||
virtual BOOL OnNotify (WPARAM wParam, LPARAM lParam, LRESULT* pResult);
|
||||
virtual BOOL OnCmdMsg (UINT nID, int nCode, void* pExtra,
|
||||
AFX_CMDHANDLERINFO* pHandlerInfo);
|
||||
|
||||
#ifdef _DEBUG
|
||||
BOOL CheckDialogTemplate (LPCTSTR pszTemplateName);
|
||||
#endif // _DEBUG
|
||||
// Generated message map functions
|
||||
protected:
|
||||
//{{AFX_MSG(CTabCtrlSSL)
|
||||
afx_msg void OnDestroy (void);
|
||||
afx_msg void OnSetFocus (CWnd* pOldWnd);
|
||||
afx_msg void OnKillFocus (CWnd* pNewWnd);
|
||||
afx_msg void OnSelChanging (NMHDR* pNMHDR, LRESULT* pResult);
|
||||
afx_msg void OnSelChange (NMHDR* pNMHDR, LRESULT* pResult);
|
||||
//}}AFX_MSG
|
||||
|
||||
DECLARE_MESSAGE_MAP()
|
||||
};
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
//{{AFX_INSERT_LOCATION}}
|
||||
// Microsoft Visual C++ will insert additional declarations immediately before the previous line.
|
||||
|
||||
#endif // !defined(AFX_TABCTRLSSL_H__75BE48A7_864C_11D5_9F04_000102FB9990__INCLUDED_)
|
@ -1,75 +0,0 @@
|
||||
#include "stdafx.h"
|
||||
#include "TabPageSSL.h"
|
||||
|
||||
#ifdef _DEBUG
|
||||
#define new DEBUG_NEW
|
||||
#undef THIS_FILE
|
||||
static char THIS_FILE[] = __FILE__;
|
||||
#endif
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
// Construction
|
||||
|
||||
CTabPageSSL::CTabPageSSL () {
|
||||
#ifndef _AFX_NO_OCC_SUPPORT
|
||||
AfxEnableControlContainer ();
|
||||
#endif // !_AFX_NO_OCC_SUPPORT
|
||||
}
|
||||
|
||||
CTabPageSSL::CTabPageSSL (UINT nIDTemplate, CWnd* pParent /*=NULL*/)
|
||||
: CDialog(nIDTemplate, pParent) {
|
||||
#ifndef _AFX_NO_OCC_SUPPORT
|
||||
AfxEnableControlContainer ();
|
||||
#endif // !_AFX_NO_OCC_SUPPORT
|
||||
}
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
// Destruction
|
||||
|
||||
CTabPageSSL::~CTabPageSSL () {
|
||||
}
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
// Message Handlers
|
||||
|
||||
void CTabPageSSL::OnOK (void) {
|
||||
//
|
||||
// Prevent CDialog::OnOK from calling EndDialog.
|
||||
//
|
||||
}
|
||||
|
||||
void CTabPageSSL::OnCancel (void) {
|
||||
//
|
||||
// Prevent CDialog::OnCancel from calling EndDialog.
|
||||
//
|
||||
}
|
||||
|
||||
BOOL CTabPageSSL::OnCommand (WPARAM wParam, LPARAM lParam) {
|
||||
// Call base class OnCommand to allow message map processing
|
||||
CDialog::OnCommand (wParam, lParam);
|
||||
//
|
||||
// Forward WM_COMMAND messages to the dialog's parent.
|
||||
//
|
||||
return GetParent ()->SendMessage (WM_COMMAND, wParam, lParam);
|
||||
}
|
||||
|
||||
BOOL CTabPageSSL::OnNotify (WPARAM wParam, LPARAM lParam, LRESULT* pResult) {
|
||||
//
|
||||
// Forward WM_NOTIFY messages to the dialog's parent.
|
||||
//
|
||||
CDialog::OnNotify (wParam, lParam, pResult);
|
||||
return GetParent ()->SendMessage (WM_NOTIFY, wParam, lParam);
|
||||
}
|
||||
|
||||
BOOL CTabPageSSL::OnCmdMsg (UINT nID, int nCode, void* pExtra,
|
||||
AFX_CMDHANDLERINFO* pHandlerInfo) {
|
||||
//
|
||||
// Forward ActiveX control events to the dialog's parent.
|
||||
//
|
||||
#ifndef _AFX_NO_OCC_SUPPORT
|
||||
if (nCode == CN_EVENT)
|
||||
return GetParent ()->OnCmdMsg (nID, nCode, pExtra, pHandlerInfo);
|
||||
#endif // !_AFX_NO_OCC_SUPPORT
|
||||
|
||||
return CDialog::OnCmdMsg (nID, nCode, pExtra, pHandlerInfo);
|
||||
}
|
@ -1,26 +0,0 @@
|
||||
#if !defined(AFX_TABPAGESSL_H__619331B3_7DE7_4DB1_A039_2103E87E8E71__INCLUDED_)
|
||||
#define AFX_TABPAGESSL_H__619331B3_7DE7_4DB1_A039_2103E87E8E71__INCLUDED_
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
// CTabPageSSL declaration
|
||||
|
||||
class CTabPageSSL : public CDialog
|
||||
{
|
||||
public:
|
||||
// Construction
|
||||
CTabPageSSL (); // Default Constructor
|
||||
CTabPageSSL (UINT nIDTemplate, CWnd* pParent = NULL); // Standard Constructor
|
||||
// Destruction
|
||||
~CTabPageSSL ();
|
||||
|
||||
protected:
|
||||
// Message Handlers
|
||||
virtual BOOL OnCommand (WPARAM wParam, LPARAM lParam);
|
||||
virtual BOOL OnNotify (WPARAM wParam, LPARAM lParam, LRESULT* pResult);
|
||||
virtual void OnOK (void);
|
||||
virtual void OnCancel (void);
|
||||
virtual BOOL OnCmdMsg (UINT nID, int nCode, void* pExtra,
|
||||
AFX_CMDHANDLERINFO* pHandlerInfo);
|
||||
};
|
||||
|
||||
#endif // !defined(AFX_TABPAGE_H__619331B3_7DE7_4DB1_A039_2103E87E8E71__INCLUDED_)
|
@ -1,65 +0,0 @@
|
||||
#include "stdafx.h"
|
||||
#include "TrayNot.h"
|
||||
#ifdef _DEBUG
|
||||
#define new DEBUG_NEW
|
||||
#undef THIS_FILE
|
||||
static char THIS_FILE[] = __FILE__;
|
||||
#endif
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
// CTrayNot
|
||||
|
||||
CTrayNot::CTrayNot ( CWnd* pWnd, UINT uCallbackMessage,
|
||||
LPCTSTR szTip, HICON* pList )
|
||||
{
|
||||
// this is only for Windows 95 (or higher)
|
||||
m_bEnabled = ( GetVersion() & 0xff ) >= 4 ;
|
||||
if (!m_bEnabled)
|
||||
return ;
|
||||
|
||||
// load up the NOTIFYICONDATA structure
|
||||
m_tnd.cbSize = sizeof(NOTIFYICONDATA) ;
|
||||
m_tnd.hWnd = pWnd->GetSafeHwnd() ;
|
||||
m_tnd.uID = 0 ;
|
||||
m_tnd.uFlags = NIF_MESSAGE | NIF_ICON | NIF_TIP ;
|
||||
m_tnd.uCallbackMessage = uCallbackMessage;
|
||||
strcpy ( m_tnd.szTip, "Icecast2");
|
||||
//or you could use:
|
||||
//strcpy ( m_tnd.szTip, AfxGetApp()->m_pszAppName);
|
||||
//this will display the app name instead of the string you specify
|
||||
|
||||
|
||||
|
||||
// save the pointer to the icon list and set the initial
|
||||
// default icon.
|
||||
m_pIconList = pList ;
|
||||
m_tnd.hIcon = m_pIconList[0] ;
|
||||
Shell_NotifyIcon (NIM_ADD,&m_tnd);
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
CTrayNot::~CTrayNot()
|
||||
{
|
||||
if (m_bEnabled)
|
||||
Shell_NotifyIcon (NIM_DELETE, &m_tnd);
|
||||
}
|
||||
|
||||
void CTrayNot::SetState(int id)
|
||||
{
|
||||
if (!m_bEnabled)
|
||||
return;
|
||||
m_tnd.hIcon = m_pIconList[id];
|
||||
m_tnd.uFlags = NIF_MESSAGE | NIF_ICON | NIF_TIP ;
|
||||
|
||||
//Ive found in windows XP that this command makes the icon not visable in the system tray....we dont want that now
|
||||
//do we?
|
||||
Shell_NotifyIcon(NIM_MODIFY, &m_tnd);
|
||||
}
|
||||
void CTrayNot::SetTIP(char *pTip) {
|
||||
memset(m_tnd.szTip, '\000', sizeof(m_tnd.szTip));
|
||||
strncpy(m_tnd.szTip, pTip, sizeof(m_tnd.szTip)-1);
|
||||
|
||||
Shell_NotifyIcon(NIM_MODIFY, &m_tnd);
|
||||
}
|
BIN
win32/black.bmp
BIN
win32/black.bmp
Binary file not shown.
Before Width: | Height: | Size: 151 KiB |
@ -1,5 +0,0 @@
|
||||
#define BGCOLOR RGB(0,0,0)
|
||||
#define TEXTCOLOR RGB(175,175,175)
|
||||
#define TEXTBGCOLOR RGB(0,0,0)
|
||||
#define LOGOCOLOR RGB(175,175,175)
|
||||
|
Binary file not shown.
Before Width: | Height: | Size: 312 KiB |
98
win32/dllbundler.sh
Executable file
98
win32/dllbundler.sh
Executable file
@ -0,0 +1,98 @@
|
||||
#!/bin/bash -e
|
||||
#
|
||||
# Scans an executable for runtime dependencies and copies them to the
|
||||
# executable's directory. This script relies on the mingw-objdump tool to
|
||||
# parse dependencies. It processes all input recursively.
|
||||
#
|
||||
# Copied by permission from:
|
||||
# https://github.com/jdolan/quake2world/blob/master/mingw-cross/dllbundler.sh
|
||||
#
|
||||
# Licensed under the GPLv2
|
||||
|
||||
while getopts "h:" opt; do
|
||||
case "${opt}" in
|
||||
h)
|
||||
host="${OPTARG}"
|
||||
;;
|
||||
\?)
|
||||
echo "Invalid option: -${OPTARG}" >&2
|
||||
exit 1
|
||||
;;
|
||||
esac
|
||||
done
|
||||
|
||||
test "${host}" || {
|
||||
echo "Required option -h host is missing" >&2
|
||||
exit 1
|
||||
}
|
||||
|
||||
objdump=$(which ${host}-objdump)
|
||||
test -x "${objdump}" || {
|
||||
echo "No ${host}-objdump in PATH" >&2
|
||||
exit 2
|
||||
}
|
||||
|
||||
shift $((OPTIND-1))
|
||||
|
||||
exes="${@}"
|
||||
for exe in ${exes}; do
|
||||
test -e "${exe}" || {
|
||||
echo "${exe} is not an executable" >&2
|
||||
exit 3
|
||||
}
|
||||
|
||||
dir=$(dirname "${exe}")
|
||||
test -w "${dir}" || {
|
||||
echo "${dir} is not writable" >&2
|
||||
exit 3
|
||||
}
|
||||
|
||||
# Clean up ${dir} bedore copying .dll files
|
||||
pushd ${dir}
|
||||
rm -f $(find . -type f | egrep -v "cygwin|*.exe")
|
||||
popd
|
||||
done
|
||||
|
||||
tmp=$(mktemp -d /tmp/dllbundler-XXXXXX)
|
||||
test -w "${tmp}" || {
|
||||
echo "${tmp} is not writable" >&2
|
||||
exit 4
|
||||
}
|
||||
|
||||
search_path="${MINGW_PREFIX}/usr/${host}"
|
||||
test -d "${search_path}" || {
|
||||
echo "${search_path} does not exist" >&2
|
||||
exit 5
|
||||
}
|
||||
|
||||
|
||||
#
|
||||
# Resolve dependencies recursively, copying them from the search path to dir.
|
||||
#
|
||||
function bundle_recursively(){
|
||||
local deps=$($objdump -p "${1}" | sed -rn 's/DLL Name: (.*\.dll)/\1/p' | sort -u)
|
||||
for dep in ${deps}; do
|
||||
test -f "${dir}/${dep}" && continue
|
||||
test -f "${tmp}/${dep}" && continue
|
||||
|
||||
local dll=$(find "${search_path}" -name "${dep}")
|
||||
test -z "${dll}" && {
|
||||
echo "WARNING: Couldn't find ${dep} in ${search_path}" >&2
|
||||
touch "${tmp}/${dep}"
|
||||
continue
|
||||
}
|
||||
|
||||
bundle_recursively "${dll}"
|
||||
|
||||
echo "Installing ${dll}.."
|
||||
install "${dll}" "${dir}"
|
||||
done
|
||||
}
|
||||
|
||||
for exe in ${exes}; do
|
||||
dir=$(dirname "${exe}")
|
||||
echo "Bundling .dll files for ${exe} in ${dir}.."
|
||||
bundle_recursively "${exe}"
|
||||
done
|
||||
|
||||
rm -rf "${tmp}"
|
12
win32/icecast.bat
Normal file
12
win32/icecast.bat
Normal file
@ -0,0 +1,12 @@
|
||||
@echo OFF
|
||||
echo.
|
||||
echo.
|
||||
echo|set /p=Starting
|
||||
.\bin\icecast.exe -v
|
||||
echo Using config "icecast.xml" from installation directory ...
|
||||
echo.
|
||||
echo Please open http://localhost:8000 in your web browser to see the web interface.
|
||||
echo.
|
||||
echo.
|
||||
echo Leave this window open to keep Icecast running and, if necessary, minimize it.
|
||||
.\bin\icecast.exe -c .\etc\icecast.xml
|
@ -1,392 +0,0 @@
|
||||
# Microsoft Developer Studio Project File - Name="icecast" - Package Owner=<4>
|
||||
# Microsoft Developer Studio Generated Build File, Format Version 6.00
|
||||
# ** DO NOT EDIT **
|
||||
|
||||
# TARGTYPE "Win32 (x86) Static Library" 0x0104
|
||||
|
||||
CFG=icecast - Win32 Debug
|
||||
!MESSAGE This is not a valid makefile. To build this project using NMAKE,
|
||||
!MESSAGE use the Export Makefile command and run
|
||||
!MESSAGE
|
||||
!MESSAGE NMAKE /f "icecast.mak".
|
||||
!MESSAGE
|
||||
!MESSAGE You can specify a configuration when running NMAKE
|
||||
!MESSAGE by defining the macro CFG on the command line. For example:
|
||||
!MESSAGE
|
||||
!MESSAGE NMAKE /f "icecast.mak" CFG="icecast - Win32 Debug"
|
||||
!MESSAGE
|
||||
!MESSAGE Possible choices for configuration are:
|
||||
!MESSAGE
|
||||
!MESSAGE "icecast - Win32 Release" (based on "Win32 (x86) Static Library")
|
||||
!MESSAGE "icecast - Win32 Debug" (based on "Win32 (x86) Static Library")
|
||||
!MESSAGE
|
||||
|
||||
# Begin Project
|
||||
# PROP AllowPerConfigDependencies 0
|
||||
# PROP Scc_ProjName ""
|
||||
# PROP Scc_LocalPath ""
|
||||
CPP=cl.exe
|
||||
RSC=rc.exe
|
||||
|
||||
!IF "$(CFG)" == "icecast - Win32 Release"
|
||||
|
||||
# PROP BASE Use_MFC 0
|
||||
# PROP BASE Use_Debug_Libraries 0
|
||||
# PROP BASE Output_Dir "Release"
|
||||
# PROP BASE Intermediate_Dir "Release"
|
||||
# PROP BASE Target_Dir ""
|
||||
# PROP Use_MFC 0
|
||||
# PROP Use_Debug_Libraries 0
|
||||
# PROP Output_Dir "Release"
|
||||
# PROP Intermediate_Dir "releaselib_tmp"
|
||||
# PROP Target_Dir ""
|
||||
# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_MBCS" /D "_LIB" /YX /FD /c
|
||||
# ADD CPP /nologo /MT /W3 /GX /O2 /I "../../curl/include" /I "..\src" /I "../" /I "../../libxslt/include" /I "../../iconv/include" /I "../../libxml2/include" /I "../../pthreads" /I "../../oggvorbis-win32sdk-1.0.1/include" /I "../../theora/include" /I "../../speex/include" /D "WIN32" /D "NDEBUG" /D "_MBCS" /D "_LIB" /D "HAVE_CURL" /D "USE_YP" /D "HAVE_SYS_STAT_H" /D PACKAGE_VERSION=\"2.3.2\" /D "HAVE_LOCALTIME_R" /D "HAVE_OLD_VSNPRINTF" /D "HAVE_THEORA" /D "HAVE_SPEEX" /D "HAVE_AUTH_URL" /D sock_t=SOCKET /D "HAVE_WINSOCK2_H" /YX /FD /c
|
||||
# ADD BASE RSC /l 0x409 /d "NDEBUG"
|
||||
# ADD RSC /l 0x409 /d "NDEBUG"
|
||||
BSC32=bscmake.exe
|
||||
# ADD BASE BSC32 /nologo
|
||||
# ADD BSC32 /nologo
|
||||
LIB32=link.exe -lib
|
||||
# ADD BASE LIB32 /nologo
|
||||
# ADD LIB32 /nologo
|
||||
|
||||
!ELSEIF "$(CFG)" == "icecast - Win32 Debug"
|
||||
|
||||
# PROP BASE Use_MFC 0
|
||||
# PROP BASE Use_Debug_Libraries 1
|
||||
# PROP BASE Output_Dir "Debug"
|
||||
# PROP BASE Intermediate_Dir "Debug"
|
||||
# PROP BASE Target_Dir ""
|
||||
# PROP Use_MFC 0
|
||||
# PROP Use_Debug_Libraries 1
|
||||
# PROP Output_Dir "Debug"
|
||||
# PROP Intermediate_Dir "debuglib_tmp"
|
||||
# PROP Target_Dir ""
|
||||
# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_MBCS" /D "_LIB" /YX /FD /GZ /c
|
||||
# ADD CPP /nologo /MTd /W3 /Gm /GX /ZI /Od /I "../../curl/include" /I "..\src" /I "../" /I "../../libxslt/include" /I "../../iconv/include" /I "../../libxml2/include" /I "../../pthreads" /I "../../oggvorbis-win32sdk-1.0.1/include" /I "../../theora/include" /I "../../speex/include" /D "WIN32" /D "_DEBUG" /D "_MBCS" /D "_LIB" /D "_WIN32" /D "HAVE_CURL" /D "USE_YP" /D "HAVE_SYS_STAT_H" /D PACKAGE_VERSION=\"2.3.2\" /D "HAVE_LOCALTIME_R" /D "HAVE_OLD_VSNPRINTF" /D "HAVE_THEORA" /D "HAVE_SPEEX" /D "HAVE_AUTH_URL" /FD /D /GZ /c
|
||||
# ADD BASE RSC /l 0x409 /d "_DEBUG"
|
||||
# ADD RSC /l 0x409 /d "_DEBUG"
|
||||
BSC32=bscmake.exe
|
||||
# ADD BASE BSC32 /nologo
|
||||
# ADD BSC32 /nologo
|
||||
LIB32=link.exe -lib
|
||||
# ADD BASE LIB32 /nologo
|
||||
# ADD LIB32 /nologo
|
||||
|
||||
!ENDIF
|
||||
|
||||
# Begin Target
|
||||
|
||||
# Name "icecast - Win32 Release"
|
||||
# Name "icecast - Win32 Debug"
|
||||
# Begin Group "Source Files"
|
||||
|
||||
# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=..\src\admin.c
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=..\src\auth.c
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=..\src\auth_htpasswd.c
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=..\src\auth_url.c
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=..\src\avl\avl.c
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=..\src\cfgfile.c
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=..\src\client.c
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=..\src\connection.c
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=..\src\event.c
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=..\src\format.c
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=..\src\format_flac.c
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=..\src\format_kate.c
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=..\src\format_midi.c
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=..\src\format_mp3.c
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=..\src\format_ogg.c
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=..\src\format_skeleton.c
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=..\src\format_speex.c
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=..\src\format_theora.c
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=..\src\format_vorbis.c
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=..\src\fserve.c
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=..\src\global.c
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=..\src\httpp\httpp.c
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=..\src\log\log.c
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=..\src\logging.c
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=..\src\md5.c
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=..\src\os.h
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=..\src\refbuf.c
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=..\src\net\resolver.c
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=..\src\sighandler.c
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=..\src\slave.c
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=..\src\net\sock.c
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=..\src\source.c
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=..\src\stats.c
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=..\src\thread\thread.c
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=..\src\timing\timing.c
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=..\src\util.c
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=..\src\xslt.c
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=..\src\yp.c
|
||||
# End Source File
|
||||
# End Group
|
||||
# Begin Group "Header Files"
|
||||
|
||||
# PROP Default_Filter "h;hpp;hxx;hm;inl"
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=..\src\admin.h
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=..\src\auth.h
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=..\src\auth_htpasswd.h
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=..\src\auth_url.h
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=..\src\avl\avl.h
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=..\src\cfgfile.h
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=..\src\client.h
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=..\src\compat.h
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=..\src\connection.h
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=..\src\event.h
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=..\src\format.h
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=..\src\format_flac.h
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=..\src\format_kate.h
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=..\src\format_midi.h
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=..\src\format_mp3.h
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=..\src\format_ogg.h
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=..\src\format_skeleton.h
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=..\src\format_speex.h
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=..\src\format_theora.h
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=..\src\format_vorbis.h
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=..\src\fserve.h
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=..\src\global.h
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=..\src\httpp\httpp.h
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=..\src\log\log.h
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=..\src\logging.h
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=..\src\md5.h
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=..\src\refbuf.h
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=..\src\net\resolver.h
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=..\src\sighandler.h
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=..\src\net\sock.h
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=..\src\source.h
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=..\src\stats.h
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=..\src\thread\thread.h
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=..\src\timing\timing.h
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=..\src\util.h
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=..\src\xslt.h
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=..\src\yp.h
|
||||
# End Source File
|
||||
# End Group
|
||||
# End Target
|
||||
# End Project
|
212
win32/icecast.nsis
Normal file
212
win32/icecast.nsis
Normal file
@ -0,0 +1,212 @@
|
||||
;NSIS based Icecast Installer
|
||||
;Written by Thomas B. Rücker
|
||||
;Initial version written by Stephan Jauernick
|
||||
;Based on "Start Menu Folder Selection Example Script" by Joost Verburg
|
||||
|
||||
;--------------------------------
|
||||
;Includes
|
||||
|
||||
; Modern UI
|
||||
!include "MUI2.nsh"
|
||||
|
||||
;File functions
|
||||
!include "FileFunc.nsh"
|
||||
|
||||
;--------------------------------
|
||||
;General
|
||||
|
||||
;Name and file
|
||||
Name "Icecast"
|
||||
OutFile "icecast_win32_2.4.4.exe"
|
||||
|
||||
;Default installation folder
|
||||
InstallDir "$PROGRAMFILES32\Icecast"
|
||||
|
||||
;Get installation folder from registry if available
|
||||
InstallDirRegKey HKCU "Software\Xiph.org\Icecast" ""
|
||||
|
||||
;Request application privileges for Windows Vista
|
||||
RequestExecutionLevel admin
|
||||
|
||||
;Installer icon
|
||||
!define MUI_ICON "bin/icecast.ico"
|
||||
!define MUI_HEADERIMAGE
|
||||
!define MUI_HEADERIMAGE_BITMAP "icecast2logo3.bmp"
|
||||
!define MUI_HEADERIMAGE_RIGHT
|
||||
|
||||
;!define /date BUILDTIMESTAMP "%Y-%m-%dT%H:%M:%S+%z"
|
||||
|
||||
;--------------------------------
|
||||
;Variables
|
||||
|
||||
Var RegistryPathForUninstall
|
||||
Var StartMenuFolder
|
||||
Var EstimatedSize
|
||||
Var Day
|
||||
Var Month
|
||||
Var Year
|
||||
Var DoW
|
||||
Var Hour
|
||||
Var Minute
|
||||
Var Second
|
||||
|
||||
;--------------------------------
|
||||
; Create URL file macro
|
||||
|
||||
!macro CreateInternetShortcut FILENAME URL ICONFILE ICONINDEX
|
||||
WriteINIStr "${FILENAME}.url" "InternetShortcut" "URL" "${URL}"
|
||||
WriteINIStr "${FILENAME}.url" "InternetShortcut" "IconFile" "${ICONFILE}"
|
||||
WriteINIStr "${FILENAME}.url" "InternetShortcut" "IconIndex" "${ICONINDEX}"
|
||||
!macroend
|
||||
|
||||
;--------------------------------
|
||||
;Interface Settings
|
||||
|
||||
!define MUI_ABORTWARNING
|
||||
|
||||
;--------------------------------
|
||||
;Pages
|
||||
|
||||
!insertmacro MUI_PAGE_LICENSE doc/COPYING
|
||||
!insertmacro MUI_PAGE_COMPONENTS
|
||||
!insertmacro MUI_PAGE_DIRECTORY
|
||||
|
||||
;Start Menu Folder Page Configuration
|
||||
!define MUI_STARTMENUPAGE_REGISTRY_ROOT "HKCU"
|
||||
!define MUI_STARTMENUPAGE_REGISTRY_KEY "Software\Xiph.org\Icecast"
|
||||
!define MUI_STARTMENUPAGE_REGISTRY_VALUENAME "Start Menu Folder"
|
||||
|
||||
!insertmacro MUI_PAGE_STARTMENU Application $StartMenuFolder
|
||||
|
||||
!insertmacro MUI_PAGE_INSTFILES
|
||||
|
||||
!insertmacro MUI_UNPAGE_CONFIRM
|
||||
!insertmacro MUI_UNPAGE_INSTFILES
|
||||
|
||||
;--------------------------------
|
||||
;Languages
|
||||
|
||||
!insertmacro MUI_LANGUAGE "English"
|
||||
|
||||
;--------------------------------
|
||||
;Installer Sections
|
||||
|
||||
Section "Icecast" SecIcecastWin32
|
||||
|
||||
;Image - not supported on non-win32 builds
|
||||
;AddBrandingImage left 175 32
|
||||
;SetBrandingImage "icecast2logo2.bmp"
|
||||
|
||||
SetOutPath "$INSTDIR"
|
||||
|
||||
;ADD YOUR OWN FILES HERE...
|
||||
|
||||
File /r "bin"
|
||||
File /r "doc"
|
||||
File /r "web"
|
||||
File /r "admin"
|
||||
File "mime.types"
|
||||
File "icecast.bat"
|
||||
;OMG my eyes, why is Goto inherent
|
||||
IfFileExists "$INSTDIR\icecast.xml" config_exists config_nonexistent
|
||||
config_exists:
|
||||
Goto config_done
|
||||
config_nonexistent:
|
||||
File "icecast.xml"
|
||||
config_done:
|
||||
|
||||
;Store installation folder
|
||||
WriteRegStr HKCU "Software\Xiph.org\Icecast" "" $INSTDIR
|
||||
|
||||
;Determine installed size (will include all files, even user placed in $INSTDIR!)
|
||||
${GetSize} "$INSTDIR" "/S=0K" $0 $1 $2
|
||||
IntFmt $EstimatedSize "0x%08X" $0
|
||||
|
||||
${GetTime} "" "LS" $Day $Month $Year $DoW $Hour $Minute $Second
|
||||
|
||||
;Registry path for Windows uninstaller and software management
|
||||
StrCpy $RegistryPathForUninstall "Software\Microsoft\Windows\CurrentVersion\Uninstall\Xiph.org-Icecast"
|
||||
|
||||
;Create uninstaller
|
||||
WriteUninstaller "$INSTDIR\Uninstall.exe"
|
||||
WriteRegDWORD HKLM $RegistryPathForUninstall "EstimatedSize" "$EstimatedSize"
|
||||
WriteRegStr HKLM $RegistryPathForUninstall "DisplayName" "Icecast"
|
||||
WriteRegStr HKLM $RegistryPathForUninstall "UninstallString" "$\"$INSTDIR\Uninstall.exe$\""
|
||||
WriteRegStr HKLM $RegistryPathForUninstall "DisplayIcon" "$INSTDIR\bin\icecast.ico"
|
||||
WriteRegStr HKLM $RegistryPathForUninstall "Publisher" "Xiph.org Foundation / The Icecast Project"
|
||||
WriteRegStr HKLM $RegistryPathForUninstall "HelpLink" "http://icecast.org/contact"
|
||||
WriteRegStr HKLM $RegistryPathForUninstall "URLInfoAbout" "http://icecast.org/"
|
||||
WriteRegStr HKLM $RegistryPathForUninstall "DisplayVersion" "2.4.4"
|
||||
WriteRegStr HKLM $RegistryPathForUninstall "InstallLocation" "$INSTDIR"
|
||||
WriteRegStr HKLM $RegistryPathForUninstall "InstallDate" "$Year$Month$Day"
|
||||
WriteRegDWORD HKLM $RegistryPathForUninstall "NoModify" 0x1
|
||||
WriteRegDWORD HKLM $RegistryPathForUninstall "NoRepair" 0x1
|
||||
WriteRegDWORD HKLM $RegistryPathForUninstall "VersionMajor" 0x2
|
||||
WriteRegDWORD HKLM $RegistryPathForUninstall "VersionMinor" 0x4
|
||||
WriteRegDWORD HKLM $RegistryPathForUninstall "VersionServicePack" 0x4
|
||||
;WriteRegStr HKLM "$RegistryPathForUninstall "" ""
|
||||
|
||||
|
||||
!insertmacro MUI_STARTMENU_WRITE_BEGIN Application
|
||||
|
||||
;Create shortcuts
|
||||
CreateDirectory "$SMPROGRAMS\$StartMenuFolder"
|
||||
CreateShortcut "$SMPROGRAMS\$StartMenuFolder\Run Icecast (Console).lnk" "$INSTDIR\icecast.bat" "" "$INSTDIR\bin\icecast.ico" "" "" "" "Icecast (Starts in a console window)"
|
||||
CreateShortcut "$SMPROGRAMS\$StartMenuFolder\Icecast Config.lnk" "%SystemRoot%\system32\notepad.exe" "$INSTDIR\icecast.xml" "" "" "" "" "Open Icecast config for editing in Notepad"
|
||||
!insertmacro CreateInternetShortcut "$SMPROGRAMS\$StartMenuFolder\Icecast web status (public)" "http://127.0.0.1:8000/" "$INSTDIR\bin\icecast.ico" "0"
|
||||
!insertmacro CreateInternetShortcut "$SMPROGRAMS\$StartMenuFolder\Icecast web admin interface" "http://127.0.0.1:8000/admin/" "$INSTDIR\bin\icecast.ico" "0"
|
||||
CreateShortcut "$SMPROGRAMS\$StartMenuFolder\Icecast documentation.lnk" "$INSTDIR\doc\index.html"
|
||||
|
||||
!insertmacro MUI_STARTMENU_WRITE_END
|
||||
|
||||
;Create logging directory
|
||||
CreateDirectory "$INSTDIR\log"
|
||||
|
||||
SectionEnd
|
||||
|
||||
;--------------------------------
|
||||
;Descriptions
|
||||
|
||||
;Language strings
|
||||
LangString DESC_SecIcecastWin32 ${LANG_ENGLISH} "Icecast for win32 with all required files and libraries"
|
||||
|
||||
;Assign language strings to sections
|
||||
!insertmacro MUI_FUNCTION_DESCRIPTION_BEGIN
|
||||
!insertmacro MUI_DESCRIPTION_TEXT ${SecIcecastWin32} $(DESC_SecIcecastWin32)
|
||||
!insertmacro MUI_FUNCTION_DESCRIPTION_END
|
||||
|
||||
;--------------------------------
|
||||
;Uninstaller Section
|
||||
|
||||
Section "Uninstall"
|
||||
|
||||
;ADD YOUR OWN FILES HERE...
|
||||
RMDir /r "$INSTDIR\bin"
|
||||
RMDir /r "$INSTDIR\doc"
|
||||
Delete "$INSTDIR\mime.types"
|
||||
Delete "$INSTDIR\icecast.bat"
|
||||
|
||||
Delete "$INSTDIR\Uninstall.exe"
|
||||
|
||||
RMDir "$INSTDIR"
|
||||
|
||||
!insertmacro MUI_STARTMENU_GETFOLDER Application $StartMenuFolder
|
||||
|
||||
Delete "$SMPROGRAMS\$StartMenuFolder\Run Icecast (Console).lnk"
|
||||
Delete "$SMPROGRAMS\$StartMenuFolder\Icecast Config.lnk"
|
||||
Delete "$SMPROGRAMS\$StartMenuFolder\Icecast documentation.lnk"
|
||||
Delete "$SMPROGRAMS\$StartMenuFolder\Icecast web status (public).url"
|
||||
Delete "$SMPROGRAMS\$StartMenuFolder\Icecast web admin interface.url"
|
||||
RMDir "$SMPROGRAMS\$StartMenuFolder"
|
||||
|
||||
;Registry path for Windows uninstaller and software management
|
||||
StrCpy $RegistryPathForUninstall "Software\Microsoft\Windows\CurrentVersion\Uninstall\Xiph.org-Icecast"
|
||||
DeleteRegKey HKLM "$RegistryPathForUninstall"
|
||||
|
||||
;DeleteRegKey /ifempty HKCU "Software\Xiph.org\Icecast"
|
||||
|
||||
SectionEnd
|
||||
|
||||
Function .onInit
|
||||
SectionSetFlags ${SecIcecastWin32} 17
|
||||
FunctionEnd
|
@ -1,64 +0,0 @@
|
||||
; Script generated by the Inno Setup Script Wizard.
|
||||
; SEE THE DOCUMENTATION FOR DETAILS ON CREATING INNO SETUP SCRIPT FILES!
|
||||
|
||||
[Setup]
|
||||
AppName=Icecast2 Win32
|
||||
AppVerName=Icecast 2.3.2
|
||||
AppPublisherURL=http://www.icecast.org
|
||||
AppSupportURL=http://www.icecast.org
|
||||
AppUpdatesURL=http://www.icecast.org
|
||||
DefaultDirName={pf}\Icecast2 Win32
|
||||
DefaultGroupName=Icecast2 Win32
|
||||
AllowNoIcons=yes
|
||||
LicenseFile=..\COPYING
|
||||
InfoAfterFile=..\README
|
||||
OutputDir=.
|
||||
OutputBaseFilename=icecast2_win32_2.3.2_setup
|
||||
WizardImageFile=icecast2logo2.bmp
|
||||
WizardImageStretch=no
|
||||
; uncomment the following line if you want your installation to run on NT 3.51 too.
|
||||
; MinVersion=4,3.51
|
||||
|
||||
[Tasks]
|
||||
Name: "desktopicon"; Description: "Create a &desktop icon"; GroupDescription: "Additional icons:"; MinVersion: 4,4
|
||||
|
||||
[Dirs]
|
||||
Name: "{app}\web"
|
||||
Name: "{app}\admin"
|
||||
Name: "{app}\doc"
|
||||
Name: "{app}\logs"
|
||||
Name: "{app}\examples"
|
||||
|
||||
|
||||
[Files]
|
||||
Source: "Release\Icecast2win.exe"; DestDir: "{app}"; Flags: ignoreversion
|
||||
Source: "Release\icecast2console.exe"; DestDir: "{app}"; Flags: ignoreversion
|
||||
Source: "Release\icecastService.exe"; DestDir: "{app}"; Flags: ignoreversion
|
||||
Source: "..\examples\*"; DestDir: "{app}\examples"; Flags: ignoreversion
|
||||
; Source: "..\doc\icecast2.chm"; DestDir: "{app}\doc"; Flags: ignoreversion
|
||||
Source: "..\web\*.xsl"; DestDir: "{app}\web"; Flags: ignoreversion
|
||||
Source: "..\web\*.png"; DestDir: "{app}\web"; Flags: ignoreversion
|
||||
Source: "..\web\*.jpg"; DestDir: "{app}\web"; Flags: ignoreversion
|
||||
Source: "..\web\*.css"; DestDir: "{app}\web"; Flags: ignoreversion
|
||||
Source: "..\admin\*.xsl"; DestDir: "{app}\admin"; Flags: ignoreversion
|
||||
Source: "c:\xiph\lib\pthreadVSE.dll"; DestDir: "{app}"; Flags: ignoreversion
|
||||
Source: "icecast.xml"; DestDir: "{app}"; Flags: ignoreversion
|
||||
Source: "c:\xiph\lib\iconv.dll"; DestDir: "{app}"; Flags: ignoreversion
|
||||
Source: "c:\xiph\lib\libxslt.dll"; DestDir: "{app}"; Flags: ignoreversion
|
||||
Source: "c:\xiph\lib\libxml2.dll"; DestDir: "{app}"; Flags: ignoreversion
|
||||
Source: "c:\xiph\lib\libcurl.dll"; DestDir: "{app}"; Flags: ignoreversion
|
||||
Source: "c:\xiph\lib\libeay32.dll"; DestDir: "{app}"; Flags: ignoreversion
|
||||
Source: "c:\xiph\lib\ssleay32.dll"; DestDir: "{app}"; Flags: ignoreversion
|
||||
Source: "c:\xiph\lib\zlib1.dll"; DestDir: "{app}"; Flags: ignoreversion
|
||||
|
||||
[Icons]
|
||||
|
||||
Name: "{group}\Icecast2 Win32"; Filename: "{app}\Icecast2win.exe";WorkingDir: "{app}";
|
||||
Name: "{userdesktop}\Icecast2 Win32"; Filename: "{app}\Icecast2win.exe"; MinVersion: 4,4; Tasks: desktopicon;WorkingDir: "{app}";
|
||||
|
||||
[Run]
|
||||
Filename: "{app}\icecastService.exe"; Parameters: "install ""{app}""";Description: "Install Icecast as a windows service.";Flags: postinstall
|
||||
|
||||
[UninstallRun]
|
||||
Filename: "{app}\icecastService.exe"; Parameters: "remove"
|
||||
|
@ -1,103 +0,0 @@
|
||||
# Microsoft Developer Studio Project File - Name="icecast2 console" - Package Owner=<4>
|
||||
# Microsoft Developer Studio Generated Build File, Format Version 6.00
|
||||
# ** DO NOT EDIT **
|
||||
|
||||
# TARGTYPE "Win32 (x86) Console Application" 0x0103
|
||||
|
||||
CFG=icecast2 console - Win32 Debug
|
||||
!MESSAGE This is not a valid makefile. To build this project using NMAKE,
|
||||
!MESSAGE use the Export Makefile command and run
|
||||
!MESSAGE
|
||||
!MESSAGE NMAKE /f "icecast2_console.mak".
|
||||
!MESSAGE
|
||||
!MESSAGE You can specify a configuration when running NMAKE
|
||||
!MESSAGE by defining the macro CFG on the command line. For example:
|
||||
!MESSAGE
|
||||
!MESSAGE NMAKE /f "icecast2_console.mak" CFG="icecast2 console - Win32 Debug"
|
||||
!MESSAGE
|
||||
!MESSAGE Possible choices for configuration are:
|
||||
!MESSAGE
|
||||
!MESSAGE "icecast2 console - Win32 Release" (based on "Win32 (x86) Console Application")
|
||||
!MESSAGE "icecast2 console - Win32 Debug" (based on "Win32 (x86) Console Application")
|
||||
!MESSAGE
|
||||
|
||||
# Begin Project
|
||||
# PROP AllowPerConfigDependencies 0
|
||||
# PROP Scc_ProjName ""
|
||||
# PROP Scc_LocalPath ""
|
||||
CPP=cl.exe
|
||||
RSC=rc.exe
|
||||
|
||||
!IF "$(CFG)" == "icecast2 console - Win32 Release"
|
||||
|
||||
# PROP BASE Use_MFC 0
|
||||
# PROP BASE Use_Debug_Libraries 0
|
||||
# PROP BASE Output_Dir "icecast2_console___Win32_Release"
|
||||
# PROP BASE Intermediate_Dir "icecast2_console___Win32_Release"
|
||||
# PROP BASE Target_Dir ""
|
||||
# PROP Use_MFC 0
|
||||
# PROP Use_Debug_Libraries 0
|
||||
# PROP Output_Dir "Release"
|
||||
# PROP Intermediate_Dir "releaseconsole_tmp"
|
||||
# PROP Ignore_Export_Lib 0
|
||||
# PROP Target_Dir ""
|
||||
# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
|
||||
# ADD CPP /nologo /MT /W3 /GX /O2 /I "../" /I "../../libxslt/include" /I "../../curl/include" /I "../../iconv/include" /I "../../libxml2/include" /I "..\src" /I "..\src/httpp" /I "..\src/thread" /I "..\src/log" /I "..\src/avl" /I "..\src/net" /I "..\src/timings" /I "../../pthreads" /I "../../oggvorbis-win32sdk-1.0.1/include" /I "../../theora/include" /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /D "HAVE_CURL" /D "USE_YP" /D "HAVE_SYS_STAT_H" /D PACKAGE_VERSION=\"2.3.2\" /D "HAVE_THEORA" /YX /FD /c
|
||||
# ADD BASE RSC /l 0x409 /d "NDEBUG"
|
||||
# ADD RSC /l 0x409 /d "NDEBUG"
|
||||
BSC32=bscmake.exe
|
||||
# ADD BASE BSC32 /nologo
|
||||
# ADD BSC32 /nologo
|
||||
LINK32=link.exe
|
||||
# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386
|
||||
# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib libcurl.lib ogg_static_d.lib vorbis_static.lib libxml2.lib libxslt.lib iconv.lib pthreadVSE.lib ws2_32.lib theora_static_d.lib libspeex.lib /nologo /version:2.3 /subsystem:console /machine:I386 /nodefaultlib:"libcd.lib" /nodefaultlib:"libcmtd.lib" /out:"Release/icecast2console.exe"
|
||||
|
||||
!ELSEIF "$(CFG)" == "icecast2 console - Win32 Debug"
|
||||
|
||||
# PROP BASE Use_MFC 0
|
||||
# PROP BASE Use_Debug_Libraries 1
|
||||
# PROP BASE Output_Dir "icecast2_console___Win32_Debug"
|
||||
# PROP BASE Intermediate_Dir "icecast2_console___Win32_Debug"
|
||||
# PROP BASE Target_Dir ""
|
||||
# PROP Use_MFC 0
|
||||
# PROP Use_Debug_Libraries 1
|
||||
# PROP Output_Dir "Debug"
|
||||
# PROP Intermediate_Dir "debugconsole_tmp"
|
||||
# PROP Ignore_Export_Lib 0
|
||||
# PROP Target_Dir ""
|
||||
# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c
|
||||
# ADD CPP /nologo /MTd /W3 /Gm /GX /ZI /Od /I "../" /I "../../libxslt/include" /I "../../curl/include" /I "../../iconv/include" /I "../../libxml2/include" /I "..\src" /I "..\src/httpp" /I "..\src/thread" /I "..\src/log" /I "..\src/avl" /I "..\src/net" /I "..\src/timings" /I "../../pthreads" /I "../../oggvorbis-win32sdk-1.0.1/include" /I "../../theora/include" /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /D "HAVE_CURL" /D "USE_YP" /D "HAVE_SYS_STAT_H" /D PACKAGE_VERSION=\"2.3.2\" /D "HAVE_THEORA" /YX /FD /GZ /c
|
||||
# ADD BASE RSC /l 0x409 /d "_DEBUG"
|
||||
# ADD RSC /l 0x409 /d "_DEBUG"
|
||||
BSC32=bscmake.exe
|
||||
# ADD BASE BSC32 /nologo
|
||||
# ADD BSC32 /nologo
|
||||
LINK32=link.exe
|
||||
# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
|
||||
# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib libcurl.lib ogg_static_d.lib vorbis_static.lib libxml2.lib libxslt.lib iconv.lib pthreadVC.lib ws2_32.lib theora_static_d.lib libspeex.lib /nologo /subsystem:console /debug /machine:I386 /nodefaultlib:"libcd.lib" /nodefaultlib:"libcmt.lib" /out:"Debug/icecast2console.exe" /pdbtype:sept
|
||||
# SUBTRACT LINK32 /pdb:none
|
||||
|
||||
!ENDIF
|
||||
|
||||
# Begin Target
|
||||
|
||||
# Name "icecast2 console - Win32 Release"
|
||||
# Name "icecast2 console - Win32 Debug"
|
||||
# Begin Group "Source Files"
|
||||
|
||||
# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=..\src\main.c
|
||||
# End Source File
|
||||
# End Group
|
||||
# Begin Group "Header Files"
|
||||
|
||||
# PROP Default_Filter "h;hpp;hxx;hm;inl"
|
||||
# End Group
|
||||
# Begin Group "Resource Files"
|
||||
|
||||
# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe"
|
||||
# End Group
|
||||
# End Target
|
||||
# End Project
|
@ -1,44 +0,0 @@
|
||||
Microsoft Developer Studio Workspace File, Format Version 6.00
|
||||
# WARNING: DO NOT EDIT OR DELETE THIS WORKSPACE FILE!
|
||||
|
||||
###############################################################################
|
||||
|
||||
Project: "icecast"=.\icecast.dsp - Package Owner=<4>
|
||||
|
||||
Package=<5>
|
||||
{{{
|
||||
}}}
|
||||
|
||||
Package=<4>
|
||||
{{{
|
||||
}}}
|
||||
|
||||
###############################################################################
|
||||
|
||||
Project: "icecast2 console"=.\icecast2_console.dsp - Package Owner=<4>
|
||||
|
||||
Package=<5>
|
||||
{{{
|
||||
}}}
|
||||
|
||||
Package=<4>
|
||||
{{{
|
||||
Begin Project Dependency
|
||||
Project_Dep_Name icecast
|
||||
End Project Dependency
|
||||
}}}
|
||||
|
||||
###############################################################################
|
||||
|
||||
Global:
|
||||
|
||||
Package=<5>
|
||||
{{{
|
||||
}}}
|
||||
|
||||
Package=<3>
|
||||
{{{
|
||||
}}}
|
||||
|
||||
###############################################################################
|
||||
|
BIN
win32/icecast2logo3.bmp
Normal file
BIN
win32/icecast2logo3.bmp
Normal file
Binary file not shown.
After Width: | Height: | Size: 29 KiB |
@ -1,193 +0,0 @@
|
||||
#define _WIN32_WINNT 0x0400
|
||||
#include <windows.h>
|
||||
#include <stdio.h>
|
||||
#include <direct.h>
|
||||
extern "C" {
|
||||
#include "thread/thread.h"
|
||||
#include "avl/avl.h"
|
||||
#include "log/log.h"
|
||||
#include "global.h"
|
||||
#include "httpp/httpp.h"
|
||||
#include "net/sock.h"
|
||||
#include "connection.h"
|
||||
#include "refbuf.h"
|
||||
#include "client.h"
|
||||
#include "stats.h"
|
||||
}
|
||||
|
||||
// Issues to be wary of. Careful of the runtime you use, I've had printf and similar routines
|
||||
// crash because of this on apparently valid strings. some weird thing related to checking for
|
||||
// multiple byte characters. DeleteService only marks a service for deletion, and the docs
|
||||
// are unclear on the cases that lead to purging however a reboot should do it.
|
||||
|
||||
SERVICE_STATUS ServiceStatus;
|
||||
SERVICE_STATUS_HANDLE hStatus;
|
||||
|
||||
void ServiceMain(int argc, char** argv);
|
||||
void ControlHandler(DWORD request);
|
||||
extern "C" int mainService(int argc, char **argv);
|
||||
|
||||
|
||||
void installService (const char *path)
|
||||
{
|
||||
if (path) {
|
||||
char fullPath[8096*2] = "\"";
|
||||
int len = GetModuleFileName (NULL, fullPath+1, sizeof (fullPath)-1);
|
||||
|
||||
_snprintf(fullPath+len+1, sizeof (fullPath)-len, "\" \"%s\"", path);
|
||||
|
||||
SC_HANDLE manager = OpenSCManager( NULL, NULL, SC_MANAGER_ALL_ACCESS );
|
||||
if (manager == NULL)
|
||||
{
|
||||
MessageBox (NULL, "OpenSCManager failed", NULL, MB_SERVICE_NOTIFICATION);
|
||||
return;
|
||||
}
|
||||
|
||||
SC_HANDLE service = CreateService(
|
||||
manager,
|
||||
PACKAGE_STRING,
|
||||
PACKAGE_STRING " Streaming Media Server",
|
||||
GENERIC_READ | GENERIC_EXECUTE,
|
||||
SERVICE_WIN32_OWN_PROCESS,
|
||||
SERVICE_AUTO_START,
|
||||
SERVICE_ERROR_IGNORE,
|
||||
fullPath,
|
||||
NULL,
|
||||
NULL,
|
||||
NULL,
|
||||
NULL,
|
||||
NULL
|
||||
);
|
||||
if (service == NULL)
|
||||
{
|
||||
MessageBox (NULL, "CreateService failed", NULL, MB_SERVICE_NOTIFICATION);
|
||||
CloseServiceHandle (manager);
|
||||
return;
|
||||
}
|
||||
|
||||
printf("Service Installed\n");
|
||||
CloseServiceHandle (service);
|
||||
CloseServiceHandle (manager);
|
||||
}
|
||||
}
|
||||
void removeService()
|
||||
{
|
||||
SC_HANDLE manager = OpenSCManager( NULL, NULL, SC_MANAGER_ALL_ACCESS );
|
||||
if (manager == NULL)
|
||||
{
|
||||
MessageBox (NULL, "OpenSCManager failed", NULL, MB_SERVICE_NOTIFICATION);
|
||||
return;
|
||||
}
|
||||
|
||||
SC_HANDLE service = OpenService (manager, PACKAGE_STRING, DELETE);
|
||||
if (service) {
|
||||
DeleteService(service);
|
||||
CloseServiceHandle (service);
|
||||
printf ("Service deleted, may require reboot to complete removal\n");
|
||||
}
|
||||
else
|
||||
printf("Service not found\n");
|
||||
CloseServiceHandle (manager);
|
||||
Sleep (1500);
|
||||
}
|
||||
void ControlHandler(DWORD request)
|
||||
{
|
||||
switch(request) {
|
||||
case SERVICE_CONTROL_STOP:
|
||||
if (ServiceStatus.dwCurrentState != SERVICE_STOP)
|
||||
{
|
||||
ServiceStatus.dwCurrentState = SERVICE_STOP_PENDING;
|
||||
SetServiceStatus (hStatus, &ServiceStatus);
|
||||
global.running = ICE_HALTING;
|
||||
return;
|
||||
}
|
||||
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
||||
// Report current status
|
||||
SetServiceStatus (hStatus, &ServiceStatus);
|
||||
}
|
||||
|
||||
void ServiceMain(int argc, char** argv)
|
||||
{
|
||||
ServiceStatus.dwServiceType = SERVICE_WIN32_OWN_PROCESS;
|
||||
ServiceStatus.dwWin32ExitCode = 0;
|
||||
ServiceStatus.dwServiceSpecificExitCode = 0;
|
||||
ServiceStatus.dwCheckPoint = 0;
|
||||
ServiceStatus.dwWaitHint = 0;
|
||||
|
||||
hStatus = RegisterServiceCtrlHandler(PACKAGE_STRING, (LPHANDLER_FUNCTION)ControlHandler);
|
||||
if (hStatus == (SERVICE_STATUS_HANDLE)0) {
|
||||
// Registering Control Handler failed
|
||||
MessageBox (NULL, "RegisterServiceCtrlHandler failed", NULL, MB_SERVICE_NOTIFICATION);
|
||||
return;
|
||||
}
|
||||
// We report the running status to SCM.
|
||||
ServiceStatus.dwCurrentState = SERVICE_RUNNING;
|
||||
ServiceStatus.dwControlsAccepted = SERVICE_ACCEPT_STOP;
|
||||
SetServiceStatus (hStatus, &ServiceStatus);
|
||||
|
||||
/* Here we do the work */
|
||||
|
||||
int argc2 = 3;
|
||||
char* argv2 [4];
|
||||
|
||||
argv2 [0] = argv[0];
|
||||
argv2 [1] = "-c";
|
||||
if (argc < 2)
|
||||
argv2 [2] = "icecast.xml";
|
||||
else
|
||||
argv2 [2] = argv[1];
|
||||
argv2[3] = NULL;
|
||||
|
||||
ServiceStatus.dwWin32ExitCode = mainService(argc2, (char **)argv2);
|
||||
|
||||
ServiceStatus.dwCurrentState = SERVICE_STOPPED;
|
||||
SetServiceStatus(hStatus, &ServiceStatus);
|
||||
}
|
||||
|
||||
|
||||
int main(int argc, char **argv)
|
||||
{
|
||||
if (argc < 2)
|
||||
{
|
||||
printf ("Usage:\n %s remove\n %s install path\n", argv[0], argv[0]);
|
||||
return 0;
|
||||
}
|
||||
if (!strcmp(argv[1], "install"))
|
||||
{
|
||||
if (argc > 2)
|
||||
installService(argv[2]);
|
||||
else
|
||||
printf ("install requires a path arg as well\n");
|
||||
Sleep (2000);
|
||||
return 0;
|
||||
}
|
||||
if (!strcmp(argv[1], "remove") || !strcmp(argv[1], "uninstall"))
|
||||
{
|
||||
removeService();
|
||||
return 0;
|
||||
}
|
||||
|
||||
if (_chdir(argv[1]) < 0)
|
||||
{
|
||||
char buffer [256];
|
||||
_snprintf (buffer, sizeof(buffer), "Unable to change to directory %s", argv[1]);
|
||||
MessageBox (NULL, buffer, NULL, MB_SERVICE_NOTIFICATION);
|
||||
return 0;
|
||||
}
|
||||
|
||||
SERVICE_TABLE_ENTRY ServiceTable[2];
|
||||
ServiceTable[0].lpServiceName = PACKAGE_STRING;
|
||||
ServiceTable[0].lpServiceProc = (LPSERVICE_MAIN_FUNCTION)ServiceMain;
|
||||
|
||||
ServiceTable[1].lpServiceName = NULL;
|
||||
ServiceTable[1].lpServiceProc = NULL;
|
||||
// Start the control dispatcher thread for our service
|
||||
if (StartServiceCtrlDispatcher(ServiceTable) == 0)
|
||||
MessageBox (NULL, "StartServiceCtrlDispatcher failed", NULL, MB_SERVICE_NOTIFICATION);
|
||||
|
||||
return 0;
|
||||
}
|
@ -1,109 +0,0 @@
|
||||
# Microsoft Developer Studio Project File - Name="icecastService" - Package Owner=<4>
|
||||
# Microsoft Developer Studio Generated Build File, Format Version 6.00
|
||||
# ** DO NOT EDIT **
|
||||
|
||||
# TARGTYPE "Win32 (x86) Console Application" 0x0103
|
||||
|
||||
CFG=icecastService - Win32 Debug
|
||||
!MESSAGE This is not a valid makefile. To build this project using NMAKE,
|
||||
!MESSAGE use the Export Makefile command and run
|
||||
!MESSAGE
|
||||
!MESSAGE NMAKE /f "icecastService.mak".
|
||||
!MESSAGE
|
||||
!MESSAGE You can specify a configuration when running NMAKE
|
||||
!MESSAGE by defining the macro CFG on the command line. For example:
|
||||
!MESSAGE
|
||||
!MESSAGE NMAKE /f "icecastService.mak" CFG="icecastService - Win32 Debug"
|
||||
!MESSAGE
|
||||
!MESSAGE Possible choices for configuration are:
|
||||
!MESSAGE
|
||||
!MESSAGE "icecastService - Win32 Release" (based on "Win32 (x86) Console Application")
|
||||
!MESSAGE "icecastService - Win32 Debug" (based on "Win32 (x86) Console Application")
|
||||
!MESSAGE
|
||||
|
||||
# Begin Project
|
||||
# PROP AllowPerConfigDependencies 0
|
||||
# PROP Scc_ProjName ""
|
||||
# PROP Scc_LocalPath ""
|
||||
CPP=cl.exe
|
||||
RSC=rc.exe
|
||||
|
||||
!IF "$(CFG)" == "icecastService - Win32 Release"
|
||||
|
||||
# PROP BASE Use_MFC 0
|
||||
# PROP BASE Use_Debug_Libraries 0
|
||||
# PROP BASE Output_Dir "Release"
|
||||
# PROP BASE Intermediate_Dir "Release"
|
||||
# PROP BASE Target_Dir ""
|
||||
# PROP Use_MFC 0
|
||||
# PROP Use_Debug_Libraries 0
|
||||
# PROP Output_Dir "Release"
|
||||
# PROP Intermediate_Dir "releaseservice_tmp"
|
||||
# PROP Ignore_Export_Lib 0
|
||||
# PROP Target_Dir ""
|
||||
# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
|
||||
# ADD CPP /nologo /MT /W3 /GX /O2 /I "../" /I "../../libxslt/include" /I "../../curl/include" /I "../../iconv/include" /I "../../libxml2/include" /I "..\src" /I "..\src/httpp" /I "..\src/thread" /I "..\src/log" /I "..\src/avl" /I "..\src/net" /I "..\src/timings" /I "../../pthreads" /I "../../oggvorbis-win32sdk-1.0.1/include" /I "../../theora/include" /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /D "WIN32_SERVICE" /D "HAVE_CURL" /D "USE_YP" /D "HAVE_SYS_STAT_H" /D PACKAGE_VERSION=\"2.3.2\" /D "HAVE_THEORA" /YX /FD /D PACKAGE_STRING=\"Icecast-trunk\" /c
|
||||
# SUBTRACT CPP /X
|
||||
# ADD BASE RSC /l 0x409 /d "NDEBUG"
|
||||
# ADD RSC /l 0x409 /d "NDEBUG"
|
||||
BSC32=bscmake.exe
|
||||
# ADD BASE BSC32 /nologo
|
||||
# ADD BSC32 /nologo
|
||||
LINK32=link.exe
|
||||
# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386
|
||||
# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib libcurl.lib ogg_static_d.lib vorbis_static.lib libxml2.lib libxslt.lib iconv.lib pthreadVSE.lib ws2_32.lib theora_static_d.lib libspeex.lib /nologo /subsystem:console /machine:I386 /nodefaultlib:"libcd.lib" /nodefaultlib:"libcmtd.lib"
|
||||
# SUBTRACT LINK32 /pdb:none
|
||||
|
||||
!ELSEIF "$(CFG)" == "icecastService - Win32 Debug"
|
||||
|
||||
# PROP BASE Use_MFC 0
|
||||
# PROP BASE Use_Debug_Libraries 1
|
||||
# PROP BASE Output_Dir "icecastService___Win32_Debug"
|
||||
# PROP BASE Intermediate_Dir "icecastService___Win32_Debug"
|
||||
# PROP BASE Target_Dir ""
|
||||
# PROP Use_MFC 0
|
||||
# PROP Use_Debug_Libraries 1
|
||||
# PROP Output_Dir "Debug"
|
||||
# PROP Intermediate_Dir "debugservice_tmp"
|
||||
# PROP Ignore_Export_Lib 0
|
||||
# PROP Target_Dir ""
|
||||
# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c
|
||||
# ADD CPP /nologo /MTd /W3 /Gm /GX /ZI /Od /I "../" /I "../../libxslt/include" /I "../../curl/include" /I "../../iconv/include" /I "../../libxml2/include" /I "..\src" /I "..\src/httpp" /I "..\src/thread" /I "..\src/log" /I "..\src/avl" /I "..\src/net" /I "..\src/timings" /I "../../pthreads" /I "../../oggvorbis-win32sdk-1.0.1/include" /I "../../theora/include" /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /D "WIN32_SERVICE" /D "HAVE_CURL" /D "USE_YP" /D "HAVE_SYS_STAT_H" /D PACKAGE_VERSION=\"2.3.2\" /D "HAVE_THEORA" /YX /FD /GZ /c
|
||||
# ADD BASE RSC /l 0x409 /d "_DEBUG"
|
||||
# ADD RSC /l 0x409 /d "_DEBUG"
|
||||
BSC32=bscmake.exe
|
||||
# ADD BASE BSC32 /nologo
|
||||
# ADD BSC32 /nologo
|
||||
LINK32=link.exe
|
||||
# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
|
||||
# ADD LINK32 libcurl.lib ogg_static_d.lib vorbis_static.lib libxml2.lib libxslt.lib iconv.lib pthreadVC.lib ws2_32.lib theora_static_d.lib libspeex.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /nodefaultlib:"libcd.lib" /nodefaultlib:"libcmt.lib" /pdbtype:sept
|
||||
# SUBTRACT LINK32 /pdb:none
|
||||
|
||||
!ENDIF
|
||||
|
||||
# Begin Target
|
||||
|
||||
# Name "icecastService - Win32 Release"
|
||||
# Name "icecastService - Win32 Debug"
|
||||
# Begin Group "Source Files"
|
||||
|
||||
# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=.\icecastService.cpp
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=..\src\main.c
|
||||
# End Source File
|
||||
# End Group
|
||||
# Begin Group "Header Files"
|
||||
|
||||
# PROP Default_Filter "h;hpp;hxx;hm;inl"
|
||||
# End Group
|
||||
# Begin Group "Resource Files"
|
||||
|
||||
# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe"
|
||||
# End Group
|
||||
# End Target
|
||||
# End Project
|
@ -1,13 +0,0 @@
|
||||
//
|
||||
// ICECAST2WIN.RC2 - resources Microsoft Visual C++ does not edit directly
|
||||
//
|
||||
|
||||
#ifdef APSTUDIO_INVOKED
|
||||
#error this file is not editable by Microsoft Visual C++
|
||||
#endif //APSTUDIO_INVOKED
|
||||
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
// Add manually edited resources here...
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
@ -1,6 +0,0 @@
|
||||
## Process this file with automake to produce Makefile.in
|
||||
|
||||
AUTOMAKE_OPTIONS = foreign
|
||||
|
||||
EXTRA_DIST = Icecast2win.rc2
|
||||
|
@ -1,78 +0,0 @@
|
||||
//{{NO_DEPENDENCIES}}
|
||||
// Microsoft Developer Studio generated include file.
|
||||
// Used by Icecast2win.rc
|
||||
//
|
||||
#define IDM_ABOUTBOX 0x0010
|
||||
#define IDD_ABOUTBOX 100
|
||||
#define IDS_ABOUTBOX 101
|
||||
#define IDD_ICECAST2WIN_DIALOG 102
|
||||
#define IDR_MAINFRAME 128
|
||||
#define IDR_MENU1 132
|
||||
#define IDB_BITMAP1 134
|
||||
#define IDB_BITMAP2 135
|
||||
#define IDI_R 141
|
||||
#define IDI_G 142
|
||||
#define IDI_ICON1 142
|
||||
#define IDD_SERVERSTATUS 144
|
||||
#define IDD_SSTATUS 145
|
||||
#define IDD_CONFIGDIALOG 146
|
||||
#define IDD_STATSDIALOG 147
|
||||
#define IDB_BITMAP3 149
|
||||
#define IDB_BITMAP4 150
|
||||
#define IDB_BITMAP5 151
|
||||
#define IDB_BITMAP6 152
|
||||
#define IDR_MENU2 153
|
||||
#define IDR_MENU3 154
|
||||
#define IDC_CURSOR1 155
|
||||
#define IDC_CURSOR2 156
|
||||
#define IDB_BITMAP7 159
|
||||
#define IDR_TRAY 160
|
||||
#define IDR_MENU4 161
|
||||
#define IDB_BITMAP8 163
|
||||
#define IDB_BITMAP9 164
|
||||
#define IDC_MAINTAB 1000
|
||||
#define IDC_ERROR_EDIT 1003
|
||||
#define IDC_ACCESS_EDIT 1004
|
||||
#define IDC_CONFIG_EDIT 1006
|
||||
#define IDC_SERVERSTATUS 1008
|
||||
#define IDC_SOURCES_CONNECTED 1009
|
||||
#define IDC_NUMBER_CLIENTS 1010
|
||||
#define IDC_GROUP1 1011
|
||||
#define IDC_STATS_EDIT 1012
|
||||
#define IDC_CONFIG 1020
|
||||
#define IDC_STATSLIST 1021
|
||||
#define IDC_SOURCELIST 1022
|
||||
#define IDC_START 1023
|
||||
#define IDC_AUTOSTART 1024
|
||||
#define IDC_FILLER1 1025
|
||||
#define IDC_FILLER2 1026
|
||||
#define IDC_STATIC_SS 1029
|
||||
#define IDC_GLOBALSTAT_LIST 1030
|
||||
#define IDC_STATIC_GS 1031
|
||||
#define IDC_STATIC_SLS 1032
|
||||
#define IDC_RUNNINGFOR 1033
|
||||
#define IDC_STATIC_RUN 1034
|
||||
#define IDC_STATICBLACK 1035
|
||||
#define IDC_HIDESYSTRAY 1036
|
||||
#define ID_FILE_STARTSERVER 32771
|
||||
#define ID_FILE_EXIT 32772
|
||||
#define ID_FILE_STOPSERVER 32774
|
||||
#define ID_FILE 32775
|
||||
#define ID_POPUP_ADDTOGLOBALSTATLIST 32776
|
||||
#define ID__DELETEFROMGLOBALSTATS 32777
|
||||
#define ID__MAKETHISSTATTHEWINDOWTITLE 32779
|
||||
#define ID_BLANK_RESTORE 32780
|
||||
#define ID_ABOUT_HELP 32781
|
||||
#define ID_FILE_EDITCONFIGURATION 32782
|
||||
#define ID_ABOUT_CREDITS 32784
|
||||
|
||||
// Next default values for new objects
|
||||
//
|
||||
#ifdef APSTUDIO_INVOKED
|
||||
#ifndef APSTUDIO_READONLY_SYMBOLS
|
||||
#define _APS_NEXT_RESOURCE_VALUE 165
|
||||
#define _APS_NEXT_COMMAND_VALUE 32785
|
||||
#define _APS_NEXT_CONTROL_VALUE 1037
|
||||
#define _APS_NEXT_SYMED_VALUE 101
|
||||
#endif
|
||||
#endif
|
Binary file not shown.
Before Width: | Height: | Size: 5.2 KiB |
Binary file not shown.
Before Width: | Height: | Size: 5.2 KiB |
Loading…
Reference in New Issue
Block a user