Core::Core() { core=this; int i; data=new sampleType[NumSamples*2+16]; windY=windX=1; windWidth=320; windHeight=240; for(i=0;i<NumSamples;i++) { negSinTable[i] = -sin(3.141592*2.0/NumSamples*i); cosTable[i] = cos(3.141592*2.0/NumSamples*i); bitReverse[i] = bitReverser(i); } screen = new SdlScreen; if (!screen->init(windX,windY,windWidth,windHeight,false)) { delete screen; screen = 0; return; } allocOutput(outWidth,outHeight); setStarSize(starSize); interface=new Interface; }
int main(int argc, char **argv) { int windX=10; int windY=30; int windWidth=uiWidth; int windHeight=uiHeight; int c; int xx, xy; opterr = 0; /* KAboutData aboutData( "kscdmagic", I18N_NOOP("kscdmagic"), KSCDMAGICVERSION, I18N_NOOP("sound visualisation"), KAboutData::License_GPL, "(c) 2000, Dirk Försterling"); aboutData.addAuthor("Paul Harrison",0, "*****@*****.**"); aboutData.addAuthor("Dirk Försterling",0, "*****@*****.**"); KCmdLineArgs::init( argc, argv, &aboutData ); KApplication magicApp; */ openSound(SourceCD, 44100, "/dev/dsp", NULL); catchSignals(); while ((c = getopt(argc, argv, "b:h:w:")) != -1){ switch (c) { case '?': fprintf(stderr, "%s: unknown option \"%s\"\n", argv[0], argv[optind-1]); usage(argv[0]); exit(1); case 'b': bright = (double) atoi(optarg); bright = bright/10; break; case 'w': windWidth = atoi(optarg); break; case 'h': windHeight = atoi(optarg); break; } } if (bright > 1.0) bright = 1.0; else if (bright < 0.0) bright = 0.0; if (windWidth < 1) windWidth = uiWidth; if (windHeight < 1) windHeight = uiHeight; screenInit(windX,windY,windWidth,windHeight); allocOutput(outWidth,outHeight); coreInit(); setStarSize(starSize); setBrightness(bright); time_t timer = time(NULL); int frames = 0; for(;;) { fade(); if (-1 == coreGo()) break; polygonEngine.clear(); for( xy = 0; xy < 48; xy++) { for( xx = 0; xx < 48; xx++) { if ( logo[xy][xx] != 0) { polygonEngine.add(32769, xx+10, xy+3); } } } polygonEngine.apply(outputBmp.data); screenShow(); frames++; if(processUserInput() == -1) break; } timer = time(NULL) - timer; delete ucoutput; closeSound(); if (timer > 10) fprintf(stderr,"Frames per second: %f\n", double(frames)/timer); return 0; } // main() /* linux */