Is het mogelijk om met Weight & Balance 1 of 2 cat. te restten, ipv alle tracks ? Met een PAL-script misschien?
reset weight & balance
- NCR
- ***
- Berichten: 56
- Lid geworden op: 04 mei 2011, 11:39
- SAM-versie: 2023.1
- Database: MySQL
- Windows: 10
reset weight & balance
Hoi,
Is het mogelijk om met Weight & Balance 1 of 2 cat. te restten, ipv alle tracks ? Met een PAL-script misschien?
Is het mogelijk om met Weight & Balance 1 of 2 cat. te restten, ipv alle tracks ? Met een PAL-script misschien?
- Wout
- Beheerder
- Berichten: 3506
- Lid geworden op: 03 dec 2007, 14:17
- SAM-versie: 2019.3
- Database: MariaDB
- Windows: 11
- Locatie: West-Brabant
- Contacteer:
Re: reset weight & balance
Ja, dat is wel mogelijk met een PAL, maar ik denk dat een PHP-script wat makkelijker is.
Je kunt SQL gebruiken om de gemiddelde Weight als Balance per category te bekijken.
Dan is het selecteren per category en een keuze maken met welke 0...99 je ze vult. Met deze keuze maak je een update naar je SQL-database toe.
Als ik tijd heb zal ik een webpagina maken.
Je kunt SQL gebruiken om de gemiddelde Weight als Balance per category te bekijken.
Code: Selecteer alles
SELECT categoryID, NAME, ROUND(AVG(so.weight),2) Weight, ROUND(AVG(so.balance),2) Balance
FROM categorylist c
LEFT JOIN category ca ON c.categoryID = ca.ID
LEFT JOIN songlist so ON c.songID = so.ID
WHERE parentID = 0
GROUP BY name ORDER BY categoryID ;Als ik tijd heb zal ik een webpagina maken.
- Wout
- Beheerder
- Berichten: 3506
- Lid geworden op: 03 dec 2007, 14:17
- SAM-versie: 2019.3
- Database: MariaDB
- Windows: 11
- Locatie: West-Brabant
- Contacteer:
Re: reset weight & balance
In plaats van een webpagina kun je dit ook via een MySQL-editor doen. (bijvoorbeeld HeidySQL)
Ik heb het een en ander getest en dit werkt iets sneller.
Via HeidySQL bekijk je eerst welke map je wilt veranderen in weight/balance.
Dit doe je met de code en daarna krijg je een resultaat, als voorbeeld pakken we de map Dump_muziek (id = 51) gemiddelde weight (8,5)
Hieruit bepaal je de categoryID wat past bij de map die je wilt veranderen.
In dit voorbeeld gaan we aan de slag met de map Dump_muziek (id = 51)
In deze map (51) gaan we alle nummers een weight geven van 11. Dit wordt gedaan met de volgende SQL-code:
Als het goed is zijn alle nummers in deze categorie de weight veranderd naar 11.
Dit kunnen we controleren met de SQl-code
Dit is helemaal goed gegaan. Nu nog een controle op alle categorieën.
Mooi! Hiermee is de categorie aangepast aan een weight van 11.
Andere updates
Met de weight kun je een nummer opgeven van 0...99. Als voorbeeld een weight van 65 wordt dan in de categoryID van 51:
Met de balance kun je een nummer opgeven van 0...99999. Wil je de balance veranderen naar voorbeeld 85 in de categoryID van 51 dan wordt de code:
Om met SAM een Weight-playlist te maken maak je weer gebruik van (smWeighted of smPriority)
Ik heb het een en ander getest en dit werkt iets sneller.
Via HeidySQL bekijk je eerst welke map je wilt veranderen in weight/balance.
Dit doe je met de code en daarna krijg je een resultaat, als voorbeeld pakken we de map Dump_muziek (id = 51) gemiddelde weight (8,5)
Code: Selecteer alles
SELECT categoryID, NAME, ROUND(AVG(so.weight),2) Weight, ROUND(AVG(so.balance),2) Balance, ROUND(AVG(so.count_played),1) aantal_played, COUNT(so.ID) aantal
FROM categorylist c
LEFT JOIN category ca ON c.categoryID = ca.ID
LEFT JOIN songlist so ON c.songID = so.ID
WHERE parentID = 0
GROUP BY name ORDER BY categoryID ;In dit voorbeeld gaan we aan de slag met de map Dump_muziek (id = 51)
Code: Selecteer alles
SELECT so.ID, artist, title, filename, date_title_played, weight, balance
FROM categorylist c
LEFT JOIN category ca ON c.categoryID = ca.ID
LEFT JOIN songlist so ON c.songID = so.ID
WHERE categoryID = 51
AND so.ID IS NOT NULL;Code: Selecteer alles
UPDATE songlist
SET weight = 11
WHERE ID IN (
SELECT so.ID
FROM categorylist c
LEFT JOIN category ca ON c.categoryID = ca.ID
LEFT JOIN songlist so ON c.songID = so.ID
WHERE categoryID = 51
AND so.ID IS NOT NULL) ;Dit kunnen we controleren met de SQl-code
Code: Selecteer alles
SELECT so.ID, artist, title, filename, date_title_played, weight, balance
FROM categorylist c
LEFT JOIN category ca ON c.categoryID = ca.ID
LEFT JOIN songlist so ON c.songID = so.ID
WHERE categoryID = 51
AND so.ID IS NOT NULL;Code: Selecteer alles
SELECT categoryID, NAME, ROUND(AVG(so.weight),2) Weight, ROUND(AVG(so.balance),2) Balance, ROUND(AVG(so.count_played),1) aantal_played, COUNT(so.ID) aantal
FROM categorylist c
LEFT JOIN category ca ON c.categoryID = ca.ID
LEFT JOIN songlist so ON c.songID = so.ID
WHERE parentID = 0
GROUP BY name ORDER BY categoryID ;Andere updates
Met de weight kun je een nummer opgeven van 0...99. Als voorbeeld een weight van 65 wordt dan in de categoryID van 51:
Code: Selecteer alles
UPDATE songlist
SET weight = 65
WHERE ID IN (
SELECT so.ID
FROM categorylist c
LEFT JOIN category ca ON c.categoryID = ca.ID
LEFT JOIN songlist so ON c.songID = so.ID
WHERE categoryID = 51
AND so.ID IS NOT NULL) ;Code: Selecteer alles
UPDATE songlist
SET balance = 85
WHERE ID IN (
SELECT so.ID
FROM categorylist c
LEFT JOIN category ca ON c.categoryID = ca.ID
LEFT JOIN songlist so ON c.songID = so.ID
WHERE categoryID = 51
AND so.ID IS NOT NULL) ;Code: Selecteer alles
Cat['Music (All)'].QueueBottom(smWeighted , EnforceRules);
Cat['Music (All)'].QueueBottom(smPriority, EnforceRules);
Je hebt niet voldoende permissies om de bijlagen van dit bericht te bekijken.
- Wout
- Beheerder
- Berichten: 3506
- Lid geworden op: 03 dec 2007, 14:17
- SAM-versie: 2019.3
- Database: MariaDB
- Windows: 11
- Locatie: West-Brabant
- Contacteer:
Re: reset weight & balance
Een andere manier is via drag-and-drop in SAM.
Selecteer je muziek in SAM en verplaatst het in de map van "Weighted Rotation".
Hierbij wordt de versleepte muziek in de Weight gezet waarin je ze heb verplaatst.
Selecteer je muziek in SAM en verplaatst het in de map van "Weighted Rotation".
Hierbij wordt de versleepte muziek in de Weight gezet waarin je ze heb verplaatst.
Je hebt niet voldoende permissies om de bijlagen van dit bericht te bekijken.
- Wout
- Beheerder
- Berichten: 3506
- Lid geworden op: 03 dec 2007, 14:17
- SAM-versie: 2019.3
- Database: MariaDB
- Windows: 11
- Locatie: West-Brabant
- Contacteer:
Re: reset weight & balance
Verder heb ik gekeken wat de Reset Weight Balance onderhuids doet met SAM.
Dit kun je eventueel zelf doen door de logging aan te zetten.
Bij een Reset Weight Balance wordt de volgende SQL-querys uitgevoerd door SAM
En bij elke songwissel wordt in SAM de balance geupdate door balance=balance+(1/weight)
Informatie waar je niets aan heb, maar ik vond het heerlijk om het uit te zoeken. 
Het kan zijn dat ik bij WoutFM meer gebruik ga maken van Weight & balance om een unieke playlist te genereren.
Dit kun je eventueel zelf doen door de logging aan te zetten.
Code: Selecteer alles
SET GLOBAL general_log = 'ON';
SHOW VARIABLES LIKE "general_log%";
//niet vergeten ook uit te zetten, anders wordt je log-file erg groot
//resultaat vind je dan terug in "C:\Program Files\MariaDB 10.3\data"Code: Selecteer alles
UPDATE songlist SET weight = 01 WHERE weight < 01
UPDATE songlist SET weight = 99 WHERE weight > 99
UPDATE songlist SET balance = 1/weightCode: Selecteer alles
UPDATE songlist SET balance=balance+(1/weight), date_played='2023-11-24 19:39:08', count_played=count_played+1, count_performances = count_performances + 0 WHERE ID = 2Het kan zijn dat ik bij WoutFM meer gebruik ga maken van Weight & balance om een unieke playlist te genereren.
- NCR
- ***
- Berichten: 56
- Lid geworden op: 04 mei 2011, 11:39
- SAM-versie: 2023.1
- Database: MySQL
- Windows: 10
Re: reset weight & balance
Zoooooo pet af Wout toppie echt bedankt ! We gaan ermee aan de slag. Nogmaals bedankt.
- radioomega
- ******
- Berichten: 286
- Lid geworden op: 18 dec 2020, 22:20
- SAM-versie: 2025.3
- Database: MariaDB
- Windows: 11
- Locatie: dordrecht
- Contacteer:
Re: reset weight & balance
hoi
als de mp3 in power hits zet
en ik klik op Reset Weight Balance dan kom alle mp3 s op power hit op 100 % power hit
dat werk wel en ik merk ook dat nu de mp3 s draait wat die nog niet had gedraait
als de mp3 in power hits zet
en ik klik op Reset Weight Balance dan kom alle mp3 s op power hit op 100 % power hit
dat werk wel en ik merk ook dat nu de mp3 s draait wat die nog niet had gedraait
-
- Vergelijkbare Onderwerpen
- Reacties
- Weergaves
- Laatste bericht
-
- 4 Reacties
- 669 Weergaves
-
Laatste bericht door radioomega
-
- 2 Reacties
- 3474 Weergaves
-
Laatste bericht door Adrie
-
- 3 Reacties
- 2992 Weergaves
-
Laatste bericht door Wout

