Browse Source

Updated some help information, and changed the audio plugin plist bundle type to work better in all hosts.

tags/2021-05-28
Julian Storer 16 years ago
parent
commit
0c8d177ac9
4 changed files with 39 additions and 4 deletions
  1. +17
    -0
      extras/audio plugins/How to use this framework.txt
  2. +1
    -1
      extras/audio plugins/demo/build/mac/Info.plist
  3. +9
    -1
      src/audio/devices/juce_AudioDeviceManager.h
  4. +12
    -2
      src/audio/midi/juce_MidiMessage.h

+ 17
- 0
extras/audio plugins/How to use this framework.txt View File

@@ -4,6 +4,16 @@

(c) 2008 by Raw Material Software, visit www.rawmaterialsoftware.com for more info.

-----------------------------------------------------------------------------------------------------

This file contains as much detail as I could possibly think of about the sometimes fiddly process of setting
up your build environment to build plugins...

If you follow all these steps and still hit a build error, don't despair! There's a thread at the juce
forum where we'll post any extra hints, tips, or problems that people have stumbled upon:
http://www.rawmaterialsoftware.com/juceforum/viewtopic.php?p=23546


-----------------------------------------------------------------------------------------------------

The purpose of this framework is to make is simple to write an audio plugin in a generic
@@ -68,6 +78,7 @@ much neater to keep it somewhere separate and to alter the projects to point to
files instead of the demo ones. That way when new versions of this library come out, it'll
make it easier to update to the latest code.


-----------------------------------------------------------------------------------------------------

Prerequisites for building a VST
@@ -209,6 +220,12 @@ any compilation problems if, for example, you don't have the appropriate SDK for
- Some of the RTAS SDK files in the demo project might be highlighted red to indicate that they're
missing - if you're not bulding an RTAS, then you can just delete them from the project. If you are
building an RTAS and have the SDK, you might need to update their paths to match your SDK location.
- For an AU, there are a bunch of Apple cpp files that need to be included directly in your project - these
used to be found in /Developer/Examples/CoreAudio/ but in the 10.6 SDK, Apple have moved them to a slightly
more sensible location at /Developer/Extras/CoreAudio. The Juce demo is hardwired to refer to their new
10.6 location, so if you haven't yet installed the 10.6 SDK, the easiest way to make it all happy is just
to duplicate your /Developer/Examples/CoreAudio folder as /Developer/Extras/CoreAudio. That way old and new
juce plugin projects will all compile without changing any project paths.
- For an AU, make sure that the JucePlugin_Build_AU is enabled in your JucePluginCharacteristics.h
- In XCode, create a new project based on the "Audio Unit Effect" template
- XCode will create a bunch of template source files for you - you can remove all of these from the project


+ 1
- 1
extras/audio plugins/demo/build/mac/Info.plist View File

@@ -17,7 +17,7 @@
<key>CFBundleInfoDictionaryVersion</key>
<string>6.0</string>
<key>CFBundlePackageType</key>
<string>TDMw</string>
<string>BNDL</string>
<key>CFBundleShortVersionString</key>
<string>1.1</string>
<key>CFBundleSignature</key>


+ 9
- 1
src/audio/devices/juce_AudioDeviceManager.h View File

@@ -99,6 +99,8 @@ public:
bool operator== (const AudioDeviceSetup& other) const;
/** The name of the audio device used for output.
The name has to be one of the ones listed by the AudioDeviceManager's currently
selected device type.
This may be the same as the input device.
*/
String outputDeviceName;
@@ -224,6 +226,12 @@ public:
*/
const String getCurrentAudioDeviceType() const throw() { return currentDeviceType; }
/** Returns the currently active audio device type object.
Don't keep a copy of this pointer - it's owned by the device manager and could
change at any time.
*/
AudioIODeviceType* getCurrentDeviceTypeObject() const;
/** Changes the class of audio device being used.
This switches between, e.g. ASIO and DirectSound. On the Mac you probably won't ever call
@@ -234,6 +242,7 @@ public:
void setCurrentAudioDeviceType (const String& type,
const bool treatAsChosenDevice);
/** Closes the currently-open device.
You can call restartLastAudioDevice() later to reopen it in the same state
@@ -480,7 +489,6 @@ private:
void scanDevicesIfNeeded();
void deleteCurrentDevice();
double chooseBestSampleRate (double preferred) const;
AudioIODeviceType* getCurrentDeviceTypeObject() const;
void insertDefaultDeviceNames (AudioDeviceSetup& setup) const;
AudioIODeviceType* findType (const String& inputName, const String& outputName);


+ 12
- 2
src/audio/midi/juce_MidiMessage.h View File

@@ -129,7 +129,17 @@ public:
//==============================================================================
/** Returns the timestamp associated with this message.
The units for the timestamp will be application-specific.
The exact meaning of this time and its units will vary, as messages are used in
a variety of different contexts.
If you're getting the message from a midi file, this could be a time in seconds, or
a number of ticks - see MidiFile::convertTimestampTicksToSeconds().
If the message is being used in a MidiBuffer, it might indicate the number of
audio samples from the start of the buffer.
If the message was created by a MidiInput, see MidiInputCallback::handleIncomingMidiMessage()
for details of the way that it initialises this value.
@see setTimeStamp, addToTimeStamp
*/
@@ -137,7 +147,7 @@ public:
/** Changes the message's associated timestamp.
The units for the timestamp will be application-specific.
The units for the timestamp will be application-specific - see the notes for getTimeStamp().
@see addToTimeStamp, getTimeStamp
*/


Loading…
Cancel
Save