pfefferkatze | maandag 14 januari 2008 @ 23:21 | |||
Haai, Mijn MP3 speler speelt mp3's af. Echt waar. Maar, als ik in Winamp ze eerst laad, dan de playlist opsla, en die in dezelfde map zte als het album, komen ze op mijn msn speler netjes gerangschikt bij Playlists staan. Ik heb echter geen zin om 40 keer een lijst mp3's in te laden en die op te slaan. Ik zoek dus een programma dat een m3u playlist maakt van een lijst mp3tjes die in een map staan. Zo simpel als het maar kan. Het liefst gewoon dat je een map aanklikt en dat ie dan elk mp3tje daarin een playlist van maakt, maar opzich mp3tjes los erin slepen kan ook wel. En het liefst freeware. En de M3U moet er zo uit komen te zien, anders werkt het natuurlijk niet:
Het programma dat ik al had gevonden maakte er zoiets van:
| ||||
Riparius | dinsdag 15 januari 2008 @ 00:17 | |||
quote:Niet helemaal wat je zoekt, maar ik heb zoiets gewoon zelf gemaakt. Dat gaat als volgt. Je maakt eerst (met Notepad/Kladblok) een batchfile make_m3u.bat met de volgende inhoud:
Dit batchfile plaats je in de map \Documents and Settings\<Username> Vervolgens maak je een snelkoppeling naar dit batchfile (bestandsnaam/icoontje aanklikken met rechter muisknop). Deze snelkoppeling (.lnk bestand) komt dan te staan in dezelfde map als waar het batchfile al staat. Wijzig vervolgens de naam van de snelkoppeling in Make Playlist (of: Maak Playlist), en verplaats deze snelkoppeling via Cut & Paste naar de onderliggende map: \Documents and Settings\,<Username>\SendTo (Het kan zijn dat de SendTo map onzichtbaar is dan moet je die eerst in de verkenner zichtbaar maken via Tools --> Folder Options --> View --> Show hidden files and folders). Dit is alles. Als je nu een playlist wil maken voor een groep MP3 bestanden in een map, dan hoef je alleen maar met de rechter muisknop op die map te klikken en dan uit het popup menu de optie Send To --> Make Playlist te kiezen. | ||||
Thomass | dinsdag 15 januari 2008 @ 00:34 | |||
Dat kan simpeler
edit; laat maar zoals gewoonlijk weer té snel gelezen, bovenstaande post is voor ts een handigere oplossing | ||||
pfefferkatze | dinsdag 15 januari 2008 @ 22:47 | |||
Bedankt :) Heb die van jullie 2 gecombineerd tot deze:
Dat van dat Send To was niet per se nodig :@ En kon het ook niet vinden onder Vista :P Wat doet dat /a:-d en /b en /s? Toen ik die /b weghaalde kwam er allerlei systeeminfo bij in ieder geval. Met /a:-d /b dan krijg ik juiste, werkende m3u's. Thanks! | ||||
Riparius | dinsdag 15 januari 2008 @ 23:07 | |||
quote:Geen ervaring hier met Vista, maar dat SendTo mapje is nou juist zo handig. Ik heb daar allerlei shortcuts instaan zodat ik via het contextmenu bijv. makkelijk bestanden kan openen in een andere applicatie dan die aan de betreffende extensie is gekoppeld. Simpel voorbeeld: .ISO bestand (bij mij gekoppeld aan UltraISO) direct openen in Nero, of een mediabestand direct openen in Mediaplayer Classic terwijl de betreffende bestandsextensie gekoppeld is aan de Windows Media Player. Of een geluidsbestand direct openen in een audio editor i.p.v. in een speler, teveel om op te noemen. quote:Dat zijn command line parameters voor het DIR commando. Als je in een command line venster de opdracht DIR /? geeft krijg je uitleg over de betekenis van al die parameters. Maar vertel eens: kun je nu gewoon met de rechtermuisknop op een mapje klikken en direct een M3U bestand aanmaken in het betreffende mapje zoals je wilde? Bij mij werkt dat zo, maar als je die optie niet in je contextmenu hebt wordt het toch een stuk minder handig ... Er bestaat wel degelijk een SendTo map in Vista, hier vind je uitgelegd hoe je daar shortcuts in kunt plaatsen. | ||||
pfefferkatze | woensdag 16 januari 2008 @ 13:25 | |||
quote:Ik heb gewoon dat .bat bestandje, op me mp3 speler gezet in de hoofdmap. Ik zet er een nieuwe map met muziek op, plak even dat batch bestandje in die nieuwe map, draai hem, en zet die batch weer terug ![]() Voor die ene keer per week dat ik iets verander op me mp3 speler is dit prima hoor. | ||||
Riparius | woensdag 16 januari 2008 @ 15:30 | |||
quote:Tja, dan doe je toch weer veel te veel werk want dan heb je dus al 40 keer dat batch bestand heen en weer moeten verplaatsen ... | ||||
pfefferkatze | maandag 28 januari 2008 @ 23:15 | |||
*kick* Ik heb nu deze: @echo off if exist %1\*.mp3 dir %1\*.mp3 /b /on > %1\Playlist.m3u Maar de playlist moet anders heten. Hij moet de naam van de map krijgen. Hoe moet dat? @echo off if exist %1\*.mp3 dir %1\*.mp3 /b /on > %1\dir.m3u ofzo werkt natuurlijk niet...iemand? | ||||
ThE_ED | maandag 28 januari 2008 @ 23:34 | |||
Hey, tof, ik had dat van dat SendTo nog niet ontdekt. ![]() | ||||
Riparius | donderdag 31 januari 2008 @ 00:05 | |||
quote:Dat is niet zomaar te realiseren in een batchfile, daarvoor zul je een beetje echt moeten programmeren. Het probleem is dat %1 het volledige pad naar de betreffende subdirectory bevat, dus je zou een routine moeten maken om de naam van de subdirectory hier uit te vissen. | ||||
Thomass | donderdag 31 januari 2008 @ 02:21 | |||
Ik heb even uit pure verveling wat in elkaar geflants (moet eigenlijk leren :') ) hier is het beest...
:D Het geeft ongeveer 10.000 foutmeldingen en als als je een diepere nesting hebt dan het aantal for/f dingen dan geeft ie ook een gaar result, sowieso is het hele ding gaar. Ik ben er maar mee gestopt uit pure frustratie :D, misschien kan iemand anders het afmaken... :P | ||||
Riparius | donderdag 31 januari 2008 @ 06:10 | |||
quote:Mmm... Dit biedt perspectieven. Ik heb mijn batchfile make_m3u.bat uit de bovenstaande post nu als volgt aangepast:
Samen met een snelkoppeling naar dit batchbestand in de SendTo map krijg ik nu keurig een playlist bestand met de naam van de map door met de rechtermuisknop op de betreffende map te klikken en uit het contextmenu Send To --> Make Playlist te kiezen. Natuurlijk werkt dit in deze vorm alleen goed tot 8 directory levels diep, maar dat is eenvoudig uit te breiden. Het batchfile is alleen niet zo elegant, maar misschien is daar ook nog een oplossing voor te vinden. Bedankt voor de hint! | ||||
Thomass | donderdag 31 januari 2008 @ 09:41 | |||
Mja ik was bezig het geheel weer in een andere for loop te plaatsen, en dan 100 nestings diep ofzo & met een conditional eruit springen. Alleen het is al een hele tijd geleden dat ik "echt" iets met batch heb gemaakt en ik weet nu ook weer waarom dat was ![]() Maar ik ben blij dat ik iemand er een (kleine) dienst mee bewezen ben | ||||
Jo0Lz | donderdag 31 januari 2008 @ 09:50 | |||
quote: ![]() ![]() Grappig typefoutje ![]() ik wist niet eens dat je het op die manier aan een playlist kan toevoegen, meestal maak ik een playlist met de medialplayer. (Winamp) | ||||
Riparius | donderdag 31 januari 2008 @ 16:33 | |||
quote:Werken met nested FOR loops in batchfiles gaat dacht ik niet tenzij je via CALL weer een ander batchfile of een stukje code in hetzelfde batchfile via een label aanroept, maar dat lijkt me sowieso niet zo'n goed idee hier. Voor mij was het ook weer een tijdje geleden dat ik lekker oldschool met batchfiles bezig ben geweest, maar ik weet nu weer waarom ik dat zo leuk vond :) . Ik heb nu een elegante oplossing gevonden. Mijn make_m3u.bat file ziet er nu als volgt uit:
Niet slecht toch? | ||||
Thomass | donderdag 31 januari 2008 @ 20:36 | |||
quote::D Het is alleen een gepiel van jewelste om zoiets goed te krijgen in een batch file ^^, overigens waarom doe je die dir opsomming niet gewoon in 1 regeltje:
| ||||
Riparius | donderdag 31 januari 2008 @ 20:55 | |||
quote:Vind ik wel meevallen. Je moet het gewoon als een uitdaging zien, iets voor elkaar krijgen waarvan je eerder dacht dat het niet zou kunnen (zonder andere hulpmiddelen dan alleen een batch file). Zie je nu ook hoe ik het heb gedaan? quote:Heel eenvoudig, ik wil hier een IF EXIST constructie gebruiken omdat die verhindert dat je bogus playlists (van 0 bytes) aanmaakt als je Send To --> Make Playlist uit het contextmenu gebruikt bij een map waar helemaal geen audiobestanden in staan. En met deze constructie kan ik niet meerdere extensies tegelijk gebruiken. Overigens moet je /ON bij DIR gebruiken omdat anders de tracks niet op de juiste volgorde in de playlist komen te staan. Een aantal MP3 (of APE of FLAC) bestanden die samen een album vormen hebben vrijwel altijd het tracknummer in de bestandsnaam, met een leading zero voor de tracknummers onder de 10, en dus kun je de tracks op de juiste volgorde krijgen door de bestanden op naam te sorteren. [ Bericht 0% gewijzigd door Riparius op 31-01-2008 21:05:10 ] | ||||
Thomass | donderdag 31 januari 2008 @ 21:41 | |||
Jawe hoor, maar ik zou een playlist maker voor mijn lol tegenwoordig niet meer in een batch file schrijven, ik flans gewoon wat in elkaar in c, net zo makkelijk | ||||
Riparius | donderdag 31 januari 2008 @ 22:01 | |||
quote:Ja, maar je was er toch zelf ook aan begonnen om het met een batchfile voor elkaar te krijgen? Heeft in ieder geval het voordeel dat iedereen die dit topic leest het ook meteen kan gebruiken. | ||||
Riparius | woensdag 6 februari 2008 @ 02:30 | |||
Nog even een aanvulling op dit topic. Ik heb de mogelijkheden van NT batch files (die veel uitgebreider zijn dan de mogelijkheden in DOS) nog eens bestudeerd en het blijkt helemaal niet nodig te zijn om de backslashes in het complete pad naar een subdirectory te parsen om de naam van de subdirectory te isoleren, omdat standaard al in deze mogelijkheid is voorzien, zie hier. Een probleem met bovenstaande batchfiles is nog dat bij bestandsnamen met non-ASCII tekens (bijvoorbeeld letters met accenten of umlauts) geen correct werkende playlist wordt gemaakt. Dit komt doordat in de console mode standaard nog gewerkt wordt met de aloude IBM extended ASCII tekenset (codepage 437), terwijl Windows uitgaat van de ANSI tekenset (codepage 1252). Dit probleem is echter eenvoudig te verhelpen door in het batchfile de juiste codepagina te selecteren. Mijn batchfile make_m3u.bat ziet er nu als volgt uit:
In combinatie met een snelkoppeling naar dit batchfile in de SendTo map is nu eenvoudig voor elke map via het contextmenu een M3U playlist te maken met de naam van de map. Sorteren van de bestandsnamen om deze in de playlist op de juiste volgorde te krijgen is niet nodig omdat deze kennelijk standaard al in alfabetische volgorde worden gezet. Om te voorkomen dat je een console mode venstertje voorbij ziet flitsen is het aan te raden om in de snelkoppeling bij Properties --> Shortcut --> Run te kiezen voor Minimized. Eventueel is hier ook een icoontje toe wijzen aan de snelkoppeling dat dan bij elke map in het contextmenu onder Send To is te zien. | ||||
mschol | donderdag 3 april 2008 @ 09:22 | |||
leuk scriptje echter vraag ik mij af of er niet een C++.net of VB.net applicatie voor bestaat? | ||||
Thomass | donderdag 3 april 2008 @ 11:58 | |||
quote:Het antwoord op uw vraag is bevestigend |