function M= TestInOutChannels_module(NAME)
% M = TestInOutChannels_module(NAME)
% Copies input pin data to the output pin.
%
% Arguments:
% NAME - name of the module
%

% AudioWeaverModule [This tag makes it appear under awe_help]

M=awe_module('TestInOutChannels', 'Copies input wire to output wire');
if (nargin == 0)
 return;
end

M.name=NAME;
M.defaultName='TestInOutChannels';
M.preBuildFunc = @test_in_out_prebuild;

% Add input and output pins with no data or size restrictions
PT_AudioIn1=new_pin_type(12, 32, 48000, 'float', 0)
PT_AudioIn2=new_pin_type(1, 32, 48000, 'float', 0)
PT_AudioIn3=new_pin_type(1, 32, 48000, 'float', 0)
PT_AudioOut1=new_pin_type(12, 32, 48000, 'float', 0)
PT_AudioOut2=new_pin_type(2, 32, 48000, 'float', 0)
add_pin(M, 'input', 'AudioIn1', 'AudioIn1', PT_AudioIn1);
add_pin(M, 'input', 'AudioIn2', 'AudioIn2', PT_AudioIn2);
add_pin(M, 'input', 'AudioIn3', 'AudioIn3', PT_AudioIn3);
add_pin(M, 'output', 'AudioOut1', 'AudioOut1', PT_AudioOut1);
add_pin(M, 'output', 'AudioOut2', 'AudioOut2', PT_AudioOut2);

% ----------------------------------------------------------------------
% Code generation details
% ----------------------------------------------------------------------
awe_addcodemarker(M, 'postConstructorFunction', 'Insert:\InnerTestInOutChannels_postConstructor.c');
awe_addcodemarker(M, 'processFunction', 'Insert:\InnerTestInOutChannels_Process.c');
awe_addcodemarker(M, 'discussion', {'Copies the input to the output. '});

% ----------------------------------------------------------------------
% Module browser information
% ----------------------------------------------------------------------
M.moduleBrowser.path = 'Third Party';
M.moduleBrowser.image = '../images/TestInOutChannels.bmp';
M.moduleBrowser.searchTags = 'pass thru through copy';
end

function M = test_in_out_prebuild(M);

end