From 26f5342bb8227f73dbee833f4fbe1cece97154a2 Mon Sep 17 00:00:00 2001 From: Wohlstand Date: Sun, 7 Feb 2016 06:16:45 +0300 Subject: Taking generated audio also via pointer Not only via callback funtion pointer --- src/dbopl.cpp | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) (limited to 'src/dbopl.cpp') diff --git a/src/dbopl.cpp b/src/dbopl.cpp index 54df48c..809d394 100644 --- a/src/dbopl.cpp +++ b/src/dbopl.cpp @@ -1551,10 +1551,21 @@ void Handler::Generate( void(*AddSamples_m32)(Bitu,Bit32s*), AddSamples_m32( samples, buffer ); } else { chip.GenerateBlock3( samples, buffer ); - AddSamples_s32( samples, buffer ); + AddSamples_s32( samples, buffer ); } } +void Handler::GenerateArr(Bit32s* out, Bitu *samples ) +{ + if ( GCC_UNLIKELY(*samples > 512) ) + *samples = 512; + if ( !chip.opl3Active ) { + chip.GenerateBlock2( *samples, out ); + } else { + chip.GenerateBlock3( *samples, out ); + } +} + void Handler::Init( Bitu rate ) { InitTables(); chip.Setup( rate ); -- cgit v1.2.3