The JUCE cross-platform C++ framework, with DISTRHO/KXStudio specific changes
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

157 lines
5.1KB

  1. /*
  2. ==============================================================================
  3. This file is part of the JUCE library - "Jules' Utility Class Extensions"
  4. Copyright 2004-7 by Raw Material Software ltd.
  5. ------------------------------------------------------------------------------
  6. JUCE can be redistributed and/or modified under the terms of the
  7. GNU General Public License, as published by the Free Software Foundation;
  8. either version 2 of the License, or (at your option) any later version.
  9. JUCE is distributed in the hope that it will be useful,
  10. but WITHOUT ANY WARRANTY; without even the implied warranty of
  11. MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  12. GNU General Public License for more details.
  13. You should have received a copy of the GNU General Public License
  14. along with JUCE; if not, visit www.gnu.org/licenses or write to the
  15. Free Software Foundation, Inc., 59 Temple Place, Suite 330,
  16. Boston, MA 02111-1307 USA
  17. ------------------------------------------------------------------------------
  18. If you'd like to release a closed-source product which uses JUCE, commercial
  19. licenses are also available: visit www.rawmaterialsoftware.com/juce for
  20. more information.
  21. ==============================================================================
  22. */
  23. //==============================================================================
  24. #ifndef __JUCE_WIN32_NATIVEINCLUDES_JUCEHEADER__
  25. #define __JUCE_WIN32_NATIVEINCLUDES_JUCEHEADER__
  26. #include "../../../juce_Config.h"
  27. #ifndef STRICT
  28. #define STRICT 1
  29. #endif
  30. #undef WIN32_LEAN_AND_MEAN
  31. #define WIN32_LEAN_AND_MEAN 1
  32. #ifdef _MSC_VER
  33. #pragma warning (push)
  34. #pragma warning (disable : 4100 4201 4514 4312)
  35. #endif
  36. #define _WIN32_WINNT 0x0500
  37. #define _UNICODE 1
  38. #define UNICODE 1
  39. #ifndef _WIN32_IE
  40. #define _WIN32_IE 0x0400
  41. #endif
  42. #include <windows.h>
  43. #include <windowsx.h>
  44. #include <commdlg.h>
  45. #include <shellapi.h>
  46. #include <mmsystem.h>
  47. #include <vfw.h>
  48. #include <tchar.h>
  49. #include <stddef.h>
  50. #include <ctime>
  51. #include <wininet.h>
  52. #include <nb30.h>
  53. #include <iphlpapi.h>
  54. #include <mapi.h>
  55. #include <float.h>
  56. #include <crtdbg.h>
  57. #include <process.h>
  58. #include <comutil.h>
  59. #include <Exdisp.h>
  60. #include <exdispid.h>
  61. #include <shlobj.h>
  62. #if JUCE_OPENGL
  63. #include <gl/gl.h>
  64. #endif
  65. #undef PACKED
  66. //==============================================================================
  67. #if JUCE_ASIO
  68. /*
  69. This is very frustrating - we only need to use a handful of definitions from
  70. a couple of the header files in Steinberg's ASIO SDK, and it'd be easy to copy
  71. about 30 lines of code into this cpp file to create a fully stand-alone ASIO
  72. implementation...
  73. ..unfortunately that would break Steinberg's license agreement for use of
  74. their SDK, so I'm not allowed to do this.
  75. This means that anyone who wants to use JUCE's ASIO abilities will have to:
  76. 1) Agree to Steinberg's licensing terms and download the ASIO SDK
  77. (see www.steinberg.net/Steinberg/Developers.asp).
  78. 2) Rebuild the whole of JUCE, setting the global definition JUCE_ASIO (you
  79. can un-comment the "#define JUCE_ASIO" line in juce_Config.h
  80. if you prefer). Make sure that your header search path will find the
  81. iasiodrv.h file that comes with the SDK. (Only about 2-3 of the SDK header
  82. files are actually needed - so to simplify things, you could just copy
  83. these into your JUCE directory).
  84. If you're compiling and you get an error here because you don't have the
  85. ASIO SDK installed, you can disable ASIO support by commenting-out the
  86. "#define JUCE_ASIO" line in juce_Config.h, and rebuild your Juce library.
  87. */
  88. #include "iasiodrv.h"
  89. #endif
  90. //==============================================================================
  91. #if JUCE_USE_CDBURNER
  92. /* You'll need the Platform SDK for these headers - if you don't have it and don't
  93. need to use CD-burning, then you might just want to disable the JUCE_USE_CDBURNER
  94. flag in juce_Config.h to avoid these includes.
  95. */
  96. #include <imapi.h>
  97. #include <imapierror.h>
  98. #endif
  99. //==============================================================================
  100. #if JUCE_QUICKTIME
  101. /* If you've got an include error here, you probably need to install the QuickTime SDK and
  102. add its header directory to your include path.
  103. Alternatively, if you don't need any QuickTime services, just turn off the JUCE_QUICKTIME
  104. flag in juce_Config.h
  105. */
  106. #include <Movies.h>
  107. #include <QTML.h>
  108. #include <QuickTimeComponents.h>
  109. #include <MediaHandlers.h>
  110. #include <ImageCodec.h>
  111. /* If you've got QuickTime 7 installed, then these COM objects should be found in
  112. the "\Program Files\Quicktime" directory. You'll need to add this directory to
  113. your include search path to make these import statements work.
  114. */
  115. #import <QTOLibrary.dll>
  116. #import <QTOControl.dll>
  117. #endif
  118. //==============================================================================
  119. #ifdef _MSC_VER
  120. #pragma warning (pop)
  121. #endif
  122. #endif // __JUCE_WIN32_NATIVEINCLUDES_JUCEHEADER__