29 TTBoolean dataInput, dataOutput, audioInput, audioOutput;
33 EXTRA->modelInfo->get(kTTSym_address, v);
42 if (dataInput || dataOutput) {
47 makeInternals_data(x, modelAdrs,
TTSymbol(
"data/active"), gensym(
"return_data_active"), x->
patcherPtr, kTTSym_parameter, aData);
48 aData.
set(kTTSym_type, kTTSym_boolean);
49 aData.
set(kTTSym_tags, kTTSym_generic);
50 aData.
set(kTTSym_description,
TTSymbol(
"this parameter turns on model's data processing"));
51 aData.
set(kTTSym_valueDefault, YES);
56 makeInternals_sender(
self, modelAdrs,
TTSymbol(
"data/*.*:mute"), aSender);
59 if (dataInput && dataOutput) {
64 makeInternals_data(x, modelAdrs,
TTSymbol(
"data/bypass"), gensym(
"return_data_bypass"), x->
patcherPtr, kTTSym_parameter, aData);
65 aData.
set(kTTSym_type, kTTSym_boolean);
66 aData.
set(kTTSym_tags, kTTSym_generic);
67 aData.
set(kTTSym_description,
TTSymbol(
"When active, this parameter bypasses the model's data processing algorithm, letting incoming signal pass through unaffected"));
68 aData.
set(kTTSym_valueDefault, NO);
73 makeInternals_sender(
self, modelAdrs,
TTSymbol(
"data/in.*:bypass"), aSender);
80 if (audioInput || audioOutput) {
85 makeInternals_data(x, modelAdrs,
TTSymbol(
"audio/mute"), gensym(
"return_audio_mute"), x->
patcherPtr, kTTSym_parameter, aData);
86 aData.
set(kTTSym_type, kTTSym_boolean);
87 aData.
set(kTTSym_tags, kTTSym_generic);
88 aData.
set(kTTSym_description,
TTSymbol(
"When active, this parameter turns off model's audio processing"));
89 aData.
set(kTTSym_valueDefault, NO);
94 makeInternals_sender(
self, modelAdrs,
TTSymbol(
"audio/*.*:mute"), aSender);
97 if (audioInput && audioOutput) {
102 makeInternals_data(x, modelAdrs,
TTSymbol(
"audio/bypass"), gensym(
"return_audio_bypass"), x->
patcherPtr, kTTSym_parameter, aData);
103 aData.
set(kTTSym_type, kTTSym_boolean);
104 aData.
set(kTTSym_tags, kTTSym_generic);
105 aData.
set(kTTSym_description,
TTSymbol(
"When active, this parameter bypasses the model's audio processing algorithm, letting incoming signal pass through unaffected"));
106 aData.
set(kTTSym_valueDefault, NO);
111 makeInternals_sender(
self, modelAdrs,
TTSymbol(
"audio/in.*:bypass"), aSender);
116 makeInternals_data(x, modelAdrs,
TTSymbol(
"audio/mix"), gensym(
"return_audio_mix"), x->
patcherPtr, kTTSym_parameter, aData);
117 aData.
set(kTTSym_type, kTTSym_decimal);
118 aData.
set(kTTSym_tags, kTTSym_generic);
120 aData.
set(kTTSym_rangeBounds, v);
121 aData.
set(kTTSym_rangeClipmode, kTTSym_both);
123 aData.
set(kTTSym_valueDefault, v);
125 aData.
set(kTTSym_rampFunction,
TTSymbol(
"linear"));
126 aData.
set(kTTSym_description,
TTSymbol(
"Controls the wet/dry mix in percent"));
131 makeInternals_sender(
self, modelAdrs,
TTSymbol(
"audio/out.*:mix"), aSender);
139 makeInternals_data(x, modelAdrs,
TTSymbol(
"audio/gain"), gensym(
"return_audio_gain"), x->
patcherPtr, kTTSym_parameter, aData);
140 aData.
set(kTTSym_type, kTTSym_decimal);
141 aData.
set(kTTSym_tags, kTTSym_generic);
143 aData.
set(kTTSym_rangeBounds, v);
144 aData.
set(kTTSym_rangeClipmode, kTTSym_both);
146 aData.
set(kTTSym_valueDefault, v);
148 aData.
set(kTTSym_rampFunction,
TTSymbol(
"linear"));
149 aData.
set(kTTSym_description,
TTSymbol(
"Set gain of model's outputs (as MIDI value by default)."));
154 makeInternals_sender(
self, modelAdrs,
TTSymbol(
"audio/out.*:gain"), aSender);
171 aSender.
send(kTTSym_Send, v, out);
187 aSender.
send(kTTSym_Send, v, out);
203 aSender.
send(kTTSym_Send, v, out);
219 aSender.
send(kTTSym_Send, v, out);
235 aSender.
send(kTTSym_Send, v, out);
251 aSender.
send(kTTSym_Send, v, out);
bool TTBoolean
Boolean flag, same as Boolean on the Mac.
TTErr send(const TTSymbol aName)
Send a message to this object with no arguments.
void model_signal_return_data_active(TTPtr self, t_symbol *msg, long argc, t_atom *argv)
TTErr lookup(const TTSymbol key, TTValue &value)
Find the value for the given key.
void model_signal_return_audio_bypass(TTPtr self, t_symbol *msg, long argc, t_atom *argv)
The TTAddress class is used to represent a string and efficiently pass and compare that string...
Create and use Jamoma object instances.
t_object * patcherPtr
the patcher in which the external is (ignoring subpatcher)
TTHashPtr internals
An hash table to store any internal TTObjectBases (like TTData, TTViewer, ...)
void model_signal_amenities(TTPtr self, t_symbol *msg, long argc, t_atom *argv)
void * TTPtr
A generic pointer.
void model_signal_return_audio_mute(TTPtr self, t_symbol *msg, long argc, t_atom *argv)
TTErr set(const TTSymbol aName, T aValue)
Set an attribute value for an object.
The TTSymbol class is used to represent a string and efficiently pass and compare that string...
TTBoolean iterateInternals
The flag is true when an iteration is done on the internals.
void model_signal_return_data_bypass(TTPtr self, t_symbol *msg, long argc, t_atom *argv)
TTBoolean model_test_amenities(TTPtr self, TTSymbol name)
void model_signal_return_audio_gain(TTPtr self, t_symbol *msg, long argc, t_atom *argv)
j.model / j.view - The main control center of Jamoma model and view patcher
Data Structure for this object.
WrappedModularInstance * WrappedModularInstancePtr
Pointer to a wrapped instance of our object.
[doxygenAppendixC_copyExample]
void model_signal_return_audio_mix(TTPtr self, t_symbol *msg, long argc, t_atom *argv)