|
|
|
@ -35,8 +35,8 @@
|
|
|
|
|
void KJVisScope::swapScope(Visuals newOne)
|
|
|
|
|
{
|
|
|
|
|
//kdDebug(66666) << k_funcinfo << endl;
|
|
|
|
|
TQStringList line = tqparent()->item("analyzerwindow");
|
|
|
|
|
KJLoader *p=tqparent();
|
|
|
|
|
TQStringList line = parent()->item("analyzerwindow");
|
|
|
|
|
KJLoader *p=parent();
|
|
|
|
|
p->removeChild(this);
|
|
|
|
|
delete this;
|
|
|
|
|
|
|
|
|
@ -66,8 +66,8 @@ void KJVisScope::swapScope(Visuals newOne)
|
|
|
|
|
* KJNullScope
|
|
|
|
|
*******************************************/
|
|
|
|
|
|
|
|
|
|
KJNullScope::KJNullScope(const TQStringList &l, KJLoader *tqparent)
|
|
|
|
|
: KJVisScope(tqparent)
|
|
|
|
|
KJNullScope::KJNullScope(const TQStringList &l, KJLoader *parent)
|
|
|
|
|
: KJVisScope(parent)
|
|
|
|
|
{
|
|
|
|
|
int x = l[1].toInt();
|
|
|
|
|
int y = l[2].toInt();
|
|
|
|
@ -75,7 +75,7 @@ KJNullScope::KJNullScope(const TQStringList &l, KJLoader *tqparent)
|
|
|
|
|
int ys = l[4].toInt() - y;
|
|
|
|
|
|
|
|
|
|
// background under vis
|
|
|
|
|
TQPixmap tmp = tqparent->pixmap(tqparent->item("backgroundimage")[1]);
|
|
|
|
|
TQPixmap tmp = parent->pixmap(parent->item("backgroundimage")[1]);
|
|
|
|
|
mBack = new KPixmap ( TQSize(xs,ys) );
|
|
|
|
|
bitBlt( mBack, 0, 0, &tmp, x, y, xs, ys, TQt::CopyROP );
|
|
|
|
|
setRect ( x, y, xs, ys );
|
|
|
|
@ -98,7 +98,7 @@ void KJNullScope::mouseRelease(const TQPoint &, bool in)
|
|
|
|
|
if (!in) // only do something if users is still inside the button
|
|
|
|
|
return;
|
|
|
|
|
|
|
|
|
|
tqparent()->tqrepaint(rect(), false);
|
|
|
|
|
parent()->tqrepaint(rect(), false);
|
|
|
|
|
swapScope(FFT);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
@ -108,7 +108,7 @@ void KJNullScope::readConfig()
|
|
|
|
|
Visuals v = (Visuals) KJLoader::kjofol->prefs()->visType();
|
|
|
|
|
if ( v != Null )
|
|
|
|
|
{
|
|
|
|
|
tqparent()->tqrepaint(rect(), false);
|
|
|
|
|
parent()->tqrepaint(rect(), false);
|
|
|
|
|
swapScope ( v );
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
@ -118,8 +118,8 @@ void KJNullScope::readConfig()
|
|
|
|
|
* KJFFT - Analyzer like visualization, mono
|
|
|
|
|
*************************************************/
|
|
|
|
|
|
|
|
|
|
KJFFT::KJFFT(const TQStringList &l, KJLoader *tqparent)
|
|
|
|
|
: KJVisScope(tqparent), MonoFFTScope(50), mGradient(0)
|
|
|
|
|
KJFFT::KJFFT(const TQStringList &l, KJLoader *parent)
|
|
|
|
|
: KJVisScope(parent), MonoFFTScope(50), mGradient(0)
|
|
|
|
|
{
|
|
|
|
|
int x = l[1].toInt();
|
|
|
|
|
int y = l[2].toInt();
|
|
|
|
@ -129,7 +129,7 @@ KJFFT::KJFFT(const TQStringList &l, KJLoader *tqparent)
|
|
|
|
|
// each bar will be 1px wide
|
|
|
|
|
mMultiples=1;
|
|
|
|
|
|
|
|
|
|
if ( tqparent->exist("analyzercolor") )
|
|
|
|
|
if ( parent->exist("analyzercolor") )
|
|
|
|
|
{
|
|
|
|
|
TQStringList &col = parser()["analyzercolor"];
|
|
|
|
|
mColor.setRgb ( col[1].toInt(), col[2].toInt(), col[3].toInt() );
|
|
|
|
@ -140,7 +140,7 @@ KJFFT::KJFFT(const TQStringList &l, KJLoader *tqparent)
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// background under vis
|
|
|
|
|
TQPixmap tmp = tqparent->pixmap(tqparent->item("backgroundimage")[1]);
|
|
|
|
|
TQPixmap tmp = parent->pixmap(parent->item("backgroundimage")[1]);
|
|
|
|
|
mBack = new KPixmap ( TQSize(xs,ys) );
|
|
|
|
|
bitBlt( mBack, 0, 0, &tmp, x, y, xs, ys, TQt::CopyROP );
|
|
|
|
|
|
|
|
|
@ -163,7 +163,7 @@ void KJFFT::scopeEvent(float *d, int size)
|
|
|
|
|
if ( !napp->player()->isPlaying() ) // don't draw if we aren't playing (either paused or stopped)
|
|
|
|
|
{
|
|
|
|
|
if ( napp->player()->isStopped() ) // clear vis-window if playing has been stopped
|
|
|
|
|
tqparent()->tqrepaint(rect(), false);
|
|
|
|
|
parent()->tqrepaint(rect(), false);
|
|
|
|
|
return;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
@ -171,12 +171,12 @@ void KJFFT::scopeEvent(float *d, int size)
|
|
|
|
|
int h = rect().height();
|
|
|
|
|
|
|
|
|
|
TQBitmap mGradientMask ( rect().width(), h, true );
|
|
|
|
|
TQPainter tqmask( &mGradientMask );
|
|
|
|
|
TQPainter mask( &mGradientMask );
|
|
|
|
|
|
|
|
|
|
float *start = d ;
|
|
|
|
|
float *end = d + size /*- 1*/;
|
|
|
|
|
|
|
|
|
|
// loop creating the tqmask for vis-gradient
|
|
|
|
|
// loop creating the mask for vis-gradient
|
|
|
|
|
for ( ; start < end; ++start )
|
|
|
|
|
{
|
|
|
|
|
// 5 has been 8 before and I have no idea how this scaling works :/
|
|
|
|
@ -191,10 +191,10 @@ void KJFFT::scopeEvent(float *d, int size)
|
|
|
|
|
else if ( amp > h ) amp = h;
|
|
|
|
|
|
|
|
|
|
// make a part of the analyzer-gradient visible
|
|
|
|
|
tqmask.fillRect ( x, (h-amp), mMultiples, amp, TQt::color1 );
|
|
|
|
|
mask.fillRect ( x, (h-amp), mMultiples, amp, TQt::color1 );
|
|
|
|
|
x += mMultiples;
|
|
|
|
|
}
|
|
|
|
|
// done creating our tqmask
|
|
|
|
|
// done creating our mask
|
|
|
|
|
|
|
|
|
|
// draw background of vis into it
|
|
|
|
|
bitBlt ( mAnalyzer, 0, 0, mBack, 0, 0, -1, -1, TQt::CopyROP );
|
|
|
|
@ -225,7 +225,7 @@ void KJFFT::mouseRelease(const TQPoint &, bool in)
|
|
|
|
|
return;
|
|
|
|
|
|
|
|
|
|
stop();
|
|
|
|
|
tqparent()->tqrepaint(rect(), false);
|
|
|
|
|
parent()->tqrepaint(rect(), false);
|
|
|
|
|
swapScope(Mono);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
@ -236,7 +236,7 @@ void KJFFT::readConfig()
|
|
|
|
|
if ( v != FFT )
|
|
|
|
|
{
|
|
|
|
|
stop();
|
|
|
|
|
tqparent()->tqrepaint(rect(), false);
|
|
|
|
|
parent()->tqrepaint(rect(), false);
|
|
|
|
|
swapScope ( v );
|
|
|
|
|
return;
|
|
|
|
|
}
|
|
|
|
@ -250,8 +250,8 @@ void KJFFT::readConfig()
|
|
|
|
|
* KJStereoFFT - Analyzer like visualization, stereo
|
|
|
|
|
*************************************************/
|
|
|
|
|
|
|
|
|
|
KJStereoFFT::KJStereoFFT(const TQStringList &l, KJLoader *tqparent)
|
|
|
|
|
: KJVisScope(tqparent), StereoFFTScope(50), mGradient(0)
|
|
|
|
|
KJStereoFFT::KJStereoFFT(const TQStringList &l, KJLoader *parent)
|
|
|
|
|
: KJVisScope(parent), StereoFFTScope(50), mGradient(0)
|
|
|
|
|
{
|
|
|
|
|
//kdDebug(66666) << k_funcinfo << endl;
|
|
|
|
|
|
|
|
|
@ -263,7 +263,7 @@ KJStereoFFT::KJStereoFFT(const TQStringList &l, KJLoader *tqparent)
|
|
|
|
|
// each bar will be 1px wide
|
|
|
|
|
mMultiples=1;
|
|
|
|
|
|
|
|
|
|
if ( tqparent->exist("analyzercolor") )
|
|
|
|
|
if ( parent->exist("analyzercolor") )
|
|
|
|
|
{
|
|
|
|
|
TQStringList &col = parser()["analyzercolor"];
|
|
|
|
|
mColor.setRgb ( col[1].toInt(), col[2].toInt(), col[3].toInt() );
|
|
|
|
@ -274,7 +274,7 @@ KJStereoFFT::KJStereoFFT(const TQStringList &l, KJLoader *tqparent)
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// background under vis
|
|
|
|
|
TQPixmap tmp = tqparent->pixmap(tqparent->item("backgroundimage")[1]);
|
|
|
|
|
TQPixmap tmp = parent->pixmap(parent->item("backgroundimage")[1]);
|
|
|
|
|
mBack = new KPixmap ( TQSize(xs,ys) );
|
|
|
|
|
bitBlt( mBack, 0, 0, &tmp, x, y, xs, ys, TQt::CopyROP );
|
|
|
|
|
|
|
|
|
@ -297,7 +297,7 @@ void KJStereoFFT::scopeEvent(float *left, float *right, int len)
|
|
|
|
|
if ( !napp->player()->isPlaying() ) // don't draw if we aren't playing (either paused or stopped)
|
|
|
|
|
{
|
|
|
|
|
if ( napp->player()->isStopped() ) // clear vis-window if playing has been stopped
|
|
|
|
|
tqparent()->tqrepaint(rect(), false);
|
|
|
|
|
parent()->tqrepaint(rect(), false);
|
|
|
|
|
return;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
@ -305,7 +305,7 @@ void KJStereoFFT::scopeEvent(float *left, float *right, int len)
|
|
|
|
|
int hh = (int)(rect().height()/2);
|
|
|
|
|
|
|
|
|
|
TQBitmap mGradientMask ( rect().width(), h, true );
|
|
|
|
|
TQPainter tqmask( &mGradientMask );
|
|
|
|
|
TQPainter mask( &mGradientMask );
|
|
|
|
|
|
|
|
|
|
float *start = left;
|
|
|
|
|
float *end = left + len;
|
|
|
|
@ -313,7 +313,7 @@ void KJStereoFFT::scopeEvent(float *left, float *right, int len)
|
|
|
|
|
int amp = 0;
|
|
|
|
|
int x = 0;
|
|
|
|
|
|
|
|
|
|
// loop creating the tqmask for vis-gradient
|
|
|
|
|
// loop creating the mask for vis-gradient
|
|
|
|
|
for ( ; start < end; ++start )
|
|
|
|
|
{
|
|
|
|
|
n = log((*start)+1) * (float)hh * 5;
|
|
|
|
@ -324,16 +324,16 @@ void KJStereoFFT::scopeEvent(float *left, float *right, int len)
|
|
|
|
|
else if ( amp > hh ) amp = hh;
|
|
|
|
|
|
|
|
|
|
// make a part of the analyzer-gradient visible
|
|
|
|
|
tqmask.fillRect ( x, (h-amp), mMultiples, amp, TQt::color1 );
|
|
|
|
|
mask.fillRect ( x, (h-amp), mMultiples, amp, TQt::color1 );
|
|
|
|
|
x += mMultiples;
|
|
|
|
|
}
|
|
|
|
|
// done creating our tqmask
|
|
|
|
|
// done creating our mask
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
start = right;
|
|
|
|
|
end = right + len;
|
|
|
|
|
x = 0;
|
|
|
|
|
// loop creating the tqmask for vis-gradient
|
|
|
|
|
// loop creating the mask for vis-gradient
|
|
|
|
|
for ( ; start < end; ++start )
|
|
|
|
|
{
|
|
|
|
|
n = log((*start)+1) * (float)hh * 5;
|
|
|
|
@ -344,7 +344,7 @@ void KJStereoFFT::scopeEvent(float *left, float *right, int len)
|
|
|
|
|
else if ( amp > hh ) amp = hh;
|
|
|
|
|
|
|
|
|
|
// make a part of the analyzer-gradient visible
|
|
|
|
|
tqmask.fillRect ( x, 0, mMultiples, amp, TQt::color1 );
|
|
|
|
|
mask.fillRect ( x, 0, mMultiples, amp, TQt::color1 );
|
|
|
|
|
x += mMultiples;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
@ -376,7 +376,7 @@ void KJStereoFFT::mouseRelease(const TQPoint &, bool in)
|
|
|
|
|
if (!in) // only do something if users is still inside the button
|
|
|
|
|
return;
|
|
|
|
|
stop();
|
|
|
|
|
tqparent()->tqrepaint(rect(), false);
|
|
|
|
|
parent()->tqrepaint(rect(), false);
|
|
|
|
|
swapScope(Null);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
@ -387,7 +387,7 @@ void KJStereoFFT::readConfig()
|
|
|
|
|
if ( v != StereoFFT )
|
|
|
|
|
{
|
|
|
|
|
stop();
|
|
|
|
|
tqparent()->tqrepaint(rect(), false);
|
|
|
|
|
parent()->tqrepaint(rect(), false);
|
|
|
|
|
swapScope ( v );
|
|
|
|
|
return;
|
|
|
|
|
}
|
|
|
|
@ -399,8 +399,8 @@ void KJStereoFFT::readConfig()
|
|
|
|
|
* KJScope - oscilloscope like visualization
|
|
|
|
|
*************************************************/
|
|
|
|
|
|
|
|
|
|
KJScope::KJScope(const TQStringList &l, KJLoader *tqparent)
|
|
|
|
|
: KJVisScope(tqparent), MonoScope(50)/*, blurnum(0), mOsci(0)*/
|
|
|
|
|
KJScope::KJScope(const TQStringList &l, KJLoader *parent)
|
|
|
|
|
: KJVisScope(parent), MonoScope(50)/*, blurnum(0), mOsci(0)*/
|
|
|
|
|
{
|
|
|
|
|
int x=l[1].toInt();
|
|
|
|
|
int y=l[2].toInt();
|
|
|
|
@ -411,7 +411,7 @@ KJScope::KJScope(const TQStringList &l, KJLoader *tqparent)
|
|
|
|
|
|
|
|
|
|
// kdDebug(66666) << "Analyzer Window " << x << "," << y << " " << mWidth << "," << mHeight << endl;
|
|
|
|
|
|
|
|
|
|
if ( tqparent->exist("analyzercolor") )
|
|
|
|
|
if ( parent->exist("analyzercolor") )
|
|
|
|
|
{
|
|
|
|
|
TQStringList &col = parser()["analyzercolor"];
|
|
|
|
|
mColor.setRgb ( col[1].toInt(), col[2].toInt(), col[3].toInt() );
|
|
|
|
@ -420,7 +420,7 @@ KJScope::KJScope(const TQStringList &l, KJLoader *tqparent)
|
|
|
|
|
mColor.setRgb ( 255, 255, 255 );
|
|
|
|
|
|
|
|
|
|
// background under vis
|
|
|
|
|
TQPixmap tmp = tqparent->pixmap(tqparent->item("backgroundimage")[1]);
|
|
|
|
|
TQPixmap tmp = parent->pixmap(parent->item("backgroundimage")[1]);
|
|
|
|
|
mBack = new KPixmap ( TQSize(xs,ys) );
|
|
|
|
|
bitBlt( mBack, 0, 0, &tmp, x, y, xs, ys, TQt::CopyROP );
|
|
|
|
|
|
|
|
|
@ -517,7 +517,7 @@ void KJScope::mouseRelease(const TQPoint &, bool in)
|
|
|
|
|
return;
|
|
|
|
|
|
|
|
|
|
stop();
|
|
|
|
|
tqparent()->tqrepaint(rect(), false);
|
|
|
|
|
parent()->tqrepaint(rect(), false);
|
|
|
|
|
swapScope(/*Null*/ StereoFFT);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
@ -528,7 +528,7 @@ void KJScope::readConfig()
|
|
|
|
|
if ( v != Mono )
|
|
|
|
|
{
|
|
|
|
|
stop();
|
|
|
|
|
tqparent()->tqrepaint(rect(), false);
|
|
|
|
|
parent()->tqrepaint(rect(), false);
|
|
|
|
|
swapScope ( v );
|
|
|
|
|
return;
|
|
|
|
|
}
|
|
|
|
|