The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.
TYPEMAP
Audio_Mad_Stream			T_PTROBJ_SPECIAL
Audio_Mad_Frame				T_PTROBJ_SPECIAL
Audio_Mad_Synth				T_PTROBJ_SPECIAL
Audio_Mad_Timer				T_PTROBJ_SPECIAL
Audio_Mad_Dither			T_PTROBJ_SPECIAL
Audio_Mad_Resample			T_PTROBJ_SPECIAL

##############################################################################
INPUT
T_PTROBJ_SPECIAL
	if (sv_derived_from($arg, \"${(my $ntt=$ntype)=~s/_/::/g;\$ntt}\")) {
		IV tmp = SvIV((SV*)SvRV($arg));
		$var = ($type) tmp;
	} else
		croak(\"$var is not of type ${(my $ntt=$ntype)=~s/_/::/g;\$ntt}\")

##############################################################################
OUTPUT
T_PTROBJ_SPECIAL
	sv_setref_pv($arg, \"${(my $ntt=$ntype)=~s/_/::/g;\$ntt}\", (void*)$var);