Click here to Skip to main content
11,721,289 members (82,135 online)
Click here to Skip to main content
Add your own
alternative version

Multidevice ASIO output plugin for WinAMP

, 13 Feb 2009 CDDL 26.9K 372 21
A tiny WinAMP output DLL that uses a C++ replacement of the official ASIO SDK that supports multiple ASIO devices.
// stdafx.h : precompiled headers file

#pragma once

// target platform defines
#ifndef WINVER				// Allow use of features specific to Windows XP or later.
#define WINVER 0x0501		// Change this to the appropriate value to target other versions of Windows.
#endif

#ifndef _WIN32_WINNT		// Allow use of features specific to Windows XP or later.                   
#define _WIN32_WINNT 0x0501	// Change this to the appropriate value to target other versions of Windows.
#endif						

#ifndef _WIN32_WINDOWS		// Allow use of features specific to Windows 98 or later.
#define _WIN32_WINDOWS 0x0410 // Change this to the appropriate value to target Windows Me or later.
#endif

#ifndef _WIN32_IE			// Allow use of features specific to IE 7.0 or later.
#define _WIN32_IE 0x0700	// Change this to the appropriate value to target other versions of IE.
#endif

//#define WIN32_LEAN_AND_MEAN		// Exclude rarely-used stuff from Windows headers.
                                    // ExtractIcon requires shellapi.h so this must be disabled or
                                    // shellapi.h must be manually included before atlapp.h. This
                                    // seems cleaner although it slows down compilation a bit.

//#define NOMINMAX                  // Required by ATL

#define OEMRESOURCE

#define _RICHEDIT_VER	0x0210


#include "useCommonControls6.0.h"

// Windows Header Files:
#include <windows.h>

// STL
#ifdef _DO_NOT_DECLARE_INTERLOCKED_INTRINSICS_IN_MEMORY
    //  <memory> forward declares some interlocked intrinsics as __cdecl which
    // makes it incompatible with /Gr so the above macro must be used but
    // intrin.h then must be manually included before <memory> (or any other
    // header that includes it).
    #include "intrin.h"
#endif

#if !_HAS_EXCEPTIONS
    #pragma warning(push)
    #pragma warning(disable: 4127)  // Conditional expression is constant.
    #pragma warning(disable: 4390)  // Empty controlled statement found.
#endif
    #include <list>
#if !_HAS_EXCEPTIONS
    #pragma warning(pop)
#endif
#include <map>
#include <string>
#include <vector>

// CRT
#include <cassert>

By viewing downloads associated with this article you agree to the Terms of Service and the article's licence.

If a file you wish to view isn't highlighted, and is a text file (not binary), please let us know and we'll add colourisation support for it.

License

This article, along with any associated source code and files, is licensed under The Common Development and Distribution License (CDDL)

Share

About the Author

Domagoj Šarić
Software Developer Little Endian Ltd.
Croatia Croatia
No Biography provided

You may also be interested in...

| Advertise | Privacy | Terms of Use | Mobile
Web02 | 2.8.150901.1 | Last Updated 13 Feb 2009
Article Copyright 2009 by Domagoj Šarić
Everything else Copyright © CodeProject, 1999-2015
Layout: fixed | fluid