# Projucer basic plugin tutorial VST3 no MIDI in / out VS2010

**URL:** <https://forum.juce.com/t/projucer-basic-plugin-tutorial-vst3-no-midi-in-out-vs2010/16352>\
**Category:** The Projucer\
**Created:** [January 8, 2016, 1:19am UTC](https://forum.juce.com/t/projucer-basic-plugin-tutorial-vst3-no-midi-in-out-vs2010/16352 "2016-01-08T01:19:44Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![Jorg\_Hoinkis](https://avatars.discourse-cdn.com/v4/letter/j/a88e57/32.png) [@Jorg\_Hoinkis](https://forum.juce.com/u/Jorg_Hoinkis)\
**Post date:** [January 8, 2016, 1:19am UTC](https://forum.juce.com/t/projucer-basic-plugin-tutorial-vst3-no-midi-in-out-vs2010/16352/1 "2016-01-08T01:19:44Z")

</div>

juce-grapefruit-windows

vstsdk365\_12\_11\_2015\_build\_67

Windows 7 Visual Studio 2010

&nbsp;

The Juce Plugin Host&nbsp;is built and running. I started by&nbsp;creating a basic plugin according to:&nbsp;

http://www.juce.com/doc/tutorial\_create\_projucer\_basic\_plugin

I setup VST3 only for Visual Studio 2010.&nbsp;I was able to compile and link without errors, but lots of warnings, see below.

In the Juce Plug-In Host I scanned, found and&nbsp;instantiated&nbsp;the debug build&nbsp;of the plugin:&nbsp;It is shown&nbsp;with two audio in&nbsp;and two audio out connectors but no MIDI in nor MIDI out.&nbsp;I also tried to build it as "Is a Synth" but this does not change anything but removing the audio ins.

Is this a limitation of the windows version:&nbsp;"Limited functionality on Windows 7 or higher, full version coming soon", as mentioned here:&nbsp;http://www.juce.com/releases/projucer-juce-4 ...?

&nbsp;

VS2010 build output:

```
1>------ Rebuild All started: Project: JoeSix, Configuration: Debug Win32 ------
1>Build started 08.01.2016 02:11:46.
1>_PrepareForClean:
1>  Deleting file "Debug\JoeSix.lastbuildstate".
1>InitializeBuildStatus:
1>  Creating "Debug\JoeSix.unsuccessfulbuild" because "AlwaysCreate" was specified.
1>ClCompile:
1>  PluginProcessor.cpp
1>  PluginEditor.cpp
1>  juce_AAX_Wrapper.cpp
1>  juce_audio_basics.cpp
1>  juce_audio_devices.cpp
1>  juce_audio_formats.cpp
1>  juce_audio_processors.cpp
1>  juce_core.cpp
1>  juce_cryptography.cpp
1>  juce_data_structures.cpp
1>c:\users\xxxx\documents\develop\juceprojects\joesix\source\pluginprocessor.cpp(69): warning C4100: 'index' : unreferenced formal parameter
1>c:\users\xxxx\documents\develop\juceprojects\joesix\source\pluginprocessor.cpp(73): warning C4100: 'index' : unreferenced formal parameter
1>c:\users\xxxx\documents\develop\juceprojects\joesix\source\pluginprocessor.cpp(78): warning C4100: 'newName' : unreferenced formal parameter
1>c:\users\xxxx\documents\develop\juceprojects\joesix\source\pluginprocessor.cpp(78): warning C4100: 'index' : unreferenced formal parameter
1>c:\users\xxxx\documents\develop\juceprojects\joesix\source\pluginprocessor.cpp(83): warning C4100: 'samplesPerBlock' : unreferenced formal parameter
1>c:\users\xxxx\documents\develop\juceprojects\joesix\source\pluginprocessor.cpp(83): warning C4100: 'sampleRate' : unreferenced formal parameter
1>c:\users\xxxx\documents\develop\juceprojects\joesix\source\pluginprocessor.cpp(103): warning C4996: 'juce::AudioProcessor::getNumInputChannels': was declared deprecated
1>          c:\users\xxxx\documents\develop\juce\juce-grapefruit-windows\modules\juce_audio_processors\processors\juce_audioprocessor.h(912) : see declaration of 'juce::AudioProcessor::getNumInputChannels'
1>c:\users\xxxx\documents\develop\juceprojects\joesix\source\pluginprocessor.cpp(103): warning C4996: 'juce::AudioProcessor::getNumOutputChannels': was declared deprecated
1>          c:\users\xxxx\documents\develop\juce\juce-grapefruit-windows\modules\juce_audio_processors\processors\juce_audioprocessor.h(913) : see declaration of 'juce::AudioProcessor::getNumOutputChannels'
1>c:\users\xxxx\documents\develop\juceprojects\joesix\source\pluginprocessor.cpp(108): warning C4996: 'juce::AudioProcessor::getNumInputChannels': was declared deprecated
1>          c:\users\xxxx\documents\develop\juce\juce-grapefruit-windows\modules\juce_audio_processors\processors\juce_audioprocessor.h(912) : see declaration of 'juce::AudioProcessor::getNumInputChannels'
1>c:\users\xxxx\documents\develop\juceprojects\joesix\source\pluginprocessor.cpp(95): warning C4100: 'midiMessages' : unreferenced formal parameter
1>c:\users\xxxx\documents\develop\juceprojects\joesix\source\pluginprocessor.cpp(110): warning C4189: 'channelData' : local variable is initialized but not referenced
1>c:\users\xxxx\documents\develop\juceprojects\joesix\source\pluginprocessor.cpp(128): warning C4100: 'destData' : unreferenced formal parameter
1>c:\users\xxxx\documents\develop\juceprojects\joesix\source\pluginprocessor.cpp(135): warning C4100: 'sizeInBytes' : unreferenced formal parameter
1>c:\users\xxxx\documents\develop\juceprojects\joesix\source\pluginprocessor.cpp(135): warning C4100: 'data' : unreferenced formal parameter
1>  juce_events.cpp
1>  juce_graphics.cpp
1>  juce_gui_basics.cpp
1>  juce_gui_extra.cpp
1>  juce_opengl.cpp
1>  juce_PluginUtilities.cpp
1>  juce_video.cpp
1>  juce_VST_Wrapper.cpp
1>  juce_VST3_Wrapper.cpp
1>c:\users\xxxx\documents\develop\juce\juce-grapefruit-windows\modules\juce_audio_plugin_client\utility\juce_pluginbusutilities.h(373): warning C4512: 'PluginBusUtilities' : assignment operator could not be generated
1>          c:\users\xxxx\documents\develop\juce\juce-grapefruit-windows\modules\juce_audio_plugin_client\utility\juce_pluginbusutilities.h(29) : see declaration of 'PluginBusUtilities'
1>c:\users\xxxx\documents\develop\juce\juce-grapefruit-windows\modules\juce_audio_processors\format_types\juce_vst3common.h(146): warning C4482: nonstandard extension used: enum 'juce::AudioChannelSet::ChannelType' used in qualified name
1>c:\users\xxxx\documents\develop\juce\juce-grapefruit-windows\modules\juce_audio_processors\format_types\juce_vst3common.h(147): warning C4482: nonstandard extension used: enum 'juce::AudioChannelSet::ChannelType' used in qualified name
1>c:\users\xxxx\documents\develop\juce\juce-grapefruit-windows\modules\juce_audio_processors\format_types\juce_vst3common.h(148): warning C4482: nonstandard extension used: enum 'juce::AudioChannelSet::ChannelType' used in qualified name
1>c:\users\xxxx\documents\develop\juce\juce-grapefruit-windows\modules\juce_audio_processors\format_types\juce_vst3common.h(149): warning C4482: nonstandard extension used: enum 'juce::AudioChannelSet::ChannelType' used in qualified name
1>c:\users\xxxx\documents\develop\juce\juce-grapefruit-windows\modules\juce_audio_processors\format_types\juce_vst3common.h(150): warning C4482: nonstandard extension used: enum 'juce::AudioChannelSet::ChannelType' used in qualified name
1>c:\users\xxxx\documents\develop\juce\juce-grapefruit-windows\modules\juce_audio_processors\format_types\juce_vst3common.h(151): warning C4482: nonstandard extension used: enum 'juce::AudioChannelSet::ChannelType' used in qualified name
1>c:\users\xxxx\documents\develop\juce\juce-grapefruit-windows\modules\juce_audio_processors\format_types\juce_vst3common.h(152): warning C4482: nonstandard extension used: enum 'juce::AudioChannelSet::ChannelType' used in qualified name
1>c:\users\xxxx\documents\develop\juce\juce-grapefruit-windows\modules\juce_audio_processors\format_types\juce_vst3common.h(153): warning C4482: nonstandard extension used: enum 'juce::AudioChannelSet::ChannelType' used in qualified name
1>c:\users\xxxx\documents\develop\juce\juce-grapefruit-windows\modules\juce_audio_processors\format_types\juce_vst3common.h(154): warning C4482: nonstandard extension used: enum 'juce::AudioChannelSet::ChannelType' used in qualified name
1>c:\users\xxxx\documents\develop\juce\juce-grapefruit-windows\modules\juce_audio_processors\format_types\juce_vst3common.h(155): warning C4482: nonstandard extension used: enum 'juce::AudioChannelSet::ChannelType' used in qualified name
1>c:\users\xxxx\documents\develop\juce\juce-grapefruit-windows\modules\juce_audio_processors\format_types\juce_vst3common.h(156): warning C4482: nonstandard extension used: enum 'juce::AudioChannelSet::ChannelType' used in qualified name
1>c:\users\xxxx\documents\develop\juce\juce-grapefruit-windows\modules\juce_audio_processors\format_types\juce_vst3common.h(157): warning C4482: nonstandard extension used: enum 'juce::AudioChannelSet::ChannelType' used in qualified name
1>c:\users\xxxx\documents\develop\juce\juce-grapefruit-windows\modules\juce_audio_processors\format_types\juce_vst3common.h(158): warning C4482: nonstandard extension used: enum 'juce::AudioChannelSet::ChannelType' used in qualified name
1>c:\users\xxxx\documents\develop\juce\juce-grapefruit-windows\modules\juce_audio_processors\format_types\juce_vst3common.h(159): warning C4482: nonstandard extension used: enum 'juce::AudioChannelSet::ChannelType' used in qualified name
1>c:\users\xxxx\documents\develop\juce\juce-grapefruit-windows\modules\juce_audio_processors\format_types\juce_vst3common.h(160): warning C4482: nonstandard extension used: enum 'juce::AudioChannelSet::ChannelType' used in qualified name
1>c:\users\xxxx\documents\develop\juce\juce-grapefruit-windows\modules\juce_audio_processors\format_types\juce_vst3common.h(161): warning C4482: nonstandard extension used: enum 'juce::AudioChannelSet::ChannelType' used in qualified name
1>c:\users\xxxx\documents\develop\juce\juce-grapefruit-windows\modules\juce_audio_processors\format_types\juce_vst3common.h(162): warning C4482: nonstandard extension used: enum 'juce::AudioChannelSet::ChannelType' used in qualified name
1>c:\users\xxxx\documents\develop\juce\juce-grapefruit-windows\modules\juce_audio_processors\format_types\juce_vst3common.h(163): warning C4482: nonstandard extension used: enum 'juce::AudioChannelSet::ChannelType' used in qualified name
1>c:\users\xxxx\documents\develop\juce\juce-grapefruit-windows\modules\juce_audio_processors\format_types\juce_vst3common.h(164): warning C4482: nonstandard extension used: enum 'juce::AudioChannelSet::ChannelType' used in qualified name
1>c:\users\xxxx\documents\develop\juce\juce-grapefruit-windows\modules\juce_audio_processors\format_types\juce_vst3common.h(177): warning C4482: nonstandard extension used: enum 'juce::AudioChannelSet::ChannelType' used in qualified name
1>c:\users\xxxx\documents\develop\juce\juce-grapefruit-windows\modules\juce_audio_processors\format_types\juce_vst3common.h(178): warning C4482: nonstandard extension used: enum 'juce::AudioChannelSet::ChannelType' used in qualified name
1>c:\users\xxxx\documents\develop\juce\juce-grapefruit-windows\modules\juce_audio_processors\format_types\juce_vst3common.h(179): warning C4482: nonstandard extension used: enum 'juce::AudioChannelSet::ChannelType' used in qualified name
1>c:\users\xxxx\documents\develop\juce\juce-grapefruit-windows\modules\juce_audio_processors\format_types\juce_vst3common.h(180): warning C4482: nonstandard extension used: enum 'juce::AudioChannelSet::ChannelType' used in qualified name
1>c:\users\xxxx\documents\develop\juce\juce-grapefruit-windows\modules\juce_audio_processors\format_types\juce_vst3common.h(181): warning C4482: nonstandard extension used: enum 'juce::AudioChannelSet::ChannelType' used in qualified name
1>c:\users\xxxx\documents\develop\juce\juce-grapefruit-windows\modules\juce_audio_processors\format_types\juce_vst3common.h(182): warning C4482: nonstandard extension used: enum 'juce::AudioChannelSet::ChannelType' used in qualified name
1>c:\users\xxxx\documents\develop\juce\juce-grapefruit-windows\modules\juce_audio_processors\format_types\juce_vst3common.h(183): warning C4482: nonstandard extension used: enum 'juce::AudioChannelSet::ChannelType' used in qualified name
1>c:\users\xxxx\documents\develop\juce\juce-grapefruit-windows\modules\juce_audio_processors\format_types\juce_vst3common.h(184): warning C4482: nonstandard extension used: enum 'juce::AudioChannelSet::ChannelType' used in qualified name
1>c:\users\xxxx\documents\develop\juce\juce-grapefruit-windows\modules\juce_audio_processors\format_types\juce_vst3common.h(185): warning C4482: nonstandard extension used: enum 'juce::AudioChannelSet::ChannelType' used in qualified name
1>c:\users\xxxx\documents\develop\juce\juce-grapefruit-windows\modules\juce_audio_processors\format_types\juce_vst3common.h(186): warning C4482: nonstandard extension used: enum 'juce::AudioChannelSet::ChannelType' used in qualified name
1>c:\users\xxxx\documents\develop\juce\juce-grapefruit-windows\modules\juce_audio_processors\format_types\juce_vst3common.h(187): warning C4482: nonstandard extension used: enum 'juce::AudioChannelSet::ChannelType' used in qualified name
1>c:\users\xxxx\documents\develop\juce\juce-grapefruit-windows\modules\juce_audio_processors\format_types\juce_vst3common.h(188): warning C4482: nonstandard extension used: enum 'juce::AudioChannelSet::ChannelType' used in qualified name
1>c:\users\xxxx\documents\develop\juce\juce-grapefruit-windows\modules\juce_audio_processors\format_types\juce_vst3common.h(189): warning C4482: nonstandard extension used: enum 'juce::AudioChannelSet::ChannelType' used in qualified name
1>c:\users\xxxx\documents\develop\juce\juce-grapefruit-windows\modules\juce_audio_processors\format_types\juce_vst3common.h(190): warning C4482: nonstandard extension used: enum 'juce::AudioChannelSet::ChannelType' used in qualified name
1>c:\users\xxxx\documents\develop\juce\juce-grapefruit-windows\modules\juce_audio_processors\format_types\juce_vst3common.h(191): warning C4482: nonstandard extension used: enum 'juce::AudioChannelSet::ChannelType' used in qualified name
1>c:\users\xxxx\documents\develop\juce\juce-grapefruit-windows\modules\juce_audio_processors\format_types\juce_vst3common.h(192): warning C4482: nonstandard extension used: enum 'juce::AudioChannelSet::ChannelType' used in qualified name
1>c:\users\xxxx\documents\develop\juce\juce-grapefruit-windows\modules\juce_audio_processors\format_types\juce_vst3common.h(193): warning C4482: nonstandard extension used: enum 'juce::AudioChannelSet::ChannelType' used in qualified name
1>c:\users\xxxx\documents\develop\juce\juce-grapefruit-windows\modules\juce_audio_processors\format_types\juce_vst3common.h(194): warning C4482: nonstandard extension used: enum 'juce::AudioChannelSet::ChannelType' used in qualified name
1>c:\users\xxxx\documents\develop\juce\juce-grapefruit-windows\modules\juce_audio_processors\format_types\juce_vst3common.h(195): warning C4482: nonstandard extension used: enum 'juce::AudioChannelSet::ChannelType' used in qualified name
1>c:\users\xxxx\documents\develop\juce\juce-grapefruit-windows\modules\juce_audio_processors\format_types\juce_vst3common.h(199): warning C4482: nonstandard extension used: enum 'juce::AudioChannelSet::ChannelType' used in qualified name
1>  juce_RTAS_DigiCode1.cpp
1>  juce_RTAS_DigiCode2.cpp
1>  juce_RTAS_DigiCode3.cpp
1>  juce_RTAS_WinUtilities.cpp
1>  juce_RTAS_Wrapper.cpp
1>Link:
1>     Creating library C:\Users\xxxx\Documents\Develop\JuceProjects\JoeSix\Builds\VisualStudio2010\Debug\JoeSix.lib and object C:\Users\xxxx\Documents\Develop\JuceProjects\JoeSix\Builds\VisualStudio2010\Debug\JoeSix.exp
1>  JoeSix.vcxproj -> C:\Users\xxxx\Documents\Develop\JuceProjects\JoeSix\Builds\VisualStudio2010\Debug\JoeSix.dll
1>PostBuildEvent:
1>          1 file(s) copied.
1>FinalizeBuildStatus:
1>  Deleting file "Debug\JoeSix.unsuccessfulbuild".
1>  Touching "Debug\JoeSix.lastbuildstate".
1>
1>Build succeeded.
1>
1>Time Elapsed 00:00:20.92
========== Rebuild All: 1 succeeded, 0 failed, 0 skipped ==========
```

---

<div class="post-metadata">

**Author:** ![timur](https://sea2.discourse-cdn.com/flex026/user_avatar/forum.juce.com/timur/32/541_2.png) [@timur](https://forum.juce.com/u/timur)\
**Post date:** [January 8, 2016, 4:19pm UTC](https://forum.juce.com/t/projucer-basic-plugin-tutorial-vst3-no-midi-in-out-vs2010/16352/2 "2016-01-08T16:19:56Z")

</div>

Thanks. About the warnings:

- The ones that say "unreferenced formal parameter" are fine (they're in the generated project template, not in JUCE), they mean that you didn't implement the function yet.
- The one that says "assignment operator could not be generated" appears to be some weird VS2010 thing that doesn't appear in later VS versions. My guess is that VS2010 can't deal correctly with the JUCE\_DECLARE\_NONCOPYABLE macro which deletes the assignment operator.
- The other warnings are genuine and we will fix them!

Now to your actual problem. Yes, I can reproduce the problem. I don't know yet what causes the problem, but we will dig and find out. Please be patient.
