![]() |
#402 |
Major Dude
Join Date: Jan 2004
Location: Brisbane, Australia
Posts: 1,193
|
Ive now corrected the ML meta data issue in the CVS version. I will probably make a new release soon, as the version in the winamp db is broken in several ways.
|
![]() |
![]() |
![]() |
#404 |
Member
Join Date: May 2006
Posts: 52
|
is there any chance you could allow write access to the filename? i remember you discussing it earlier on in this thread.. i got this vb prog i wrote awhile back to let me archive my newer albums while still keeping ratings/playcount and all that.... but for that to work i relied on a plugin that exported the ML into an xml file.. which doesnt work anymore with the latest winamp
since i was pretty familiar with activewinamp i decided to try updating the ML with it... everything is coded.. but since it doesnt allow me to change the filename... it obviously doesnt work... so is there any way you could put in a feature to change the filename of a mediaitem... or if its not complicated i could just modify the source myself... i just really couldnt find where thanks for any help in advance |
![]() |
![]() |
![]() |
#405 |
Major Dude
Join Date: Jan 2004
Location: Brisbane, Australia
Posts: 1,193
|
I'm not sure if thats such a good idea, but I will take a look. I think there may have been issues with doing this but I can't really recall.
However, you can just do something like: set miold = LoadItem("c:\oldfile.mp3") set minew = LoadItem("c:\newfile.mp3) 'minew.clonefrom(miold) minew.rating = miold.rating minew.title = miold.title 'etc Unfortuantly I don't think you can actually 'add' the new file, but if it already exists in your ml db then it should be ok. Yes I agree something needs to be done here, but Im just not sure the best way to go about it. |
![]() |
![]() |
![]() |
#406 |
Member
Join Date: May 2006
Posts: 52
|
yea i know there would be a bunch of potential problems with it.. if not used properly
but yea if there was a way to actually add new mediaitems.. that would also work the algorithm im trying to use is simply move the folder to new destination and then "edit" the ML and replace the old location with the new location if i was able to add a new mediaitem to the ML... i'd probably could do something like set whatever = LoadItem("c:\file.mp3") whatever.filename = newfilename AddItem(whatever) then i would run delete missing files in the ML manually to clear the old stuff ur idea would work fine if the files were actually in the ML already.. but as you know when u move a folder... the new location isnt present in the ML :/ |
![]() |
![]() |
![]() |
#407 |
Major Dude
Join Date: Jan 2004
Location: Brisbane, Australia
Posts: 1,193
|
Yes but you can scan for new files from the ML, just dont run the remove missing files option. This will add all your new files, effectively having dupes. Then you run your update meta data script, then you run the remove missing files function.
|
![]() |
![]() |
![]() |
#408 |
Member
Join Date: May 2006
Posts: 52
|
i guess that could work.. i'd have to store all the destination info for the folders i moved.. plus all the properties of each song... then rescan.... search for the destinations and update all the info
but..i'd have to rescan my whole archive(currently i only rescan my new/incoming folder)...and one problem i noticed was when i rescan the library.. any of the custom genres that i put into the ML (ie instead of Metal i'll use Metalcore for some stuff).. but on rescan all of it goes back to metal... is there any way around that? since metalcore isnt a genre allowed to be stored in an mp3 i cant really write it to the file |
![]() |
![]() |
![]() |
#409 |
Junior Member
Join Date: Jun 2006
Posts: 19
|
Hello all. Let me start off by saying I have spent the last 2 days looking through this entire thread and am quite impressed with what’s going on here. It seems this is the answer to my prayers. Unfortunately I know nothing about writing scripts so your help is VERY much appreciated on this. I believe the Party Shuffle script from NeFast/Osmosis will do most of what I want, it just needs some additions for what I need it to do.
Here’s my situation: I have Music videos in MPEG2 format not mp3s. (I think changing the Type=1 will fix that) I also have various movie clips in the same format. I need to show a few videos (some random number between 3 and 8) then show a movie clip then some more videos (Some random number between 3 and 8) then a movie clip etc. Now here’s where it gets interesting. When the system goes to show a movie clip I need the computer to send some commands to a video switcher. When the movie clip is done I need to send commands to the video switcher again. The commands for the video switcher are already scripted and titled “OnetoAll” and “OnetoOne”. When its all done the sequence of events is music videos (3 to 8 of them), send OnetoAll script to switcher, then a single randomly chosen movie clip played, then send OnetoOne to switcher, then 3 to 8 music videos, OnetoAll, MovieClip, OnetoOne, 3-8 videos etc. The switcher scripts need to be sent every time a movie clip is played and allows the clip to be seen on all the LCDs throughout the bar then when the clip is over the LCDs go back to what they were showing before the clip. Videos/clips should only be allowed to play once every 12 hours. Heres another feature (problem) needing a solution: The music videos are divided into 3 groups and stored in 3 separate folders on the D: drive. Those in group1 are shown up till 10PM those in group2 are shown 10pm to midnight and those in group3 are shown midnight to close. Is there a way to randomly pick videos from each folder group based on what time it is? Based on what I have read I don’t think you can chose from a folder perspective but rather only from the MediaList. If this is the case I imagine I can somehow tag each video with a group1, 2 or 3 designation and select them that way. Some guidance to aid my understanding please. I am running v5.21 of Winamp and am trying to download the latest CVS version of AW but cant seem to get to the website. I have a WindowsXP sp2 machine. Thanks again in advance for help with this and sorry about the length I just wanted to be thorough. |
![]() |
![]() |
![]() |
#410 |
Member
Join Date: May 2006
Posts: 52
|
having it pick songs from a certain folder depending on the time sounds pretty feasable.. if you had everything loaded in the playlist.. when the party shuffle goes to pick a video/song or whatever.. u can check the filename property and see what folder it is in.. if its not in the folder u want to be playing from... skip to another video/song
|
![]() |
![]() |
![]() |
#411 |
Junior Member
Join Date: Jun 2006
Posts: 19
|
I can see a loop with conditions to check that. Since the party shuffle script keeps videos queued in the playlist that would give time for the loop to run through several times even if it kept choosing the wrong videos. We are only talking about 700 music videos and about 100 movie clips. Even the shortest video is over 3 minutes so that gives several thousand opportunities to find and load a valid and correct video. Also, in getting 3-8 videos I imagine generating a random number between 3 and 8 then using that number to determine how many videos to load. After that, run through the movie clip process of sending the switcher script, queueing a movie clip, sending the next switcher script then go back to the top again. If the videos are stopped then quit. I can envision the logic and flow but do not know what to type for the script. This is where I need the expertise of the forum members.
|
![]() |
![]() |
![]() |
#412 |
Junior Member
Join Date: Jun 2006
Posts: 19
|
Is anyone else having trouble getting the latest CVS version? I am using this :
http://cvs.sourceforge.net/viewcvs.p...n_activewa.dll Which is the link from: http://www.myplugins.info/activewinamp/doku.php Or do I just have a problem on my end? Thanks |
![]() |
![]() |
![]() |
#413 |
Major Dude
Join Date: Jan 2006
Location: Cananada
Posts: 841
|
they changed the architecture slightly i think
http://activewinamp.cvs.sourceforge....n_activewa.dll should work, and if it ever breaks again http://sourceforge.net/cvs/?group_id=132165 click Browse CVS Repository and navigate around, you'll find it. p.s. i just fixed the link on the dokuwiki also you should update to the newest winamp since the CVS version, while improving some things overall, is generally an update to fix some things that got broken in newer versions of winamp. Request: A little SmartView Query Language love. Last edited by osmosis; 23rd June 2006 at 21:33. |
![]() |
![]() |
![]() |
#414 |
Junior Member
Join Date: Jun 2006
Posts: 19
|
Thanks Osmosis got it now. Is there any way I can tempt you into helping me with your Party Shuffle script?
|
![]() |
![]() |
![]() |
#415 |
Major Dude
Join Date: Jan 2006
Location: Cananada
Posts: 841
|
i don't really know what i'm doing with it to tell you the truth. i just threw it together out of some examples from the wiki and neFAST's old version. you've probably got as good of a chance of getting it to work as i do using gonemad's suggestion. i'll be glad to help out, but i honestly just don't know where to start with things like this.
Request: A little SmartView Query Language love. |
![]() |
![]() |
![]() |
#416 |
Junior Member
Join Date: Jun 2006
Posts: 19
|
Fair enough I will see what I can put together over the weekend and see what problems it presents. Should be fun.
|
![]() |
![]() |
![]() |
#417 |
Member
|
Thanks for updating Toaster, it works like a charm now. Unfortunately updating to the latest cvs compile of gen_activewa.dll hasn't enabled scripting support in WA 5.22 yet; should I try compiling myself? (The "scripts>" is still in the context menu, but none of the scripts show up in it.) Or have some paths changed?
Mmm, I don't know if it's important, but I changed over to a per-user config file when I upgraded last. Also, since $fill() is not working at all now, should the wiki entry for that be replaced with $repeat()? |
![]() |
![]() |
![]() |
#418 |
Major Dude
Join Date: Jan 2004
Location: Brisbane, Australia
Posts: 1,193
|
Haven't tried per user config, but the way ActiveWinamp finds the scripts directory is from where winamp.ini is stored, plus plugins/scripts.. so per user config probably puts this in another place. The .dll works fine with winamp5.22+ for me.
|
![]() |
![]() |
![]() |
#419 |
Member
|
Ah, finding the new config folder and placing it there fixed it. Thanks!
|
![]() |
![]() |
![]() |
#420 |
Junior Member
Join Date: Jun 2006
Posts: 19
|
I am having a good time with the Party shuffle script but it really does repeat very often. In the 15 videos queued the same video may be there 3 times! I am using the last post of it from NeFast on 5/18 and tried MarquisEXB modification (dated 5/24 but could not get it to work. Can someone give me a corrrect query statement for the following?
mlq = medialibrary.runqueryarray("type = 1 AND (lastplay over [12 hours ago])") I figure this way it will not replay anything the same night. I am not sure if this will fix the repeat problem but I am hoping. I only have about 700 videos it picks from perhaps my pool is too small? Thanks |
![]() |
![]() |
![]() |
#421 |
Member
|
this "repeat" problem is really strange.
I never faced it ! Maybe you took the version with my Tracknumber=1 trick ? |
![]() |
![]() |
![]() |
#422 |
Junior Member
Join Date: Jun 2006
Posts: 19
|
I am running v5.21 of winamp. I have ActiveWinamp - v1.0+Beta Gen_activewa.dll file version 1.0.0.1 I am running the attached party shuffle script without the .txt extension. I also get Line 59 Subscript out of range: 'Rand' sometimes. If I re-run the script a couple times it goes away. Sometimes I have to close and re-open winamp to get it to run.
|
![]() |
![]() |
![]() |
#423 |
Major Dude
Join Date: Jan 2006
Location: Cananada
Posts: 841
|
neFAST: unfortunately that trick probably won't help him since he intends to use it with videos.
as for that Rand error, i get it too. i have no idea what causes it. just clicking OK and then stopping the script (pressing winamp's Stop button) and running the script again has always worked for me though (ie. i never had to restart winamp). today i altered the randomization by adding a seed value based on the date and time. i hope this will fix the repeat problems. i'll post back when i'm done testing it. also, try mlq = medialibrary.runqueryarray("type = 1 & lastplay < [12 hours ago]") might fix your query (if not, put the < the other way, the logic behind it being < escapes me right now, but that's what Marquis had, so i'm assuming it's right) Request: A little SmartView Query Language love. |
![]() |
![]() |
![]() |
#424 |
Member
|
Osmosi : I know ! That's the reason why I wanted to check he's not using it.
And quite suprinsingly I don't get any Rand error with the latest version of winamp. Tell us if your seed value improves something ! |
![]() |
![]() |
![]() |
#425 |
Major Dude
Join Date: Jan 2006
Location: Cananada
Posts: 841
|
the occurance of the Rand error is a lot less frequent with 5.24 but i have had it happen to me at least once or twice since updating.
thus far in my testing of the new Randomization i'm happy to report no repeats whatsoever - whereas before i believe i had some by this point (50 tracks) - so, while i plan to subject it to further testing (100 tracks played through - then track skip to see how well it works when fast-paced), i think i'll post it up here and you can help me scrutinize it further. neFAST: i still haven't gotten around to rating some of my tracks and seeing if they get rotated in more often, did you say your weighted shuffling was working? v3.0 beta: [edit - DrO] removed attachment on request - see here for the prefered version Last edited by osmosis; 28th June 2006 at 23:48. |
![]() |
![]() |
![]() |
#426 |
Major Dude
Join Date: Jan 2006
Location: Cananada
Posts: 841
|
edit: okay wow, i just found that somehow having the Timer at the end of the seed string (making it almost the same value every time) really made it very predictable on load... so i fixed that and my new attempt at fixing randomization is in the next post. new testing with the new seed string is to follow.
Request: A little SmartView Query Language love. Last edited by osmosis; 29th June 2006 at 05:12. |
![]() |
![]() |
![]() |
#428 | |
Junior Member
Join Date: Jun 2006
Posts: 4
|
winamp 5.24 script error
Quote:
I just thought I'd let the group know one solution is simply to get the latest version of Internet Explorer. V6 works fine, particularly if your system is windows 2000 and you can not get the latest sp for failed validation codes. |
|
![]() |
![]() |
![]() |
#429 |
Junior Member
Join Date: Jun 2006
Posts: 2
|
Is it possible to change the Title / track / author displayed in Winamp?
Reason being, I am using the broadcast plugin, and instead of just sendign out the song I am playing, I would like full control of the text displayed. many thanks in advance |
![]() |
![]() |
![]() |
#431 |
Member
|
How do you count ? Manually or within the script ?
|
![]() |
![]() |
![]() |
#433 |
Junior Member
Join Date: Jun 2006
Posts: 19
|
You guys are really awesome. Thank you for the work you are doing. By using Osmosis numbers on repeats, songs played, library size and applying it to my library size which is actually only 300 at this point as I dont have all the videos on this system yet. I can expect about 2 repeats every 15 songs quequed and thats pretty darn close to what I am getting, sometimes a little more. Its like it gets stuck on a particular video and keeps queing it. Was there a particular track that seemed to get played alot more than the others in your Most Played? I am using the latest version of the script uploaded 6/28. I have not tried applying the last 12 hours thing yet. And I have not upgraded to 5.24 yet. Would you recommend I do that at this time? Thanks again.
|
![]() |
![]() |
![]() |
#434 |
Major Dude
Join Date: Jan 2006
Location: Cananada
Posts: 841
|
i do recommend you upgrade to 5.24, that will allow you to both slim down winamp more to suit your (limited) needs and should resolve the majority of the occurances of those "Rand" bugs. The latest version of the script is actually 6/29 by my watch, if you have 6/28, get 6/29 (the "sigh" one). and yeah, there was 1 track with 3 repeats and then 10 more with 2. for your purposes you should apply the 12 hours mlq i posted above, it should fix all your problems with repeats, also you don't need to use my crazy seed value (you can just change it back to simply Randomize) since the 12 hours thing will narrow it down and the regular Randomize is good enough for what you need it for.
as for music party shuffle, i still don't find that number of repeats acceptable and i didn't want to have to resort to keeping track of last played or anything like that, so i'm not sure what to do. also, neFAST, please answer my question concerning your weighting attempt. Request: A little SmartView Query Language love. |
![]() |
![]() |
![]() |
#435 |
Junior Member
Join Date: Jun 2006
Posts: 19
|
I will apply your suggestions over weekend and report back with results. Again thanks so much for the help.
|
![]() |
![]() |
![]() |
#436 |
Member
|
@Osmosis : my trick is not compatible with the weightening so I just tested it a few days. Didn't get any noticable difference ... but I have only a few rated song in my library.
I've done some math and for 250 and 10000tracks I get a mean repeat of 3 (but I'm not confident in my formula). How many repeat do you get without your date-based seed ? |
![]() |
![]() |
![]() |
#437 |
Major Dude
Join Date: Jan 2006
Location: Cananada
Posts: 841
|
it can still get to around 80 or 100 without repeating at all, but then it turns out to be about the same. is it possible that the method that we're using to get a random media library entry could be the problem?
Request: A little SmartView Query Language love. |
![]() |
![]() |
![]() |
#438 |
Junior Member
Join Date: Jun 2006
Posts: 19
|
Wow what a week it has been for me. I think I put in 70 hours or so working on various projects. Hope you all are doing well. I did some playing around and really hacked up your party shuffle script and added the simple random script into it and actually got some pretty nice results for my purposes. In looking at the script it seems that the Media library is queried only once to build a list and then songs/videos are randomly chosen from that list however at no point is there a check to see if a song has played in the last so many hours. I tried to put something together but it doesnt work. My idea is that when adding a song to the list a quick check is done to see if it has played since 5 am ( thats when I was working on it) if it has then chose another one and test it again. Keep doing this until a song is chosen that has not played since 5 am. I am sure my script doesnt work because I am just typing it wrong. Please advise and thanks.
' +--------------------------------------------+ ' | Party Shuffle Simple Rand with test 1.0 (15 track version) | ' +--------------------------------------------+ ' Automatically enqueues a new random song each time another is played. ' An ActiveWinamp script originated by osmosis and neFAST, modified by MonteCarloPearl ' Changes: 1) Randomization adapted from simple randon script. ' 2) Playlist now definitely contains only VIDEO items. ' 3) Added a test to see if randomly selected video has played since a certain time ' Todo: 1) Troubleshoot the test to see if videos have played and if so choose a different one ' to enqueue. ' 2) A test to see if videos are in playlist and if so choose a different one ' to enqueue. ' July 4, 2006 Dim mlq,num,Rand,rand2,startup,pos,pchg ' This is the first launch startup=MsgBox("Start new Party Shuffle playlist?",_ vbYesNoCancel+vbDefaultButton2+vbQuestion,"Winamp Party Shuffle") if startup=2 then ' abort if requested quit end if ' clear PL if desired if startup=6 then playlist.clear end if Randomize mlq = medialibrary.runqueryarray("type = 1") num = 10 ' CInt(InputBox("Number of items")) tracks = 0 do while (tracks<num) Rand = Int(ubound(mlq) * Rnd+1) if [mlq(Rand).lastplay>05:00:00] Then Do while [mlq(Rand).lastplay>05:00:00] rand2 = (Rand + Int(ubound(mlq) * Rnd+1)) set Rand = rand2 Loop end if mlq(Rand).enqueue tracks=tracks+1 Loop if startup=6 then ' Now let's play play end if Sub Application_ChangedTrack if playlist.position>6 then ' We delete however many the PL position has changed by pos=playlist.position-6 pchg=0 Do while (pos>pchg) playlist.deleteindex(1) pchg=pchg+1 Loop end if if playlist.count<=(playlist.position+8) then ' We add songs until there's a backlog of 5 (startup) ' or until we've reached 15 again Do while (playlist.count<=(playlist.position+8)) Rand = Int(ubound(mlq) * Rnd+1) ' Here we are grabbing a random number corresponding to ' a video from MLQ ' we need a test to see if that video has played in last 12 hours ' if so grab another and retest it ' once passed go ahead and enqueue it if [mlq(Rand).lastplay>05:00:00] Then Do while [mlq(Rand).lastplay>05:00:00] rand2 = (Rand + Int(ubound(mlq) * Rnd+1)) set Rand = rand2 Loop end if mlq(Rand).enqueue Loop end if End Sub Sub Application_ChangedStatus if PlayState=0 then ' exit if state has changed to stopped quit end if End Sub |
![]() |
![]() |
![]() |
#439 |
Junior Member
Join Date: Jun 2006
Posts: 19
|
I am having no luck at all with the lastplay thing fixing my repeat issues so I am now trying something different. I am working on a playcount test. My thought is, I can reset all my playcounts to 0 then as items are chosen to be enqueued a quick check is done to see if they have a playcount => 1 if so then reset the value for rand and try again, loop until an item with a playcount of 0 is found.
This is what I have put together. Any comments on what I am doing wrong would be great. Also, is there a way to review the playlist and remove duplicate items? Sometimes a video is enqueued twice (or more) before it has had a chance to play. Consequently it would satisfy the above test (if it actually worked) as it has not played but yet would result in a repeat. |
![]() |
![]() |
![]() |
#440 |
Junior Member
Join Date: Jun 2006
Posts: 19
|
Worked all day on this and I have finally solved the repeat issue. I used a 2 way test solution involving a playcount test and figured out how to check the existing playlist before a video is even enqueued! I will put files up tomorrow as I need to clean them. Thank you to all for your help. More tomorrow!
|
![]() |
![]() |
![]() |
|
Thread Tools | Search this Thread |
Display Modes | |
|
|