#include #include "WAVDatei.h" #include #include #include #include #include #include #include "Initialisierung.h" #include #include #include #include #include #include using namespace Framework; typedef GSL::GSLDateiV *( *GetGSLDatei )( ); struct Variablen { GSL::GSLDateiV *gslDatei1; TextFeld *gslPfad1; Knopf *gslLaden1; AuswahlListe *gslSounds1; Knopf *löschen1; Knopf *play1; Knopf *stop1; GSL::GSLSoundV *sound1; GSL::GSLDateiV *gslDatei2; TextFeld *gslPfad2; Knopf *gslLaden2; AuswahlListe *gslSounds2; Knopf *löschen2; Knopf *play2; Knopf *stop2; GSL::GSLSoundV *sound2; Knopf *nachLinks; Knopf *nachRechts; TextFeld *wavPfad; Knopf *wavLinks; Knopf *wavRechts; Schrift *nSchrift; }; bool GSLLaden1ME( void *p, void *obj, MausEreignis me ) { if( me.id == ME_RLinks ) { Variablen *vars = (Variablen*)p; vars->gslDatei1->setDatei( vars->gslPfad1->getText() ); if( !DateiExistiert( vars->gslPfad1->getText() ) ) DateiPfadErstellen( vars->gslPfad1->getText() ); vars->gslDatei1->leseDaten(); int anz = vars->gslSounds1->getEintragAnzahl(); for( int i = 0; i < anz; i++ ) vars->gslSounds1->removeEintrag( 0 ); anz = vars->gslDatei1->getSoundAnzahl(); for( int i = 0; i < anz; i++ ) { vars->gslSounds1->addEintrag( vars->gslDatei1->getSoundName( i ) ); vars->gslSounds1->zEintrag( i )->setSchriftZ( vars->nSchrift->getThis() ); vars->gslSounds1->zEintrag( i )->setSchriftFarbe( 0xFFFFFFFF ); vars->gslSounds1->zEintrag( i )->setSize( 0, 20 ); } vars->gslSounds1->addStyle( AuswahlListe::Style::Erlaubt ); vars->wavPfad->addStyle( TextFeld::Style::Erlaubt ); vars->wavLinks->addStyle( Knopf::Style::Erlaubt ); if( vars->gslSounds2->getAuswahl() >= 0 && vars->gslSounds2->hatStyle( AuswahlListe::Style::Erlaubt ) ) vars->nachLinks->addStyle( Knopf::Style::Erlaubt ); vars->nachRechts->removeStyle( Knopf::Style::Erlaubt ); vars->löschen1->removeStyle( Knopf::Style::Erlaubt ); vars->play1->removeStyle( Knopf::Style::Erlaubt ); vars->stop1->removeStyle( Knopf::Style::Erlaubt ); } return 1; } bool GSLLaden2ME( void *p, void *obj, MausEreignis me ) { if( me.id == ME_RLinks ) { Variablen *vars = (Variablen*)p; vars->gslDatei2->setDatei( vars->gslPfad2->getText() ); if( !DateiExistiert( vars->gslPfad2->getText() ) ) DateiPfadErstellen( vars->gslPfad2->getText() ); vars->gslDatei2->leseDaten(); int anz = vars->gslSounds2->getEintragAnzahl(); for( int i = 0; i < anz; i++ ) vars->gslSounds2->removeEintrag( 0 ); anz = vars->gslDatei2->getSoundAnzahl(); for( int i = 0; i < anz; i++ ) { vars->gslSounds2->addEintrag( vars->gslDatei2->getSoundName( i ) ); vars->gslSounds2->zEintrag( i )->setSchriftZ( vars->nSchrift->getThis() ); vars->gslSounds2->zEintrag( i )->setSchriftFarbe( 0xFFFFFFFF ); vars->gslSounds2->zEintrag( i )->setSize( 0, 20 ); } vars->gslSounds2->addStyle( AuswahlListe::Style::Erlaubt ); if( vars->gslSounds1->getAuswahl() >= 0 && vars->gslSounds1->hatStyle( AuswahlListe::Style::Erlaubt ) ) vars->nachRechts->addStyle( Knopf::Style::Erlaubt ); vars->wavPfad->addStyle( TextFeld::Style::Erlaubt ); vars->wavRechts->addStyle( Knopf::Style::Erlaubt ); vars->nachLinks->removeStyle( Knopf::Style::Erlaubt ); vars->löschen2->removeStyle( Knopf::Style::Erlaubt ); vars->play2->removeStyle( Knopf::Style::Erlaubt ); vars->stop2->removeStyle( Knopf::Style::Erlaubt ); } return 1; } bool GSLSounds1ME( void *p, void *obj, MausEreignis me ) { if( me.id == ME_RLinks ) { Variablen *vars = (Variablen*)p; if( vars->gslSounds1->getKlickEintrag( me.my ) >= 0 ) { if( vars->gslSounds2->hatStyle( AuswahlListe::Style::Erlaubt ) && vars->stop2->hatStyleNicht( Knopf::Style::Erlaubt ) ) vars->nachRechts->addStyle( Knopf::Style::Erlaubt ); vars->löschen1->addStyle( Knopf::Style::Erlaubt ); vars->play1->addStyle( Knopf::Style::Erlaubt ); } else { vars->nachRechts->removeStyle( Knopf::Style::Erlaubt ); vars->löschen1->removeStyle( Knopf::Style::Erlaubt ); vars->play1->removeStyle( Knopf::Style::Erlaubt ); } } return 1; } bool GSLSounds2ME( void *p, void *obj, MausEreignis me ) { if( me.id == ME_RLinks ) { Variablen *vars = (Variablen*)p; if( vars->gslSounds2->getKlickEintrag( me.my ) >= 0 ) { if( vars->gslSounds1->hatStyle( AuswahlListe::Style::Erlaubt ) && vars->stop1->hatStyleNicht( Knopf::Style::Erlaubt ) ) vars->nachLinks->addStyle( Knopf::Style::Erlaubt ); vars->löschen2->addStyle( Knopf::Style::Erlaubt ); vars->play2->addStyle( Knopf::Style::Erlaubt ); } else { vars->nachLinks->removeStyle( Knopf::Style::Erlaubt ); vars->löschen2->removeStyle( Knopf::Style::Erlaubt ); vars->play2->removeStyle( Knopf::Style::Erlaubt ); } } return 1; } bool NachLinksME( void *p, void *obj, MausEreignis me ) { if( me.id == ME_RLinks ) { Variablen *vars = (Variablen*)p; if( vars->gslSounds2->getAuswahl() < 0 || vars->gslSounds2->hatStyleNicht( AuswahlListe::Style::Erlaubt ) ) return 1; if( vars->stop1->hatStyle( Knopf::Style::Erlaubt ) ) return 1; GSL::GSLSoundV *tmpSound = vars->gslDatei2->getSound( vars->gslSounds2->zEintrag( vars->gslSounds2->getAuswahl() )->zText()->getText() ); if( !tmpSound ) return 1; if( !vars->gslDatei1->speicherSound( tmpSound, vars->gslSounds2->zEintrag( vars->gslSounds2->getAuswahl() )->zText()->getText() ) ) { tmpSound->release(); return 1; } tmpSound->release(); vars->gslSounds1->addEintrag( vars->gslSounds2->zEintrag( vars->gslSounds2->getAuswahl() )->zText()->getText() ); vars->gslSounds1->zEintrag( vars->gslSounds1->getEintragAnzahl() - 1 )->setSchriftZ( vars->nSchrift->getThis() ); vars->gslSounds1->zEintrag( vars->gslSounds1->getEintragAnzahl() - 1 )->setSchriftFarbe( 0xFFFFFFFF ); vars->gslSounds1->zEintrag( vars->gslSounds1->getEintragAnzahl() - 1 )->setSize( 0, 20 ); } return 1; } bool NachRechtsME( void *p, void *obj, MausEreignis me ) { if( me.id == ME_RLinks ) { Variablen *vars = (Variablen*)p; if( vars->gslSounds1->getAuswahl() < 0 || vars->gslSounds1->hatStyleNicht( AuswahlListe::Style::Erlaubt ) ) return 1; if( vars->stop2->hatStyle( Knopf::Style::Erlaubt ) ) return 1; GSL::GSLSoundV *tmpSound = vars->gslDatei1->getSound( vars->gslSounds1->zEintrag( vars->gslSounds1->getAuswahl() )->zText()->getText() ); if( !tmpSound ) return 1; if( !vars->gslDatei2->speicherSound( tmpSound, vars->gslSounds1->zEintrag( vars->gslSounds1->getAuswahl() )->zText()->getText() ) ) { tmpSound->release(); return 1; } tmpSound->release(); vars->gslSounds2->addEintrag( vars->gslSounds1->zEintrag( vars->gslSounds1->getAuswahl() )->zText()->getText() ); vars->gslSounds2->zEintrag( vars->gslSounds2->getEintragAnzahl() - 1 )->setSchriftZ( vars->nSchrift->getThis() ); vars->gslSounds2->zEintrag( vars->gslSounds2->getEintragAnzahl() - 1 )->setSchriftFarbe( 0xFFFFFFFF ); vars->gslSounds2->zEintrag( vars->gslSounds2->getEintragAnzahl() - 1 )->setSize( 0, 20 ); } return 1; } bool WavLinksME( void *p, void *obj, MausEreignis me ) { if( me.id == ME_RLinks ) { Variablen *vars = (Variablen*)p; if( vars->gslSounds1->hatStyleNicht( AuswahlListe::Style::Erlaubt ) ) return 1; if( !DateiExistiert( vars->wavPfad->getText() ) ) return 1; if( vars->stop1->hatStyle( Knopf::Style::Erlaubt ) ) return 1; if( DateiIstVerzeichnis( vars->wavPfad->getText() ) ) { Datei d; d.setDatei( vars->wavPfad->getText() ); int anz = d.getUnterdateiAnzahl(); RCArray< Text > *files = d.getDateiListe(); for( int i = 0; i < anz && files; i++ ) { Text txt = vars->wavPfad->zText()->getText(); txt += "/"; txt.append( files->z( i )->getText() ); WAVDatei wav; if( !wav.lade( txt ) ) continue; char *n = files->z( i )->getText(); if( !vars->gslDatei1->speicherSound( &wav, n ) ) continue; vars->gslSounds1->addEintrag( n ); vars->gslSounds1->zEintrag( vars->gslSounds1->getEintragAnzahl() - 1 )->setSchriftZ( vars->nSchrift->getThis() ); vars->gslSounds1->zEintrag( vars->gslSounds1->getEintragAnzahl() - 1 )->setSchriftFarbe( 0xFFFFFFFF ); vars->gslSounds1->zEintrag( vars->gslSounds1->getEintragAnzahl() - 1 )->setSize( 0, 20 ); } if( files ) files->release(); } else { WAVDatei wav; if( !wav.lade( vars->wavPfad->zText()->getText() ) ) return 1; Text *pf = vars->wavPfad->zText(); char *n = pf->getText() + pf->positionVon( '/', pf->anzahlVon( '/' ) - 1 ) + 1; if( !vars->gslDatei1->speicherSound( &wav, n ) ) return 1; vars->gslSounds1->addEintrag( n ); vars->gslSounds1->zEintrag( vars->gslSounds1->getEintragAnzahl() - 1 )->setSchriftZ( vars->nSchrift->getThis() ); vars->gslSounds1->zEintrag( vars->gslSounds1->getEintragAnzahl() - 1 )->setSchriftFarbe( 0xFFFFFFFF ); vars->gslSounds1->zEintrag( vars->gslSounds1->getEintragAnzahl() - 1 )->setSize( 0, 20 ); } } return 1; } bool WavRechtsME( void *p, void *obj, MausEreignis me ) { if( me.id == ME_RLinks ) { Variablen *vars = (Variablen*)p; if( vars->gslSounds2->hatStyleNicht( AuswahlListe::Style::Erlaubt ) ) return 1; if( !DateiExistiert( vars->wavPfad->getText() ) ) return 1; if( vars->stop2->hatStyle( Knopf::Style::Erlaubt ) ) return 1; if( DateiIstVerzeichnis( vars->wavPfad->getText() ) ) { Datei d; d.setDatei( vars->wavPfad->getText() ); int anz = d.getUnterdateiAnzahl(); RCArray< Text > *files = d.getDateiListe(); for( int i = 0; i < anz && files; i++ ) { Text txt = vars->wavPfad->zText()->getText(); txt += "/"; txt.append( files->z( i )->getText() ); WAVDatei wav; if( !wav.lade( txt ) ) continue; char *n = files->z( i )->getText(); if( !vars->gslDatei2->speicherSound( &wav, n ) ) continue; vars->gslSounds2->addEintrag( n ); vars->gslSounds2->zEintrag( vars->gslSounds2->getEintragAnzahl() - 1 )->setSchriftZ( vars->nSchrift->getThis() ); vars->gslSounds2->zEintrag( vars->gslSounds2->getEintragAnzahl() - 1 )->setSchriftFarbe( 0xFFFFFFFF ); vars->gslSounds2->zEintrag( vars->gslSounds2->getEintragAnzahl() - 1 )->setSize( 0, 20 ); } if( files ) files->release(); } else { WAVDatei wav; if( !wav.lade( vars->wavPfad->zText()->getText() ) ) return 1; Text *pf = vars->wavPfad->zText(); char *n = pf->getText() + pf->positionVon( '/', pf->anzahlVon( '/' ) - 1 ) + 1; if( !vars->gslDatei2->speicherSound( &wav, n ) ) return 1; vars->gslSounds2->addEintrag( n ); vars->gslSounds2->zEintrag( vars->gslSounds2->getEintragAnzahl() - 1 )->setSchriftZ( vars->nSchrift->getThis() ); vars->gslSounds2->zEintrag( vars->gslSounds2->getEintragAnzahl() - 1 )->setSchriftFarbe( 0xFFFFFFFF ); vars->gslSounds2->zEintrag( vars->gslSounds2->getEintragAnzahl() - 1 )->setSize( 0, 20 ); } } return 1; } bool Löschen1ME( void *p, void *obj, MausEreignis me ) { if( me.id == ME_RLinks ) { Variablen *vars = (Variablen*)p; if( vars->gslSounds1->hatStyleNicht( AuswahlListe::Style::Erlaubt ) ) return 1; if( vars->gslSounds1->getAuswahl() < 0 ) return 1; if( vars->stop1->hatStyle( Knopf::Style::Erlaubt ) ) return 1; if( !vars->gslDatei1->removeSound( vars->gslSounds1->zEintrag( vars->gslSounds1->getAuswahl() )->zText()->getText() ) ) return 1; vars->gslSounds1->removeEintrag( vars->gslSounds1->getAuswahl() ); vars->gslSounds1->deSelect(); vars->nachRechts->removeStyle( Knopf::Style::Erlaubt ); vars->löschen1->removeStyle( Knopf::Style::Erlaubt ); vars->play1->removeStyle( Knopf::Style::Erlaubt ); } return 1; } bool Löschen2ME( void *p, void *obj, MausEreignis me ) { if( me.id == ME_RLinks ) { Variablen *vars = (Variablen*)p; if( vars->gslSounds2->hatStyleNicht( AuswahlListe::Style::Erlaubt ) ) return 1; if( vars->gslSounds2->getAuswahl() < 0 ) return 1; if( vars->stop2->hatStyle( Knopf::Style::Erlaubt ) ) return 1; if( !vars->gslDatei2->removeSound( vars->gslSounds2->zEintrag( vars->gslSounds2->getAuswahl() )->zText()->getText() ) ) return 1; vars->gslSounds2->removeEintrag( vars->gslSounds2->getAuswahl() ); vars->gslSounds2->deSelect(); vars->nachLinks->removeStyle( Knopf::Style::Erlaubt ); vars->löschen2->removeStyle( Knopf::Style::Erlaubt ); vars->play2->removeStyle( Knopf::Style::Erlaubt ); } return 1; } bool Play1ME( void *p, void *obj, MausEreignis me ) { if( me.id == ME_RLinks ) { Variablen *vars = (Variablen*)p; if( vars->gslSounds1->hatStyleNicht( AuswahlListe::Style::Erlaubt ) || vars->gslSounds1->getAuswahl() < 0 ) return 1; if( vars->sound1 ) return 1; vars->sound1 = vars->gslDatei1->getSound( vars->gslSounds1->zEintrag( vars->gslSounds1->getAuswahl() )->getText() ); if( !vars->sound1 ) return 1; vars->sound1->setVolume( 0xFFFF, 0xFFFF ); vars->sound1->playSound(); vars->gslSounds1->removeStyle( AuswahlListe::Style::Erlaubt ); vars->nachLinks->removeStyle( Knopf::Style::Erlaubt ); vars->wavLinks->removeStyle( Knopf::Style::Erlaubt ); vars->löschen1->removeStyle( Knopf::Style::Erlaubt ); vars->play1->removeStyle( Knopf::Style::Erlaubt ); vars->gslLaden1->removeStyle( Knopf::Style::Erlaubt ); vars->stop1->addStyle( Knopf::Style::Erlaubt ); } return 1; } bool Play2ME( void *p, void *obj, MausEreignis me ) { if( me.id == ME_RLinks ) { Variablen *vars = (Variablen*)p; if( vars->gslSounds2->hatStyleNicht( AuswahlListe::Style::Erlaubt ) || vars->gslSounds2->getAuswahl() < 0 ) return 1; if( vars->sound2 ) return 1; vars->sound2 = vars->gslDatei2->getSound( vars->gslSounds2->zEintrag( vars->gslSounds2->getAuswahl() )->getText() ); if( !vars->sound2 ) return 1; vars->sound2->setVolume( 0xFFFF, 0xFFFF ); vars->sound2->playSound(); vars->gslSounds2->removeStyle( AuswahlListe::Style::Erlaubt ); vars->nachRechts->removeStyle( Knopf::Style::Erlaubt ); vars->wavRechts->removeStyle( Knopf::Style::Erlaubt ); vars->löschen2->removeStyle( Knopf::Style::Erlaubt ); vars->play2->removeStyle( Knopf::Style::Erlaubt ); vars->gslLaden2->removeStyle( Knopf::Style::Erlaubt ); vars->stop2->addStyle( Knopf::Style::Erlaubt ); } return 1; } bool Stop1ME( void *p, void *obj, MausEreignis me ) { if( me.id == ME_RLinks ) { Variablen *vars = (Variablen*)p; if( vars->sound1 ) { vars->sound1->stopSound(); vars->sound1 = vars->sound1->release(); } vars->gslLaden1->addStyle( Knopf::Style::Erlaubt ); vars->gslSounds1->addStyle( AuswahlListe::Style::Erlaubt ); if( vars->gslSounds2->hatStyle( AuswahlListe::Style::Erlaubt ) && vars->gslSounds2->getAuswahl() >= 0 ) vars->nachLinks->addStyle( Knopf::Style::Erlaubt ); vars->löschen1->addStyle( Knopf::Style::Erlaubt ); vars->play1->addStyle( Knopf::Style::Erlaubt ); vars->wavLinks->addStyle( Knopf::Style::Erlaubt ); vars->stop1->removeStyle( Knopf::Style::Erlaubt ); } return 1; } bool Stop2ME( void *p, void *obj, MausEreignis me ) { if( me.id == ME_RLinks ) { Variablen *vars = (Variablen*)p; if( vars->sound2 ) { vars->sound2->stopSound(); vars->sound2 = vars->sound2->release(); } vars->gslLaden2->addStyle( Knopf::Style::Erlaubt ); vars->gslSounds2->addStyle( AuswahlListe::Style::Erlaubt ); if( vars->gslSounds1->hatStyle( AuswahlListe::Style::Erlaubt ) && vars->gslSounds1->getAuswahl() >= 0 ) vars->nachRechts->addStyle( Knopf::Style::Erlaubt ); vars->löschen2->addStyle( Knopf::Style::Erlaubt ); vars->play2->addStyle( Knopf::Style::Erlaubt ); vars->wavRechts->addStyle( Knopf::Style::Erlaubt ); vars->stop2->removeStyle( Knopf::Style::Erlaubt ); } return 1; } void beenden( void *p, void *f ) { StopNachrichtenSchleife( ( (WFenster*)f )->getFensterHandle() ); } int KSGStart Framework::Start( Startparam p ) { Variablen vars; vars.sound1 = 0; vars.sound2 = 0; // Fenster erstellen WNDCLASS wc = F_Normal( p.hinst ); wc.lpszClassName = "GSL Konverter"; WFenster *f = new WFenster(); f->erstellen( WS_OVERLAPPEDWINDOW, wc ); f->setSize( 700, 290 ); f->setPosition( Bildschirmmitte( f->getThis() ) ); f->setVSchließAktion( beenden ); f->setMausAktion( _ret1ME ); f->setTastaturAktion( _ret1TE ); f->setVerschiebbar( 1 ); f->setAnzeigeModus( 1 ); Bildschirm *b = new Bildschirm3D( f->getThis() ); f->setBildschirm( b->getThis() ); b->update(); RenderTh *render = new RenderTh(); render->setBildschirm( b->getThis() ); render->beginn(); // GSL.dll laden #ifdef _WIN64 HMODULE gslDLL = LoadLibrary( "../data/GSLx64.dll" ); #else HMODULE gslDLL = LoadLibrary( "../data/GSLx32.dll" ); #endif if( !gslDLL ) { render->beenden(); render->release(); f->setBildschirm( 0 ); b->release(); f->release(); return 0; } GetGSLDatei getGSLDatei = (GetGSLDatei)GetProcAddress( gslDLL, "getGSLDatei" ); if( !getGSLDatei ) { render->beenden(); render->release(); f->setBildschirm( 0 ); b->release(); f->release(); return 0; } vars.gslDatei1 = getGSLDatei(); vars.gslDatei2 = getGSLDatei(); // Schrift laden LTDSDatei *sLib = new LTDSDatei(); sLib->setPfad( new Text( "../data/normal.ltds" ) ); sLib->leseDaten(); vars.nSchrift = sLib->ladeSchrift(); sLib->release(); vars.gslPfad1 = initTextFeld( 10, 10, 200, 20, vars.nSchrift, TextFeld::Style::TextFeld | TextFeld::Style::VCenter, "GSL Dateipfad eingeben" ); b->addMember( vars.gslPfad1 ); Sleep( 30 ); vars.gslPfad2 = initTextFeld( 490, 10, 200, 20, vars.nSchrift, TextFeld::Style::TextFeld | TextFeld::Style::VCenter, "GSL Dateipfad eingeben" ); b->addMember( vars.gslPfad2 ); Sleep( 30 ); vars.gslLaden1 = initKnopf( 220, 10, 100, 20, vars.nSchrift, Knopf::Style::Sichtbar, "GSL Laden" ); vars.gslLaden1->setMausEreignis( GSLLaden1ME ); vars.gslLaden1->setMausEreignisParameter( &vars ); b->addMember( vars.gslLaden1 ); Sleep( 30 ); vars.gslLaden2 = initKnopf( 380, 10, 100, 20, vars.nSchrift, Knopf::Style::Sichtbar, "GSL Laden" ); vars.gslLaden2->setMausEreignis( GSLLaden2ME ); vars.gslLaden2->setMausEreignisParameter( &vars ); b->addMember( vars.gslLaden2 ); Sleep( 30 ); vars.gslSounds1 = new AuswahlListe(); vars.gslSounds1->setStyle( AuswahlListe::Style::Sichtbar | AuswahlListe::Style::Rahmen | AuswahlListe::Style::AuswahlBuffer | AuswahlListe::Style::AuswahlRahmen | AuswahlListe::Style::VScroll ); vars.gslSounds1->setPosition( 10, 40 ); vars.gslSounds1->setSize( 200, 240 ); vars.gslSounds1->setAAFZ( new AlphaFeld() ); vars.gslSounds1->zABuffer()->setFarbe( 0x7500FF00 ); vars.gslSounds1->zABuffer()->setStrength( 8 ); vars.gslSounds1->setLinienRahmenZ( new LRahmen() ); vars.gslSounds1->setLinienRahmenFarbe( 0xFFFFFFFF ); vars.gslSounds1->setLinienRahmenBreite( 2 ); vars.gslSounds1->setALRZ( new LRahmen() ); vars.gslSounds1->zARahmen()->setFarbe( 0xFF00FF00 ); vars.gslSounds1->setVertikalKlickScroll( 5 ); vars.gslSounds1->setMausEreignis( GSLSounds1ME ); vars.gslSounds1->setMausEreignisParameter( &vars ); vars.gslSounds1->update(); b->addMember( vars.gslSounds1 ); Sleep( 30 ); vars.gslSounds2 = new AuswahlListe(); vars.gslSounds2->setStyle( AuswahlListe::Style::Sichtbar | AuswahlListe::Style::Rahmen | AuswahlListe::Style::AuswahlBuffer | AuswahlListe::Style::AuswahlRahmen | AuswahlListe::Style::VScroll ); vars.gslSounds2->setPosition( 490, 40 ); vars.gslSounds2->setSize( 200, 240 ); vars.gslSounds2->setAAFZ( new AlphaFeld() ); vars.gslSounds2->zABuffer()->setFarbe( 0x7500FF00 ); vars.gslSounds2->zABuffer()->setStrength( 8 ); vars.gslSounds2->setLinienRahmenFarbe( 0xFFFFFFFF ); vars.gslSounds2->setLinienRahmenBreite( 2 ); vars.gslSounds2->setALRZ( new LRahmen() ); vars.gslSounds2->zARahmen()->setFarbe( 0xFF00FF00 ); vars.gslSounds2->setVertikalKlickScroll( 5 ); vars.gslSounds2->setMausEreignis( GSLSounds2ME ); vars.gslSounds2->setMausEreignisParameter( &vars ); vars.gslSounds2->update(); b->addMember( vars.gslSounds2 ); Sleep( 30 ); vars.nachLinks = initKnopf( 300, 50, 100, 20, vars.nSchrift, Knopf::Style::Sichtbar, "<<-----" ); vars.nachLinks->removeStyle( Knopf::Style::Erlaubt ); vars.nachLinks->setMausEreignis( NachLinksME ); vars.nachLinks->setMausEreignisParameter( &vars ); b->addMember( vars.nachLinks ); Sleep( 30 ); vars.nachRechts = initKnopf( 300, 80, 100, 20, vars.nSchrift, Knopf::Style::Sichtbar, "----->>" ); vars.nachRechts->removeStyle( Knopf::Style::Erlaubt ); vars.nachRechts->setMausEreignis( NachRechtsME ); vars.nachRechts->setMausEreignisParameter( &vars ); b->addMember( vars.nachRechts ); Sleep( 30 ); vars.wavPfad = initTextFeld( 225, 120, 250, 20, vars.nSchrift, TextFeld::Style::TextFeld | TextFeld::Style::VCenter, "WAV Import Pfad" ); vars.wavPfad->removeStyle( TextFeld::Style::Erlaubt ); b->addMember( vars.wavPfad ); Sleep( 30 ); vars.wavLinks = initKnopf( 220, 150, 100, 20, vars.nSchrift, Knopf::Style::Sichtbar, "<--" ); vars.wavLinks->removeStyle( Knopf::Style::Erlaubt ); vars.wavLinks->setMausEreignis( WavLinksME ); vars.wavLinks->setMausEreignisParameter( &vars ); b->addMember( vars.wavLinks ); Sleep( 30 ); vars.wavRechts = initKnopf( 380, 150, 100, 20, vars.nSchrift, Knopf::Style::Sichtbar, "-->" ); vars.wavRechts->removeStyle( Knopf::Style::Erlaubt ); vars.wavRechts->setMausEreignis( WavRechtsME ); vars.wavRechts->setMausEreignisParameter( &vars ); b->addMember( vars.wavRechts ); Sleep( 30 ); vars.löschen1 = initKnopf( 220, 190, 100, 20, vars.nSchrift, Knopf::Style::Sichtbar, "Löschen" ); vars.löschen1->removeStyle( Knopf::Style::Erlaubt ); vars.löschen1->setMausEreignis( Löschen1ME ); vars.löschen1->setMausEreignisParameter( &vars ); b->addMember( vars.löschen1 ); Sleep( 30 ); vars.löschen2 = initKnopf( 380, 190, 100, 20, vars.nSchrift, Knopf::Style::Sichtbar, "Löschen" ); vars.löschen2->removeStyle( Knopf::Style::Erlaubt ); vars.löschen2->setMausEreignis( Löschen2ME ); vars.löschen2->setMausEreignisParameter( &vars ); b->addMember( vars.löschen2 ); Sleep( 30 ); vars.play1 = initKnopf( 220, 230, 100, 20, vars.nSchrift, Knopf::Style::Sichtbar, "Play" ); vars.play1->removeStyle( Knopf::Style::Erlaubt ); vars.play1->setMausEreignis( Play1ME ); vars.play1->setMausEreignisParameter( &vars ); b->addMember( vars.play1 ); Sleep( 30 ); vars.stop1 = initKnopf( 220, 260, 100, 20, vars.nSchrift, Knopf::Style::Sichtbar, "Stop" ); vars.stop1->removeStyle( Knopf::Style::Erlaubt ); vars.stop1->setMausEreignis( Stop1ME ); vars.stop1->setMausEreignisParameter( &vars ); b->addMember( vars.stop1 ); Sleep( 30 ); vars.play2 = initKnopf( 380, 230, 100, 20, vars.nSchrift, Knopf::Style::Sichtbar, "Play" ); vars.play2->removeStyle( Knopf::Style::Erlaubt ); vars.play2->setMausEreignis( Play2ME ); vars.play2->setMausEreignisParameter( &vars ); b->addMember( vars.play2 ); Sleep( 30 ); vars.stop2 = initKnopf( 380, 260, 100, 20, vars.nSchrift, Knopf::Style::Sichtbar, "Stop" ); vars.stop2->removeStyle( Knopf::Style::Erlaubt ); vars.stop2->setMausEreignis( Stop2ME ); vars.stop2->setMausEreignisParameter( &vars ); b->addMember( vars.stop2 ); Sleep( 30 ); StartNachrichtenSchleife(); render->beenden(); render->release(); vars.gslPfad1->release(); vars.gslLaden1->release(); vars.gslSounds1->release(); vars.löschen1->release(); vars.play1->release(); vars.stop1->release(); if( vars.sound1 ) { vars.sound1->stopSound(); vars.sound1->release(); } vars.gslPfad2->release(); vars.gslLaden2->release(); vars.gslSounds2->release(); vars.löschen2->release(); vars.play2->release(); vars.stop2->release(); if( vars.sound2 ) { vars.sound2->stopSound(); vars.sound2->release(); } vars.nachLinks->release(); vars.nachRechts->release(); vars.wavPfad->release(); vars.wavLinks->release(); vars.wavRechts->release(); vars.gslDatei1->release(); vars.gslDatei2->release(); FreeLibrary( gslDLL ); vars.nSchrift->release(); f->setBildschirm( 0 ); b->release(); f->release(); return 0; }