Permalink
Browse files

Initial commit

  • Loading branch information...
Frank-Friemel committed Nov 20, 2018
0 parents commit a89763611752a697b32e9941762a2096b68dcbb7
Showing with 19,175 additions and 0 deletions.
  1. +2 −0 .gitattributes
  2. +32 −0 .gitignore
  3. BIN .vs/Shairport4w/v15/.suo
  4. +674 −0 LICENSE
  5. +24 −0 README.md
  6. +31 −0 Shairport4w.sln
  7. BIN img/Sp4w.png
  8. BIN img/airplay.PNG
  9. +77 −0 src/AboutDlg.cpp
  10. +32 −0 src/AboutDlg.h
  11. +2,359 −0 src/Bonjour/dns_sd.h
  12. +62 −0 src/ChangeNameDlg.cpp
  13. +52 −0 src/ChangeNameDlg.h
  14. +11 −0 src/Config.cpp
  15. +29 −0 src/Config.h
  16. +19 −0 src/DacpService.cpp
  17. +41 −0 src/DacpService.h
  18. +495 −0 src/DmapParser.cpp
  19. +54 −0 src/DmapParser.h
  20. +170 −0 src/ExtOptsDlg.cpp
  21. +57 −0 src/ExtOptsDlg.h
  22. +703 −0 src/HairTunes.cpp
  23. +266 −0 src/HairTunes.h
  24. +1 −0 src/LICENSE.md
  25. +2,016 −0 src/MainDlg.cpp
  26. +371 −0 src/MainDlg.h
  27. +15 −0 src/MyAppMessages.h
  28. +89 −0 src/MyBitmapButton.cpp
  29. +125 −0 src/MyBitmapButton.h
  30. +110 −0 src/PushPinButton.cpp
  31. +35 −0 src/PushPinButton.h
  32. +49 −0 src/RaopContext.h
  33. +409 −0 src/RaopContextImpl.h
  34. +392 −0 src/RaopDefs.h
  35. +1,113 −0 src/Shairport4w.cpp
  36. +1 −0 src/Shairport4w.h
  37. +923 −0 src/Shairport4w.rc
  38. +260 −0 src/Shairport4w.vcproj
  39. +356 −0 src/Shairport4w.vcxproj
  40. +273 −0 src/Shairport4w.vcxproj.filters
  41. +167 −0 src/TrayIcon.h
  42. +1,134 −0 src/alac.c
  43. +4 −0 src/alac.cpp
  44. +56 −0 src/alac.h
  45. +186 −0 src/http_parser.h
  46. +4 −0 src/packages.config
  47. BIN src/res/AdShadow.png
  48. BIN src/res/ArtShadow.png
  49. BIN src/res/ProgressShadow.png
  50. BIN src/res/Shairport4w.ico
  51. BIN src/res/fast_forward.png
  52. BIN src/res/fast_forward_disabled.png
  53. BIN src/res/fast_forward_pressed.png
  54. BIN src/res/mute.png
  55. BIN src/res/mute_pressed.png
  56. BIN src/res/pause.png
  57. BIN src/res/pause_disabled.png
  58. BIN src/res/pause_pressed.png
  59. BIN src/res/play.png
  60. BIN src/res/play_disabled.png
  61. BIN src/res/play_pressed.png
  62. BIN src/res/ppin_pressed.png
  63. BIN src/res/ppin_released.png
  64. BIN src/res/rewind.png
  65. BIN src/res/rewind_disabled.png
  66. BIN src/res/rewind_pressed.png
  67. BIN src/res/skip_to_next.png
  68. BIN src/res/skip_to_next_disabled.png
  69. BIN src/res/skip_to_next_pressed.png
  70. BIN src/res/skip_to_prev.png
  71. BIN src/res/skip_to_prev_disabled.png
  72. BIN src/res/skip_to_prev_pressed.png
  73. BIN src/res/update-16.bmp
  74. BIN src/res/wmc.png
  75. +161 −0 src/resource.h
  76. +732 −0 src/shared/AudioPlayer.cpp
  77. +44 −0 src/shared/AudioPlayer.h
  78. +964 −0 src/shared/Networking.cpp
  79. +140 −0 src/shared/Networking.h
  80. +246 −0 src/shared/base64.cpp
  81. +15 −0 src/shared/base64.h
  82. +371 −0 src/shared/myCrypt.h
  83. +107 −0 src/shared/myMutex.h
  84. +146 −0 src/shared/myQueue.h
  85. +241 −0 src/shared/myThread.h
  86. +1,247 −0 src/shared/utils.cpp
  87. +274 −0 src/shared/utils.h
  88. +718 −0 src/sp_bonjour.cpp
  89. +156 −0 src/sp_bonjour.h
  90. +9 −0 src/stdafx.cpp
  91. +86 −0 src/stdafx.h
  92. +239 −0 src/stdint_win.h
@@ -0,0 +1,2 @@
# Auto detect text files and perform LF normalization
* text=auto
@@ -0,0 +1,32 @@
# Prerequisites
*.d
# Compiled Object files
*.slo
*.lo
*.o
*.obj
# Precompiled Headers
*.gch
*.pch
# Compiled Dynamic libraries
*.so
*.dylib
*.dll
# Fortran module files
*.mod
*.smod
# Compiled Static libraries
*.lai
*.la
*.a
*.lib
# Executables
*.exe
*.out
*.app
Binary file not shown.
674 LICENSE

Large diffs are not rendered by default.

Oops, something went wrong.
@@ -0,0 +1,24 @@
# Shairport4w
An AirPlay Audio-Receiver for your Windows-PC
Play audio content from your iPhone, iPad, iPod or iTunes on your PC with Shairport4w.
AirPlay lets you wirelessly stream what's on your iOS device whenever you see the AirPlay symbol
Download pre compiled binaries from [`Releases`](https://github.com/Frank-Friemel/Shairport4w/releases)
When being asked by your Firewall you should grant access to your LAN if secure. Protect Shairport4w with a password
to be sure nobody is misusing this service
### Third party libraries
* [`WTL`](https://sourceforge.net/projects/wtl) Windows Template Library
### Thanks
* Thanks to James Laird who implemented the original version of "Shairport"
### License
GPL. Sources that deviate from this license are marked by a header
### Screen
![GUI](img/Sp4w.png)
![iOS](img/airplay.png)
@@ -0,0 +1,31 @@

Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio 15
VisualStudioVersion = 15.0.28010.2036
MinimumVisualStudioVersion = 10.0.40219.1
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Shairport4w", "src\Shairport4w.vcxproj", "{08EF1AEC-E1A6-4836-A398-1281F0E0C242}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Win32 = Debug|Win32
Debug|x64 = Debug|x64
Release|Win32 = Release|Win32
Release|x64 = Release|x64
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{08EF1AEC-E1A6-4836-A398-1281F0E0C242}.Debug|Win32.ActiveCfg = Debug|Win32
{08EF1AEC-E1A6-4836-A398-1281F0E0C242}.Debug|Win32.Build.0 = Debug|Win32
{08EF1AEC-E1A6-4836-A398-1281F0E0C242}.Debug|x64.ActiveCfg = Debug|x64
{08EF1AEC-E1A6-4836-A398-1281F0E0C242}.Debug|x64.Build.0 = Debug|x64
{08EF1AEC-E1A6-4836-A398-1281F0E0C242}.Release|Win32.ActiveCfg = Release|Win32
{08EF1AEC-E1A6-4836-A398-1281F0E0C242}.Release|Win32.Build.0 = Release|Win32
{08EF1AEC-E1A6-4836-A398-1281F0E0C242}.Release|x64.ActiveCfg = Release|x64
{08EF1AEC-E1A6-4836-A398-1281F0E0C242}.Release|x64.Build.0 = Release|x64
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
SolutionGuid = {CFC55654-29B1-4DD3-9CDD-4A2427941952}
EndGlobalSection
EndGlobal
BIN +32.1 KB img/Sp4w.png
Binary file not shown.
BIN +92.2 KB img/airplay.PNG
Binary file not shown.
@@ -0,0 +1,77 @@
/*
*
* AboutDlg.cpp
*
*/
#include "stdafx.h"
#include "resource.h"
#include "MyBitmapButton.h"
#include "aboutdlg.h"
typedef BOOL (WINAPI *LPFN_ISWOW64PROCESS) (HANDLE, PBOOL);
static bool _IsWow64()
{
LPFN_ISWOW64PROCESS fnIsWow64Process;
BOOL bIsWow64 = FALSE;
fnIsWow64Process = (LPFN_ISWOW64PROCESS)GetProcAddress(::GetModuleHandleA("kernel32"),"IsWow64Process");
if (NULL != fnIsWow64Process)
{
if (!fnIsWow64Process(GetCurrentProcess(), &bIsWow64))
{
bIsWow64 = FALSE;
}
}
return bIsWow64 ? true : false;
}
static BOOL BrowseForDirectory(HWND hWnd, LPCTSTR szTitle, LPTSTR szPath, UINT uiFlag /*=0*/)
{
BROWSEINFO bi;
memset(&bi, 0, sizeof(bi));
bi.hwndOwner = hWnd;
bi.pidlRoot = NULL;
bi.pszDisplayName = szPath;
bi.lpszTitle = szTitle;
bi.ulFlags = BIF_RETURNONLYFSDIRS | uiFlag;
bi.lpfn = NULL;
bi.lParam = NULL;
LPITEMIDLIST pidl = SHBrowseForFolder(&bi);
if (pidl)
return SHGetPathFromIDList(pidl, szPath);
return FALSE;
}
LRESULT CAboutDlg::OnInitDialog(UINT /*uMsg*/, WPARAM /*wParam*/, LPARAM /*lParam*/, BOOL& /*bHandled*/)
{
CenterWindow(GetParent());
// set icons
HICON hIcon = (HICON)::LoadImage(_Module.GetResourceInstance(), MAKEINTRESOURCE(IDR_MAINFRAME),
IMAGE_ICON, ::GetSystemMetrics(SM_CXICON), ::GetSystemMetrics(SM_CYICON), LR_DEFAULTCOLOR);
SetIcon(hIcon, TRUE);
m_hIconSmall = (HICON)::LoadImage(_Module.GetResourceInstance(), MAKEINTRESOURCE(IDR_MAINFRAME),
IMAGE_ICON, ::GetSystemMetrics(SM_CXSMICON), ::GetSystemMetrics(SM_CYSMICON), LR_DEFAULTCOLOR);
SetIcon(m_hIconSmall, FALSE);
DoDataExchange(FALSE);
return TRUE;
}
LRESULT CAboutDlg::OnCloseCmd(WORD /*wNotifyCode*/, WORD wID, HWND /*hWndCtl*/, BOOL& /*bHandled*/)
{
EndDialog(wID);
return 0;
}
@@ -0,0 +1,32 @@
/*
*
* AboutDlg.h
*
*/
#pragma once
class CAboutDlg : public CDialogImpl<CAboutDlg>, public CWinDataExchange<CAboutDlg>
{
public:
enum { IDD = IDD_ABOUTBOX };
protected:
BEGIN_DDX_MAP(CAboutDlg)
DDX_TEXT(IDC_STATIC_VERSION, m_strVersion)
END_DDX_MAP()
BEGIN_MSG_MAP_EX(CAboutDlg)
MESSAGE_HANDLER(WM_INITDIALOG, OnInitDialog)
COMMAND_ID_HANDLER(IDOK, OnCloseCmd)
COMMAND_ID_HANDLER(IDCANCEL, OnCloseCmd)
END_MSG_MAP()
LRESULT OnInitDialog(UINT /*uMsg*/, WPARAM /*wParam*/, LPARAM /*lParam*/, BOOL& /*bHandled*/);
LRESULT OnCloseCmd(WORD /*wNotifyCode*/, WORD wID, HWND /*hWndCtl*/, BOOL& /*bHandled*/);
ATL::CString m_strVersion;
private:
HICON m_hIconSmall;
};
Oops, something went wrong.

0 comments on commit a897636

Please sign in to comment.