Laatste nummer van uur exact passend vóór tijdsein

Voor vragen over Playlist Automation Language.
Gebruikersavatar
Wout
Beheerder
Berichten: 3501
Lid geworden op: 03 dec 2007, 14:17
SAM-versie: 2019.3
Database: MariaDB
Windows: 11
Locatie: West-Brabant
Contacteer:

Re: Laatste nummer van uur exact passend vóór tijdsein

Ongelezen bericht door Wout »

bat file zit in de SAMrepair.rar
Afbeelding
Paul538

Re: Laatste nummer van uur exact passend vóór tijdsein

Ongelezen bericht door Paul538 »

In SAMRepair.rar stond de goede verwijzing naar het pad. Dus heeft helaas geen soelaas geboden. Uiteindelijk MySQL verwijderd en handmatig de bestandjes waar de tekst 'mysql' in stond verwijderd (in de hoop dat dan ook een bestand met het wachtwoord zou worden verwijderd).

Opnieuw [mysql-essential-5.1.71-win32.msi] gedownload en geïnstalleerd, met de handleiding in de hand. Helaas wordt er toch nog naar het oude wachtwoord gevraagd, wat ik dus niet meer weet. Vermoedelijk zal dat dan nog ergens in de registry staan, maar waar.

Ik heb de boel lekker vernaggeld denk ik, ik ben lekker bezig :(

Groeten,
Paul
Paul538

Re: Laatste nummer van uur exact passend vóór tijdsein

Ongelezen bericht door Paul538 »

Na mijn uit nijd geboren onbezonnen actie op de 'nieuwe' pc opnieuw MySQL 5.1.71 geïnstalleerd en SAM v4.2.2 gedeeltelijk (vanwege de link naar MySQL). En ja, daar stond mijn wachtwoord (O ja!). Dit ww nu maar even genoteerd. Al doende leert men. Ik krijg in het script nog steeds de foutmelding: "Error: Data truncated for column 'songrights' at row 1".

Op de 'oude' pc (waarop de stream nu tijdelijk draait) staat SAM v4.2.2 en MySQL 4.1. Het script met opvulnummer en tijdmelding doet het hierop al dagen prima!!

Durf het bijna niet meer te vragen, maar zou die foutmelding met de combinatie SAM 4.2 en MySQL 5.1.71 te maken kunnen hebben? En zou ik ongestraft mysql-essential-4.1.22-win32.msi (die heb ik nog) erop kunnen zetten? (Hoewel Wout daarvan zei dat ik met 4.1 in de toekomst problemen zou kunnen krijgen...)

Groeten,
Paul
drOhimself

Re: Laatste nummer van uur exact passend vóór tijdsein

Ongelezen bericht door drOhimself »

Over die foutmelding vond ik het volgende :

"This was introduced in MySQL 5 and prevents you entering a space in a float field."

Dus zal het met een regel uit je PALscript te maken hebben, die er blijkbaar voor zorgt dat er een spatie in een floating veld ingevoerd wordt.
Mogelijk dat Wout hier nog iets meer mee kan......?

Terug gaan naar een oudere MySQL versie is natuurlijk wel mogelijk, maar of je daar dan ook geen andere problemen mee gaat krijgen, is de vraag ?
Momenteel werkt het dus wel goed op je test-pc....dus dan zou ik op de stream-pc ook 4.1.22 zetten.

Daarna kan je gaan kijken om op je test-pc 5.1.71 te zetten, en dan zoeken naar een oplossing voor je error melding.
Gebruikersavatar
Wout
Beheerder
Berichten: 3501
Lid geworden op: 03 dec 2007, 14:17
SAM-versie: 2019.3
Database: MariaDB
Windows: 11
Locatie: West-Brabant
Contacteer:

Re: Laatste nummer van uur exact passend vóór tijdsein

Ongelezen bericht door Wout »

Ja, maar die float heeft geen betrekking tot 'songright'.
de kolom 'songright' heeft als type 'set' i.p.v. float.
(float zijn getallen, string zijn letters & set zijn een 'array of values')

Maar als ik google op de foutstoring, komt wel de versie 4.2.2. van SAM voor.
Kan zijn dat het een bug is geweest in SAM.

Voor de nieuwe versie van MySQL heeft te maken met 'group by' versie 5 ondersteund dat beter als 4.
De meeste PAL & PHP die ik maak zit daar vaak in.
Afbeelding
Paul538

Re: Laatste nummer van uur exact passend vóór tijdsein

Ongelezen bericht door Paul538 »

Dank voor jullie commentaar en het zoeken.

Mijzelf kennende, denk ik niet dat het verstandig is om in de bestaande PAL's te gaan rommelen. Hooguit kan ik proberen de PAL uit dit topic nog een keer opnieuw op te bouwen vanaf het begin met jullie aanwijzingen en correcties.

Ik vraag me af of het vele knippen en plakken van Word naar PAL en andersom 'schade' zou kunnen toebrengen. Met name zag ik dat de 'inspring' (de spaties vóór een commando-regel) regelmatig veranderde. Heeft die 'inspring' trouwens nut, of zou ik de commando-regels ook helemaal strak naar links kunnen zetten, dus zonder spaties?

Mocht dit niet slagen, dan probeer ik MySQL 4.1 erop te zetten en kijken of het lukt. Heb er vertrouwen in.

Groeten,
Paul

P.S. Off-topic: Een prachtig programma om programma's en overblijvende resten en registervermeldingen te verwijderen is Revo Uninstaller. Veel plezier van gehad bij deleten van MySQL; vergeten wachtwoord stond nog gezellig in het register!
drOhimself

Re: Laatste nummer van uur exact passend vóór tijdsein

Ongelezen bericht door drOhimself »

Paul538 schreef: Ik vraag me af of het vele knippen en plakken van Word naar PAL en andersom 'schade' zou kunnen toebrengen. Met name zag ik dat de 'inspring' (de spaties vóór een commando-regel) regelmatig veranderde. Heeft die 'inspring' trouwens nut, of zou ik de commando-regels ook helemaal strak naar links kunnen zetten, dus zonder spaties?
!
Ik zou geen Word gebruiken, je zou daar inderdaad problemen mee kunnen krijgen.
Probeer een 'gewone' text-editor te gebruiken, zoals Notepad of freeware Notepad++.
Gebruikersavatar
Wout
Beheerder
Berichten: 3501
Lid geworden op: 03 dec 2007, 14:17
SAM-versie: 2019.3
Database: MariaDB
Windows: 11
Locatie: West-Brabant
Contacteer:

Re: Laatste nummer van uur exact passend vóór tijdsein

Ongelezen bericht door Wout »

Inderdaad, ik gebruik ook notepad++

Inspringen wordt gedaan om de code makkelijker te lezen.
  • begin
    • regelcode
    • regelcode
    • regelcode
  • einde
Alles wat nu verder staat (regelcode) heeft betrekking tot begin ... einde.

Je kan alles naar 1 kant brengen alleen wordt het niet duidelijk erop.

Maar we gaan te ver off-topic steeds!
Je [s]probleem[/s] uitdaging van de uitspeel-plaat moet centraal staan.

Voor andere vragen open je een nieuwe topic.
Afbeelding
Paul538

Re: Laatste nummer van uur exact passend vóór tijdsein

Ongelezen bericht door Paul538 »

Heren, het werkt weer! Ik ga nog geen gat in de lucht springen, want tot nu toe getest met het steeds verzetten van de computertijd, maar toch.

Ik ben begonnen met het script uit dit topic: viewtopic.php?f=81&t=4062&start=20#p32866 en opgebouwd met jullie aanwijzingen en stap voor stap getest met Run Line-by-Line. Zodra ik de eerste lijn (C:\tijd) er in zette, kwam de foutmelding (error truncated etc.) Als simpele ziel denkend, moest er dus iets zijn met die betreffende regel. Song-Info verwees ook naar de niet-juiste dir met de inmiddels bekende/beruchte ??:?? tijd. Paar uur zitten vogelen. Uiteindelijk eigenwijs de map [tijd] in de dir C:\Program Files\SpacialAudio\SAMBC gezet (en uiteraard in het script). Het blijft me een raadsel waarom hij [C:\tijd] niet herkende, maar de truncated error was weg! Blijkbaar dus toch geen bug in SAM. Als laatste stap de suggestie van Adrie erin gezet (onder [D.free ;] ) en het bleef goed gaan.

Toch bemerkte ik nog iets vreemds: Het uur vulde prima op, het tijdsein schalde en het 1e nummer na het tijdsein fade (spreek: feedde) na plm. 10 seconden uit en skipte naar het volgende nummer. Zou dat te maken kunnen hebben met het stukje script van Adrie?:

Code: Selecteer alles

          PAL.WaitForTime(T['xx:00:00']);
                var Song : TSongInfo;
                Song := ActivePlayer.GetSongInfo();
                if( Song[ 'songtype' ] = 'S' ) then
                begin
                ActivePlayer.FadeToNext;
                end;
Als dit stukje script klopt: Er staat een variabele in (var Song: TSonginfo;) Moet dit dan ook niet bovenin erbij gezet worden bij

Code: Selecteer alles

          // Wat variabele instellen
          var RestTijd : Integer ;
          var Now_minutes, tijd, uur : String ;
          var D : TDataSet ;
          var plus_uur : DateTime ;
??

In ieder geval, de meet is in zicht en hierbij het script wat nu loopt:

Code: Selecteer alles

    PAL.Loop := True ;

       // Begin het script op elk uur vanaf 5 voor het uur
       PAL.WaitForTime(T['XX:55:00']) ;

       // Speed some things up
       PAL.LockExecution ;

          // Wat variabele instellen
          var RestTijd : Integer ;
          var Now_minutes, tijd, uur : String ;
          var D : TDataSet ;
          var plus_uur : DateTime ;

          plus_uur := T['+01:00:00'] ;
          tijd := FormatDateTime('hh', plus_uur) ;

          // plaats hier de juiste directoy waar je nieuws & tijds-jingle staan
          uur := 'C:\Program Files\SpacialAudio\SAMBC\tijd\' + tijd + '.mp3' ;
          // nieuws := '\\HOMESERVER\Jingle\NEWS\nieuws.wav' ;

          // Alleen de minuten van het uur
          Now_minutes := FormatDateTime('n', Now) ;

          // De aantal minuten afhalen van 1 uur en waar rekening is gehouden met de spelende nummer in miliseconden
          RestTijd := ( ( (60 - Now_minutes ) * 60000) ) - ( Activeplayer.Duration - ActivePlayer.CurTime ) ;

          // Hier zoek ie de nummer met de juiste lengte + een beetje meer
            D := QUERY('SELECT ' +
                     'filename, duration '+
                   'FROM '+
                     'songlist, categorylist '+
                   'WHERE '+
                     'songlist.ID = categorylist.songID '+
                   'AND '+
                     'categoryID > 0 '+
                   'AND '+
                     'date_played <= DATE_SUB(NOW(), INTERVAL :track MINUTE) '+
                   'AND '+
                     'date_artist_played <= DATE_SUB(NOW(), INTERVAL :artiest MINUTE) '+
                   'AND '+
                     'date_album_played <= DATE_SUB(NOW(), INTERVAL :album MINUTE) '+
                   'AND '+
                     'date_title_played <= DATE_SUB(NOW(), INTERVAL :titel MINUTE) '+
                   'AND '+
                      'duration '+
                   'BETWEEN '+
                      ':RestTijd '+
                   'AND '+
                      ':RestTijd + 9000 ' +      // Hier wat speling op de lengte van het gezochte nummer met 9 seconden
                   'ORDER BY RAND() ' +         // Hij pakt een willekeurige nummer die voldoet aan de eisen
                   'LIMIT 1', [PlaylistRules.MinTrackTime, PlaylistRules.MinArtistTime, PlaylistRules.MinAlbumTime, PlaylistRules.MinTitleTime, RestTijd], True ) ;

          D.First ;

                if not D.EOF then
                begin
                    Queue.Addfile(uur, ipTop) ;
                    Queue.Addfile(+D['filename'], IpTop) ;
                    D.next ;
                end
                else
                begin
                    WriteLn('Geen Resultaat') ;
                    Queue.Addfile(uur, ipTop) ;
                end ;
                D.free ;

          PAL.WaitForTime(T['xx:00:00']);
                var Song : TSongInfo;
                Song := ActivePlayer.GetSongInfo();
                if( Song[ 'songtype' ] = 'S' ) then
                begin
                ActivePlayer.FadeToNext;
                end;

       // Slow some things down
       PAL.UnLockExecution ;
Alleen nog even de crossfade uit de tijdmeldingen halen (want dat klinkt niet netjes) en hopelijk blijft dan verder alles draaien zoals het nu draait.

Om het resultaat te beluisteren is de URL van de stream: http://94.100.18.171:8008 (kopiëren/plakken in je player). Op smartphone/tablet etc. kan je ook zoeken op "Oldies but Goodies" in apps als b.v. TuneIn Radio.

Groeten,
Paul

P.S. Notepad werkt inderdaad beter dan Word. Voor mijzelf on-topic omdat ik me echt al maanden afvroeg wat de reden was van die inspringingen... Nu duidelijk!
drOhimself

Re: Laatste nummer van uur exact passend vóór tijdsein

Ongelezen bericht door drOhimself »

Kijk, en hier doen we het allemaal voor !
SUPER PAUL !
En zo te horen klinkt het ook nog perfect.
Ik was net te laat voor het 13:00 tijdsein, maar zal dat om 14:00 nog wel even goed maken....!
drOhimself

Re: Laatste nummer van uur exact passend vóór tijdsein

Ongelezen bericht door drOhimself »

14:00
Gefeliciteerd !
Paul538

Re: Laatste nummer van uur exact passend vóór tijdsein

Ongelezen bericht door Paul538 »

Dank! Maar zonder jullie niet aflatende hulp was het niet gelukt. Voor de zekerheid heb ik het stukje van Adrie (onder D.Free) er nog even niet bij gezet i.v.m. die vreemde fade-out van het eerste nummer van het uur na 10 sec.

Gr. Paul
drOhimself

Re: Laatste nummer van uur exact passend vóór tijdsein

Ongelezen bericht door drOhimself »

Idd, kijk het even aan, of dat noodzakelijk is of niet.
Je zou het echter er wel bij kunnen zetten, maar dan alleen met een hele kleine aanpassing :

Origineel van Adrie:

Code: Selecteer alles

              PAL.WaitForTime(T['xx:00:00']);
                    var Song : TSongInfo;
                    Song := ActivePlayer.GetSongInfo();
                    if( Song[ 'songtype' ] = 'S' ) then
                    begin
                    ActivePlayer.FadeToNext;
                    end;
Aangepaste versie :

Code: Selecteer alles

              PAL.WaitForTime(T['xx:59:55']);
                    var Song : TSongInfo;
                    Song := ActivePlayer.GetSongInfo();
                    if( Song[ 'songtype' ] = 'S' ) then
                    begin
                    ActivePlayer.FadeToNext;
                    end;
5 seconden eerder, dus het spelende nummer zal 5 seconden voor het hele uur (xx:59:55) worden uitgefade.
Echter loop je natuurlijk wel een risico als je tijdsein mp3 al in je queue staat.
Het kan zomaar zijn dat het automatisch gekozen 'opvul'-nummer, net een paar seconden te kort is.
Hierdoor zal je tijdsein mp3 net een paar seconden eerder afgespeeld worden en door dit PAL-gedeelte ook weer worden afgekapt om xx:59:55.
Paul538

Re: Laatste nummer van uur exact passend vóór tijdsein

Ongelezen bericht door Paul538 »

Aaargghh... Het tijdsein afbreken lijkt me niet aangenaam. In technische zin is me dat heiliger dan de Paus :) Het idee alleen al. Maar: wel weer een uitdaging om binnenkort uit te proberen wat het doet.

Groeten,
Paul
drOhimself

Re: Laatste nummer van uur exact passend vóór tijdsein

Ongelezen bericht door drOhimself »

Nee, ik zou dat gedeelte van Adrie er niet bij zetten dan.
Overigens hoorde ik gister tijdens een tijdsein, dat het volgende nummer al begon, voordat het tijdsein eigenlijk helemaal klaar was.
Ik denk dat je daarvoor ook nog iets in je cross-fade setting kunt aanpassen.
Paul538

Re: Laatste nummer van uur exact passend vóór tijdsein

Ongelezen bericht door Paul538 »

Vermoedelijk heeft de aanvulling van Adrie in mijn geval geen toegevoegde waarde, dus laat ik er nog maar even uit zolang het goed loopt. Maar Adrie toch bedankt voor het meedenken.

De crossfade in het tijdsein heb ik voor alle tijdseinen er nu uitgehaald; dat schijnt nu goed te lopen.

Ik ben een eigenwijze drol. Om het tijdsein toch min of meer 'real-time' te laten klinken i.v.m. de streamvertraging, dacht ik slim te zijn en PAL.WaitForTime(T['XX:55:00']) ; te wijzigen in PAL.WaitForTime(T['XX:54:40']) ; (omdat het tijdsein bij mij zo'n 20 sec. later klinkt). Maar het script laat zich wrsch niet beetnemen en komt gewoon rond xx:00:00 of zelfs driekwart minuut later! (moment van uitzenden). Het uur zou dan toch moeten lopen van xx:54:40 tot xx:54: 40 ? 60 minuten is 60 minuten. Als ik daarbij RestTijd := ( ( (60 - Now_minutes ) * 60000) ) verander in RestTijd := ( ( (59:40 - Now_minutes ) * 60000) ) dan pakt het script deze regel niet.

Groeten,
Paul
drOhimself

Re: Laatste nummer van uur exact passend vóór tijdsein

Ongelezen bericht door drOhimself »

Hahahahaha !
Lekker eigenwijs doen, he ?
Nee, die xx:55:00 kan je rustig laten staan.

Het enige wat je hiervoor kunt doen is je systeemtijd (op je stream-pc) 20 seconden 'voor' laten lopen.
Dus dan gaat daar om xx:00:00 je tijdsein, maar dan is het in real-time pas xx:59:40 !
Succes !

(Vannacht op 0:00 nog even geluisterd, ging toen perfect, ook met de cross-fade.)
Paul538

Re: Laatste nummer van uur exact passend vóór tijdsein

Ongelezen bericht door Paul538 »

Eigenwijs is al erg genoeg, maar een enorme denkfout heeft zich ook nog meester van me gemaakt. Tijd moet uiteraard vooruit i.p.v. achteruit. Ik had al wel aan die computertijd gedacht, maar een scriptje vond ik grappiger. Ga het subiet doen.

Groeten,
Paul

P.S. Hebben jij en Wout een URL van jullie stream?
drOhimself

Re: Laatste nummer van uur exact passend vóór tijdsein

Ongelezen bericht door drOhimself »

Ik heb geen stream momenteel.
Door allerlei pc-omstandigheden kom ik er momenteel niet aan toe e.e.a. weer open te zetten.
Te druk met werk ook, zodat ik geen muziek op de achtergrond aan kan hebben.
En allerlei andere projectjes draaien ook nog die dan weer even voorrang krijgen.

Wout had iets aan zijn pc, waardoor ie alleen tijdelijk via een smartphone werkte.
Weet niet of die status al gewijzigd is....
drOhimself

Re: Laatste nummer van uur exact passend vóór tijdsein

Ongelezen bericht door drOhimself »

Wat een wereld overgang weer, om 23:00, Paul !
Petje af....!
Plaats reactie
  • Vergelijkbare Onderwerpen
    Reacties
    Weergaves
    Laatste bericht