/// <summary> /// Get info about a plugin instance on an input. /// </summary> public static PluginInstanceInfo GetInputPluginInstanceInfo(AudioInputId audioInputId, PluginInstanceIndex index) { Id.Check(audioInputId); Id.Check(index); return(NowSoundGraph_GetInputPluginInstanceInfo(audioInputId, index)); }
/// <summary> /// Delete a plugin instance. /// </summary> public static void DeleteInputPluginInstance(AudioInputId audioInputId, PluginInstanceIndex pluginInstanceIndex) { Id.Check(audioInputId); Id.Check(pluginInstanceIndex); NowSoundGraph_DeleteInputPluginInstance(audioInputId, pluginInstanceIndex); }
/// <summary> /// Create a new track and begin recording. /// </summary> /// <remarks> /// Graph must be Running. /// TrackId returned from native code is incremented for TrackId on this end, to ensure any default /// TrackId values are treated as uninitialized. /// </remarks> public static TrackId CreateRecordingTrackAsync(AudioInputId id) { Id.Check(id); TrackId result = NowSoundGraph_CreateRecordingTrackAsync(id); Id.Check(result); return(result); }
public static void SetInputPluginInstanceDryWet(AudioInputId audioInputId, PluginInstanceIndex pluginInstanceIndex, int dryWet_0_100) { Id.Check(audioInputId); Id.Check(pluginInstanceIndex); Contract.Requires(dryWet_0_100 >= 0); Contract.Requires(dryWet_0_100 <= 100); NowSoundGraph_SetInputPluginInstanceDryWet(audioInputId, pluginInstanceIndex, dryWet_0_100); }
/// <summary> /// Get the number of plugin instances on this input. /// </summary> public static int GetInputPluginInstanceCount(AudioInputId audioInputId) { Id.Check(audioInputId); int result = NowSoundGraph_GetInputPluginInstanceCount(audioInputId); Contract.Assert(result >= 0); return(result); }
public static PluginInstanceIndex AddInputPluginInstance(AudioInputId audioInputId, PluginId pluginId, ProgramId programId, int dryWet_0_100) { Id.Check(audioInputId); Id.Check(pluginId); Id.Check(programId); Contract.Requires(dryWet_0_100 >= 0); Contract.Requires(dryWet_0_100 <= 100); PluginInstanceIndex result = NowSoundGraph_AddInputPluginInstance(audioInputId, pluginId, programId, dryWet_0_100); Id.Check(result); return(result); }
static extern void NowSoundGraph_SetInputPluginInstanceDryWet(AudioInputId audioInputId, PluginInstanceIndex pluginInstanceIndex, int dryWet_0_100);
static extern void NowSoundGraph_SetInputPan(AudioInputId audioInputId, float pan);
static extern PluginInstanceInfo NowSoundGraph_GetInputPluginInstanceInfo(AudioInputId audioInputId, PluginInstanceIndex index);
static extern int NowSoundGraph_GetInputPluginInstanceCount(AudioInputId audioInputId);
public static void Check(AudioInputId id) { // only up to stereo for now Check((int)id); }
static extern PluginInstanceIndex NowSoundGraph_AddInputPluginInstance(AudioInputId audioInputId, PluginId pluginId, ProgramId programId, Int32 dryWet_0_100);
/// <summary> /// Get the pan value of this input (0 = left, 0.5 = center, 1 = right). /// </summary> public static float InputPan(AudioInputId audioInputId) { return(NowSoundGraph_InputPan(audioInputId)); }
static extern TrackId NowSoundGraph_CreateRecordingTrackAsync(AudioInputId id);
// Get the current input frequency histogram; LPWSTR must actually reference a float buffer of the // same length as the outputBinCount argument passed to InitializeFFT, but must be typed as LPWSTR // and must have a capacity represented in two-byte wide characters (to match the P/Invoke style of // "pass in StringBuilder", known to work well). // Returns true if there was enough data to update the buffer, or false if there was not. public static bool GetInputFrequencies(AudioInputId audioInputId, float[] floatBuffer, int floatBufferCapacity) { Id.Check(audioInputId); return(NowSoundGraph_GetInputFrequencies(audioInputId, floatBuffer, floatBufferCapacity)); }
static extern bool NowSoundGraph_GetInputFrequencies(AudioInputId audioInputId, float[] floatBuffer, int floatBufferCapacity);
/// <summary> /// Get information about the post-effects signal of an input channel. /// Graph must be Running. /// </summary> /// <returns></returns> public static NowSoundSignalInfo InputSignalInfo(AudioInputId audioInputId) { return(NowSoundGraph_InputSignalInfo(audioInputId)); }
static extern NowSoundSignalInfo NowSoundGraph_InputSignalInfo(AudioInputId audioInputId);
static extern void NowSoundGraph_DeleteInputPluginInstance(AudioInputId audioInputId, PluginInstanceIndex index);
static extern float NowSoundGraph_InputPan(AudioInputId audioInputId);
/// <summary> /// Set the pan value of this input (0 = left, 0.5 = center, 1 = right). /// </summary> public static void SetInputPan(AudioInputId audioInputId, float pan) { NowSoundGraph_SetInputPan(audioInputId, pan); }