void get_alsa_audio_device_names (std::map<std::string, std::string>& devices);
void get_alsa_rawmidi_device_names (std::map<std::string, std::string>& devices);
+ void get_alsa_sequencer_names (std::map<std::string, std::string>& devices);
int card_to_num(const char* device_name);
}
}
}
+void
+ARDOUR::get_alsa_sequencer_names (std::map<std::string, std::string>& devices)
+{
+ snd_seq_t *seq= NULL;
+ snd_seq_client_info_t *cinfo;
+ snd_seq_port_info_t *pinfo;
+
+ snd_seq_client_info_alloca (&cinfo);
+ snd_seq_port_info_alloca (&pinfo);
+
+ if (snd_seq_open (&seq, "hw", SND_SEQ_OPEN_DUPLEX, 0) < 0) {
+ return;
+ }
+
+ snd_seq_client_info_set_client(cinfo, -1);
+ while (snd_seq_query_next_client (seq, cinfo) >= 0) {
+ int client = snd_seq_client_info_get_client (cinfo);
+ if (client == SND_SEQ_CLIENT_SYSTEM) {
+ continue;
+ }
+ if (!strcmp (snd_seq_client_info_get_name(cinfo), "Midi Through")) {
+ continue;
+ }
+ snd_seq_port_info_set_client (pinfo, client);
+ snd_seq_port_info_set_port (pinfo, -1);
+
+ while (snd_seq_query_next_port (seq, pinfo) >= 0) {
+ int caps = snd_seq_port_info_get_capability(pinfo);
+ if (0 == (caps & (SND_SEQ_PORT_CAP_READ | SND_SEQ_PORT_CAP_WRITE))) {
+ continue;
+ }
+ if (caps & SND_SEQ_PORT_CAP_NO_EXPORT) {
+ continue;
+ }
+ std::string card_name;
+ card_name = snd_seq_port_info_get_name (pinfo);
+
+ card_name += " (";
+ if (caps & SND_SEQ_PORT_CAP_READ) card_name += "I";
+ if (caps & SND_SEQ_PORT_CAP_WRITE) card_name += "O";
+ card_name += ")";
+
+ std::string devname;
+ devname = PBD::to_string(snd_seq_port_info_get_client (pinfo), std::dec);
+ devname += ":";
+ devname += PBD::to_string(snd_seq_port_info_get_port (pinfo), std::dec);
+ devices.insert (std::make_pair (card_name, devname));
+ }
+ }
+ snd_seq_close (seq);
+}
+
int
ARDOUR::card_to_num(const char* device_name)
{
--- /dev/null
+<?xml version="1.0" encoding="Windows-1252"?>
+<VisualStudioProject
+ ProjectType="Visual C++"
+ Version="8.00"
+ Name="dummy_audiobackend"
+ ProjectGUID="{A72277FF-4C0C-4851-9751-2F524507A052}"
+ RootNamespace="dummy_audiobackend"
+ >
+ <Platforms>
+ <Platform
+ Name="Win32"
+ />
+ </Platforms>
+ <ToolFiles>
+ </ToolFiles>
+ <Configurations>
+ <Configuration
+ Name="Debug 32|Win32"
+ OutputDirectory="$(ProjectDir)\$(ConfigurationName)\bin"
+ IntermediateDirectory="$(ProjectDir)\$(ConfigurationName)\obj\$(ProjectName)"
+ ConfigurationType="2"
+ InheritedPropertySheets="..\..\..\MSVCMixbus3\MSVCMixbus3.vsprops"
+ CharacterSet="2"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalOptions="/FI$(TargetSxsFolder)\targetsxs.h"
+ Optimization="0"
+ AdditionalIncludeDirectories="..;..\dummy;..\..\ardour;..\..\pbd;..\..\timecode;..\..\evoral;"..\..\midi++2";"$(GenericIncludeFolder)\ardourext";"$(GenericLibraryFolder)\glib-2.0\include";"$(GenericIncludeFolder)\libsndfile";"$(GenericIncludeFolder)\gtk-2.0";"$(GenericIncludeFolder)\cairo";"$(GenericIncludeFolder)\freetype2";"$(GenericIncludeFolder)\pango-1.0";"$(GenericIncludeFolder)\gtk-2.0\gdk";"$(GenericIncludeFolder)\atk-2.0";"$(GenericIncludeFolder)\lrdf";"$(GenericIncludeFolder)\raptor";"$(GenericIncludeFolder)\boost";..\.."
+ PreprocessorDefinitions="PLATFORM_WINDOWS;COMPILER_MSVC;BUILDING_DUMMY_BACKEND;ARDOURBACKEND_DLL_EXPORTS;RUBBERBAND_IS_IN_WIN_STATIC_LIB;NOMINMAX;NO_POSIX_MEMALIGN;INCLUDE_ARDOUR_MISCELLANEOUS=1;BOOST_REGEX_DYN_LINK;BOOST_REGEX_NO_LIB;BOOST_CHRONO_NO_LIB;BOOST_SYSTEM_NO_LIB;BOOST_THREAD_NO_LIB;BOOST_DATE_TIME_NO_LIB;GNU_WIN32;WIN32;_WIN32;_WINDOWS;_DEBUG;DEBUG="Debug";ARCH_X86;USE_XMMINTRIN;BUILD_SSE_OPTIMIZATIONS;ENABLE_NLS;PROGRAM_NAME="\"Mixbus\"";PACKAGE="\"libardour_dummy\"";_REENTRANT;_USE_MATH_DEFINES;_LARGEFILE_SOURCE;_LARGEFILE64_SOURCE;LIBC_DISABLE_DEPRECATED;BOOST_SYSTEM_NO_DEPRECATED;__STDC_LIMIT_MACROS;__STDC_FORMAT_MACROS;INTERNAL_SHARED_LIBS=1;JACK_SESSION=1;HAVE_GLIB=1;HAVE_GTHREAD=1;HAVE_SNDFILE=1;HAVE_GIOMM=1;HAVE_CURL=1;HAVE_LO=1;HAVE_MODE_T=1;PHONE_HOME=1;FREESOUND=1;WINDOWS_KEY=\"Mod4><Super\";IS_OSX=0;HAVE_XML=1;HAVE_UUID=1;HAVE_LIBS_PBD=1;HAVE_JACK=1;HAVE_LIBS_MIDIPP2=1;HAVE_LIBS_EVORAL=1;HAVE_FFTW3=1;HAVE_FFTW3F=1;HAVE_AUBIO=1;HAVE_LIBS_VAMP_SDK=1;HAVE_LIBS_VAMP_PLUGINS=1;HAVE_LIBS_TAGLIB=1;HAVE_LIBS_LIBLTC=1;HAVE_LIBS_RUBBERBAND=1;HAVE_CONTROL_PROTOCOL=1;HAVE_FRONTIER=1;HAVE_GENERIC_MIDI=1;HAVE_MACKIE=1;HAVE_OSC=1;HAVE_TRANZPORT=1;HAVE_WIIMOTE=1;HAVE_LIBS_SURFACES=1;HAVE_2IN2OUT=1;HAVE_1IN2OUT=1;HAVE_VBAP=1;HAVE_LIBS_PANNERS=1;HAVE_LIBS_TIMECODE=1;HAVE_LRDF=1;HAVE_SAMPLERATE=1;HAVE_SERD=1;HAVE_SORD=1;HAVE_SRATOM=1;HAVE_LILV=1;HAVE_NEW_LILV=1;HAVE_OGG=1;HAVE_FLAC=1;HAVE_RUBBERBAND=1;USE_RUBBERBAND=1;HAVE_JACK_SESSION=1;HAVE_UNISTD=1;HAVE_JACK_ON_INFO_SHUTDOWN=1;HAVE_JACK_VIDEO_SUPPORT=1;HAVE_BOOST_SCOPED_PTR_HPP=1;HAVE_BOOST_PTR_CONTAINER_PTR_LIST_HPP=1;HAVE_LIBS_ARDOUR=1;HAVE_GTKMM=1;HAVE_GTK=1;HAVE_LIBS_GTKMM2EXT=1;HAVE_LIBS_CLEARLOOKS_NEWER=1;HAVE_BOOST_FORMAT_HPP=1;HAVE_LIBS_AUDIOGRAPHER=1;HAVE_GNOMECANVAS=0;HAVE_GNOMECANVASMM=0;HAVE_X11=0;HAVE_FONTCONFIG=1;HAVE_BOOST_SHARED_PTR_HPP=1;HAVE_BOOST_WEAK_PTR_HPP=1;HAVE_GTK2_ARDOUR=1;HAVE_EXPORT=1;HAVE_MIDI_MAPS=1;HAVE_MCP=1;HAVE_PATCHFILES=1;HAVE_TOOLS_SANITY_CHECK=1;SMF_VERSION=\"1.2\";CURRENT_SESSION_FILE_VERSION=3001"
+ MinimalRebuild="true"
+ RuntimeLibrary="3"
+ WarningLevel="3"
+ DebugInformationFormat="3"
+ CompileAs="2"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ AdditionalDependencies="$(DllPrefix)glibmm32-2.4-0D.lib $(DllPrefix)giomm32-2.4-0D.lib boost-regex32D.lib pthreadVCE2.lib $(DllPrefix)gthread32-2.0-0D.lib $(DllPrefix)gobject32-2.0-0D.lib $(DllPrefix)gmodule32-2.0-0D.lib $(DllPrefix)glib32-2.0-0D.lib $(DllPrefix)gio32-2.0-0D.lib $(DllPrefix)sigc++32-2.0D.lib $(DllPrefix)timecode32D.lib $(DllPrefix)ardour32D.lib $(DllPrefix)pbd32D.lib intlD.lib ws2_32.lib psapi.lib wininet.lib kernel32.lib shell32.lib"
+ OutputFile="$(OutDir)\$(ProjectName)D.dll"
+ AdditionalLibraryDirectories="F:\pthread-win32\Pre-built.2\lib"
+ IgnoreDefaultLibraryNames="libboost_regex-vc80-mt-gd-1_40.lib;msvcrt.lib;dsound.lib"
+ GenerateDebugInformation="true"
+ SubSystem="2"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCManifestTool"
+ UseFAT32Workaround="true"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCAppVerifierTool"
+ />
+ <Tool
+ Name="VCWebDeploymentTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ CommandLine="copy /Y "$(OutDir)\$(TargetName).dll" "$(Debug32TargetFolder)\..\lib\ardour3\backends\$(TargetName).dll"
copy /Y "$(OutDir)\$(TargetName).dll" "$(Debug32TestSuiteFolder)\..\lib\ardour3\backends\$(TargetName).dll"
copy /Y "$(OutDir)\$(TargetName).lib" "$(GenericWin32LibraryFolder)\$(TargetName).lib"
"
+ />
+ </Configuration>
+ <Configuration
+ Name="Release 32|Win32"
+ OutputDirectory="$(ProjectDir)\$(ConfigurationName)\bin"
+ IntermediateDirectory="$(ProjectDir)\$(ConfigurationName)\obj\$(ProjectName)"
+ ConfigurationType="2"
+ InheritedPropertySheets="..\..\..\MSVCMixbus3\MSVCMixbus3.vsprops"
+ CharacterSet="2"
+ WholeProgramOptimization="1"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalOptions="/FI$(TargetSxsFolder)\targetsxs.h"
+ Optimization="2"
+ InlineFunctionExpansion="1"
+ AdditionalIncludeDirectories="..;..\dummy;..\..\ardour;..\..\pbd;..\..\timecode;..\..\evoral;"..\..\midi++2";"$(GenericIncludeFolder)\ardourext";"$(GenericLibraryFolder)\glib-2.0\include";"$(GenericIncludeFolder)\libsndfile";"$(GenericIncludeFolder)\gtk-2.0";"$(GenericIncludeFolder)\cairo";"$(GenericIncludeFolder)\freetype2";"$(GenericIncludeFolder)\pango-1.0";"$(GenericIncludeFolder)\gtk-2.0\gdk";"$(GenericIncludeFolder)\atk-2.0";"$(GenericIncludeFolder)\lrdf";"$(GenericIncludeFolder)\raptor";"$(GenericIncludeFolder)\boost";..\.."
+ PreprocessorDefinitions="PLATFORM_WINDOWS;COMPILER_MSVC;_SECURE_SCL=0;BUILDING_DUMMY_BACKEND;ARDOURBACKEND_DLL_EXPORTS;RUBBERBAND_IS_IN_WIN_STATIC_LIB;NOMINMAX;NO_POSIX_MEMALIGN;INCLUDE_ARDOUR_MISCELLANEOUS=1;BOOST_REGEX_DYN_LINK;BOOST_REGEX_NO_LIB;BOOST_CHRONO_NO_LIB;BOOST_SYSTEM_NO_LIB;BOOST_THREAD_NO_LIB;BOOST_DATE_TIME_NO_LIB;GNU_WIN32;WIN32;_WIN32;_WINDOWS;NDEBUG;ARCH_X86;USE_XMMINTRIN;BUILD_SSE_OPTIMIZATIONS;ENABLE_NLS;PROGRAM_NAME="\"Mixbus\"";PACKAGE="\"libardour_dummy\"";_REENTRANT;_USE_MATH_DEFINES;_LARGEFILE_SOURCE;_LARGEFILE64_SOURCE;LIBC_DISABLE_DEPRECATED;BOOST_SYSTEM_NO_DEPRECATED;__STDC_LIMIT_MACROS;__STDC_FORMAT_MACROS;INTERNAL_SHARED_LIBS=1;JACK_SESSION=1;HAVE_GLIB=1;HAVE_GTHREAD=1;HAVE_SNDFILE=1;HAVE_GIOMM=1;HAVE_CURL=1;HAVE_LO=1;HAVE_MODE_T=1;PHONE_HOME=1;FREESOUND=1;WINDOWS_KEY=\"Mod4><Super\";IS_OSX=0;HAVE_XML=1;HAVE_UUID=1;HAVE_LIBS_PBD=1;HAVE_JACK=1;HAVE_LIBS_MIDIPP2=1;HAVE_LIBS_EVORAL=1;HAVE_FFTW3=1;HAVE_FFTW3F=1;HAVE_AUBIO=1;HAVE_LIBS_VAMP_SDK=1;HAVE_LIBS_VAMP_PLUGINS=1;HAVE_LIBS_TAGLIB=1;HAVE_LIBS_LIBLTC=1;HAVE_LIBS_RUBBERBAND=1;HAVE_CONTROL_PROTOCOL=1;HAVE_FRONTIER=1;HAVE_GENERIC_MIDI=1;HAVE_MACKIE=1;HAVE_OSC=1;HAVE_TRANZPORT=1;HAVE_WIIMOTE=1;HAVE_LIBS_SURFACES=1;HAVE_2IN2OUT=1;HAVE_1IN2OUT=1;HAVE_VBAP=1;HAVE_LIBS_PANNERS=1;HAVE_LIBS_TIMECODE=1;HAVE_LRDF=1;HAVE_SAMPLERATE=1;HAVE_SERD=1;HAVE_SORD=1;HAVE_SRATOM=1;HAVE_LILV=1;HAVE_NEW_LILV=1;HAVE_OGG=1;HAVE_FLAC=1;HAVE_RUBBERBAND=1;USE_RUBBERBAND=1;HAVE_JACK_SESSION=1;HAVE_UNISTD=1;HAVE_JACK_ON_INFO_SHUTDOWN=1;HAVE_JACK_VIDEO_SUPPORT=1;HAVE_BOOST_SCOPED_PTR_HPP=1;HAVE_BOOST_PTR_CONTAINER_PTR_LIST_HPP=1;HAVE_LIBS_ARDOUR=1;HAVE_GTKMM=1;HAVE_GTK=1;HAVE_LIBS_GTKMM2EXT=1;HAVE_LIBS_CLEARLOOKS_NEWER=1;HAVE_BOOST_FORMAT_HPP=1;HAVE_LIBS_AUDIOGRAPHER=1;HAVE_GNOMECANVAS=0;HAVE_GNOMECANVASMM=0;HAVE_X11=0;HAVE_FONTCONFIG=1;HAVE_BOOST_SHARED_PTR_HPP=1;HAVE_BOOST_WEAK_PTR_HPP=1;HAVE_GTK2_ARDOUR=1;HAVE_EXPORT=1;HAVE_MIDI_MAPS=1;HAVE_MCP=1;HAVE_PATCHFILES=1;HAVE_TOOLS_SANITY_CHECK=1;SMF_VERSION=\"1.2\";CURRENT_SESSION_FILE_VERSION=3001"
+ StringPooling="false"
+ RuntimeLibrary="2"
+ EnableEnhancedInstructionSet="1"
+ WarningLevel="3"
+ CompileAs="2"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ AdditionalDependencies="$(DllPrefix)glibmm32-2.4-0.lib $(DllPrefix)giomm32-2.4-0.lib boost-regex32.lib pthreadVCE2.lib $(DllPrefix)gthread32-2.0-0.lib $(DllPrefix)gobject32-2.0-0.lib $(DllPrefix)gmodule32-2.0-0.lib $(DllPrefix)glib32-2.0-0.lib $(DllPrefix)gio32-2.0-0.lib $(DllPrefix)sigc++32-2.0.lib $(DllPrefix)timecode32.lib $(DllPrefix)ardour32.lib $(DllPrefix)pbd32.lib intl.lib ws2_32.lib psapi.lib wininet.lib kernel32.lib shell32.lib"
+ OutputFile="$(OutDir)\$(ProjectName).dll"
+ AdditionalLibraryDirectories="F:\pthread-win32\Pre-built.2\lib"
+ IgnoreDefaultLibraryNames="libboost_regex-vc80-mt-gd-1_40.lib;dsound.lib"
+ GenerateDebugInformation="false"
+ SubSystem="2"
+ OptimizeReferences="1"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCManifestTool"
+ UseFAT32Workaround="true"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCAppVerifierTool"
+ />
+ <Tool
+ Name="VCWebDeploymentTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ CommandLine="copy /Y "$(OutDir)\$(TargetName).dll" "$(Release32TargetFolder)\..\lib\ardour3\backends\$(TargetName).dll"
copy /Y "$(OutDir)\$(TargetName).dll" "$(Release32TestSuiteFolder)\..\lib\ardour3\backends\$(TargetName).dll"
copy /Y "$(OutDir)\$(TargetName).lib" "$(GenericWin32LibraryFolder)\$(TargetName).lib"
"
+ />
+ </Configuration>
+ <Configuration
+ Name="Release 32 with Debugging Capability|Win32"
+ OutputDirectory="$(ProjectDir)\$(ConfigurationName)\bin"
+ IntermediateDirectory="$(ProjectDir)\$(ConfigurationName)\obj\$(ProjectName)"
+ ConfigurationType="2"
+ InheritedPropertySheets="..\..\..\MSVCMixbus3\MSVCMixbus3.vsprops"
+ CharacterSet="2"
+ WholeProgramOptimization="0"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalOptions="/FI$(TargetSxsFolder)\targetsxs.h"
+ Optimization="0"
+ AdditionalIncludeDirectories="..;..\dummy;..\..\ardour;..\..\pbd;..\..\timecode;..\..\evoral;"..\..\midi++2";"$(GenericIncludeFolder)\ardourext";"$(GenericLibraryFolder)\glib-2.0\include";"$(GenericIncludeFolder)\libsndfile";"$(GenericIncludeFolder)\gtk-2.0";"$(GenericIncludeFolder)\cairo";"$(GenericIncludeFolder)\freetype2";"$(GenericIncludeFolder)\pango-1.0";"$(GenericIncludeFolder)\gtk-2.0\gdk";"$(GenericIncludeFolder)\atk-2.0";"$(GenericIncludeFolder)\lrdf";"$(GenericIncludeFolder)\raptor";"$(GenericIncludeFolder)\boost";..\.."
+ PreprocessorDefinitions="PLATFORM_WINDOWS;COMPILER_MSVC;_SECURE_SCL=0;BUILDING_DUMMY_BACKEND;ARDOURBACKEND_DLL_EXPORTS;RUBBERBAND_IS_IN_WIN_STATIC_LIB;NOMINMAX;NO_POSIX_MEMALIGN;INCLUDE_ARDOUR_MISCELLANEOUS=1;BOOST_REGEX_DYN_LINK;BOOST_REGEX_NO_LIB;BOOST_CHRONO_NO_LIB;BOOST_SYSTEM_NO_LIB;BOOST_THREAD_NO_LIB;BOOST_DATE_TIME_NO_LIB;GNU_WIN32;WIN32;_WIN32;_WINDOWS;ARCH_X86;USE_XMMINTRIN;BUILD_SSE_OPTIMIZATIONS;ENABLE_NLS;PROGRAM_NAME="\"Mixbus\"";PACKAGE="\"libardour_dummy\"";_REENTRANT;_USE_MATH_DEFINES;_LARGEFILE_SOURCE;_LARGEFILE64_SOURCE;LIBC_DISABLE_DEPRECATED;BOOST_SYSTEM_NO_DEPRECATED;__STDC_LIMIT_MACROS;__STDC_FORMAT_MACROS;INTERNAL_SHARED_LIBS=1;JACK_SESSION=1;HAVE_GLIB=1;HAVE_GTHREAD=1;HAVE_SNDFILE=1;HAVE_GIOMM=1;HAVE_CURL=1;HAVE_LO=1;HAVE_MODE_T=1;PHONE_HOME=1;FREESOUND=1;WINDOWS_KEY=\"Mod4><Super\";IS_OSX=0;HAVE_XML=1;HAVE_UUID=1;HAVE_LIBS_PBD=1;HAVE_JACK=1;HAVE_LIBS_MIDIPP2=1;HAVE_LIBS_EVORAL=1;HAVE_FFTW3=1;HAVE_FFTW3F=1;HAVE_AUBIO=1;HAVE_LIBS_VAMP_SDK=1;HAVE_LIBS_VAMP_PLUGINS=1;HAVE_LIBS_TAGLIB=1;HAVE_LIBS_LIBLTC=1;HAVE_LIBS_RUBBERBAND=1;HAVE_CONTROL_PROTOCOL=1;HAVE_FRONTIER=1;HAVE_GENERIC_MIDI=1;HAVE_MACKIE=1;HAVE_OSC=1;HAVE_TRANZPORT=1;HAVE_WIIMOTE=1;HAVE_LIBS_SURFACES=1;HAVE_2IN2OUT=1;HAVE_1IN2OUT=1;HAVE_VBAP=1;HAVE_LIBS_PANNERS=1;HAVE_LIBS_TIMECODE=1;HAVE_LRDF=1;HAVE_SAMPLERATE=1;HAVE_SERD=1;HAVE_SORD=1;HAVE_SRATOM=1;HAVE_LILV=1;HAVE_NEW_LILV=1;HAVE_OGG=1;HAVE_FLAC=1;HAVE_RUBBERBAND=1;USE_RUBBERBAND=1;HAVE_JACK_SESSION=1;HAVE_UNISTD=1;HAVE_JACK_ON_INFO_SHUTDOWN=1;HAVE_JACK_VIDEO_SUPPORT=1;HAVE_BOOST_SCOPED_PTR_HPP=1;HAVE_BOOST_PTR_CONTAINER_PTR_LIST_HPP=1;HAVE_LIBS_ARDOUR=1;HAVE_GTKMM=1;HAVE_GTK=1;HAVE_LIBS_GTKMM2EXT=1;HAVE_LIBS_CLEARLOOKS_NEWER=1;HAVE_BOOST_FORMAT_HPP=1;HAVE_LIBS_AUDIOGRAPHER=1;HAVE_GNOMECANVAS=0;HAVE_GNOMECANVASMM=0;HAVE_X11=0;HAVE_FONTCONFIG=1;HAVE_BOOST_SHARED_PTR_HPP=1;HAVE_BOOST_WEAK_PTR_HPP=1;HAVE_GTK2_ARDOUR=1;HAVE_EXPORT=1;HAVE_MIDI_MAPS=1;HAVE_MCP=1;HAVE_PATCHFILES=1;HAVE_TOOLS_SANITY_CHECK=1;SMF_VERSION=\"1.2\";CURRENT_SESSION_FILE_VERSION=3001"
+ StringPooling="false"
+ RuntimeLibrary="2"
+ EnableEnhancedInstructionSet="1"
+ WarningLevel="3"
+ DebugInformationFormat="3"
+ CompileAs="2"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ AdditionalDependencies="$(DllPrefix)glibmm32-2.4-0RDC.lib $(DllPrefix)giomm32-2.4-0RDC.lib boost-regex32RDC.lib pthreadVCE2.lib $(DllPrefix)gthread32-2.0-0RDC.lib $(DllPrefix)gobject32-2.0-0RDC.lib $(DllPrefix)gmodule32-2.0-0RDC.lib $(DllPrefix)glib32-2.0-0RDC.lib $(DllPrefix)gio32-2.0-0RDC.lib $(DllPrefix)sigc++32-2.0RDC.lib $(DllPrefix)timecode32RDC.lib $(DllPrefix)ardour32RDC.lib $(DllPrefix)pbd32RDC.lib intlRDC.lib ws2_32.lib psapi.lib wininet.lib kernel32.lib shell32.lib"
+ OutputFile="$(OutDir)\$(ProjectName)RDC.dll"
+ AdditionalLibraryDirectories="F:\pthread-win32\Pre-built.2\lib"
+ IgnoreDefaultLibraryNames="libboost_regex-vc80-mt-gd-1_40.lib;dsound.lib"
+ GenerateDebugInformation="true"
+ SubSystem="2"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCManifestTool"
+ UseFAT32Workaround="true"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCAppVerifierTool"
+ />
+ <Tool
+ Name="VCWebDeploymentTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ CommandLine="copy /Y "$(OutDir)\$(TargetName).dll" "$(Release32TestSuiteFolder)\..\lib\ardour3\backends\$(TargetName).dll"
copy /Y "$(OutDir)\$(TargetName).lib" "$(GenericWin32LibraryFolder)\$(TargetName).lib"
"
+ />
+ </Configuration>
+ </Configurations>
+ <References>
+ </References>
+ <Files>
+ <Filter
+ Name="Source Files"
+ Filter="cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx"
+ UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
+ >
+ <File
+ RelativePath="..\dummy\dummy_audiobackend.cc"
+ >
+ </File>
+ </Filter>
+ <Filter
+ Name="Header Files"
+ Filter="h;hpp;hxx;hm;inl;inc;xsd"
+ UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}"
+ >
+ <File
+ RelativePath="..\dummy\dummy_audiobackend.h"
+ >
+ </File>
+ </Filter>
+ </Files>
+ <Globals>
+ </Globals>
+</VisualStudioProject>
--- /dev/null
+<?xml version="1.0" encoding="Windows-1252"?>
+<VisualStudioProject
+ ProjectType="Visual C++"
+ Version="8.00"
+ Name="jack_audiobackend"
+ ProjectGUID="{4A58CE49-541E-43D9-92CD-7E85EA7C96AF}"
+ RootNamespace="jack_audiobackend"
+ >
+ <Platforms>
+ <Platform
+ Name="Win32"
+ />
+ </Platforms>
+ <ToolFiles>
+ </ToolFiles>
+ <Configurations>
+ <Configuration
+ Name="Debug 32|Win32"
+ OutputDirectory="$(ProjectDir)\$(ConfigurationName)\bin"
+ IntermediateDirectory="$(ProjectDir)\$(ConfigurationName)\obj\$(ProjectName)"
+ ConfigurationType="2"
+ InheritedPropertySheets="..\..\..\MSVCMixbus3\MSVCMixbus3.vsprops"
+ CharacterSet="2"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalOptions="/FI$(TargetSxsFolder)\targetsxs.h"
+ Optimization="0"
+ AdditionalIncludeDirectories="..;..\..\ardour;..\..\pbd;..\..\fst;"$(GenericIncludeFolder)\ardourext";..\..\surfaces\control_protocol;..\..\evoral;..\..\libltc;..\..\timecode;..\..\rubberband;"..\..\vamp-sdk";"..\..\midi++2";..\..\taglib;..\..\taglib\taglib;..\..\taglib\taglib\toolkit;..\..\audiographer;"$(GenericLibraryFolder)\glib-2.0\include";"$(GenericIncludeFolder)\libsndfile";"$(GenericIncludeFolder)\gtk-2.0";"$(GenericIncludeFolder)\cairo";"$(GenericIncludeFolder)\freetype2";"$(GenericIncludeFolder)\pango-1.0";"$(GenericIncludeFolder)\gtk-2.0\gdk";"$(GenericIncludeFolder)\atk-2.0";"$(GenericIncludeFolder)\lrdf";"$(GenericIncludeFolder)\raptor";..\..\..\..\support\MB3JackPortaudio\include"
+ PreprocessorDefinitions="PLATFORM_WINDOWS;COMPILER_MSVC;BUILDING_JACK_BACKEND;ARDOURBACKEND_DLL_EXPORTS;RUBBERBAND_IS_IN_WIN_STATIC_LIB;NOMINMAX;NO_POSIX_MEMALIGN;INCLUDE_ARDOUR_MISCELLANEOUS=1;BOOST_REGEX_DYN_LINK;BOOST_REGEX_NO_LIB;BOOST_CHRONO_NO_LIB;BOOST_SYSTEM_NO_LIB;BOOST_THREAD_NO_LIB;BOOST_DATE_TIME_NO_LIB;GNU_WIN32;WIN32;_WIN32;_DEBUG;DEBUG="Debug";ARCH_X86;USE_XMMINTRIN;BUILD_SSE_OPTIMIZATIONS;ENABLE_NLS;PROGRAM_NAME="\"Mixbus\"";PACKAGE="\"libardour_jack\"";_REENTRANT;_USE_MATH_DEFINES;_LARGEFILE_SOURCE;_LARGEFILE64_SOURCE;LIBC_DISABLE_DEPRECATED;BOOST_SYSTEM_NO_DEPRECATED;__STDC_LIMIT_MACROS;__STDC_FORMAT_MACROS;INTERNAL_SHARED_LIBS=1;JACK_SESSION=1;HAVE_PORTAUDIO=1;HAVE_GLIB=1;HAVE_GTHREAD=1;HAVE_SNDFILE=1;HAVE_GIOMM=1;HAVE_CURL=1;HAVE_LO=1;HAVE_MODE_T=1;PHONE_HOME=1;FREESOUND=1;WINDOWS_KEY=\"Mod4><Super\";IS_OSX=0;HAVE_XML=1;HAVE_UUID=1;HAVE_LIBS_PBD=1;HAVE_JACK=1;HAVE_LIBS_MIDIPP2=1;HAVE_LIBS_EVORAL=1;HAVE_FFTW3=1;HAVE_FFTW3F=1;HAVE_AUBIO=1;HAVE_LIBS_VAMP_SDK=1;HAVE_LIBS_VAMP_PLUGINS=1;HAVE_LIBS_TAGLIB=1;HAVE_LIBS_LIBLTC=1;HAVE_LIBS_RUBBERBAND=1;HAVE_CONTROL_PROTOCOL=1;HAVE_FRONTIER=1;HAVE_GENERIC_MIDI=1;HAVE_MACKIE=1;HAVE_OSC=1;HAVE_TRANZPORT=1;HAVE_WIIMOTE=1;HAVE_LIBS_SURFACES=1;HAVE_2IN2OUT=1;HAVE_1IN2OUT=1;HAVE_VBAP=1;HAVE_LIBS_PANNERS=1;HAVE_LIBS_TIMECODE=1;HAVE_LRDF=1;HAVE_SAMPLERATE=1;HAVE_SERD=1;HAVE_SORD=1;HAVE_SRATOM=1;HAVE_LILV=1;HAVE_NEW_LILV=1;HAVE_OGG=1;HAVE_FLAC=1;HAVE_RUBBERBAND=1;USE_RUBBERBAND=1;HAVE_JACK_SESSION=1;HAVE_UNISTD=1;HAVE_JACK_ON_INFO_SHUTDOWN=1;HAVE_JACK_VIDEO_SUPPORT=1;HAVE_BOOST_SCOPED_PTR_HPP=1;HAVE_BOOST_PTR_CONTAINER_PTR_LIST_HPP=1;HAVE_LIBS_ARDOUR=1;HAVE_GTKMM=1;HAVE_GTK=1;HAVE_LIBS_GTKMM2EXT=1;HAVE_LIBS_CLEARLOOKS_NEWER=1;HAVE_BOOST_FORMAT_HPP=1;HAVE_LIBS_AUDIOGRAPHER=1;HAVE_GNOMECANVAS=0;HAVE_GNOMECANVASMM=0;HAVE_X11=0;HAVE_FONTCONFIG=1;HAVE_BOOST_SHARED_PTR_HPP=1;HAVE_BOOST_WEAK_PTR_HPP=1;HAVE_GTK2_ARDOUR=1;HAVE_EXPORT=1;HAVE_MIDI_MAPS=1;HAVE_MCP=1;HAVE_PATCHFILES=1;HAVE_TOOLS_SANITY_CHECK=1;SMF_VERSION=\"1.2\";CURRENT_SESSION_FILE_VERSION=3001"
+ MinimalRebuild="true"
+ RuntimeLibrary="3"
+ WarningLevel="3"
+ DebugInformationFormat="3"
+ CompileAs="2"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ AdditionalDependencies="libjackD.lib $(DllPrefix)glibmm32-2.4-0D.lib $(DllPrefix)giomm32-2.4-0D.lib jack_portaudio_x86D.lib pthreadVCE2.lib $(DllPrefix)gthread32-2.0-0D.lib $(DllPrefix)gobject32-2.0-0D.lib $(DllPrefix)gmodule32-2.0-0D.lib $(DllPrefix)glib32-2.0-0D.lib $(DllPrefix)gio32-2.0-0D.lib $(DllPrefix)sigc++32-2.0D.lib $(DllPrefix)timecode32D.lib $(DllPrefix)pbd32D.lib intlD.lib ws2_32.lib psapi.lib wininet.lib kernel32.lib shell32.lib winmm.lib setupapi.lib"
+ OutputFile="$(OutDir)\$(ProjectName)D.dll"
+ AdditionalLibraryDirectories="F:\pthread-win32\Pre-built.2\lib"
+ IgnoreDefaultLibraryNames="libboost_regex-vc80-mt-gd-1_40.lib;msvcrt.lib;dsound.lib"
+ GenerateDebugInformation="true"
+ SubSystem="2"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCManifestTool"
+ UseFAT32Workaround="true"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCAppVerifierTool"
+ />
+ <Tool
+ Name="VCWebDeploymentTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ CommandLine="copy /Y "$(OutDir)\$(TargetName).dll" "$(Debug32TargetFolder)\..\lib\ardour3\backends\$(TargetName).dll"
copy /Y "$(OutDir)\$(TargetName).dll" "$(Debug32TestSuiteFolder)\..\lib\ardour3\backends\$(TargetName).dll"
copy /Y "$(OutDir)\$(TargetName).lib" "$(GenericWin32LibraryFolder)\$(TargetName).lib"
"
+ />
+ </Configuration>
+ <Configuration
+ Name="Release 32|Win32"
+ OutputDirectory="$(ProjectDir)\$(ConfigurationName)\bin"
+ IntermediateDirectory="$(ProjectDir)\$(ConfigurationName)\obj\$(ProjectName)"
+ ConfigurationType="2"
+ InheritedPropertySheets="..\..\..\MSVCMixbus3\MSVCMixbus3.vsprops"
+ CharacterSet="2"
+ WholeProgramOptimization="1"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalOptions="/FI$(TargetSxsFolder)\targetsxs.h"
+ Optimization="2"
+ InlineFunctionExpansion="1"
+ AdditionalIncludeDirectories="..;..\..\ardour;..\..\pbd;..\..\fst;"$(GenericIncludeFolder)\ardourext";..\..\surfaces\control_protocol;..\..\evoral;..\..\libltc;..\..\timecode;..\..\rubberband;"..\..\vamp-sdk";"..\..\midi++2";..\..\taglib;..\..\taglib\taglib;..\..\taglib\taglib\toolkit;..\..\audiographer;"$(GenericLibraryFolder)\glib-2.0\include";"$(GenericIncludeFolder)\libsndfile";"$(GenericIncludeFolder)\gtk-2.0";"$(GenericIncludeFolder)\cairo";"$(GenericIncludeFolder)\freetype2";"$(GenericIncludeFolder)\pango-1.0";"$(GenericIncludeFolder)\gtk-2.0\gdk";"$(GenericIncludeFolder)\atk-2.0";"$(GenericIncludeFolder)\lrdf";"$(GenericIncludeFolder)\raptor";..\..\..\..\support\MB3JackPortaudio\include"
+ PreprocessorDefinitions="PLATFORM_WINDOWS;COMPILER_MSVC;_SECURE_SCL=0;BUILDING_JACK_BACKEND;ARDOURBACKEND_DLL_EXPORTS;RUBBERBAND_IS_IN_WIN_STATIC_LIB;NOMINMAX;NO_POSIX_MEMALIGN;INCLUDE_ARDOUR_MISCELLANEOUS=1;BOOST_REGEX_DYN_LINK;BOOST_REGEX_NO_LIB;BOOST_CHRONO_NO_LIB;BOOST_SYSTEM_NO_LIB;BOOST_THREAD_NO_LIB;BOOST_DATE_TIME_NO_LIB;GNU_WIN32;WIN32;_WIN32;NDEBUG;ARCH_X86;USE_XMMINTRIN;BUILD_SSE_OPTIMIZATIONS;ENABLE_NLS;PROGRAM_NAME="\"Mixbus\"";PACKAGE="\"libardour_jack\"";_REENTRANT;_USE_MATH_DEFINES;_LARGEFILE_SOURCE;_LARGEFILE64_SOURCE;LIBC_DISABLE_DEPRECATED;BOOST_SYSTEM_NO_DEPRECATED;__STDC_LIMIT_MACROS;__STDC_FORMAT_MACROS;INTERNAL_SHARED_LIBS=1;JACK_SESSION=1;HAVE_PORTAUDIO=1;HAVE_GLIB=1;HAVE_GTHREAD=1;HAVE_SNDFILE=1;HAVE_GIOMM=1;HAVE_CURL=1;HAVE_LO=1;HAVE_MODE_T=1;PHONE_HOME=1;FREESOUND=1;WINDOWS_KEY=\"Mod4><Super\";IS_OSX=0;HAVE_XML=1;HAVE_UUID=1;HAVE_LIBS_PBD=1;HAVE_JACK=1;HAVE_LIBS_MIDIPP2=1;HAVE_LIBS_EVORAL=1;HAVE_FFTW3=1;HAVE_FFTW3F=1;HAVE_AUBIO=1;HAVE_LIBS_VAMP_SDK=1;HAVE_LIBS_VAMP_PLUGINS=1;HAVE_LIBS_TAGLIB=1;HAVE_LIBS_LIBLTC=1;HAVE_LIBS_RUBBERBAND=1;HAVE_CONTROL_PROTOCOL=1;HAVE_FRONTIER=1;HAVE_GENERIC_MIDI=1;HAVE_MACKIE=1;HAVE_OSC=1;HAVE_TRANZPORT=1;HAVE_WIIMOTE=1;HAVE_LIBS_SURFACES=1;HAVE_2IN2OUT=1;HAVE_1IN2OUT=1;HAVE_VBAP=1;HAVE_LIBS_PANNERS=1;HAVE_LIBS_TIMECODE=1;HAVE_LRDF=1;HAVE_SAMPLERATE=1;HAVE_SERD=1;HAVE_SORD=1;HAVE_SRATOM=1;HAVE_LILV=1;HAVE_NEW_LILV=1;HAVE_OGG=1;HAVE_FLAC=1;HAVE_RUBBERBAND=1;USE_RUBBERBAND=1;HAVE_JACK_SESSION=1;HAVE_UNISTD=1;HAVE_JACK_ON_INFO_SHUTDOWN=1;HAVE_JACK_VIDEO_SUPPORT=1;HAVE_BOOST_SCOPED_PTR_HPP=1;HAVE_BOOST_PTR_CONTAINER_PTR_LIST_HPP=1;HAVE_LIBS_ARDOUR=1;HAVE_GTKMM=1;HAVE_GTK=1;HAVE_LIBS_GTKMM2EXT=1;HAVE_LIBS_CLEARLOOKS_NEWER=1;HAVE_BOOST_FORMAT_HPP=1;HAVE_LIBS_AUDIOGRAPHER=1;HAVE_GNOMECANVAS=0;HAVE_GNOMECANVASMM=0;HAVE_X11=0;HAVE_FONTCONFIG=1;HAVE_BOOST_SHARED_PTR_HPP=1;HAVE_BOOST_WEAK_PTR_HPP=1;HAVE_GTK2_ARDOUR=1;HAVE_EXPORT=1;HAVE_MIDI_MAPS=1;HAVE_MCP=1;HAVE_PATCHFILES=1;HAVE_TOOLS_SANITY_CHECK=1;SMF_VERSION=\"1.2\";CURRENT_SESSION_FILE_VERSION=3001"
+ StringPooling="false"
+ RuntimeLibrary="2"
+ EnableEnhancedInstructionSet="1"
+ WarningLevel="3"
+ CompileAs="2"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ AdditionalDependencies="libjack.lib $(DllPrefix)glibmm32-2.4-0.lib $(DllPrefix)giomm32-2.4-0.lib jack_portaudio_x86.lib pthreadVCE2.lib $(DllPrefix)gthread32-2.0-0.lib $(DllPrefix)gobject32-2.0-0.lib $(DllPrefix)gmodule32-2.0-0.lib $(DllPrefix)glib32-2.0-0.lib $(DllPrefix)gio32-2.0-0.lib $(DllPrefix)sigc++32-2.0.lib $(DllPrefix)timecode32.lib $(DllPrefix)pbd32.lib intl.lib ws2_32.lib psapi.lib wininet.lib kernel32.lib shell32.lib winmm.lib setupapi.lib"
+ OutputFile="$(OutDir)\$(ProjectName).dll"
+ AdditionalLibraryDirectories="F:\pthread-win32\Pre-built.2\lib"
+ IgnoreDefaultLibraryNames="libboost_regex-vc80-mt-gd-1_40.lib;dsound.lib"
+ SubSystem="2"
+ OptimizeReferences="2"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCManifestTool"
+ UseFAT32Workaround="true"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCAppVerifierTool"
+ />
+ <Tool
+ Name="VCWebDeploymentTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ CommandLine="copy /Y "$(OutDir)\$(TargetName).dll" "$(Release32TargetFolder)\..\lib\ardour3\backends\$(TargetName).dll"
copy /Y "$(OutDir)\$(TargetName).dll" "$(Release32TestSuiteFolder)\..\lib\ardour3\backends\$(TargetName).dll"
copy /Y "$(OutDir)\$(TargetName).lib" "$(GenericWin32LibraryFolder)\$(TargetName).lib"
"
+ />
+ </Configuration>
+ <Configuration
+ Name="Release 32 with Debugging Capability|Win32"
+ OutputDirectory="$(ProjectDir)\$(ConfigurationName)\bin"
+ IntermediateDirectory="$(ProjectDir)\$(ConfigurationName)\obj\$(ProjectName)"
+ ConfigurationType="2"
+ InheritedPropertySheets="..\..\..\MSVCMixbus3\MSVCMixbus3.vsprops"
+ CharacterSet="2"
+ WholeProgramOptimization="0"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalOptions="/FI$(TargetSxsFolder)\targetsxs.h"
+ Optimization="0"
+ AdditionalIncludeDirectories="..;..\..\ardour;..\..\pbd;..\..\fst;"$(GenericIncludeFolder)\ardourext";..\..\surfaces\control_protocol;..\..\evoral;..\..\libltc;..\..\timecode;..\..\rubberband;"..\..\vamp-sdk";"..\..\midi++2";..\..\taglib;..\..\taglib\taglib;..\..\taglib\taglib\toolkit;..\..\audiographer;"$(GenericLibraryFolder)\glib-2.0\include";"$(GenericIncludeFolder)\libsndfile";"$(GenericIncludeFolder)\gtk-2.0";"$(GenericIncludeFolder)\cairo";"$(GenericIncludeFolder)\freetype2";"$(GenericIncludeFolder)\pango-1.0";"$(GenericIncludeFolder)\gtk-2.0\gdk";"$(GenericIncludeFolder)\atk-2.0";"$(GenericIncludeFolder)\lrdf";"$(GenericIncludeFolder)\raptor";..\..\..\..\support\MB3JackPortaudio\include"
+ PreprocessorDefinitions="PLATFORM_WINDOWS;COMPILER_MSVC;_SECURE_SCL=0;BUILDING_JACK_BACKEND;ARDOURBACKEND_DLL_EXPORTS;RUBBERBAND_IS_IN_WIN_STATIC_LIB;NOMINMAX;NO_POSIX_MEMALIGN;INCLUDE_ARDOUR_MISCELLANEOUS=1;BOOST_REGEX_DYN_LINK;BOOST_REGEX_NO_LIB;BOOST_CHRONO_NO_LIB;BOOST_SYSTEM_NO_LIB;BOOST_THREAD_NO_LIB;BOOST_DATE_TIME_NO_LIB;GNU_WIN32;WIN32;_WIN32;ARCH_X86;USE_XMMINTRIN;BUILD_SSE_OPTIMIZATIONS;ENABLE_NLS;PROGRAM_NAME="\"Mixbus\"";PACKAGE="\"libardour_jack\"";_REENTRANT;_USE_MATH_DEFINES;_LARGEFILE_SOURCE;_LARGEFILE64_SOURCE;LIBC_DISABLE_DEPRECATED;BOOST_SYSTEM_NO_DEPRECATED;__STDC_LIMIT_MACROS;__STDC_FORMAT_MACROS;INTERNAL_SHARED_LIBS=1;JACK_SESSION=1;HAVE_PORTAUDIO=1;HAVE_GLIB=1;HAVE_GTHREAD=1;HAVE_SNDFILE=1;HAVE_GIOMM=1;HAVE_CURL=1;HAVE_LO=1;HAVE_MODE_T=1;PHONE_HOME=1;FREESOUND=1;WINDOWS_KEY=\"Mod4><Super\";IS_OSX=0;HAVE_XML=1;HAVE_UUID=1;HAVE_LIBS_PBD=1;HAVE_JACK=1;HAVE_LIBS_MIDIPP2=1;HAVE_LIBS_EVORAL=1;HAVE_FFTW3=1;HAVE_FFTW3F=1;HAVE_AUBIO=1;HAVE_LIBS_VAMP_SDK=1;HAVE_LIBS_VAMP_PLUGINS=1;HAVE_LIBS_TAGLIB=1;HAVE_LIBS_LIBLTC=1;HAVE_LIBS_RUBBERBAND=1;HAVE_CONTROL_PROTOCOL=1;HAVE_FRONTIER=1;HAVE_GENERIC_MIDI=1;HAVE_MACKIE=1;HAVE_OSC=1;HAVE_TRANZPORT=1;HAVE_WIIMOTE=1;HAVE_LIBS_SURFACES=1;HAVE_2IN2OUT=1;HAVE_1IN2OUT=1;HAVE_VBAP=1;HAVE_LIBS_PANNERS=1;HAVE_LIBS_TIMECODE=1;HAVE_LRDF=1;HAVE_SAMPLERATE=1;HAVE_SERD=1;HAVE_SORD=1;HAVE_SRATOM=1;HAVE_LILV=1;HAVE_NEW_LILV=1;HAVE_OGG=1;HAVE_FLAC=1;HAVE_RUBBERBAND=1;USE_RUBBERBAND=1;HAVE_JACK_SESSION=1;HAVE_UNISTD=1;HAVE_JACK_ON_INFO_SHUTDOWN=1;HAVE_JACK_VIDEO_SUPPORT=1;HAVE_BOOST_SCOPED_PTR_HPP=1;HAVE_BOOST_PTR_CONTAINER_PTR_LIST_HPP=1;HAVE_LIBS_ARDOUR=1;HAVE_GTKMM=1;HAVE_GTK=1;HAVE_LIBS_GTKMM2EXT=1;HAVE_LIBS_CLEARLOOKS_NEWER=1;HAVE_BOOST_FORMAT_HPP=1;HAVE_LIBS_AUDIOGRAPHER=1;HAVE_GNOMECANVAS=0;HAVE_GNOMECANVASMM=0;HAVE_X11=0;HAVE_FONTCONFIG=1;HAVE_BOOST_SHARED_PTR_HPP=1;HAVE_BOOST_WEAK_PTR_HPP=1;HAVE_GTK2_ARDOUR=1;HAVE_EXPORT=1;HAVE_MIDI_MAPS=1;HAVE_MCP=1;HAVE_PATCHFILES=1;HAVE_TOOLS_SANITY_CHECK=1;SMF_VERSION=\"1.2\";CURRENT_SESSION_FILE_VERSION=3001"
+ StringPooling="false"
+ RuntimeLibrary="2"
+ EnableEnhancedInstructionSet="1"
+ WarningLevel="3"
+ DebugInformationFormat="3"
+ CompileAs="2"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ AdditionalDependencies="libjack.lib $(DllPrefix)glibmm32-2.4-0RDC.lib $(DllPrefix)giomm32-2.4-0RDC.lib jack_portaudio_x86RDC.lib pthreadVCE2.lib $(DllPrefix)gthread32-2.0-0RDC.lib $(DllPrefix)gobject32-2.0-0RDC.lib $(DllPrefix)gmodule32-2.0-0RDC.lib $(DllPrefix)glib32-2.0-0RDC.lib $(DllPrefix)gio32-2.0-0RDC.lib $(DllPrefix)sigc++32-2.0RDC.lib $(DllPrefix)timecode32RDC.lib $(DllPrefix)pbd32RDC.lib intlRDC.lib ws2_32.lib psapi.lib wininet.lib kernel32.lib shell32.lib winmm.lib setupapi.lib"
+ OutputFile="$(OutDir)\$(ProjectName)RDC.dll"
+ AdditionalLibraryDirectories="F:\pthread-win32\Pre-built.2\lib"
+ IgnoreDefaultLibraryNames="libboost_regex-vc80-mt-gd-1_40.lib;dsound.lib"
+ GenerateDebugInformation="true"
+ SubSystem="2"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCManifestTool"
+ UseFAT32Workaround="true"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCAppVerifierTool"
+ />
+ <Tool
+ Name="VCWebDeploymentTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ CommandLine="copy /Y "$(OutDir)\$(TargetName).dll" "$(Release32TestSuiteFolder)\..\lib\ardour3\backends\$(TargetName).dll"
copy /Y "$(OutDir)\$(TargetName).lib" "$(GenericWin32LibraryFolder)\$(TargetName).lib"
"
+ />
+ </Configuration>
+ </Configurations>
+ <References>
+ </References>
+ <Files>
+ <Filter
+ Name="Source Files"
+ Filter="cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx"
+ UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
+ >
+ <File
+ RelativePath="..\jack\jack_api.cc"
+ >
+ </File>
+ <File
+ RelativePath="..\jack\jack_audiobackend.cc"
+ >
+ </File>
+ <File
+ RelativePath="..\jack\jack_connection.cc"
+ >
+ </File>
+ <File
+ RelativePath="..\jack\jack_portengine.cc"
+ >
+ </File>
+ <File
+ RelativePath="..\jack\jack_session.cc"
+ >
+ </File>
+ <File
+ RelativePath="..\jack\jack_utils.cc"
+ >
+ </File>
+ </Filter>
+ <Filter
+ Name="Header Files"
+ Filter="h;hpp;hxx;hm;inl;inc;xsd"
+ UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}"
+ >
+ <File
+ RelativePath="..\jack\jack_audiobackend.h"
+ >
+ </File>
+ <File
+ RelativePath="..\jack\jack_connection.h"
+ >
+ </File>
+ <File
+ RelativePath="..\jack\jack_utils.h"
+ >
+ </File>
+ </Filter>
+ </Files>
+ <Globals>
+ </Globals>
+</VisualStudioProject>
+++ /dev/null
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioProject
- ProjectType="Visual C++"
- Version="8.00"
- Name="jack_backend"
- ProjectGUID="{4A58CE49-541E-43D9-92CD-7E85EA7C96AF}"
- RootNamespace="jack_backend"
- >
- <Platforms>
- <Platform
- Name="Win32"
- />
- </Platforms>
- <ToolFiles>
- </ToolFiles>
- <Configurations>
- <Configuration
- Name="Debug 32|Win32"
- OutputDirectory="$(ProjectDir)\$(ConfigurationName)\bin"
- IntermediateDirectory="$(ProjectDir)\$(ConfigurationName)\obj\$(ProjectName)"
- ConfigurationType="2"
- InheritedPropertySheets="..\..\..\MSVCMixbus3\MSVCMixbus3.vsprops"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- AdditionalOptions="/FI$(TargetSxsFolder)\targetsxs.h"
- Optimization="0"
- AdditionalIncludeDirectories="..;..\..\ardour;..\..\pbd;..\..\fst;"$(GenericIncludeFolder)\ardourext";..\..\surfaces\control_protocol;..\..\evoral;..\..\libltc;..\..\timecode;..\..\rubberband;"..\..\vamp-sdk";"..\..\midi++2";..\..\taglib;..\..\taglib\taglib;..\..\taglib\taglib\toolkit;..\..\audiographer;"$(GenericLibraryFolder)\glib-2.0\include";"$(GenericIncludeFolder)\libsndfile";"$(GenericIncludeFolder)\gtk-2.0";"$(GenericIncludeFolder)\cairo";"$(GenericIncludeFolder)\freetype2";"$(GenericIncludeFolder)\pango-1.0";"$(GenericIncludeFolder)\gtk-2.0\gdk";"$(GenericIncludeFolder)\atk-2.0";"$(GenericIncludeFolder)\lrdf";"$(GenericIncludeFolder)\raptor";..\..\..\..\support\MB3JackPortaudio\include"
- PreprocessorDefinitions="PLATFORM_WINDOWS;COMPILER_MSVC;BUILDING_JACK_BACKEND;ARDOURBACKEND_DLL_EXPORTS;RUBBERBAND_IS_IN_WIN_STATIC_LIB;NOMINMAX;NO_POSIX_MEMALIGN;INCLUDE_ARDOUR_MISCELLANEOUS=1;BOOST_REGEX_DYN_LINK;BOOST_REGEX_NO_LIB;BOOST_CHRONO_NO_LIB;BOOST_SYSTEM_NO_LIB;BOOST_THREAD_NO_LIB;BOOST_DATE_TIME_NO_LIB;GNU_WIN32;WIN32;_WIN32;_DEBUG;DEBUG="Debug";ARCH_X86;USE_XMMINTRIN;BUILD_SSE_OPTIMIZATIONS;ENABLE_NLS;PROGRAM_NAME="\"Mixbus\"";PACKAGE="\"libardour_jack\"";_REENTRANT;_USE_MATH_DEFINES;_LARGEFILE_SOURCE;_LARGEFILE64_SOURCE;LIBC_DISABLE_DEPRECATED;BOOST_SYSTEM_NO_DEPRECATED;__STDC_LIMIT_MACROS;__STDC_FORMAT_MACROS;INTERNAL_SHARED_LIBS=1;JACK_SESSION=1;HAVE_PORTAUDIO=1;HAVE_GLIB=1;HAVE_GTHREAD=1;HAVE_SNDFILE=1;HAVE_GIOMM=1;HAVE_CURL=1;HAVE_LO=1;HAVE_MODE_T=1;PHONE_HOME=1;FREESOUND=1;WINDOWS_KEY=\"Mod4><Super\";IS_OSX=0;HAVE_XML=1;HAVE_UUID=1;HAVE_LIBS_PBD=1;HAVE_JACK=1;HAVE_LIBS_MIDIPP2=1;HAVE_LIBS_EVORAL=1;HAVE_FFTW3=1;HAVE_FFTW3F=1;HAVE_AUBIO=1;HAVE_LIBS_VAMP_SDK=1;HAVE_LIBS_VAMP_PLUGINS=1;HAVE_LIBS_TAGLIB=1;HAVE_LIBS_LIBLTC=1;HAVE_LIBS_RUBBERBAND=1;HAVE_CONTROL_PROTOCOL=1;HAVE_FRONTIER=1;HAVE_GENERIC_MIDI=1;HAVE_MACKIE=1;HAVE_OSC=1;HAVE_TRANZPORT=1;HAVE_WIIMOTE=1;HAVE_LIBS_SURFACES=1;HAVE_2IN2OUT=1;HAVE_1IN2OUT=1;HAVE_VBAP=1;HAVE_LIBS_PANNERS=1;HAVE_LIBS_TIMECODE=1;HAVE_LRDF=1;HAVE_SAMPLERATE=1;HAVE_SERD=1;HAVE_SORD=1;HAVE_SRATOM=1;HAVE_LILV=1;HAVE_NEW_LILV=1;HAVE_OGG=1;HAVE_FLAC=1;HAVE_RUBBERBAND=1;USE_RUBBERBAND=1;HAVE_JACK_SESSION=1;HAVE_UNISTD=1;HAVE_JACK_ON_INFO_SHUTDOWN=1;HAVE_JACK_VIDEO_SUPPORT=1;HAVE_BOOST_SCOPED_PTR_HPP=1;HAVE_BOOST_PTR_CONTAINER_PTR_LIST_HPP=1;HAVE_LIBS_ARDOUR=1;HAVE_GTKMM=1;HAVE_GTK=1;HAVE_LIBS_GTKMM2EXT=1;HAVE_LIBS_CLEARLOOKS_NEWER=1;HAVE_BOOST_FORMAT_HPP=1;HAVE_LIBS_AUDIOGRAPHER=1;HAVE_GNOMECANVAS=0;HAVE_GNOMECANVASMM=0;HAVE_X11=0;HAVE_FONTCONFIG=1;HAVE_BOOST_SHARED_PTR_HPP=1;HAVE_BOOST_WEAK_PTR_HPP=1;HAVE_GTK2_ARDOUR=1;HAVE_EXPORT=1;HAVE_MIDI_MAPS=1;HAVE_MCP=1;HAVE_PATCHFILES=1;HAVE_TOOLS_SANITY_CHECK=1;SMF_VERSION=\"1.2\";CURRENT_SESSION_FILE_VERSION=3001"
- MinimalRebuild="true"
- RuntimeLibrary="3"
- WarningLevel="3"
- DebugInformationFormat="3"
- CompileAs="2"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="libjackD.lib $(DllPrefix)glibmm32-2.4-0D.lib $(DllPrefix)giomm32-2.4-0D.lib jack_portaudio_x86D.lib pthreadVCE2.lib $(DllPrefix)gthread32-2.0-0D.lib $(DllPrefix)gobject32-2.0-0D.lib $(DllPrefix)gmodule32-2.0-0D.lib $(DllPrefix)glib32-2.0-0D.lib $(DllPrefix)gio32-2.0-0D.lib $(DllPrefix)sigc++32-2.0D.lib $(DllPrefix)timecode32D.lib $(DllPrefix)pbd32D.lib intlD.lib ws2_32.lib psapi.lib wininet.lib kernel32.lib shell32.lib winmm.lib setupapi.lib"
- OutputFile="$(OutDir)\$(ProjectName)D.dll"
- AdditionalLibraryDirectories="F:\pthread-win32\Pre-built.2\lib"
- IgnoreDefaultLibraryNames="libboost_regex-vc80-mt-gd-1_40.lib;msvcrt.lib;dsound.lib"
- GenerateDebugInformation="true"
- SubSystem="2"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- UseFAT32Workaround="true"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCWebDeploymentTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- CommandLine="copy /Y "$(OutDir)\$(TargetName).dll" "$(Debug32TargetFolder)\..\lib\ardour3\backends\$(TargetName).dll"
copy /Y "$(OutDir)\$(TargetName).dll" "$(Debug32TestSuiteFolder)\..\lib\ardour3\backends\$(TargetName).dll"
copy /Y "$(OutDir)\$(TargetName).lib" "$(GenericWin32LibraryFolder)\$(TargetName).lib"
"
- />
- </Configuration>
- <Configuration
- Name="Release 32|Win32"
- OutputDirectory="$(ProjectDir)\$(ConfigurationName)\bin"
- IntermediateDirectory="$(ProjectDir)\$(ConfigurationName)\obj\$(ProjectName)"
- ConfigurationType="2"
- InheritedPropertySheets="..\..\..\MSVCMixbus3\MSVCMixbus3.vsprops"
- CharacterSet="2"
- WholeProgramOptimization="1"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- AdditionalOptions="/FI$(TargetSxsFolder)\targetsxs.h"
- Optimization="2"
- InlineFunctionExpansion="1"
- AdditionalIncludeDirectories="..;..\..\ardour;..\..\pbd;..\..\fst;"$(GenericIncludeFolder)\ardourext";..\..\surfaces\control_protocol;..\..\evoral;..\..\libltc;..\..\timecode;..\..\rubberband;"..\..\vamp-sdk";"..\..\midi++2";..\..\taglib;..\..\taglib\taglib;..\..\taglib\taglib\toolkit;..\..\audiographer;"$(GenericLibraryFolder)\glib-2.0\include";"$(GenericIncludeFolder)\libsndfile";"$(GenericIncludeFolder)\gtk-2.0";"$(GenericIncludeFolder)\cairo";"$(GenericIncludeFolder)\freetype2";"$(GenericIncludeFolder)\pango-1.0";"$(GenericIncludeFolder)\gtk-2.0\gdk";"$(GenericIncludeFolder)\atk-2.0";"$(GenericIncludeFolder)\lrdf";"$(GenericIncludeFolder)\raptor";..\..\..\..\support\MB3JackPortaudio\include"
- PreprocessorDefinitions="PLATFORM_WINDOWS;COMPILER_MSVC;_SECURE_SCL=0;BUILDING_JACK_BACKEND;ARDOURBACKEND_DLL_EXPORTS;RUBBERBAND_IS_IN_WIN_STATIC_LIB;NOMINMAX;NO_POSIX_MEMALIGN;INCLUDE_ARDOUR_MISCELLANEOUS=1;BOOST_REGEX_DYN_LINK;BOOST_REGEX_NO_LIB;BOOST_CHRONO_NO_LIB;BOOST_SYSTEM_NO_LIB;BOOST_THREAD_NO_LIB;BOOST_DATE_TIME_NO_LIB;GNU_WIN32;WIN32;_WIN32;NDEBUG;ARCH_X86;USE_XMMINTRIN;BUILD_SSE_OPTIMIZATIONS;ENABLE_NLS;PROGRAM_NAME="\"Mixbus\"";PACKAGE="\"libardour_jack\"";_REENTRANT;_USE_MATH_DEFINES;_LARGEFILE_SOURCE;_LARGEFILE64_SOURCE;LIBC_DISABLE_DEPRECATED;BOOST_SYSTEM_NO_DEPRECATED;__STDC_LIMIT_MACROS;__STDC_FORMAT_MACROS;INTERNAL_SHARED_LIBS=1;JACK_SESSION=1;HAVE_PORTAUDIO=1;HAVE_GLIB=1;HAVE_GTHREAD=1;HAVE_SNDFILE=1;HAVE_GIOMM=1;HAVE_CURL=1;HAVE_LO=1;HAVE_MODE_T=1;PHONE_HOME=1;FREESOUND=1;WINDOWS_KEY=\"Mod4><Super\";IS_OSX=0;HAVE_XML=1;HAVE_UUID=1;HAVE_LIBS_PBD=1;HAVE_JACK=1;HAVE_LIBS_MIDIPP2=1;HAVE_LIBS_EVORAL=1;HAVE_FFTW3=1;HAVE_FFTW3F=1;HAVE_AUBIO=1;HAVE_LIBS_VAMP_SDK=1;HAVE_LIBS_VAMP_PLUGINS=1;HAVE_LIBS_TAGLIB=1;HAVE_LIBS_LIBLTC=1;HAVE_LIBS_RUBBERBAND=1;HAVE_CONTROL_PROTOCOL=1;HAVE_FRONTIER=1;HAVE_GENERIC_MIDI=1;HAVE_MACKIE=1;HAVE_OSC=1;HAVE_TRANZPORT=1;HAVE_WIIMOTE=1;HAVE_LIBS_SURFACES=1;HAVE_2IN2OUT=1;HAVE_1IN2OUT=1;HAVE_VBAP=1;HAVE_LIBS_PANNERS=1;HAVE_LIBS_TIMECODE=1;HAVE_LRDF=1;HAVE_SAMPLERATE=1;HAVE_SERD=1;HAVE_SORD=1;HAVE_SRATOM=1;HAVE_LILV=1;HAVE_NEW_LILV=1;HAVE_OGG=1;HAVE_FLAC=1;HAVE_RUBBERBAND=1;USE_RUBBERBAND=1;HAVE_JACK_SESSION=1;HAVE_UNISTD=1;HAVE_JACK_ON_INFO_SHUTDOWN=1;HAVE_JACK_VIDEO_SUPPORT=1;HAVE_BOOST_SCOPED_PTR_HPP=1;HAVE_BOOST_PTR_CONTAINER_PTR_LIST_HPP=1;HAVE_LIBS_ARDOUR=1;HAVE_GTKMM=1;HAVE_GTK=1;HAVE_LIBS_GTKMM2EXT=1;HAVE_LIBS_CLEARLOOKS_NEWER=1;HAVE_BOOST_FORMAT_HPP=1;HAVE_LIBS_AUDIOGRAPHER=1;HAVE_GNOMECANVAS=0;HAVE_GNOMECANVASMM=0;HAVE_X11=0;HAVE_FONTCONFIG=1;HAVE_BOOST_SHARED_PTR_HPP=1;HAVE_BOOST_WEAK_PTR_HPP=1;HAVE_GTK2_ARDOUR=1;HAVE_EXPORT=1;HAVE_MIDI_MAPS=1;HAVE_MCP=1;HAVE_PATCHFILES=1;HAVE_TOOLS_SANITY_CHECK=1;SMF_VERSION=\"1.2\";CURRENT_SESSION_FILE_VERSION=3001"
- StringPooling="false"
- RuntimeLibrary="2"
- EnableEnhancedInstructionSet="1"
- WarningLevel="3"
- CompileAs="2"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="libjack.lib $(DllPrefix)glibmm32-2.4-0.lib $(DllPrefix)giomm32-2.4-0.lib jack_portaudio_x86.lib pthreadVCE2.lib $(DllPrefix)gthread32-2.0-0.lib $(DllPrefix)gobject32-2.0-0.lib $(DllPrefix)gmodule32-2.0-0.lib $(DllPrefix)glib32-2.0-0.lib $(DllPrefix)gio32-2.0-0.lib $(DllPrefix)sigc++32-2.0.lib $(DllPrefix)timecode32.lib $(DllPrefix)pbd32.lib intl.lib ws2_32.lib psapi.lib wininet.lib kernel32.lib shell32.lib winmm.lib setupapi.lib"
- OutputFile="$(OutDir)\$(ProjectName).dll"
- AdditionalLibraryDirectories="F:\pthread-win32\Pre-built.2\lib"
- IgnoreDefaultLibraryNames="libboost_regex-vc80-mt-gd-1_40.lib;dsound.lib"
- SubSystem="2"
- OptimizeReferences="2"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- UseFAT32Workaround="true"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCWebDeploymentTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- CommandLine="copy /Y "$(OutDir)\$(TargetName).dll" "$(Release32TargetFolder)\..\lib\ardour3\backends\$(TargetName).dll"
copy /Y "$(OutDir)\$(TargetName).dll" "$(Release32TestSuiteFolder)\..\lib\ardour3\backends\$(TargetName).dll"
copy /Y "$(OutDir)\$(TargetName).lib" "$(GenericWin32LibraryFolder)\$(TargetName).lib"
"
- />
- </Configuration>
- <Configuration
- Name="Release 32 with Debugging Capability|Win32"
- OutputDirectory="$(ProjectDir)\$(ConfigurationName)\bin"
- IntermediateDirectory="$(ProjectDir)\$(ConfigurationName)\obj\$(ProjectName)"
- ConfigurationType="2"
- InheritedPropertySheets="..\..\..\MSVCMixbus3\MSVCMixbus3.vsprops"
- CharacterSet="2"
- WholeProgramOptimization="0"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- AdditionalOptions="/FI$(TargetSxsFolder)\targetsxs.h"
- Optimization="0"
- AdditionalIncludeDirectories="..;..\..\ardour;..\..\pbd;..\..\fst;"$(GenericIncludeFolder)\ardourext";..\..\surfaces\control_protocol;..\..\evoral;..\..\libltc;..\..\timecode;..\..\rubberband;"..\..\vamp-sdk";"..\..\midi++2";..\..\taglib;..\..\taglib\taglib;..\..\taglib\taglib\toolkit;..\..\audiographer;"$(GenericLibraryFolder)\glib-2.0\include";"$(GenericIncludeFolder)\libsndfile";"$(GenericIncludeFolder)\gtk-2.0";"$(GenericIncludeFolder)\cairo";"$(GenericIncludeFolder)\freetype2";"$(GenericIncludeFolder)\pango-1.0";"$(GenericIncludeFolder)\gtk-2.0\gdk";"$(GenericIncludeFolder)\atk-2.0";"$(GenericIncludeFolder)\lrdf";"$(GenericIncludeFolder)\raptor";..\..\..\..\support\MB3JackPortaudio\include"
- PreprocessorDefinitions="PLATFORM_WINDOWS;COMPILER_MSVC;_SECURE_SCL=0;BUILDING_JACK_BACKEND;ARDOURBACKEND_DLL_EXPORTS;RUBBERBAND_IS_IN_WIN_STATIC_LIB;NOMINMAX;NO_POSIX_MEMALIGN;INCLUDE_ARDOUR_MISCELLANEOUS=1;BOOST_REGEX_DYN_LINK;BOOST_REGEX_NO_LIB;BOOST_CHRONO_NO_LIB;BOOST_SYSTEM_NO_LIB;BOOST_THREAD_NO_LIB;BOOST_DATE_TIME_NO_LIB;GNU_WIN32;WIN32;_WIN32;ARCH_X86;USE_XMMINTRIN;BUILD_SSE_OPTIMIZATIONS;ENABLE_NLS;PROGRAM_NAME="\"Mixbus\"";PACKAGE="\"libardour_jack\"";_REENTRANT;_USE_MATH_DEFINES;_LARGEFILE_SOURCE;_LARGEFILE64_SOURCE;LIBC_DISABLE_DEPRECATED;BOOST_SYSTEM_NO_DEPRECATED;__STDC_LIMIT_MACROS;__STDC_FORMAT_MACROS;INTERNAL_SHARED_LIBS=1;JACK_SESSION=1;HAVE_PORTAUDIO=1;HAVE_GLIB=1;HAVE_GTHREAD=1;HAVE_SNDFILE=1;HAVE_GIOMM=1;HAVE_CURL=1;HAVE_LO=1;HAVE_MODE_T=1;PHONE_HOME=1;FREESOUND=1;WINDOWS_KEY=\"Mod4><Super\";IS_OSX=0;HAVE_XML=1;HAVE_UUID=1;HAVE_LIBS_PBD=1;HAVE_JACK=1;HAVE_LIBS_MIDIPP2=1;HAVE_LIBS_EVORAL=1;HAVE_FFTW3=1;HAVE_FFTW3F=1;HAVE_AUBIO=1;HAVE_LIBS_VAMP_SDK=1;HAVE_LIBS_VAMP_PLUGINS=1;HAVE_LIBS_TAGLIB=1;HAVE_LIBS_LIBLTC=1;HAVE_LIBS_RUBBERBAND=1;HAVE_CONTROL_PROTOCOL=1;HAVE_FRONTIER=1;HAVE_GENERIC_MIDI=1;HAVE_MACKIE=1;HAVE_OSC=1;HAVE_TRANZPORT=1;HAVE_WIIMOTE=1;HAVE_LIBS_SURFACES=1;HAVE_2IN2OUT=1;HAVE_1IN2OUT=1;HAVE_VBAP=1;HAVE_LIBS_PANNERS=1;HAVE_LIBS_TIMECODE=1;HAVE_LRDF=1;HAVE_SAMPLERATE=1;HAVE_SERD=1;HAVE_SORD=1;HAVE_SRATOM=1;HAVE_LILV=1;HAVE_NEW_LILV=1;HAVE_OGG=1;HAVE_FLAC=1;HAVE_RUBBERBAND=1;USE_RUBBERBAND=1;HAVE_JACK_SESSION=1;HAVE_UNISTD=1;HAVE_JACK_ON_INFO_SHUTDOWN=1;HAVE_JACK_VIDEO_SUPPORT=1;HAVE_BOOST_SCOPED_PTR_HPP=1;HAVE_BOOST_PTR_CONTAINER_PTR_LIST_HPP=1;HAVE_LIBS_ARDOUR=1;HAVE_GTKMM=1;HAVE_GTK=1;HAVE_LIBS_GTKMM2EXT=1;HAVE_LIBS_CLEARLOOKS_NEWER=1;HAVE_BOOST_FORMAT_HPP=1;HAVE_LIBS_AUDIOGRAPHER=1;HAVE_GNOMECANVAS=0;HAVE_GNOMECANVASMM=0;HAVE_X11=0;HAVE_FONTCONFIG=1;HAVE_BOOST_SHARED_PTR_HPP=1;HAVE_BOOST_WEAK_PTR_HPP=1;HAVE_GTK2_ARDOUR=1;HAVE_EXPORT=1;HAVE_MIDI_MAPS=1;HAVE_MCP=1;HAVE_PATCHFILES=1;HAVE_TOOLS_SANITY_CHECK=1;SMF_VERSION=\"1.2\";CURRENT_SESSION_FILE_VERSION=3001"
- StringPooling="false"
- RuntimeLibrary="2"
- EnableEnhancedInstructionSet="1"
- WarningLevel="3"
- DebugInformationFormat="3"
- CompileAs="2"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="libjack.lib $(DllPrefix)glibmm32-2.4-0RDC.lib $(DllPrefix)giomm32-2.4-0RDC.lib jack_portaudio_x86RDC.lib pthreadVCE2.lib $(DllPrefix)gthread32-2.0-0RDC.lib $(DllPrefix)gobject32-2.0-0RDC.lib $(DllPrefix)gmodule32-2.0-0RDC.lib $(DllPrefix)glib32-2.0-0RDC.lib $(DllPrefix)gio32-2.0-0RDC.lib $(DllPrefix)sigc++32-2.0RDC.lib $(DllPrefix)timecode32RDC.lib $(DllPrefix)pbd32RDC.lib intlRDC.lib ws2_32.lib psapi.lib wininet.lib kernel32.lib shell32.lib winmm.lib setupapi.lib"
- OutputFile="$(OutDir)\$(ProjectName)RDC.dll"
- AdditionalLibraryDirectories="F:\pthread-win32\Pre-built.2\lib"
- IgnoreDefaultLibraryNames="libboost_regex-vc80-mt-gd-1_40.lib;dsound.lib"
- GenerateDebugInformation="true"
- SubSystem="2"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- UseFAT32Workaround="true"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCWebDeploymentTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- CommandLine="copy /Y "$(OutDir)\$(TargetName).dll" "$(Release32TestSuiteFolder)\..\lib\ardour3\backends\$(TargetName).dll"
copy /Y "$(OutDir)\$(TargetName).lib" "$(GenericWin32LibraryFolder)\$(TargetName).lib"
"
- />
- </Configuration>
- </Configurations>
- <References>
- </References>
- <Files>
- <Filter
- Name="Source Files"
- Filter="cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx"
- UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
- >
- <File
- RelativePath="..\jack\jack_api.cc"
- >
- </File>
- <File
- RelativePath="..\jack\jack_audiobackend.cc"
- >
- </File>
- <File
- RelativePath="..\jack\jack_connection.cc"
- >
- </File>
- <File
- RelativePath="..\jack\jack_portengine.cc"
- >
- </File>
- <File
- RelativePath="..\jack\jack_session.cc"
- >
- </File>
- <File
- RelativePath="..\jack\jack_utils.cc"
- >
- </File>
- </Filter>
- <Filter
- Name="Header Files"
- Filter="h;hpp;hxx;hm;inl;inc;xsd"
- UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}"
- >
- <File
- RelativePath="..\jack\jack_audiobackend.h"
- >
- </File>
- <File
- RelativePath="..\jack\jack_connection.h"
- >
- </File>
- <File
- RelativePath="..\jack\jack_utils.h"
- >
- </File>
- </Filter>
- </Files>
- <Globals>
- </Globals>
-</VisualStudioProject>
--- /dev/null
+<?xml version="1.0" encoding="Windows-1252"?>
+<VisualStudioProject
+ ProjectType="Visual C++"
+ Version="8.00"
+ Name="waves_audiobackend"
+ ProjectGUID="{D7B1537C-C244-4D86-BBBF-74A1801AB984}"
+ RootNamespace="waves_audiobackend"
+ >
+ <Platforms>
+ <Platform
+ Name="Win32"
+ />
+ </Platforms>
+ <ToolFiles>
+ </ToolFiles>
+ <Configurations>
+ <Configuration
+ Name="Debug 32|Win32"
+ OutputDirectory="$(ProjectDir)\$(ConfigurationName)\bin"
+ IntermediateDirectory="$(ProjectDir)\$(ConfigurationName)\obj\$(ProjectName)"
+ ConfigurationType="2"
+ InheritedPropertySheets="..\..\..\MSVCMixbus3\MSVCMixbus3.vsprops"
+ CharacterSet="2"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalOptions="/FI$(TargetSxsFolder)\targetsxs.h"
+ Optimization="0"
+ AdditionalIncludeDirectories="..;..\wavesaudio;..\wavesaudio\wavesapi;..\wavesaudio\wavesapi\wavespublicapi;..\wavesaudio\wavesapi\devicemanager;..\wavesaudio\wavesapi\refmanager;..\wavesaudio\wavesapi\threads;..\wavesaudio\wavesapi\miscutils;..\wavesaudio\portmidi\src\pm_common;..\wavesaudio\portmidi;..\..\ardour;..\..\pbd;..\..\timecode;..\..\evoral;"..\..\midi++2";"$(GenericIncludeFolder)\ardourext";"$(GenericLibraryFolder)\glib-2.0\include";"$(GenericIncludeFolder)\libsndfile";"$(GenericIncludeFolder)\gtk-2.0";"$(GenericIncludeFolder)\cairo";"$(GenericIncludeFolder)\freetype2";"$(GenericIncludeFolder)\pango-1.0";"$(GenericIncludeFolder)\gtk-2.0\gdk";"$(GenericIncludeFolder)\atk-2.0";"$(GenericIncludeFolder)\lrdf";"$(GenericIncludeFolder)\raptor";..\..\..\..\support\MB3WavesPortaudio\include;..\..\..\..\support\MB3WavesPortaudio\src\hostapi\asio\ASIOSDK\common;..\.."
+ PreprocessorDefinitions="PLATFORM_WINDOWS;COMPILER_MSVC;BUILDING_WAVES_BACKEND;ARDOURBACKEND_DLL_EXPORTS;RUBBERBAND_IS_IN_WIN_STATIC_LIB;NOMINMAX;NO_POSIX_MEMALIGN;INCLUDE_ARDOUR_MISCELLANEOUS=1;BOOST_REGEX_DYN_LINK;BOOST_REGEX_NO_LIB;BOOST_CHRONO_NO_LIB;BOOST_SYSTEM_NO_LIB;BOOST_THREAD_NO_LIB;BOOST_DATE_TIME_NO_LIB;GNU_WIN32;WIN32;_WIN32;_WINDOWS;_DEBUG;DEBUG="Debug";ARCH_X86;USE_XMMINTRIN;BUILD_SSE_OPTIMIZATIONS;ENABLE_NLS;PROGRAM_NAME="\"Mixbus\"";PACKAGE="\"libardour_waves\"";_REENTRANT;_USE_MATH_DEFINES;_LARGEFILE_SOURCE;_LARGEFILE64_SOURCE;LIBC_DISABLE_DEPRECATED;BOOST_SYSTEM_NO_DEPRECATED;__STDC_LIMIT_MACROS;__STDC_FORMAT_MACROS;INTERNAL_SHARED_LIBS=1;JACK_SESSION=1;HAVE_GLIB=1;HAVE_GTHREAD=1;HAVE_SNDFILE=1;HAVE_GIOMM=1;HAVE_CURL=1;HAVE_LO=1;HAVE_MODE_T=1;PHONE_HOME=1;FREESOUND=1;WINDOWS_KEY=\"Mod4><Super\";IS_OSX=0;HAVE_XML=1;HAVE_UUID=1;HAVE_LIBS_PBD=1;HAVE_JACK=1;HAVE_LIBS_MIDIPP2=1;HAVE_LIBS_EVORAL=1;HAVE_FFTW3=1;HAVE_FFTW3F=1;HAVE_AUBIO=1;HAVE_LIBS_VAMP_SDK=1;HAVE_LIBS_VAMP_PLUGINS=1;HAVE_LIBS_TAGLIB=1;HAVE_LIBS_LIBLTC=1;HAVE_LIBS_RUBBERBAND=1;HAVE_CONTROL_PROTOCOL=1;HAVE_FRONTIER=1;HAVE_GENERIC_MIDI=1;HAVE_MACKIE=1;HAVE_OSC=1;HAVE_TRANZPORT=1;HAVE_WIIMOTE=1;HAVE_LIBS_SURFACES=1;HAVE_2IN2OUT=1;HAVE_1IN2OUT=1;HAVE_VBAP=1;HAVE_LIBS_PANNERS=1;HAVE_LIBS_TIMECODE=1;HAVE_LRDF=1;HAVE_SAMPLERATE=1;HAVE_SERD=1;HAVE_SORD=1;HAVE_SRATOM=1;HAVE_LILV=1;HAVE_NEW_LILV=1;HAVE_OGG=1;HAVE_FLAC=1;HAVE_RUBBERBAND=1;USE_RUBBERBAND=1;HAVE_JACK_SESSION=1;HAVE_UNISTD=1;HAVE_JACK_ON_INFO_SHUTDOWN=1;HAVE_JACK_VIDEO_SUPPORT=1;HAVE_BOOST_SCOPED_PTR_HPP=1;HAVE_BOOST_PTR_CONTAINER_PTR_LIST_HPP=1;HAVE_LIBS_ARDOUR=1;HAVE_GTKMM=1;HAVE_GTK=1;HAVE_LIBS_GTKMM2EXT=1;HAVE_LIBS_CLEARLOOKS_NEWER=1;HAVE_BOOST_FORMAT_HPP=1;HAVE_LIBS_AUDIOGRAPHER=1;HAVE_GNOMECANVAS=0;HAVE_GNOMECANVASMM=0;HAVE_X11=0;HAVE_FONTCONFIG=1;HAVE_BOOST_SHARED_PTR_HPP=1;HAVE_BOOST_WEAK_PTR_HPP=1;HAVE_GTK2_ARDOUR=1;HAVE_EXPORT=1;HAVE_MIDI_MAPS=1;HAVE_MCP=1;HAVE_PATCHFILES=1;HAVE_TOOLS_SANITY_CHECK=1;SMF_VERSION=\"1.2\";CURRENT_SESSION_FILE_VERSION=3001"
+ MinimalRebuild="true"
+ RuntimeLibrary="3"
+ WarningLevel="3"
+ DebugInformationFormat="3"
+ CompileAs="2"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ AdditionalDependencies="$(DllPrefix)glibmm32-2.4-0D.lib $(DllPrefix)giomm32-2.4-0D.lib waves_portaudio_x86D.lib pthreadVCE2.lib $(DllPrefix)gthread32-2.0-0D.lib $(DllPrefix)gobject32-2.0-0D.lib $(DllPrefix)gmodule32-2.0-0D.lib $(DllPrefix)glib32-2.0-0D.lib $(DllPrefix)gio32-2.0-0D.lib $(DllPrefix)sigc++32-2.0D.lib $(DllPrefix)timecode32D.lib $(DllPrefix)ardour32D.lib $(DllPrefix)pbd32D.lib intlD.lib ws2_32.lib psapi.lib wininet.lib kernel32.lib shell32.lib winmm.lib setupapi.lib"
+ OutputFile="$(OutDir)\$(ProjectName)D.dll"
+ AdditionalLibraryDirectories="F:\pthread-win32\Pre-built.2\lib"
+ IgnoreDefaultLibraryNames="libboost_regex-vc80-mt-gd-1_40.lib;msvcrt.lib;dsound.lib"
+ GenerateDebugInformation="true"
+ SubSystem="2"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCManifestTool"
+ UseFAT32Workaround="true"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCAppVerifierTool"
+ />
+ <Tool
+ Name="VCWebDeploymentTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ CommandLine="copy /Y "$(OutDir)\$(TargetName).dll" "$(Debug32TargetFolder)\..\lib\ardour3\backends\$(TargetName).dll"
copy /Y "$(OutDir)\$(TargetName).dll" "$(Debug32TestSuiteFolder)\..\lib\ardour3\backends\$(TargetName).dll"
copy /Y "$(OutDir)\$(TargetName).lib" "$(GenericWin32LibraryFolder)\$(TargetName).lib"
"
+ />
+ </Configuration>
+ <Configuration
+ Name="Release 32|Win32"
+ OutputDirectory="$(ProjectDir)\$(ConfigurationName)\bin"
+ IntermediateDirectory="$(ProjectDir)\$(ConfigurationName)\obj\$(ProjectName)"
+ ConfigurationType="2"
+ InheritedPropertySheets="..\..\..\MSVCMixbus3\MSVCMixbus3.vsprops"
+ CharacterSet="2"
+ WholeProgramOptimization="1"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalOptions="/FI$(TargetSxsFolder)\targetsxs.h"
+ Optimization="2"
+ InlineFunctionExpansion="1"
+ AdditionalIncludeDirectories="..;..\wavesaudio;..\wavesaudio\wavesapi;..\wavesaudio\wavesapi\wavespublicapi;..\wavesaudio\wavesapi\devicemanager;..\wavesaudio\wavesapi\refmanager;..\wavesaudio\wavesapi\threads;..\wavesaudio\wavesapi\miscutils;..\wavesaudio\portmidi\src\pm_common;..\wavesaudio\portmidi;..\..\ardour;..\..\pbd;..\..\timecode;..\..\evoral;"..\..\midi++2";"$(GenericIncludeFolder)\ardourext";"$(GenericLibraryFolder)\glib-2.0\include";"$(GenericIncludeFolder)\libsndfile";"$(GenericIncludeFolder)\gtk-2.0";"$(GenericIncludeFolder)\cairo";"$(GenericIncludeFolder)\freetype2";"$(GenericIncludeFolder)\pango-1.0";"$(GenericIncludeFolder)\gtk-2.0\gdk";"$(GenericIncludeFolder)\atk-2.0";"$(GenericIncludeFolder)\lrdf";"$(GenericIncludeFolder)\raptor";..\..\..\..\support\MB3WavesPortaudio\include;..\..\..\..\support\MB3WavesPortaudio\src\hostapi\asio\ASIOSDK\common;..\.."
+ PreprocessorDefinitions="PLATFORM_WINDOWS;COMPILER_MSVC;_SECURE_SCL=0;BUILDING_WAVES_BACKEND;ARDOURBACKEND_DLL_EXPORTS;RUBBERBAND_IS_IN_WIN_STATIC_LIB;NOMINMAX;NO_POSIX_MEMALIGN;INCLUDE_ARDOUR_MISCELLANEOUS=1;BOOST_REGEX_DYN_LINK;BOOST_REGEX_NO_LIB;BOOST_CHRONO_NO_LIB;BOOST_SYSTEM_NO_LIB;BOOST_THREAD_NO_LIB;BOOST_DATE_TIME_NO_LIB;GNU_WIN32;WIN32;_WIN32;_WINDOWS;NDEBUG;ARCH_X86;USE_XMMINTRIN;BUILD_SSE_OPTIMIZATIONS;ENABLE_NLS;PROGRAM_NAME="\"Mixbus\"";PACKAGE="\"libardour_waves\"";_REENTRANT;_USE_MATH_DEFINES;_LARGEFILE_SOURCE;_LARGEFILE64_SOURCE;LIBC_DISABLE_DEPRECATED;BOOST_SYSTEM_NO_DEPRECATED;__STDC_LIMIT_MACROS;__STDC_FORMAT_MACROS;INTERNAL_SHARED_LIBS=1;JACK_SESSION=1;HAVE_GLIB=1;HAVE_GTHREAD=1;HAVE_SNDFILE=1;HAVE_GIOMM=1;HAVE_CURL=1;HAVE_LO=1;HAVE_MODE_T=1;PHONE_HOME=1;FREESOUND=1;WINDOWS_KEY=\"Mod4><Super\";IS_OSX=0;HAVE_XML=1;HAVE_UUID=1;HAVE_LIBS_PBD=1;HAVE_JACK=1;HAVE_LIBS_MIDIPP2=1;HAVE_LIBS_EVORAL=1;HAVE_FFTW3=1;HAVE_FFTW3F=1;HAVE_AUBIO=1;HAVE_LIBS_VAMP_SDK=1;HAVE_LIBS_VAMP_PLUGINS=1;HAVE_LIBS_TAGLIB=1;HAVE_LIBS_LIBLTC=1;HAVE_LIBS_RUBBERBAND=1;HAVE_CONTROL_PROTOCOL=1;HAVE_FRONTIER=1;HAVE_GENERIC_MIDI=1;HAVE_MACKIE=1;HAVE_OSC=1;HAVE_TRANZPORT=1;HAVE_WIIMOTE=1;HAVE_LIBS_SURFACES=1;HAVE_2IN2OUT=1;HAVE_1IN2OUT=1;HAVE_VBAP=1;HAVE_LIBS_PANNERS=1;HAVE_LIBS_TIMECODE=1;HAVE_LRDF=1;HAVE_SAMPLERATE=1;HAVE_SERD=1;HAVE_SORD=1;HAVE_SRATOM=1;HAVE_LILV=1;HAVE_NEW_LILV=1;HAVE_OGG=1;HAVE_FLAC=1;HAVE_RUBBERBAND=1;USE_RUBBERBAND=1;HAVE_JACK_SESSION=1;HAVE_UNISTD=1;HAVE_JACK_ON_INFO_SHUTDOWN=1;HAVE_JACK_VIDEO_SUPPORT=1;HAVE_BOOST_SCOPED_PTR_HPP=1;HAVE_BOOST_PTR_CONTAINER_PTR_LIST_HPP=1;HAVE_LIBS_ARDOUR=1;HAVE_GTKMM=1;HAVE_GTK=1;HAVE_LIBS_GTKMM2EXT=1;HAVE_LIBS_CLEARLOOKS_NEWER=1;HAVE_BOOST_FORMAT_HPP=1;HAVE_LIBS_AUDIOGRAPHER=1;HAVE_GNOMECANVAS=0;HAVE_GNOMECANVASMM=0;HAVE_X11=0;HAVE_FONTCONFIG=1;HAVE_BOOST_SHARED_PTR_HPP=1;HAVE_BOOST_WEAK_PTR_HPP=1;HAVE_GTK2_ARDOUR=1;HAVE_EXPORT=1;HAVE_MIDI_MAPS=1;HAVE_MCP=1;HAVE_PATCHFILES=1;HAVE_TOOLS_SANITY_CHECK=1;SMF_VERSION=\"1.2\";CURRENT_SESSION_FILE_VERSION=3001"
+ StringPooling="false"
+ RuntimeLibrary="2"
+ EnableEnhancedInstructionSet="1"
+ WarningLevel="3"
+ CompileAs="2"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ AdditionalDependencies="$(DllPrefix)glibmm32-2.4-0.lib $(DllPrefix)giomm32-2.4-0.lib waves_portaudio_x86.lib pthreadVCE2.lib $(DllPrefix)gthread32-2.0-0.lib $(DllPrefix)gobject32-2.0-0.lib $(DllPrefix)gmodule32-2.0-0.lib $(DllPrefix)glib32-2.0-0.lib $(DllPrefix)gio32-2.0-0.lib $(DllPrefix)sigc++32-2.0.lib $(DllPrefix)timecode32.lib $(DllPrefix)ardour32.lib $(DllPrefix)pbd32.lib intl.lib ws2_32.lib psapi.lib wininet.lib kernel32.lib shell32.lib winmm.lib setupapi.lib"
+ OutputFile="$(OutDir)\$(ProjectName).dll"
+ AdditionalLibraryDirectories="F:\pthread-win32\Pre-built.2\lib"
+ IgnoreDefaultLibraryNames="libboost_regex-vc80-mt-gd-1_40.lib;dsound.lib"
+ SubSystem="2"
+ OptimizeReferences="2"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCManifestTool"
+ UseFAT32Workaround="true"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCAppVerifierTool"
+ />
+ <Tool
+ Name="VCWebDeploymentTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ CommandLine="copy /Y "$(OutDir)\$(TargetName).dll" "$(Release32TargetFolder)\..\lib\ardour3\backends\$(TargetName).dll"
copy /Y "$(OutDir)\$(TargetName).dll" "$(Release32TestSuiteFolder)\..\lib\ardour3\backends\$(TargetName).dll"
copy /Y "$(OutDir)\$(TargetName).lib" "$(GenericWin32LibraryFolder)\$(TargetName).lib"
"
+ />
+ </Configuration>
+ <Configuration
+ Name="Release 32 with Debugging Capability|Win32"
+ OutputDirectory="$(ProjectDir)\$(ConfigurationName)\bin"
+ IntermediateDirectory="$(ProjectDir)\$(ConfigurationName)\obj\$(ProjectName)"
+ ConfigurationType="2"
+ InheritedPropertySheets="..\..\..\MSVCMixbus3\MSVCMixbus3.vsprops"
+ CharacterSet="2"
+ WholeProgramOptimization="0"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalOptions="/FI$(TargetSxsFolder)\targetsxs.h"
+ Optimization="0"
+ AdditionalIncludeDirectories="..;..\wavesaudio;..\wavesaudio\wavesapi;..\wavesaudio\wavesapi\wavespublicapi;..\wavesaudio\wavesapi\devicemanager;..\wavesaudio\wavesapi\refmanager;..\wavesaudio\wavesapi\threads;..\wavesaudio\wavesapi\miscutils;..\wavesaudio\portmidi\src\pm_common;..\wavesaudio\portmidi;..\..\ardour;..\..\pbd;..\..\timecode;..\..\evoral;"..\..\midi++2";"$(GenericIncludeFolder)\ardourext";"$(GenericLibraryFolder)\glib-2.0\include";"$(GenericIncludeFolder)\libsndfile";"$(GenericIncludeFolder)\gtk-2.0";"$(GenericIncludeFolder)\cairo";"$(GenericIncludeFolder)\freetype2";"$(GenericIncludeFolder)\pango-1.0";"$(GenericIncludeFolder)\gtk-2.0\gdk";"$(GenericIncludeFolder)\atk-2.0";"$(GenericIncludeFolder)\lrdf";"$(GenericIncludeFolder)\raptor";..\..\..\..\support\MB3WavesPortaudio\include;..\..\..\..\support\MB3WavesPortaudio\src\hostapi\asio\ASIOSDK\common;..\.."
+ PreprocessorDefinitions="PLATFORM_WINDOWS;COMPILER_MSVC;_SECURE_SCL=0;BUILDING_WAVES_BACKEND;ARDOURBACKEND_DLL_EXPORTS;RUBBERBAND_IS_IN_WIN_STATIC_LIB;NOMINMAX;NO_POSIX_MEMALIGN;INCLUDE_ARDOUR_MISCELLANEOUS=1;BOOST_REGEX_DYN_LINK;BOOST_REGEX_NO_LIB;BOOST_CHRONO_NO_LIB;BOOST_SYSTEM_NO_LIB;BOOST_THREAD_NO_LIB;BOOST_DATE_TIME_NO_LIB;GNU_WIN32;WIN32;_WIN32;_WINDOWS;ARCH_X86;USE_XMMINTRIN;BUILD_SSE_OPTIMIZATIONS;ENABLE_NLS;PROGRAM_NAME="\"Mixbus\"";PACKAGE="\"libardour_waves\"";_REENTRANT;_USE_MATH_DEFINES;_LARGEFILE_SOURCE;_LARGEFILE64_SOURCE;LIBC_DISABLE_DEPRECATED;BOOST_SYSTEM_NO_DEPRECATED;__STDC_LIMIT_MACROS;__STDC_FORMAT_MACROS;INTERNAL_SHARED_LIBS=1;JACK_SESSION=1;HAVE_GLIB=1;HAVE_GTHREAD=1;HAVE_SNDFILE=1;HAVE_GIOMM=1;HAVE_CURL=1;HAVE_LO=1;HAVE_MODE_T=1;PHONE_HOME=1;FREESOUND=1;WINDOWS_KEY=\"Mod4><Super\";IS_OSX=0;HAVE_XML=1;HAVE_UUID=1;HAVE_LIBS_PBD=1;HAVE_JACK=1;HAVE_LIBS_MIDIPP2=1;HAVE_LIBS_EVORAL=1;HAVE_FFTW3=1;HAVE_FFTW3F=1;HAVE_AUBIO=1;HAVE_LIBS_VAMP_SDK=1;HAVE_LIBS_VAMP_PLUGINS=1;HAVE_LIBS_TAGLIB=1;HAVE_LIBS_LIBLTC=1;HAVE_LIBS_RUBBERBAND=1;HAVE_CONTROL_PROTOCOL=1;HAVE_FRONTIER=1;HAVE_GENERIC_MIDI=1;HAVE_MACKIE=1;HAVE_OSC=1;HAVE_TRANZPORT=1;HAVE_WIIMOTE=1;HAVE_LIBS_SURFACES=1;HAVE_2IN2OUT=1;HAVE_1IN2OUT=1;HAVE_VBAP=1;HAVE_LIBS_PANNERS=1;HAVE_LIBS_TIMECODE=1;HAVE_LRDF=1;HAVE_SAMPLERATE=1;HAVE_SERD=1;HAVE_SORD=1;HAVE_SRATOM=1;HAVE_LILV=1;HAVE_NEW_LILV=1;HAVE_OGG=1;HAVE_FLAC=1;HAVE_RUBBERBAND=1;USE_RUBBERBAND=1;HAVE_JACK_SESSION=1;HAVE_UNISTD=1;HAVE_JACK_ON_INFO_SHUTDOWN=1;HAVE_JACK_VIDEO_SUPPORT=1;HAVE_BOOST_SCOPED_PTR_HPP=1;HAVE_BOOST_PTR_CONTAINER_PTR_LIST_HPP=1;HAVE_LIBS_ARDOUR=1;HAVE_GTKMM=1;HAVE_GTK=1;HAVE_LIBS_GTKMM2EXT=1;HAVE_LIBS_CLEARLOOKS_NEWER=1;HAVE_BOOST_FORMAT_HPP=1;HAVE_LIBS_AUDIOGRAPHER=1;HAVE_GNOMECANVAS=0;HAVE_GNOMECANVASMM=0;HAVE_X11=0;HAVE_FONTCONFIG=1;HAVE_BOOST_SHARED_PTR_HPP=1;HAVE_BOOST_WEAK_PTR_HPP=1;HAVE_GTK2_ARDOUR=1;HAVE_EXPORT=1;HAVE_MIDI_MAPS=1;HAVE_MCP=1;HAVE_PATCHFILES=1;HAVE_TOOLS_SANITY_CHECK=1;SMF_VERSION=\"1.2\";CURRENT_SESSION_FILE_VERSION=3001"
+ StringPooling="false"
+ RuntimeLibrary="2"
+ EnableEnhancedInstructionSet="1"
+ WarningLevel="3"
+ DebugInformationFormat="3"
+ CompileAs="2"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ AdditionalDependencies="$(DllPrefix)glibmm32-2.4-0RDC.lib $(DllPrefix)giomm32-2.4-0RDC.lib waves_portaudio_x86RDC.lib pthreadVCE2.lib $(DllPrefix)gthread32-2.0-0RDC.lib $(DllPrefix)gobject32-2.0-0RDC.lib $(DllPrefix)gmodule32-2.0-0RDC.lib $(DllPrefix)glib32-2.0-0RDC.lib $(DllPrefix)gio32-2.0-0RDC.lib $(DllPrefix)sigc++32-2.0RDC.lib $(DllPrefix)timecode32RDC.lib $(DllPrefix)ardour32RDC.lib $(DllPrefix)pbd32RDC.lib intlRDC.lib ws2_32.lib psapi.lib wininet.lib kernel32.lib shell32.lib winmm.lib setupapi.lib"
+ OutputFile="$(OutDir)\$(ProjectName)RDC.dll"
+ AdditionalLibraryDirectories="F:\pthread-win32\Pre-built.2\lib"
+ IgnoreDefaultLibraryNames="libboost_regex-vc80-mt-gd-1_40.lib;dsound.lib"
+ GenerateDebugInformation="true"
+ SubSystem="2"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCManifestTool"
+ UseFAT32Workaround="true"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCAppVerifierTool"
+ />
+ <Tool
+ Name="VCWebDeploymentTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ CommandLine="copy /Y "$(OutDir)\$(TargetName).dll" "$(Release32TestSuiteFolder)\..\lib\ardour3\backends\$(TargetName).dll"
copy /Y "$(OutDir)\$(TargetName).lib" "$(GenericWin32LibraryFolder)\$(TargetName).lib"
"
+ />
+ </Configuration>
+ </Configurations>
+ <References>
+ </References>
+ <Files>
+ <Filter
+ Name="Source Files"
+ Filter="cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx"
+ UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
+ >
+ <File
+ RelativePath="..\wavesaudio\waves_audiobackend.cc"
+ >
+ </File>
+ <File
+ RelativePath="..\wavesaudio\waves_audiobackend.latency.cc"
+ >
+ </File>
+ <File
+ RelativePath="..\wavesaudio\waves_audiobackend.midi.cc"
+ >
+ </File>
+ <File
+ RelativePath="..\wavesaudio\waves_audiobackend.port_engine.cc"
+ >
+ </File>
+ <File
+ RelativePath="..\wavesaudio\waves_audioport.cc"
+ >
+ </File>
+ <File
+ RelativePath="..\wavesaudio\waves_dataport.cc"
+ >
+ </File>
+ <File
+ RelativePath="..\wavesaudio\waves_midi_buffer.cc"
+ >
+ </File>
+ <File
+ RelativePath="..\wavesaudio\waves_midi_device.cc"
+ >
+ </File>
+ <File
+ RelativePath="..\wavesaudio\waves_midi_device_manager.cc"
+ >
+ </File>
+ <File
+ RelativePath="..\wavesaudio\waves_midi_event.cc"
+ >
+ </File>
+ <File
+ RelativePath="..\wavesaudio\waves_midiport.cc"
+ >
+ </File>
+ <Filter
+ Name="wavesapi"
+ >
+ <File
+ RelativePath="..\wavesaudio\wavesapi\miscutils\UMicroseconds.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\wavesaudio\wavesapi\devicemanager\WCMRAudioDeviceManager.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\wavesaudio\wavesapi\devicemanager\WCMRNativeAudio.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\wavesaudio\wavesapi\devicemanager\WCMRPortAudioDeviceManager.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\wavesaudio\wavesapi\refmanager\WCRefManager.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\wavesaudio\wavesapi\threads\WCThreadSafe.cpp"
+ >
+ </File>
+ </Filter>
+ <Filter
+ Name="portmidi"
+ >
+ <File
+ RelativePath="..\wavesaudio\portmidi\src\pm_common\pmutil.c"
+ >
+ </File>
+ <File
+ RelativePath="..\wavesaudio\portmidi\src\pm_win\pmwin.c"
+ >
+ </File>
+ <File
+ RelativePath="..\wavesaudio\portmidi\src\pm_win\pmwinmm.c"
+ >
+ </File>
+ <File
+ RelativePath="..\wavesaudio\portmidi\src\pm_common\portmidi.c"
+ >
+ </File>
+ <File
+ RelativePath="..\wavesaudio\portmidi\src\porttime\ptwinmm.c"
+ >
+ </File>
+ </Filter>
+ </Filter>
+ <Filter
+ Name="Header Files"
+ Filter="h;hpp;hxx;hm;inl;inc;xsd"
+ UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}"
+ >
+ <File
+ RelativePath="..\wavesaudio\portmidi\src\pm_common\pminternal.h"
+ >
+ </File>
+ <File
+ RelativePath="..\wavesaudio\portmidi\pmutil.h"
+ >
+ </File>
+ <File
+ RelativePath="..\wavesaudio\portmidi\src\pm_win\pmwinmm.h"
+ >
+ </File>
+ <File
+ RelativePath="..\wavesaudio\portmidi\portmidi.h"
+ >
+ </File>
+ <File
+ RelativePath="..\wavesaudio\portmidi\porttime.h"
+ >
+ </File>
+ <File
+ RelativePath="..\wavesaudio\waves_audiobackend.h"
+ >
+ </File>
+ <File
+ RelativePath="..\wavesaudio\waves_audioport.h"
+ >
+ </File>
+ <File
+ RelativePath="..\wavesaudio\waves_dataport.h"
+ >
+ </File>
+ <File
+ RelativePath="..\wavesaudio\waves_midi_buffer.h"
+ >
+ </File>
+ <File
+ RelativePath="..\wavesaudio\waves_midi_device.h"
+ >
+ </File>
+ <File
+ RelativePath="..\wavesaudio\waves_midi_device_manager.h"
+ >
+ </File>
+ <File
+ RelativePath="..\wavesaudio\waves_midi_event.h"
+ >
+ </File>
+ <File
+ RelativePath="..\wavesaudio\waves_midiport.h"
+ >
+ </File>
+ <File
+ RelativePath="..\wavesaudio\wavesapi\wavespublicapi\wstdint.h"
+ >
+ </File>
+ <Filter
+ Name="wavesapi"
+ >
+ <File
+ RelativePath="..\wavesaudio\wavesapi\akupara\threading\atomic_ops.hpp"
+ >
+ </File>
+ <File
+ RelativePath="..\wavesaudio\wavesapi\akupara\threading\atomic_ops_gcc_x86.hpp"
+ >
+ </File>
+ <File
+ RelativePath="..\wavesaudio\wavesapi\akupara\basics.hpp"
+ >
+ </File>
+ <File
+ RelativePath="..\wavesaudio\wavesapi\akupara\compiletime_functions.hpp"
+ >
+ </File>
+ <File
+ RelativePath="..\wavesaudio\wavesapi\miscutils\MinMaxUtilities.h"
+ >
+ </File>
+ <File
+ RelativePath="..\wavesaudio\wavesapi\miscutils\pthread_utils.h"
+ >
+ </File>
+ <File
+ RelativePath="..\wavesaudio\wavesapi\miscutils\safe_delete.h"
+ >
+ </File>
+ <File
+ RelativePath="..\wavesaudio\wavesapi\miscutils\UMicroseconds.h"
+ >
+ </File>
+ <File
+ RelativePath="..\wavesaudio\wavesapi\miscutils\WCFixedString.h"
+ >
+ </File>
+ <File
+ RelativePath="..\wavesaudio\wavesapi\BasicTypes\WCFourCC.h"
+ >
+ </File>
+ <File
+ RelativePath="..\wavesaudio\wavesapi\devicemanager\WCMRAudioDeviceManager.h"
+ >
+ </File>
+ <File
+ RelativePath="..\wavesaudio\wavesapi\devicemanager\WCMRNativeAudio.h"
+ >
+ </File>
+ <File
+ RelativePath="..\wavesaudio\wavesapi\devicemanager\WCMRPortAudioDeviceManager.h"
+ >
+ </File>
+ <File
+ RelativePath="..\wavesaudio\wavesapi\refmanager\WCRefManager.h"
+ >
+ </File>
+ <File
+ RelativePath="..\wavesaudio\wavesapi\threads\WCThreadSafe.h"
+ >
+ </File>
+ <File
+ RelativePath="..\wavesaudio\wavesapi\BasicTypes\WTByteOrder.h"
+ >
+ </File>
+ <File
+ RelativePath="..\wavesaudio\wavesapi\wavespublicapi\WTErr.h"
+ >
+ </File>
+ <File
+ RelativePath="..\wavesaudio\wavesapi\BasicTypes\WUComPtr.h"
+ >
+ </File>
+ <File
+ RelativePath="..\wavesaudio\wavesapi\BasicTypes\WUDefines.h"
+ >
+ </File>
+ <File
+ RelativePath="..\wavesaudio\wavesapi\miscutils\WUErrors.h"
+ >
+ </File>
+ <File
+ RelativePath="..\wavesaudio\wavesapi\BasicTypes\WUMathConsts.h"
+ >
+ </File>
+ <File
+ RelativePath="..\wavesaudio\wavesapi\BasicTypes\WUTypes.h"
+ >
+ </File>
+ </Filter>
+ </Filter>
+ </Files>
+ <Globals>
+ </Globals>
+</VisualStudioProject>
+++ /dev/null
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioProject
- ProjectType="Visual C++"
- Version="8.00"
- Name="waves_backend"
- ProjectGUID="{D7B1537C-C244-4D86-BBBF-74A1801AB984}"
- RootNamespace="waves_backend"
- >
- <Platforms>
- <Platform
- Name="Win32"
- />
- </Platforms>
- <ToolFiles>
- </ToolFiles>
- <Configurations>
- <Configuration
- Name="Debug 32|Win32"
- OutputDirectory="$(ProjectDir)\$(ConfigurationName)\bin"
- IntermediateDirectory="$(ProjectDir)\$(ConfigurationName)\obj\$(ProjectName)"
- ConfigurationType="2"
- InheritedPropertySheets="..\..\..\MSVCMixbus3\MSVCMixbus3.vsprops"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- AdditionalOptions="/FI$(TargetSxsFolder)\targetsxs.h"
- Optimization="0"
- AdditionalIncludeDirectories="..;..\wavesaudio;..\wavesaudio\wavesapi;..\wavesaudio\wavesapi\wavespublicapi;..\wavesaudio\wavesapi\devicemanager;..\wavesaudio\wavesapi\refmanager;..\wavesaudio\wavesapi\threads;..\wavesaudio\wavesapi\miscutils;..\wavesaudio\portmidi\src\pm_common;..\wavesaudio\portmidi;..\..\ardour;..\..\pbd;..\..\timecode;..\..\evoral;"..\..\midi++2";"$(GenericIncludeFolder)\ardourext";"$(GenericLibraryFolder)\glib-2.0\include";"$(GenericIncludeFolder)\libsndfile";"$(GenericIncludeFolder)\gtk-2.0";"$(GenericIncludeFolder)\cairo";"$(GenericIncludeFolder)\freetype2";"$(GenericIncludeFolder)\pango-1.0";"$(GenericIncludeFolder)\gtk-2.0\gdk";"$(GenericIncludeFolder)\atk-2.0";"$(GenericIncludeFolder)\lrdf";"$(GenericIncludeFolder)\raptor";..\..\..\..\support\MB3WavesPortaudio\include;..\..\..\..\support\MB3WavesPortaudio\src\hostapi\asio\ASIOSDK\common;..\.."
- PreprocessorDefinitions="PLATFORM_WINDOWS;COMPILER_MSVC;BUILDING_WAVES_BACKEND;ARDOURBACKEND_DLL_EXPORTS;RUBBERBAND_IS_IN_WIN_STATIC_LIB;NOMINMAX;NO_POSIX_MEMALIGN;INCLUDE_ARDOUR_MISCELLANEOUS=1;BOOST_REGEX_DYN_LINK;BOOST_REGEX_NO_LIB;BOOST_CHRONO_NO_LIB;BOOST_SYSTEM_NO_LIB;BOOST_THREAD_NO_LIB;BOOST_DATE_TIME_NO_LIB;GNU_WIN32;WIN32;_WIN32;_WINDOWS;_DEBUG;DEBUG="Debug";ARCH_X86;USE_XMMINTRIN;BUILD_SSE_OPTIMIZATIONS;ENABLE_NLS;PROGRAM_NAME="\"Mixbus\"";PACKAGE="\"libardour_waves\"";_REENTRANT;_USE_MATH_DEFINES;_LARGEFILE_SOURCE;_LARGEFILE64_SOURCE;LIBC_DISABLE_DEPRECATED;BOOST_SYSTEM_NO_DEPRECATED;__STDC_LIMIT_MACROS;__STDC_FORMAT_MACROS;INTERNAL_SHARED_LIBS=1;JACK_SESSION=1;HAVE_GLIB=1;HAVE_GTHREAD=1;HAVE_SNDFILE=1;HAVE_GIOMM=1;HAVE_CURL=1;HAVE_LO=1;HAVE_MODE_T=1;PHONE_HOME=1;FREESOUND=1;WINDOWS_KEY=\"Mod4><Super\";IS_OSX=0;HAVE_XML=1;HAVE_UUID=1;HAVE_LIBS_PBD=1;HAVE_JACK=1;HAVE_LIBS_MIDIPP2=1;HAVE_LIBS_EVORAL=1;HAVE_FFTW3=1;HAVE_FFTW3F=1;HAVE_AUBIO=1;HAVE_LIBS_VAMP_SDK=1;HAVE_LIBS_VAMP_PLUGINS=1;HAVE_LIBS_TAGLIB=1;HAVE_LIBS_LIBLTC=1;HAVE_LIBS_RUBBERBAND=1;HAVE_CONTROL_PROTOCOL=1;HAVE_FRONTIER=1;HAVE_GENERIC_MIDI=1;HAVE_MACKIE=1;HAVE_OSC=1;HAVE_TRANZPORT=1;HAVE_WIIMOTE=1;HAVE_LIBS_SURFACES=1;HAVE_2IN2OUT=1;HAVE_1IN2OUT=1;HAVE_VBAP=1;HAVE_LIBS_PANNERS=1;HAVE_LIBS_TIMECODE=1;HAVE_LRDF=1;HAVE_SAMPLERATE=1;HAVE_SERD=1;HAVE_SORD=1;HAVE_SRATOM=1;HAVE_LILV=1;HAVE_NEW_LILV=1;HAVE_OGG=1;HAVE_FLAC=1;HAVE_RUBBERBAND=1;USE_RUBBERBAND=1;HAVE_JACK_SESSION=1;HAVE_UNISTD=1;HAVE_JACK_ON_INFO_SHUTDOWN=1;HAVE_JACK_VIDEO_SUPPORT=1;HAVE_BOOST_SCOPED_PTR_HPP=1;HAVE_BOOST_PTR_CONTAINER_PTR_LIST_HPP=1;HAVE_LIBS_ARDOUR=1;HAVE_GTKMM=1;HAVE_GTK=1;HAVE_LIBS_GTKMM2EXT=1;HAVE_LIBS_CLEARLOOKS_NEWER=1;HAVE_BOOST_FORMAT_HPP=1;HAVE_LIBS_AUDIOGRAPHER=1;HAVE_GNOMECANVAS=0;HAVE_GNOMECANVASMM=0;HAVE_X11=0;HAVE_FONTCONFIG=1;HAVE_BOOST_SHARED_PTR_HPP=1;HAVE_BOOST_WEAK_PTR_HPP=1;HAVE_GTK2_ARDOUR=1;HAVE_EXPORT=1;HAVE_MIDI_MAPS=1;HAVE_MCP=1;HAVE_PATCHFILES=1;HAVE_TOOLS_SANITY_CHECK=1;SMF_VERSION=\"1.2\";CURRENT_SESSION_FILE_VERSION=3001"
- MinimalRebuild="true"
- RuntimeLibrary="3"
- WarningLevel="3"
- DebugInformationFormat="3"
- CompileAs="2"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="$(DllPrefix)glibmm32-2.4-0D.lib $(DllPrefix)giomm32-2.4-0D.lib waves_portaudio_x86D.lib pthreadVCE2.lib $(DllPrefix)gthread32-2.0-0D.lib $(DllPrefix)gobject32-2.0-0D.lib $(DllPrefix)gmodule32-2.0-0D.lib $(DllPrefix)glib32-2.0-0D.lib $(DllPrefix)gio32-2.0-0D.lib $(DllPrefix)sigc++32-2.0D.lib $(DllPrefix)timecode32D.lib $(DllPrefix)ardour32D.lib $(DllPrefix)pbd32D.lib intlD.lib ws2_32.lib psapi.lib wininet.lib kernel32.lib shell32.lib winmm.lib setupapi.lib"
- OutputFile="$(OutDir)\$(ProjectName)D.dll"
- AdditionalLibraryDirectories="F:\pthread-win32\Pre-built.2\lib"
- IgnoreDefaultLibraryNames="libboost_regex-vc80-mt-gd-1_40.lib;msvcrt.lib;dsound.lib"
- GenerateDebugInformation="true"
- SubSystem="2"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- UseFAT32Workaround="true"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCWebDeploymentTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- CommandLine="copy /Y "$(OutDir)\$(TargetName).dll" "$(Debug32TargetFolder)\..\lib\ardour3\backends\$(TargetName).dll"
copy /Y "$(OutDir)\$(TargetName).dll" "$(Debug32TestSuiteFolder)\..\lib\ardour3\backends\$(TargetName).dll"
copy /Y "$(OutDir)\$(TargetName).lib" "$(GenericWin32LibraryFolder)\$(TargetName).lib"
"
- />
- </Configuration>
- <Configuration
- Name="Release 32|Win32"
- OutputDirectory="$(ProjectDir)\$(ConfigurationName)\bin"
- IntermediateDirectory="$(ProjectDir)\$(ConfigurationName)\obj\$(ProjectName)"
- ConfigurationType="2"
- InheritedPropertySheets="..\..\..\MSVCMixbus3\MSVCMixbus3.vsprops"
- CharacterSet="2"
- WholeProgramOptimization="1"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- AdditionalOptions="/FI$(TargetSxsFolder)\targetsxs.h"
- Optimization="2"
- InlineFunctionExpansion="1"
- AdditionalIncludeDirectories="..;..\wavesaudio;..\wavesaudio\wavesapi;..\wavesaudio\wavesapi\wavespublicapi;..\wavesaudio\wavesapi\devicemanager;..\wavesaudio\wavesapi\refmanager;..\wavesaudio\wavesapi\threads;..\wavesaudio\wavesapi\miscutils;..\wavesaudio\portmidi\src\pm_common;..\wavesaudio\portmidi;..\..\ardour;..\..\pbd;..\..\timecode;..\..\evoral;"..\..\midi++2";"$(GenericIncludeFolder)\ardourext";"$(GenericLibraryFolder)\glib-2.0\include";"$(GenericIncludeFolder)\libsndfile";"$(GenericIncludeFolder)\gtk-2.0";"$(GenericIncludeFolder)\cairo";"$(GenericIncludeFolder)\freetype2";"$(GenericIncludeFolder)\pango-1.0";"$(GenericIncludeFolder)\gtk-2.0\gdk";"$(GenericIncludeFolder)\atk-2.0";"$(GenericIncludeFolder)\lrdf";"$(GenericIncludeFolder)\raptor";..\..\..\..\support\MB3WavesPortaudio\include;..\..\..\..\support\MB3WavesPortaudio\src\hostapi\asio\ASIOSDK\common;..\.."
- PreprocessorDefinitions="PLATFORM_WINDOWS;COMPILER_MSVC;_SECURE_SCL=0;BUILDING_WAVES_BACKEND;ARDOURBACKEND_DLL_EXPORTS;RUBBERBAND_IS_IN_WIN_STATIC_LIB;NOMINMAX;NO_POSIX_MEMALIGN;INCLUDE_ARDOUR_MISCELLANEOUS=1;BOOST_REGEX_DYN_LINK;BOOST_REGEX_NO_LIB;BOOST_CHRONO_NO_LIB;BOOST_SYSTEM_NO_LIB;BOOST_THREAD_NO_LIB;BOOST_DATE_TIME_NO_LIB;GNU_WIN32;WIN32;_WIN32;_WINDOWS;NDEBUG;ARCH_X86;USE_XMMINTRIN;BUILD_SSE_OPTIMIZATIONS;ENABLE_NLS;PROGRAM_NAME="\"Mixbus\"";PACKAGE="\"libardour_waves\"";_REENTRANT;_USE_MATH_DEFINES;_LARGEFILE_SOURCE;_LARGEFILE64_SOURCE;LIBC_DISABLE_DEPRECATED;BOOST_SYSTEM_NO_DEPRECATED;__STDC_LIMIT_MACROS;__STDC_FORMAT_MACROS;INTERNAL_SHARED_LIBS=1;JACK_SESSION=1;HAVE_GLIB=1;HAVE_GTHREAD=1;HAVE_SNDFILE=1;HAVE_GIOMM=1;HAVE_CURL=1;HAVE_LO=1;HAVE_MODE_T=1;PHONE_HOME=1;FREESOUND=1;WINDOWS_KEY=\"Mod4><Super\";IS_OSX=0;HAVE_XML=1;HAVE_UUID=1;HAVE_LIBS_PBD=1;HAVE_JACK=1;HAVE_LIBS_MIDIPP2=1;HAVE_LIBS_EVORAL=1;HAVE_FFTW3=1;HAVE_FFTW3F=1;HAVE_AUBIO=1;HAVE_LIBS_VAMP_SDK=1;HAVE_LIBS_VAMP_PLUGINS=1;HAVE_LIBS_TAGLIB=1;HAVE_LIBS_LIBLTC=1;HAVE_LIBS_RUBBERBAND=1;HAVE_CONTROL_PROTOCOL=1;HAVE_FRONTIER=1;HAVE_GENERIC_MIDI=1;HAVE_MACKIE=1;HAVE_OSC=1;HAVE_TRANZPORT=1;HAVE_WIIMOTE=1;HAVE_LIBS_SURFACES=1;HAVE_2IN2OUT=1;HAVE_1IN2OUT=1;HAVE_VBAP=1;HAVE_LIBS_PANNERS=1;HAVE_LIBS_TIMECODE=1;HAVE_LRDF=1;HAVE_SAMPLERATE=1;HAVE_SERD=1;HAVE_SORD=1;HAVE_SRATOM=1;HAVE_LILV=1;HAVE_NEW_LILV=1;HAVE_OGG=1;HAVE_FLAC=1;HAVE_RUBBERBAND=1;USE_RUBBERBAND=1;HAVE_JACK_SESSION=1;HAVE_UNISTD=1;HAVE_JACK_ON_INFO_SHUTDOWN=1;HAVE_JACK_VIDEO_SUPPORT=1;HAVE_BOOST_SCOPED_PTR_HPP=1;HAVE_BOOST_PTR_CONTAINER_PTR_LIST_HPP=1;HAVE_LIBS_ARDOUR=1;HAVE_GTKMM=1;HAVE_GTK=1;HAVE_LIBS_GTKMM2EXT=1;HAVE_LIBS_CLEARLOOKS_NEWER=1;HAVE_BOOST_FORMAT_HPP=1;HAVE_LIBS_AUDIOGRAPHER=1;HAVE_GNOMECANVAS=0;HAVE_GNOMECANVASMM=0;HAVE_X11=0;HAVE_FONTCONFIG=1;HAVE_BOOST_SHARED_PTR_HPP=1;HAVE_BOOST_WEAK_PTR_HPP=1;HAVE_GTK2_ARDOUR=1;HAVE_EXPORT=1;HAVE_MIDI_MAPS=1;HAVE_MCP=1;HAVE_PATCHFILES=1;HAVE_TOOLS_SANITY_CHECK=1;SMF_VERSION=\"1.2\";CURRENT_SESSION_FILE_VERSION=3001"
- StringPooling="false"
- RuntimeLibrary="2"
- EnableEnhancedInstructionSet="1"
- WarningLevel="3"
- CompileAs="2"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="$(DllPrefix)glibmm32-2.4-0.lib $(DllPrefix)giomm32-2.4-0.lib waves_portaudio_x86.lib pthreadVCE2.lib $(DllPrefix)gthread32-2.0-0.lib $(DllPrefix)gobject32-2.0-0.lib $(DllPrefix)gmodule32-2.0-0.lib $(DllPrefix)glib32-2.0-0.lib $(DllPrefix)gio32-2.0-0.lib $(DllPrefix)sigc++32-2.0.lib $(DllPrefix)timecode32.lib $(DllPrefix)ardour32.lib $(DllPrefix)pbd32.lib intl.lib ws2_32.lib psapi.lib wininet.lib kernel32.lib shell32.lib winmm.lib setupapi.lib"
- OutputFile="$(OutDir)\$(ProjectName).dll"
- AdditionalLibraryDirectories="F:\pthread-win32\Pre-built.2\lib"
- IgnoreDefaultLibraryNames="libboost_regex-vc80-mt-gd-1_40.lib;dsound.lib"
- SubSystem="2"
- OptimizeReferences="2"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- UseFAT32Workaround="true"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCWebDeploymentTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- CommandLine="copy /Y "$(OutDir)\$(TargetName).dll" "$(Release32TargetFolder)\..\lib\ardour3\backends\$(TargetName).dll"
copy /Y "$(OutDir)\$(TargetName).dll" "$(Release32TestSuiteFolder)\..\lib\ardour3\backends\$(TargetName).dll"
copy /Y "$(OutDir)\$(TargetName).lib" "$(GenericWin32LibraryFolder)\$(TargetName).lib"
"
- />
- </Configuration>
- <Configuration
- Name="Release 32 with Debugging Capability|Win32"
- OutputDirectory="$(ProjectDir)\$(ConfigurationName)\bin"
- IntermediateDirectory="$(ProjectDir)\$(ConfigurationName)\obj\$(ProjectName)"
- ConfigurationType="2"
- InheritedPropertySheets="..\..\..\MSVCMixbus3\MSVCMixbus3.vsprops"
- CharacterSet="2"
- WholeProgramOptimization="0"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- AdditionalOptions="/FI$(TargetSxsFolder)\targetsxs.h"
- Optimization="0"
- AdditionalIncludeDirectories="..;..\wavesaudio;..\wavesaudio\wavesapi;..\wavesaudio\wavesapi\wavespublicapi;..\wavesaudio\wavesapi\devicemanager;..\wavesaudio\wavesapi\refmanager;..\wavesaudio\wavesapi\threads;..\wavesaudio\wavesapi\miscutils;..\wavesaudio\portmidi\src\pm_common;..\wavesaudio\portmidi;..\..\ardour;..\..\pbd;..\..\timecode;..\..\evoral;"..\..\midi++2";"$(GenericIncludeFolder)\ardourext";"$(GenericLibraryFolder)\glib-2.0\include";"$(GenericIncludeFolder)\libsndfile";"$(GenericIncludeFolder)\gtk-2.0";"$(GenericIncludeFolder)\cairo";"$(GenericIncludeFolder)\freetype2";"$(GenericIncludeFolder)\pango-1.0";"$(GenericIncludeFolder)\gtk-2.0\gdk";"$(GenericIncludeFolder)\atk-2.0";"$(GenericIncludeFolder)\lrdf";"$(GenericIncludeFolder)\raptor";..\..\..\..\support\MB3WavesPortaudio\include;..\..\..\..\support\MB3WavesPortaudio\src\hostapi\asio\ASIOSDK\common;..\.."
- PreprocessorDefinitions="PLATFORM_WINDOWS;COMPILER_MSVC;_SECURE_SCL=0;BUILDING_WAVES_BACKEND;ARDOURBACKEND_DLL_EXPORTS;RUBBERBAND_IS_IN_WIN_STATIC_LIB;NOMINMAX;NO_POSIX_MEMALIGN;INCLUDE_ARDOUR_MISCELLANEOUS=1;BOOST_REGEX_DYN_LINK;BOOST_REGEX_NO_LIB;BOOST_CHRONO_NO_LIB;BOOST_SYSTEM_NO_LIB;BOOST_THREAD_NO_LIB;BOOST_DATE_TIME_NO_LIB;GNU_WIN32;WIN32;_WIN32;_WINDOWS;ARCH_X86;USE_XMMINTRIN;BUILD_SSE_OPTIMIZATIONS;ENABLE_NLS;PROGRAM_NAME="\"Mixbus\"";PACKAGE="\"libardour_waves\"";_REENTRANT;_USE_MATH_DEFINES;_LARGEFILE_SOURCE;_LARGEFILE64_SOURCE;LIBC_DISABLE_DEPRECATED;BOOST_SYSTEM_NO_DEPRECATED;__STDC_LIMIT_MACROS;__STDC_FORMAT_MACROS;INTERNAL_SHARED_LIBS=1;JACK_SESSION=1;HAVE_GLIB=1;HAVE_GTHREAD=1;HAVE_SNDFILE=1;HAVE_GIOMM=1;HAVE_CURL=1;HAVE_LO=1;HAVE_MODE_T=1;PHONE_HOME=1;FREESOUND=1;WINDOWS_KEY=\"Mod4><Super\";IS_OSX=0;HAVE_XML=1;HAVE_UUID=1;HAVE_LIBS_PBD=1;HAVE_JACK=1;HAVE_LIBS_MIDIPP2=1;HAVE_LIBS_EVORAL=1;HAVE_FFTW3=1;HAVE_FFTW3F=1;HAVE_AUBIO=1;HAVE_LIBS_VAMP_SDK=1;HAVE_LIBS_VAMP_PLUGINS=1;HAVE_LIBS_TAGLIB=1;HAVE_LIBS_LIBLTC=1;HAVE_LIBS_RUBBERBAND=1;HAVE_CONTROL_PROTOCOL=1;HAVE_FRONTIER=1;HAVE_GENERIC_MIDI=1;HAVE_MACKIE=1;HAVE_OSC=1;HAVE_TRANZPORT=1;HAVE_WIIMOTE=1;HAVE_LIBS_SURFACES=1;HAVE_2IN2OUT=1;HAVE_1IN2OUT=1;HAVE_VBAP=1;HAVE_LIBS_PANNERS=1;HAVE_LIBS_TIMECODE=1;HAVE_LRDF=1;HAVE_SAMPLERATE=1;HAVE_SERD=1;HAVE_SORD=1;HAVE_SRATOM=1;HAVE_LILV=1;HAVE_NEW_LILV=1;HAVE_OGG=1;HAVE_FLAC=1;HAVE_RUBBERBAND=1;USE_RUBBERBAND=1;HAVE_JACK_SESSION=1;HAVE_UNISTD=1;HAVE_JACK_ON_INFO_SHUTDOWN=1;HAVE_JACK_VIDEO_SUPPORT=1;HAVE_BOOST_SCOPED_PTR_HPP=1;HAVE_BOOST_PTR_CONTAINER_PTR_LIST_HPP=1;HAVE_LIBS_ARDOUR=1;HAVE_GTKMM=1;HAVE_GTK=1;HAVE_LIBS_GTKMM2EXT=1;HAVE_LIBS_CLEARLOOKS_NEWER=1;HAVE_BOOST_FORMAT_HPP=1;HAVE_LIBS_AUDIOGRAPHER=1;HAVE_GNOMECANVAS=0;HAVE_GNOMECANVASMM=0;HAVE_X11=0;HAVE_FONTCONFIG=1;HAVE_BOOST_SHARED_PTR_HPP=1;HAVE_BOOST_WEAK_PTR_HPP=1;HAVE_GTK2_ARDOUR=1;HAVE_EXPORT=1;HAVE_MIDI_MAPS=1;HAVE_MCP=1;HAVE_PATCHFILES=1;HAVE_TOOLS_SANITY_CHECK=1;SMF_VERSION=\"1.2\";CURRENT_SESSION_FILE_VERSION=3001"
- StringPooling="false"
- RuntimeLibrary="2"
- EnableEnhancedInstructionSet="1"
- WarningLevel="3"
- DebugInformationFormat="3"
- CompileAs="2"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="$(DllPrefix)glibmm32-2.4-0RDC.lib $(DllPrefix)giomm32-2.4-0RDC.lib waves_portaudio_x86RDC.lib pthreadVCE2.lib $(DllPrefix)gthread32-2.0-0RDC.lib $(DllPrefix)gobject32-2.0-0RDC.lib $(DllPrefix)gmodule32-2.0-0RDC.lib $(DllPrefix)glib32-2.0-0RDC.lib $(DllPrefix)gio32-2.0-0RDC.lib $(DllPrefix)sigc++32-2.0RDC.lib $(DllPrefix)timecode32RDC.lib $(DllPrefix)ardour32RDC.lib $(DllPrefix)pbd32RDC.lib intlRDC.lib ws2_32.lib psapi.lib wininet.lib kernel32.lib shell32.lib winmm.lib setupapi.lib"
- OutputFile="$(OutDir)\$(ProjectName)RDC.dll"
- AdditionalLibraryDirectories="F:\pthread-win32\Pre-built.2\lib"
- IgnoreDefaultLibraryNames="libboost_regex-vc80-mt-gd-1_40.lib;dsound.lib"
- GenerateDebugInformation="true"
- SubSystem="2"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- UseFAT32Workaround="true"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCWebDeploymentTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- CommandLine="copy /Y "$(OutDir)\$(TargetName).dll" "$(Release32TestSuiteFolder)\..\lib\ardour3\backends\$(TargetName).dll"
copy /Y "$(OutDir)\$(TargetName).lib" "$(GenericWin32LibraryFolder)\$(TargetName).lib"
"
- />
- </Configuration>
- </Configurations>
- <References>
- </References>
- <Files>
- <Filter
- Name="Source Files"
- Filter="cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx"
- UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
- >
- <File
- RelativePath="..\wavesaudio\waves_audiobackend.cc"
- >
- </File>
- <File
- RelativePath="..\wavesaudio\waves_audiobackend.latency.cc"
- >
- </File>
- <File
- RelativePath="..\wavesaudio\waves_audiobackend.midi.cc"
- >
- </File>
- <File
- RelativePath="..\wavesaudio\waves_audiobackend.port_engine.cc"
- >
- </File>
- <File
- RelativePath="..\wavesaudio\waves_audioport.cc"
- >
- </File>
- <File
- RelativePath="..\wavesaudio\waves_dataport.cc"
- >
- </File>
- <File
- RelativePath="..\wavesaudio\waves_midi_buffer.cc"
- >
- </File>
- <File
- RelativePath="..\wavesaudio\waves_midi_device.cc"
- >
- </File>
- <File
- RelativePath="..\wavesaudio\waves_midi_device_manager.cc"
- >
- </File>
- <File
- RelativePath="..\wavesaudio\waves_midi_event.cc"
- >
- </File>
- <File
- RelativePath="..\wavesaudio\waves_midiport.cc"
- >
- </File>
- <Filter
- Name="wavesapi"
- >
- <File
- RelativePath="..\wavesaudio\wavesapi\miscutils\UMicroseconds.cpp"
- >
- </File>
- <File
- RelativePath="..\wavesaudio\wavesapi\devicemanager\WCMRAudioDeviceManager.cpp"
- >
- </File>
- <File
- RelativePath="..\wavesaudio\wavesapi\devicemanager\WCMRNativeAudio.cpp"
- >
- </File>
- <File
- RelativePath="..\wavesaudio\wavesapi\devicemanager\WCMRPortAudioDeviceManager.cpp"
- >
- </File>
- <File
- RelativePath="..\wavesaudio\wavesapi\refmanager\WCRefManager.cpp"
- >
- </File>
- <File
- RelativePath="..\wavesaudio\wavesapi\threads\WCThreadSafe.cpp"
- >
- </File>
- </Filter>
- <Filter
- Name="portmidi"
- >
- <File
- RelativePath="..\wavesaudio\portmidi\src\pm_common\pmutil.c"
- >
- </File>
- <File
- RelativePath="..\wavesaudio\portmidi\src\pm_win\pmwin.c"
- >
- </File>
- <File
- RelativePath="..\wavesaudio\portmidi\src\pm_win\pmwinmm.c"
- >
- </File>
- <File
- RelativePath="..\wavesaudio\portmidi\src\pm_common\portmidi.c"
- >
- </File>
- <File
- RelativePath="..\wavesaudio\portmidi\src\porttime\ptwinmm.c"
- >
- </File>
- </Filter>
- </Filter>
- <Filter
- Name="Header Files"
- Filter="h;hpp;hxx;hm;inl;inc;xsd"
- UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}"
- >
- <File
- RelativePath="..\wavesaudio\portmidi\src\pm_common\pminternal.h"
- >
- </File>
- <File
- RelativePath="..\wavesaudio\portmidi\pmutil.h"
- >
- </File>
- <File
- RelativePath="..\wavesaudio\portmidi\src\pm_win\pmwinmm.h"
- >
- </File>
- <File
- RelativePath="..\wavesaudio\portmidi\portmidi.h"
- >
- </File>
- <File
- RelativePath="..\wavesaudio\portmidi\porttime.h"
- >
- </File>
- <File
- RelativePath="..\wavesaudio\waves_audiobackend.h"
- >
- </File>
- <File
- RelativePath="..\wavesaudio\waves_audioport.h"
- >
- </File>
- <File
- RelativePath="..\wavesaudio\waves_dataport.h"
- >
- </File>
- <File
- RelativePath="..\wavesaudio\waves_midi_buffer.h"
- >
- </File>
- <File
- RelativePath="..\wavesaudio\waves_midi_device.h"
- >
- </File>
- <File
- RelativePath="..\wavesaudio\waves_midi_device_manager.h"
- >
- </File>
- <File
- RelativePath="..\wavesaudio\waves_midi_event.h"
- >
- </File>
- <File
- RelativePath="..\wavesaudio\waves_midiport.h"
- >
- </File>
- <File
- RelativePath="..\wavesaudio\wavesapi\wavespublicapi\wstdint.h"
- >
- </File>
- <Filter
- Name="wavesapi"
- >
- <File
- RelativePath="..\wavesaudio\wavesapi\akupara\threading\atomic_ops.hpp"
- >
- </File>
- <File
- RelativePath="..\wavesaudio\wavesapi\akupara\threading\atomic_ops_gcc_x86.hpp"
- >
- </File>
- <File
- RelativePath="..\wavesaudio\wavesapi\akupara\basics.hpp"
- >
- </File>
- <File
- RelativePath="..\wavesaudio\wavesapi\akupara\compiletime_functions.hpp"
- >
- </File>
- <File
- RelativePath="..\wavesaudio\wavesapi\miscutils\MinMaxUtilities.h"
- >
- </File>
- <File
- RelativePath="..\wavesaudio\wavesapi\miscutils\pthread_utils.h"
- >
- </File>
- <File
- RelativePath="..\wavesaudio\wavesapi\miscutils\safe_delete.h"
- >
- </File>
- <File
- RelativePath="..\wavesaudio\wavesapi\miscutils\UMicroseconds.h"
- >
- </File>
- <File
- RelativePath="..\wavesaudio\wavesapi\miscutils\WCFixedString.h"
- >
- </File>
- <File
- RelativePath="..\wavesaudio\wavesapi\BasicTypes\WCFourCC.h"
- >
- </File>
- <File
- RelativePath="..\wavesaudio\wavesapi\devicemanager\WCMRAudioDeviceManager.h"
- >
- </File>
- <File
- RelativePath="..\wavesaudio\wavesapi\devicemanager\WCMRNativeAudio.h"
- >
- </File>
- <File
- RelativePath="..\wavesaudio\wavesapi\devicemanager\WCMRPortAudioDeviceManager.h"
- >
- </File>
- <File
- RelativePath="..\wavesaudio\wavesapi\refmanager\WCRefManager.h"
- >
- </File>
- <File
- RelativePath="..\wavesaudio\wavesapi\threads\WCThreadSafe.h"
- >
- </File>
- <File
- RelativePath="..\wavesaudio\wavesapi\BasicTypes\WTByteOrder.h"
- >
- </File>
- <File
- RelativePath="..\wavesaudio\wavesapi\wavespublicapi\WTErr.h"
- >
- </File>
- <File
- RelativePath="..\wavesaudio\wavesapi\BasicTypes\WUComPtr.h"
- >
- </File>
- <File
- RelativePath="..\wavesaudio\wavesapi\BasicTypes\WUDefines.h"
- >
- </File>
- <File
- RelativePath="..\wavesaudio\wavesapi\miscutils\WUErrors.h"
- >
- </File>
- <File
- RelativePath="..\wavesaudio\wavesapi\BasicTypes\WUMathConsts.h"
- >
- </File>
- <File
- RelativePath="..\wavesaudio\wavesapi\BasicTypes\WUTypes.h"
- >
- </File>
- </Filter>
- </Filter>
- </Files>
- <Globals>
- </Globals>
-</VisualStudioProject>
}
}
+ assert(_midi_driver_option != _("None"));
+
std::map<std::string, std::string> devices;
- get_alsa_rawmidi_device_names(devices);
+ if (_midi_driver_option == _("ALSA raw devices")) {
+ get_alsa_rawmidi_device_names(devices);
+ } else {
+ get_alsa_sequencer_names (devices);
+ }
+
for (std::map<std::string, std::string>::const_iterator i = devices.begin (); i != devices.end(); ++i) {
if (i->first == name) {
_midi_devices[name] = new AlsaMidiDeviceInfo();
std::vector<std::string> m;
m.push_back (_("None"));
m.push_back (_("ALSA raw devices"));
+ m.push_back (_("ALSA sequencer"));
return m;
}
AlsaAudioBackend::enumerate_midi_devices () const
{
std::vector<AudioBackend::DeviceStatus> s;
- if (_midi_driver_option == _("None")) {
+ std::map<std::string, std::string> devices;
+
+ if (_midi_driver_option == _("ALSA raw devices")) {
+ get_alsa_rawmidi_device_names (devices);
+ }
+ else if (_midi_driver_option == _("ALSA sequencer")) {
+ get_alsa_sequencer_names (devices);
+ } else {
return s;
}
- std::map<std::string, std::string> devices;
- get_alsa_rawmidi_device_names(devices);
-
for (std::map<std::string, std::string>::const_iterator i = devices.begin (); i != devices.end(); ++i) {
s.push_back (DeviceStatus (i->first, true));
}
int
AlsaAudioBackend::set_midi_option (const std::string& opt)
{
- if (opt != _("None") && opt != _("ALSA raw devices")) {
+ if (opt != _("None") && opt != _("ALSA raw devices") && opt != _("ALSA sequencer")) {
return -1;
}
_midi_driver_option = opt;
}
while (!_rmidi_out.empty ()) {
- AlsaRawMidiIO *m = _rmidi_out.back ();
+ AlsaMidiIO *m = _rmidi_out.back ();
m->stop();
_rmidi_out.pop_back ();
delete m;
}
while (!_rmidi_in.empty ()) {
- AlsaRawMidiIO *m = _rmidi_in.back ();
+ AlsaMidiIO *m = _rmidi_in.back ();
m->stop();
_rmidi_in.pop_back ();
delete m;
if (_midi_driver_option == _("None")) {
return 0;
+ } else if (_midi_driver_option == _("ALSA raw devices")) {
+ get_alsa_rawmidi_device_names(devices);
+ } else {
+ get_alsa_sequencer_names (devices);
}
- get_alsa_rawmidi_device_names(devices);
for (std::map<std::string, std::string>::const_iterator i = devices.begin (); i != devices.end(); ++i) {
struct AlsaMidiDeviceInfo * nfo = midi_device_info(i->first);
if (!nfo) continue;
if (!nfo->enabled) continue;
- AlsaRawMidiOut *mout = new AlsaRawMidiOut (i->second.c_str());
+ AlsaMidiOut *mout;
+ if (_midi_driver_option == _("ALSA raw devices")) {
+ mout = new AlsaRawMidiOut (i->second.c_str());
+ } else {
+ mout = new AlsaSeqMidiOut (i->second.c_str());
+ }
+
if (mout->state ()) {
PBD::warning << string_compose (
- _("AlsaRawMidiOut: failed to open midi device '%1'."), i->second)
+ _("AlsaMidiOut: failed to open midi device '%1'."), i->second)
<< endmsg;
delete mout;
} else {
mout->sync_time (g_get_monotonic_time());
if (mout->start ()) {
PBD::warning << string_compose (
- _("AlsaRawMidiOut: failed to start midi device '%1'."), i->second)
+ _("AlsaMidiOut: failed to start midi device '%1'."), i->second)
<< endmsg;
delete mout;
} else {
}
}
- AlsaRawMidiIn *midin = new AlsaRawMidiIn (i->second.c_str());
+ AlsaMidiIn *midin;
+ if (_midi_driver_option == _("ALSA raw devices")) {
+ midin = new AlsaRawMidiIn (i->second.c_str());
+ } else {
+ midin = new AlsaSeqMidiIn (i->second.c_str());
+ }
+
if (midin->state ()) {
PBD::warning << string_compose (
- _("AlsaRawMidiIn: failed to open midi device '%1'."), i->second)
+ _("AlsaMidiIn: failed to open midi device '%1'."), i->second)
<< endmsg;
delete midin;
} else {
midin->sync_time (g_get_monotonic_time());
if (midin->start ()) {
PBD::warning << string_compose (
- _("AlsaRawMidiIn: failed to start midi device '%1'."), i->second)
+ _("AlsaMidiIn: failed to start midi device '%1'."), i->second)
<< endmsg;
delete midin;
} else {
i = 0;
for (std::vector<AlsaPort*>::const_iterator it = _system_midi_in.begin (); it != _system_midi_in.end (); ++it, ++i) {
assert (_rmidi_in.size() > i);
- AlsaRawMidiIn *rm = static_cast<AlsaRawMidiIn*>(_rmidi_in.at(i));
+ AlsaMidiIn *rm = static_cast<AlsaMidiIn*>(_rmidi_in.at(i));
void *bptr = (*it)->get_buffer(0);
pframes_t time;
- uint8_t data[64]; // match MaxAlsaRawEventSize in alsa_rawmidi.cc
+ uint8_t data[64]; // match MaxAlsaEventSize in alsa_rawmidi.cc
size_t size = sizeof(data);
midi_clear(bptr);
while (rm->recv_event (time, data, size)) {
for (std::vector<AlsaPort*>::const_iterator it = _system_midi_out.begin (); it != _system_midi_out.end (); ++it, ++i) {
assert (_rmidi_out.size() > i);
const AlsaMidiBuffer src = static_cast<const AlsaMidiPort*>(*it)->const_buffer();
- AlsaRawMidiOut *rm = static_cast<AlsaRawMidiOut*>(_rmidi_out.at(i));
+ AlsaMidiOut *rm = static_cast<AlsaMidiOut*>(_rmidi_out.at(i));
rm->sync_time (clock1);
for (AlsaMidiBuffer::const_iterator mit = src.begin (); mit != src.end (); ++mit) {
rm->send_event ((*mit)->timestamp(), (*mit)->data(), (*mit)->size());
#include "zita-alsa-pcmi.h"
#include "alsa_rawmidi.h"
+#include "alsa_sequencer.h"
namespace ARDOUR {
std::vector<AlsaPort *> _system_midi_in;
std::vector<AlsaPort *> _system_midi_out;
- std::vector<AlsaRawMidiOut *> _rmidi_out;
- std::vector<AlsaRawMidiIn *> _rmidi_in;
+ std::vector<AlsaMidiOut *> _rmidi_out;
+ std::vector<AlsaMidiIn *> _rmidi_in;
struct PortConnectData {
std::string a;
--- /dev/null
+/*
+ * Copyright (C) 2014 Robin Gareus <robin@gareus.org>
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+#include <unistd.h>
+
+#include <glibmm.h>
+
+#include "alsa_midi.h"
+#include "rt_thread.h"
+
+#include "pbd/error.h"
+#include "i18n.h"
+
+using namespace ARDOUR;
+
+#ifndef NDEBUG
+#define _DEBUGPRINT(STR) fprintf(stderr, STR);
+#else
+#define _DEBUGPRINT(STR) ;
+#endif
+
+AlsaMidiIO::AlsaMidiIO ()
+ : _state (-1)
+ , _running (false)
+ , _pfds (0)
+ , _sample_length_us (1e6 / 48000.0)
+ , _period_length_us (1.024e6 / 48000.0)
+ , _samples_per_period (1024)
+ , _rb (0)
+{
+ pthread_mutex_init (&_notify_mutex, 0);
+ pthread_cond_init (&_notify_ready, 0);
+
+ // MIDI (hw port) 31.25 kbaud
+ // worst case here is 8192 SPP and 8KSPS for which we'd need
+ // 4000 bytes sans MidiEventHeader.
+ // since we're not always in sync, let's use 4096.
+ _rb = new RingBuffer<uint8_t>(4096 + 4096 * sizeof(MidiEventHeader));
+}
+
+AlsaMidiIO::~AlsaMidiIO ()
+{
+ delete _rb;
+ pthread_mutex_destroy (&_notify_mutex);
+ pthread_cond_destroy (&_notify_ready);
+ free (_pfds);
+}
+
+static void * pthread_process (void *arg)
+{
+ AlsaMidiIO *d = static_cast<AlsaMidiIO *>(arg);
+ d->main_process_thread ();
+ pthread_exit (0);
+ return 0;
+}
+
+int
+AlsaMidiIO::start ()
+{
+ if (_realtime_pthread_create (SCHED_FIFO, -21, 100000,
+ &_main_thread, pthread_process, this))
+ {
+ if (pthread_create (&_main_thread, NULL, pthread_process, this)) {
+ PBD::error << _("AlsaMidiIO: Failed to create process thread.") << endmsg;
+ return -1;
+ } else {
+ PBD::warning << _("AlsaMidiIO: Cannot acquire realtime permissions.") << endmsg;
+ }
+ }
+ int timeout = 5000;
+ while (!_running && --timeout > 0) { Glib::usleep (1000); }
+ if (timeout == 0 || !_running) {
+ return -1;
+ }
+ return 0;
+}
+
+int
+AlsaMidiIO::stop ()
+{
+ void *status;
+ if (!_running) {
+ return 0;
+ }
+
+ _running = false;
+
+ pthread_mutex_lock (&_notify_mutex);
+ pthread_cond_signal (&_notify_ready);
+ pthread_mutex_unlock (&_notify_mutex);
+
+ if (pthread_join (_main_thread, &status)) {
+ PBD::error << _("AlsaMidiIO: Failed to terminate.") << endmsg;
+ return -1;
+ }
+ return 0;
+}
+
+void
+AlsaMidiIO::setup_timing (const size_t samples_per_period, const float samplerate)
+{
+ _period_length_us = (double) samples_per_period * 1e6 / samplerate;
+ _sample_length_us = 1e6 / samplerate;
+ _samples_per_period = samples_per_period;
+}
+
+void
+AlsaMidiIO::sync_time (const uint64_t tme)
+{
+ // TODO consider a PLL, if this turns out to be the bottleneck for jitter
+ // also think about using
+ // snd_pcm_status_get_tstamp() and snd_rawmidi_status_get_tstamp()
+ // instead of monotonic clock.
+#ifdef DEBUG_TIMING
+ double tdiff = (_clock_monotonic + _period_length_us - tme) / 1000.0;
+ if (abs(tdiff) >= .05) {
+ printf("AlsaMidiIO MJ: %.1f ms\n", tdiff);
+ }
+#endif
+ _clock_monotonic = tme;
+}
+
+///////////////////////////////////////////////////////////////////////////////
+
+AlsaMidiOut::AlsaMidiOut ()
+ : AlsaMidiIO ()
+{
+}
+
+int
+AlsaMidiOut::send_event (const pframes_t time, const uint8_t *data, const size_t size)
+{
+ const uint32_t buf_size = sizeof (MidiEventHeader) + size;
+ if (_rb->write_space() < buf_size) {
+ _DEBUGPRINT("AlsaMidiOut: ring buffer overflow\n");
+ return -1;
+ }
+ struct MidiEventHeader h (_clock_monotonic + time * _sample_length_us, size);
+ _rb->write ((uint8_t*) &h, sizeof(MidiEventHeader));
+ _rb->write (data, size);
+
+ if (pthread_mutex_trylock (&_notify_mutex) == 0) {
+ pthread_cond_signal (&_notify_ready);
+ pthread_mutex_unlock (&_notify_mutex);
+ }
+ return 0;
+}
+
+///////////////////////////////////////////////////////////////////////////////
+
+AlsaMidiIn::AlsaMidiIn ()
+ : AlsaMidiIO ()
+{
+}
+
+size_t
+AlsaMidiIn::recv_event (pframes_t &time, uint8_t *data, size_t &size)
+{
+ const uint32_t read_space = _rb->read_space();
+ struct MidiEventHeader h(0,0);
+
+ if (read_space <= sizeof(MidiEventHeader)) {
+ return 0;
+ }
+
+ RingBuffer<uint8_t>::rw_vector vector;
+ _rb->get_read_vector(&vector);
+ if (vector.len[0] >= sizeof(MidiEventHeader)) {
+ memcpy((uint8_t*)&h, vector.buf[0], sizeof(MidiEventHeader));
+ } else {
+ if (vector.len[0] > 0) {
+ memcpy ((uint8_t*)&h, vector.buf[0], vector.len[0]);
+ }
+ memcpy (((uint8_t*)&h) + vector.len[0], vector.buf[1], sizeof(MidiEventHeader) - vector.len[0]);
+ }
+
+ if (h.time >= _clock_monotonic + _period_length_us ) {
+#ifdef DEBUG_TIMING
+ printf("AlsaMidiIn DEBUG: POSTPONE EVENT TO NEXT CYCLE: %.1f spl\n", ((h.time - _clock_monotonic) / _sample_length_us));
+#endif
+ return 0;
+ }
+ _rb->increment_read_idx (sizeof(MidiEventHeader));
+
+ assert (h.size > 0);
+ if (h.size > size) {
+ _DEBUGPRINT("AlsaMidiIn::recv_event MIDI event too large!\n");
+ _rb->increment_read_idx (h.size);
+ return 0;
+ }
+ if (_rb->read (&data[0], h.size) != h.size) {
+ _DEBUGPRINT("AlsaMidiIn::recv_event Garbled MIDI EVENT DATA!!\n");
+ return 0;
+ }
+ if (h.time < _clock_monotonic) {
+#ifdef DEBUG_TIMING
+ printf("AlsaMidiIn DEBUG: MIDI TIME < 0 %.1f spl\n", ((_clock_monotonic - h.time) / -_sample_length_us));
+#endif
+ time = 0;
+ } else if (h.time >= _clock_monotonic + _period_length_us ) {
+#ifdef DEBUG_TIMING
+ printf("AlsaMidiIn DEBUG: MIDI TIME > PERIOD %.1f spl\n", ((h.time - _clock_monotonic) / _sample_length_us));
+#endif
+ time = _samples_per_period - 1;
+ } else {
+ time = floor ((h.time - _clock_monotonic) / _sample_length_us);
+ }
+ assert(time < _samples_per_period);
+ size = h.size;
+ return h.size;
+}
+
+int
+AlsaMidiIn::queue_event (const uint64_t time, const uint8_t *data, const size_t size) {
+ const uint32_t buf_size = sizeof(MidiEventHeader) + size;
+
+ if (size == 0) {
+ return -1;
+ }
+ if (_rb->write_space() < buf_size) {
+ _DEBUGPRINT("AlsaMidiIn: ring buffer overflow\n");
+ return -1;
+ }
+ struct MidiEventHeader h (time, size);
+ _rb->write ((uint8_t*) &h, sizeof(MidiEventHeader));
+ _rb->write (data, size);
+ return 0;
+}
--- /dev/null
+/*
+ * Copyright (C) 2014 Robin Gareus <robin@gareus.org>
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+#ifndef __libbackend_alsa_midi_h__
+#define __libbackend_alsa_midi_h__
+
+#include <stdint.h>
+#include <poll.h>
+#include <pthread.h>
+
+#include "pbd/ringbuffer.h"
+#include "ardour/types.h"
+
+namespace ARDOUR {
+
+class AlsaMidiIO {
+public:
+ AlsaMidiIO ();
+ virtual ~AlsaMidiIO ();
+
+ int state (void) const { return _state; }
+ int start ();
+ int stop ();
+
+ void setup_timing (const size_t samples_per_period, const float samplerate);
+ void sync_time(uint64_t);
+
+ virtual void* main_process_thread () = 0;
+
+protected:
+ pthread_t _main_thread;
+ pthread_mutex_t _notify_mutex;
+ pthread_cond_t _notify_ready;
+
+ int _state;
+ bool _running;
+
+ int _npfds;
+ struct pollfd *_pfds;
+
+ double _sample_length_us;
+ double _period_length_us;
+ size_t _samples_per_period;
+ uint64_t _clock_monotonic;
+
+ struct MidiEventHeader {
+ uint64_t time;
+ size_t size;
+ MidiEventHeader(const uint64_t t, const size_t s)
+ : time(t)
+ , size(s) {}
+ };
+
+ RingBuffer<uint8_t>* _rb;
+
+protected:
+ virtual void init (const char *device_name, const bool input) = 0;
+
+};
+
+class AlsaMidiOut : virtual public AlsaMidiIO
+{
+public:
+ AlsaMidiOut ();
+
+ int send_event (const pframes_t, const uint8_t *, const size_t);
+};
+
+class AlsaMidiIn : virtual public AlsaMidiIO
+{
+public:
+ AlsaMidiIn ();
+
+ size_t recv_event (pframes_t &, uint8_t *, size_t &);
+
+protected:
+ int queue_event (const uint64_t, const uint8_t *, const size_t);
+};
+
+} // namespace
+
+#endif
*/
#include <unistd.h>
-
#include <glibmm.h>
+#include "select_sleep.h"
#include "alsa_rawmidi.h"
-#include "rt_thread.h"
#include "pbd/error.h"
#include "i18n.h"
#endif
AlsaRawMidiIO::AlsaRawMidiIO (const char *device, const bool input)
- : _state (-1)
- , _running (false)
+ : AlsaMidiIO()
, _device (0)
- , _pfds (0)
- , _sample_length_us (1e6 / 48000.0)
- , _period_length_us (1.024e6 / 48000.0)
- , _samples_per_period (1024)
- , _rb (0)
{
- pthread_mutex_init (&_notify_mutex, 0);
- pthread_cond_init (&_notify_ready, 0);
init (device, input);
}
snd_rawmidi_close (_device);
_device = 0;
}
- delete _rb;
- pthread_mutex_destroy (&_notify_mutex);
- pthread_cond_destroy (&_notify_ready);
- free (_pfds);
}
void
_pfds = (struct pollfd*) malloc (_npfds * sizeof(struct pollfd));
snd_rawmidi_poll_descriptors (_device, _pfds, _npfds);
- // MIDI (hw port) 31.25 kbaud
- // worst case here is 8192 SPP and 8KSPS for which we'd need
- // 4000 bytes sans MidiEventHeader.
- // since we're not always in sync, let's use 4096.
- _rb = new RingBuffer<uint8_t>(4096 + 4096 * sizeof(MidiEventHeader));
-
#if 0
_state = 0;
#else
return;
}
-static void * pthread_process (void *arg)
-{
- AlsaRawMidiIO *d = static_cast<AlsaRawMidiIO *>(arg);
- d->main_process_thread ();
- pthread_exit (0);
- return 0;
-}
-
-int
-AlsaRawMidiIO::start ()
-{
- if (_realtime_pthread_create (SCHED_FIFO, -21, 100000,
- &_main_thread, pthread_process, this))
- {
- if (pthread_create (&_main_thread, NULL, pthread_process, this)) {
- PBD::error << _("AlsaRawMidiIO: Failed to create process thread.") << endmsg;
- return -1;
- } else {
- PBD::warning << _("AlsaRawMidiIO: Cannot acquire realtime permissions.") << endmsg;
- }
- }
- int timeout = 5000;
- while (!_running && --timeout > 0) { Glib::usleep (1000); }
- if (timeout == 0 || !_running) {
- return -1;
- }
- return 0;
-}
-
-int
-AlsaRawMidiIO::stop ()
-{
- void *status;
- if (!_running) {
- return 0;
- }
-
- _running = false;
-
- pthread_mutex_lock (&_notify_mutex);
- pthread_cond_signal (&_notify_ready);
- pthread_mutex_unlock (&_notify_mutex);
-
- if (pthread_join (_main_thread, &status)) {
- PBD::error << _("AlsaRawMidiIO: Failed to terminate.") << endmsg;
- return -1;
- }
- return 0;
-}
-
-void
-AlsaRawMidiIO::setup_timing (const size_t samples_per_period, const float samplerate)
-{
- _period_length_us = (double) samples_per_period * 1e6 / samplerate;
- _sample_length_us = 1e6 / samplerate;
- _samples_per_period = samples_per_period;
-}
-
-void
-AlsaRawMidiIO::sync_time (const uint64_t tme)
-{
- // TODO consider a PLL, if this turns out to be the bottleneck for jitter
- // also think about using
- // snd_pcm_status_get_tstamp() and snd_rawmidi_status_get_tstamp()
- // instead of monotonic clock.
-#ifdef DEBUG_TIMING
- double tdiff = (_clock_monotonic + _period_length_us - tme) / 1000.0;
- if (abs(tdiff) >= .05) {
- printf("AlsaRawMidiIO MJ: %.1f ms\n", tdiff);
- }
-#endif
- _clock_monotonic = tme;
-}
-
-///////////////////////////////////////////////////////////////////////////////
-
-// select sleeps _at most_ (compared to usleep() which sleeps at least)
-static void select_sleep (uint32_t usec) {
- if (usec <= 10) return;
- fd_set fd;
- int max_fd=0;
- struct timeval tv;
- tv.tv_sec = usec / 1000000;
- tv.tv_usec = usec % 1000000;
- FD_ZERO (&fd);
- select (max_fd, &fd, NULL, NULL, &tv);
-}
-
///////////////////////////////////////////////////////////////////////////////
AlsaRawMidiOut::AlsaRawMidiOut (const char *device)
: AlsaRawMidiIO (device, false)
+ , AlsaMidiOut ()
{
}
-
-int
-AlsaRawMidiOut::send_event (const pframes_t time, const uint8_t *data, const size_t size)
-{
- const uint32_t buf_size = sizeof (MidiEventHeader) + size;
- if (_rb->write_space() < buf_size) {
- _DEBUGPRINT("AlsaRawMidiOut: ring buffer overflow\n");
- return -1;
- }
- struct MidiEventHeader h (_clock_monotonic + time * _sample_length_us, size);
- _rb->write ((uint8_t*) &h, sizeof(MidiEventHeader));
- _rb->write (data, size);
-
- if (pthread_mutex_trylock (&_notify_mutex) == 0) {
- pthread_cond_signal (&_notify_ready);
- pthread_mutex_unlock (&_notify_mutex);
- }
- return 0;
-}
-
void *
AlsaRawMidiOut::main_process_thread ()
{
AlsaRawMidiIn::AlsaRawMidiIn (const char *device)
: AlsaRawMidiIO (device, true)
+ , AlsaMidiIn ()
, _event(0,0)
, _first_time(true)
, _unbuffered_bytes(0)
{
}
-size_t
-AlsaRawMidiIn::recv_event (pframes_t &time, uint8_t *data, size_t &size)
-{
- const uint32_t read_space = _rb->read_space();
- struct MidiEventHeader h(0,0);
-
- if (read_space <= sizeof(MidiEventHeader)) {
- return 0;
- }
-
-#if 1
- // check if event is in current cycle
- RingBuffer<uint8_t>::rw_vector vector;
- _rb->get_read_vector(&vector);
- if (vector.len[0] >= sizeof(MidiEventHeader)) {
- memcpy((uint8_t*)&h, vector.buf[0], sizeof(MidiEventHeader));
- } else {
- if (vector.len[0] > 0) {
- memcpy ((uint8_t*)&h, vector.buf[0], vector.len[0]);
- }
- memcpy (((uint8_t*)&h) + vector.len[0], vector.buf[1], sizeof(MidiEventHeader) - vector.len[0]);
- }
-
- if (h.time >= _clock_monotonic + _period_length_us ) {
-#ifdef DEBUG_TIMING
- printf("AlsaRawMidiIn DEBUG: POSTPONE EVENT TO NEXT CYCLE: %.1f spl\n", ((h.time - _clock_monotonic) / _sample_length_us));
-#endif
- return 0;
- }
- _rb->increment_read_idx (sizeof(MidiEventHeader));
-#else
- if (_rb->read ((uint8_t*)&h, sizeof(MidiEventHeader)) != sizeof(MidiEventHeader)) {
- _DEBUGPRINT("AlsaRawMidiIn::recv_event Garbled MIDI EVENT HEADER!!\n");
- return 0;
- }
-#endif
- assert (h.size > 0);
- if (h.size > size) {
- _DEBUGPRINT("AlsaRawMidiIn::recv_event MIDI event too large!\n");
- _rb->increment_read_idx (h.size);
- return 0;
- }
- if (_rb->read (&data[0], h.size) != h.size) {
- _DEBUGPRINT("AlsaRawMidiIn::recv_event Garbled MIDI EVENT DATA!!\n");
- return 0;
- }
- if (h.time < _clock_monotonic) {
-#ifdef DEBUG_TIMING
- printf("AlsaRawMidiIn DEBUG: MIDI TIME < 0 %.1f spl\n", ((_clock_monotonic - h.time) / -_sample_length_us));
-#endif
- time = 0;
- } else if (h.time >= _clock_monotonic + _period_length_us ) {
-#ifdef DEBUG_TIMING
- printf("AlsaRawMidiIn DEBUG: MIDI TIME > PERIOD %.1f spl\n", ((h.time - _clock_monotonic) / _sample_length_us));
-#endif
- time = _samples_per_period - 1;
- } else {
- time = floor ((h.time - _clock_monotonic) / _sample_length_us);
- }
- assert(time < _samples_per_period);
- size = h.size;
- return h.size;
-}
-
void *
AlsaRawMidiIn::main_process_thread ()
{
int
AlsaRawMidiIn::queue_event (const uint64_t time, const uint8_t *data, const size_t size) {
- const uint32_t buf_size = sizeof(MidiEventHeader) + size;
_event._pending = false;
-
- if (size == 0) {
- return -1;
- }
- if (_rb->write_space() < buf_size) {
- _DEBUGPRINT("AlsaRawMidiIn: ring buffer overflow\n");
- return -1;
- }
- struct MidiEventHeader h (time, size);
- _rb->write ((uint8_t*) &h, sizeof(MidiEventHeader));
- _rb->write (data, size);
- return 0;
+ return AlsaMidiIn::queue_event(time, data, size);
}
void
#include "pbd/ringbuffer.h"
#include "ardour/types.h"
+#include "alsa_midi.h"
namespace ARDOUR {
-class AlsaRawMidiIO {
+class AlsaRawMidiIO : virtual public AlsaMidiIO {
public:
AlsaRawMidiIO (const char *device, const bool input);
virtual ~AlsaRawMidiIO ();
- int state (void) const { return _state; }
- int start ();
- int stop ();
-
- void setup_timing (const size_t samples_per_period, const float samplerate);
- void sync_time(uint64_t);
-
- virtual void* main_process_thread () = 0;
-
protected:
- pthread_t _main_thread;
- pthread_mutex_t _notify_mutex;
- pthread_cond_t _notify_ready;
-
- int _state;
- bool _running;
-
snd_rawmidi_t *_device;
- int _npfds;
- struct pollfd *_pfds;
-
- double _sample_length_us;
- double _period_length_us;
- size_t _samples_per_period;
- uint64_t _clock_monotonic;
-
- struct MidiEventHeader {
- uint64_t time;
- size_t size;
- MidiEventHeader(const uint64_t t, const size_t s)
- : time(t)
- , size(s) {}
- };
-
- RingBuffer<uint8_t>* _rb;
private:
void init (const char *device_name, const bool input);
-
};
-class AlsaRawMidiOut : public AlsaRawMidiIO
+class AlsaRawMidiOut : public AlsaRawMidiIO, public AlsaMidiOut
{
public:
AlsaRawMidiOut (const char *device);
-
void* main_process_thread ();
- int send_event (const pframes_t, const uint8_t *, const size_t);
};
-class AlsaRawMidiIn : public AlsaRawMidiIO
+class AlsaRawMidiIn : public AlsaRawMidiIO, public AlsaMidiIn
{
public:
AlsaRawMidiIn (const char *device);
void* main_process_thread ();
- size_t recv_event (pframes_t &, uint8_t *, size_t &);
-
-private:
+protected:
int queue_event (const uint64_t, const uint8_t *, const size_t);
+private:
void parse_events (const uint64_t, const uint8_t *, const size_t);
bool process_byte (const uint64_t, const uint8_t);
--- /dev/null
+/*
+ * Copyright (C) 2014 Robin Gareus <robin@gareus.org>
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+#include <unistd.h>
+#include <glibmm.h>
+
+#include "select_sleep.h"
+#include "alsa_sequencer.h"
+
+#include "pbd/error.h"
+#include "i18n.h"
+
+using namespace ARDOUR;
+
+/* max bytes per individual midi-event
+ * events larger than this are ignored */
+#define MaxAlsaSeqEventSize (64)
+
+#ifndef NDEBUG
+#define _DEBUGPRINT(STR) fprintf(stderr, STR);
+#else
+#define _DEBUGPRINT(STR) ;
+#endif
+
+AlsaSeqMidiIO::AlsaSeqMidiIO (const char *device, const bool input)
+ : AlsaMidiIO()
+ , _seq (0)
+{
+ init (device, input);
+}
+
+AlsaSeqMidiIO::~AlsaSeqMidiIO ()
+{
+ if (_seq) {
+ snd_seq_close (_seq);
+ _seq = 0;
+ }
+}
+
+void
+AlsaSeqMidiIO::init (const char *device_name, const bool input)
+{
+ if (snd_seq_open (&_seq, "hw",
+ input ? SND_SEQ_OPEN_INPUT : SND_SEQ_OPEN_OUTPUT, 0) < 0)
+ {
+ _seq = 0;
+ return;
+ }
+
+ if (snd_seq_set_client_name (_seq, "Ardour")) {
+ _DEBUGPRINT("AlsaSeqMidiIO: cannot set client name.\n");
+ goto initerr;
+ }
+
+ _port = snd_seq_create_simple_port (_seq, "port", SND_SEQ_PORT_CAP_NO_EXPORT |
+ (input ? SND_SEQ_PORT_CAP_WRITE : SND_SEQ_PORT_CAP_READ),
+ SND_SEQ_PORT_TYPE_APPLICATION);
+
+ if (_port < 0) {
+ _DEBUGPRINT("AlsaSeqMidiIO: cannot create port.\n");
+ goto initerr;
+ }
+
+ _npfds = snd_seq_poll_descriptors_count (_seq, input ? POLLIN : POLLOUT);
+ if (_npfds < 1) {
+ _DEBUGPRINT("AlsaSeqMidiIO: no poll descriptor(s).\n");
+ goto initerr;
+ }
+ _pfds = (struct pollfd*) malloc (_npfds * sizeof(struct pollfd));
+ snd_seq_poll_descriptors (_seq, _pfds, _npfds, input ? POLLIN : POLLOUT);
+
+
+ snd_seq_addr_t port;
+ if (snd_seq_parse_address (_seq, &port, device_name) < 0) {
+ _DEBUGPRINT("AlsaSeqMidiIO: cannot resolve hardware port.\n");
+ goto initerr;
+ }
+
+ if (input) {
+ if (snd_seq_connect_from (_seq, _port, port.client, port.port) < 0) {
+ _DEBUGPRINT("AlsaSeqMidiIO: cannot connect input port.\n");
+ goto initerr;
+ }
+ } else {
+ if (snd_seq_connect_to (_seq, _port, port.client, port.port) < 0) {
+ _DEBUGPRINT("AlsaSeqMidiIO: cannot connect output port.\n");
+ goto initerr;
+ }
+ }
+
+ snd_seq_nonblock(_seq, 1);
+
+ _state = 0;
+ return;
+
+initerr:
+ PBD::error << _("AlsaSeqMidiIO: Device initialization failed.") << endmsg;
+ snd_seq_close (_seq);
+ _seq = 0;
+ return;
+}
+
+///////////////////////////////////////////////////////////////////////////////
+
+AlsaSeqMidiOut::AlsaSeqMidiOut (const char *device)
+ : AlsaSeqMidiIO (device, false)
+ , AlsaMidiOut ()
+{
+}
+
+void *
+AlsaSeqMidiOut::main_process_thread ()
+{
+ _running = true;
+ bool need_drain = false;
+ snd_midi_event_t *alsa_codec = NULL;
+ snd_midi_event_new (MaxAlsaSeqEventSize, &alsa_codec);
+ pthread_mutex_lock (&_notify_mutex);
+ while (_running) {
+ bool have_data = false;
+ struct MidiEventHeader h(0,0);
+ uint8_t data[MaxAlsaSeqEventSize];
+
+ const uint32_t read_space = _rb->read_space();
+
+ if (read_space > sizeof(MidiEventHeader)) {
+ if (_rb->read ((uint8_t*)&h, sizeof(MidiEventHeader)) != sizeof(MidiEventHeader)) {
+ _DEBUGPRINT("AlsaSeqMidiOut: Garbled MIDI EVENT HEADER!!\n");
+ break;
+ }
+ assert (read_space >= h.size);
+ if (h.size > MaxAlsaSeqEventSize) {
+ _rb->increment_read_idx (h.size);
+ _DEBUGPRINT("AlsaSeqMidiOut: MIDI event too large!\n");
+ continue;
+ }
+ if (_rb->read (&data[0], h.size) != h.size) {
+ _DEBUGPRINT("AlsaSeqMidiOut: Garbled MIDI EVENT DATA!!\n");
+ break;
+ }
+ have_data = true;
+ }
+
+ if (!have_data) {
+ if (need_drain) {
+ snd_seq_drain_output (_seq);
+ need_drain = false;
+ }
+ pthread_cond_wait (&_notify_ready, &_notify_mutex);
+ continue;
+ }
+
+ snd_seq_event_t alsa_event;
+ snd_seq_ev_clear (&alsa_event);
+ snd_midi_event_reset_encode (alsa_codec);
+ if (!snd_midi_event_encode (alsa_codec, data, h.size, &alsa_event)) {
+ PBD::error << _("AlsaSeqMidiOut: Invalid Midi Event.") << endmsg;
+ continue;
+ }
+
+ snd_seq_ev_set_source (&alsa_event, _port);
+ snd_seq_ev_set_subs (&alsa_event);
+ snd_seq_ev_set_direct (&alsa_event);
+
+ uint64_t now = g_get_monotonic_time();
+ while (h.time > now + 500) {
+ if (need_drain) {
+ snd_seq_drain_output (_seq);
+ need_drain = false;
+ } else {
+ select_sleep(h.time - now);
+ }
+ now = g_get_monotonic_time();
+ }
+
+retry:
+ int perr = poll (_pfds, _npfds, 10 /* ms */);
+ if (perr < 0) {
+ PBD::error << _("AlsaSeqMidiOut: Error polling device. Terminating Midi Thread.") << endmsg;
+ break;
+ }
+ if (perr == 0) {
+ _DEBUGPRINT("AlsaSeqMidiOut: poll() timed out.\n");
+ goto retry;
+ }
+
+ ssize_t err = snd_seq_event_output(_seq, &alsa_event);
+
+ if ((err == -EAGAIN)) {
+ snd_seq_drain_output (_seq);
+ goto retry;
+ }
+ if (err == -EWOULDBLOCK) {
+ select_sleep (1000);
+ goto retry;
+ }
+ if (err < 0) {
+ PBD::error << _("AlsaSeqMidiOut: write failed. Terminating Midi Thread.") << endmsg;
+ break;
+ }
+ need_drain = true;
+ }
+
+ pthread_mutex_unlock (&_notify_mutex);
+
+ if (alsa_codec) {
+ snd_midi_event_free(alsa_codec);
+ }
+ _DEBUGPRINT("AlsaSeqMidiOut: MIDI OUT THREAD STOPPED\n");
+ return 0;
+}
+
+///////////////////////////////////////////////////////////////////////////////
+
+AlsaSeqMidiIn::AlsaSeqMidiIn (const char *device)
+ : AlsaSeqMidiIO (device, true)
+ , AlsaMidiIn ()
+{
+}
+
+void *
+AlsaSeqMidiIn::main_process_thread ()
+{
+ _running = true;
+ bool do_poll = true;
+ snd_midi_event_t *alsa_codec = NULL;
+ snd_midi_event_new (MaxAlsaSeqEventSize, &alsa_codec);
+
+ while (_running) {
+
+ if (do_poll) {
+ snd_seq_poll_descriptors (_seq, _pfds, _npfds, POLLIN);
+ int perr = poll (_pfds, _npfds, 100 /* ms */);
+
+ if (perr < 0) {
+ PBD::error << _("AlsaSeqMidiIn: Error polling device. Terminating Midi Thread.") << endmsg;
+ break;
+ }
+ if (perr == 0) {
+ continue;
+ }
+ }
+
+ snd_seq_event_t *event;
+ uint64_t time = g_get_monotonic_time();
+ ssize_t err = snd_seq_event_input (_seq, &event);
+
+ if ((err == -EAGAIN) || (err == -EWOULDBLOCK)) {
+ do_poll = true;
+ continue;
+ }
+ if (err == -ENOSPC) {
+ PBD::error << _("AlsaSeqMidiIn: FIFO overrun.") << endmsg;
+ do_poll = true;
+ continue;
+ }
+ if (err < 0) {
+ PBD::error << _("AlsaSeqMidiIn: read error. Terminating Midi") << endmsg;
+ break;
+ }
+
+ uint8_t data[MaxAlsaSeqEventSize];
+ snd_midi_event_reset_decode (alsa_codec);
+ ssize_t size = snd_midi_event_decode (alsa_codec, data, sizeof(data), event);
+
+ if (size > 0) {
+ queue_event (time, data, size);
+ }
+ do_poll = (0 == err);
+ }
+
+ if (alsa_codec) {
+ snd_midi_event_free(alsa_codec);
+ }
+ _DEBUGPRINT("AlsaSeqMidiIn: MIDI IN THREAD STOPPED\n");
+ return 0;
+}
--- /dev/null
+/*
+ * Copyright (C) 2014 Robin Gareus <robin@gareus.org>
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+#ifndef __libbackend_alsa_sequencer_h__
+#define __libbackend_alsa_sequencer_h__
+
+#include <stdint.h>
+#include <poll.h>
+#include <pthread.h>
+
+#include <alsa/asoundlib.h>
+
+#include "pbd/ringbuffer.h"
+#include "ardour/types.h"
+#include "alsa_midi.h"
+
+namespace ARDOUR {
+
+class AlsaSeqMidiIO : virtual public AlsaMidiIO {
+public:
+ AlsaSeqMidiIO (const char *port_name, const bool input);
+ virtual ~AlsaSeqMidiIO ();
+
+protected:
+ snd_seq_t *_seq;
+ int _port;
+
+private:
+ void init (const char *device_name, const bool input);
+};
+
+class AlsaSeqMidiOut : public AlsaSeqMidiIO, public AlsaMidiOut
+{
+public:
+ AlsaSeqMidiOut (const char *port_name);
+ void* main_process_thread ();
+};
+
+class AlsaSeqMidiIn : public AlsaSeqMidiIO, public AlsaMidiIn
+{
+public:
+ AlsaSeqMidiIn (const char *port_name);
+
+ void* main_process_thread ();
+};
+
+} // namespace
+
+#endif
--- /dev/null
+/*
+ * Copyright (C) 2004,2014 Robin Gareus <robin@gareus.org>
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+#include <stdint.h>
+#include <sys/select.h>
+
+/* select() sleeps _at most_ a given time.
+ * (compared to usleep() or nanosleep() which sleep at least a given time)
+ */
+static void select_sleep (uint64_t usec) {
+ if (usec <= 10) return;
+ fd_set fd;
+ int max_fd=0;
+ struct timeval tv;
+ tv.tv_sec = usec / 1000000;
+ tv.tv_usec = usec % 1000000;
+ FD_ZERO (&fd);
+ select (max_fd, &fd, NULL, NULL, &tv);
+ // on Linux, tv reflects the actual time slept.
+}
obj = bld(features = 'cxx cxxshlib')
obj.source = [
'alsa_audiobackend.cc',
+ 'alsa_midi.cc',
'alsa_rawmidi.cc',
+ 'alsa_sequencer.cc',
'zita-alsa-pcmi.cc',
]
obj.includes = ['.']