[1269] SDBSongData.Path does not work with URLs

Beta Testing for Windows Products and plugins

Moderator: Gurus

botijo
Posts: 415
Joined: Fri Dec 07, 2007 3:20 am
Location: Ireland

[1269] SDBSongData.Path does not work with URLs

Post by botijo »

Hi,
I do not know since which version my UPNP client script stopped working. I have been doing some experiments and I think that MM is not playing nice with SDBSongData.Path field anymore. In order to rule out that my script was doing something nasty, I have setup following code in the script:

Code: Select all

Set NewSong = SDB.NewSongData
NewSong.Path = "http://127.0.0.1:5050/song/1"
As you can see, the whole idea is to get NewSongData and fill up the details. Then I store the NewSongData in the visible track list.

I can see the Path being set as expected in the track properties window. But if I try to play that song, I get following debug info:

Code: Select all

00000130	14.76473904	[1128] Player: Setting current track: http://127.0.0.1:5050/song/1	
00000131	14.76569653	[1128] GetFileInfo: http://127.0.0.1:5050/song/1	
00000132	14.76875305	[1128] Winamp simulation window received messsage 12	
00000133	14.78367329	[1128] Player: _Play() procedure entering.	
00000134	14.79081631	[1128] GetFileInfo: http://127.0.0.1:5050/song/1	
00000135	14.79308605	[1128] Winamp simulation window received messsage 12	
00000136	14.79321766	[1128] Player: Setting current track: 	
00000137	14.79334354	[1128] Player: File doesn't exist, try at least the preview	
00000138	14.79346466	[1128] Player: There is a problem in playing this file, try the next one	
00000139	14.79350662	[1128] Player: Next command started	
If I copy and paste the URI in the File > Open URL or File box, I got the song playing, and following debug info:

Code: Select all

00000000	0.00000000	[1128] Forms: Received WM_ACTIVATEAPP	
00000001	0.00009841	[1128] Forms: RestoreTopMost: Level: 1	
00000002	0.00037218	[1128] Winamp sim - ignoring.	
00000003	2.36610889	[1128] Forms: NormalizeTopMosts: Level: 0	
00000004	6.28728104	[1128] Forms: RestoreTopMost: Level: 1	
00000005	6.29304552	[1128] 4564 DB open SQL: SELECT Songs.ID FROM Songs WHERE Songs.ID=? AND ( Songs.TrackType=1 ) 	
00000006	6.29340363	[1128] 4564 DB open SQL: SELECT Songs.ID FROM Songs WHERE Songs.ID=? AND ( Songs.TrackType=2 ) 	
00000007	6.29385614	[1128] Player: Adding 1 track(s)	
00000008	6.29392672	[1128] _Stop: started	
00000009	6.29398918	[1128] TWAPluginEngine.Stop - going to stop input plugin	
00000010	6.29409695	[1128] INWMP3: Stop() started	
00000011	6.29418039	[1128] INWMP3: StopStream() started	
00000012	6.29600525	[1128] INWMP3: OnEndOfStream	
00000013	6.29613304	[1128] INWMP3: OnStatus 13.	
00000014	6.31666374	[1128] INWMP3: Close() 2	
00000015	6.31708622	[1128] INWMP3: Close() 3	
00000016	6.31714249	[1128] INWMP3: StopOutput() started	
00000017	6.31942797	[1128] INWMP3: Stop() finished	
00000018	6.31957436	[1128] Winamp sim - WM_USER message 603	
00000019	6.32025671	[1128] _Stop: finished	
00000020	6.32233906	[1128] 4564 DB open SQL: SELECT Songs.ID FROM Songs WHERE Songs.ID=? AND ( Songs.TrackType=1 ) 	
00000021	6.32240200	[1128] 4564 DB lock finished, took 3858.	
00000022	6.32244968	[1128] 4564 DB open SQL: SELECT Songs.ID FROM Songs WHERE Songs.ID=? AND ( Songs.TrackType=2 ) 	
00000023	6.32255459	[1128] Player: _Play() procedure entering.	
00000024	6.32270956	[1128] 4564 DB open SQL: SELECT Songs.ID FROM Songs WHERE Songs.ID=? AND ( Songs.TrackType=1 ) 	
00000025	6.32295370	[1128] 4564 DB open SQL: SELECT Songs.ID FROM Songs WHERE Songs.ID=? AND ( Songs.TrackType=2 ) 	
00000026	6.32327747	[1128] Player: Setting current track: http://127.0.0.1:5050/song/1	
00000027	6.32545185	[1128] Thread has started 2268	
00000028	6.32550669	[1128] Thread registered, going to initialize 2268	
00000029	6.32562017	[1128] GetFileInfo: http://127.0.0.1:5050/song/1	
00000030	6.32848454	[1128] Winamp simulation window received messsage 12	
00000031	6.34139013	[1128] GetFileInfo: http://127.0.0.1:5050/song/1	
00000032	6.34154797	[1128] Player: Song is not cached, try to play the original file	
00000033	6.34552336	[1128] Winamp sim - WM_USER message 603	
00000034	6.34565115	[1128] Going to play file: http://127.0.0.1:5050/song/1	
00000035	6.34604025	[1128] 4564 DB open SQL: SELECT Songs.ID FROM Songs WHERE Songs.ID=? AND ( Songs.TrackType=2 ) 	
00000036	6.34628582	[1128] 4564 DB open SQL: SELECT Songs.ID FROM Songs WHERE Songs.ID=? AND ( Songs.TrackType=1 ) 	
00000037	6.34655571	[1128] 4564 DB open SQL: SELECT Songs.ID FROM Songs WHERE Songs.ID=? AND ( Songs.TrackType=2 ) 	
00000038	6.34712505	[1128] Going to make final callback 2268	
00000039	6.34719181	[1128] Going to start playback.	
00000040	6.35817623	[1128] Thread has started 5024	
00000041	6.35993242	[1128] Thread initialized 5024	
00000042	6.53891134	[1128] Winamp sim - WM_USER message 9899	
00000043	6.54883242	[908] 5540 DB open SQL: SELECT Songs.* 	
00000044	6.54883242	[908] FROM Songs 	
00000045	6.54883242	[908] WHERE Songs.ID = 1 	
00000046	6.61651278	[1128] Plugin D:\MediaMonkey\Plugins\in_wmp3.dll can play http://127.0.0.1:5050/song/1	
00000047	6.61668015	[1128] Going to start playback.	
00000048	6.61672020	[1128] INWMP3: Stop() started	
00000049	6.61675882	[1128] INWMP3: Close() started	
00000050	6.61678839	[1128] INWMP3: Close() 1	
00000051	6.61681938	[1128] INWMP3: Close() 2	
00000052	6.61687851	[1128] INWMP3: Close() finished	
00000053	6.61710548	[1128] INWMP3: StopOutput() finished	
00000054	6.61718845	[1128] INWMP3: Stop() finished	
00000055	6.63792372	[1128] GetFileInfo: http://127.0.0.1:5050/song/1	
00000056	6.63843107	[1128] INWMP3: Close() 1	
00000057	6.63848972	[1128] INWMP3: Close() 3	
00000058	6.63857412	[1128] INWMP3: Open()	
00000059	6.63875961	[1128] Winamp Playlist sim - WM_USER message 0	
00000060	6.63884878	[1128] Winamp Playlist sim - message left to the default processing	
00000061	6.63896036	[1128] Winamp Playlist sim - WM_USER message 1073741824	
00000062	6.63906240	[1128] Winamp sim - WM_USER message 603	
00000063	6.63920116	[1128] Winamp sim - WM_USER message 104	
00000064	6.63948250	[1128] INWMP3: Thread - streams created	
00000065	6.64376020	[1128] Winamp sim - WM_USER message 9899	
00000066	6.64527941	[1128] Thread has finished 4588	
00000067	6.65801382	[1128] Going to make final callback 5024	
00000068	6.67038727	[908] 5540 DB open SQL: SELECT Songs.* 	
00000069	6.67038727	[908] FROM Songs 	
00000070	6.67038727	[908] WHERE Songs.ID = 1 	
00000071	6.71748877	[1128] INWMP3: Thread - opened	
00000072	6.71751690	[1128] INWMP3: HTTP read request 30 bytes.	
00000073	6.71885538	[1128] INWMP3: Thread - stream opened	
00000074	6.72129965	[1128] INWMP3: We can read 65536 more HTTP data.	
00000075	6.72139454	[1128] INWMP3: Read 1024 HTTP data.	
00000076	6.72146988	[1128] INWMP3: Going to read 1024 HTTP data.	
00000077	6.72154903	[1128] INWMP3: We can read 65536 more HTTP data.	
00000078	6.72162819	[1128] INWMP3: Read 1024 HTTP data.	
00000079	6.72170305	[1128] INWMP3: Going to read 1024 HTTP data.	
00000080	6.72189951	[1128] INWMP3: We can read 65536 more HTTP data.	
00000081	6.72198009	[1128] INWMP3: Read 1024 HTTP data.	
00000082	6.72205400	[1128] INWMP3: Going to read 1024 HTTP data.	
00000083	6.72213125	[1128] INWMP3: We can read 65536 more HTTP data.	
00000084	6.72220755	[1128] INWMP3: Read 1024 HTTP data.	
00000085	6.72228003	[1128] INWMP3: Going to read 1024 HTTP data.	
00000086	6.72235823	[1128] INWMP3: We can read 65536 more HTTP data.	
00000087	6.72243595	[1128] INWMP3: Read 1024 HTTP data.	
00000088	6.72253323	[1128] INWMP3: Going to read 1024 HTTP data.	
00000089	6.72261047	[1128] INWMP3: We can read 65536 more HTTP data.	
00000090	6.72268581	[1128] INWMP3: Read 1024 HTTP data.	
00000091	6.72275877	[1128] INWMP3: Going to read 1024 HTTP data.	
00000092	6.72283506	[1128] INWMP3: We can read 65536 more HTTP data.	
00000093	6.72291374	[1128] INWMP3: Read 1024 HTTP data.	
00000094	6.72298861	[1128] INWMP3: Going to read 1024 HTTP data.	
00000095	6.72306442	[1128] INWMP3: We can read 65536 more HTTP data.	
00000096	6.72314119	[1128] INWMP3: Read 1024 HTTP data.	
00000097	6.72324085	[1128] INWMP3: Going to read 1024 HTTP data.	
00000098	6.72331810	[1128] INWMP3: We can read 65536 more HTTP data.	
00000099	6.72339535	[1128] INWMP3: Read 1024 HTTP data.	
00000100	6.72347021	[1128] INWMP3: Going to read 1024 HTTP data.	
00000101	6.72354746	[1128] INWMP3: We can read 65536 more HTTP data.	
00000102	6.72362947	[1128] INWMP3: Read 1024 HTTP data.	
00000103	6.72370434	[1128] INWMP3: Going to read 1024 HTTP data.	
00000104	6.72378159	[1128] INWMP3: We can read 65536 more HTTP data.	
00000105	6.72388315	[1128] INWMP3: Read 1024 HTTP data.	
00000106	6.72396088	[1128] INWMP3: Going to read 1024 HTTP data.	
00000107	6.72403765	[1128] INWMP3: We can read 65536 more HTTP data.	
00000108	6.72411489	[1128] INWMP3: Read 1024 HTTP data.	
00000109	6.72419071	[1128] INWMP3: Going to read 1024 HTTP data.	
00000110	6.72426796	[1128] INWMP3: We can read 65536 more HTTP data.	
00000111	6.72434521	[1128] INWMP3: Read 1024 HTTP data.	
00000112	6.72442007	[1128] INWMP3: Going to read 1024 HTTP data.	
00000113	6.72452211	[1128] INWMP3: We can read 65536 more HTTP data.	
00000114	6.72459888	[1128] INWMP3: Read 1024 HTTP data.	
00000115	6.72467327	[1128] INWMP3: Going to read 1024 HTTP data.	
00000116	6.72475100	[1128] INWMP3: We can read 65536 more HTTP data.	
00000117	6.72482777	[1128] INWMP3: Read 1024 HTTP data.	
00000118	6.72492599	[1128] INWMP3: Going to read 1024 HTTP data.	
00000119	6.72500324	[1128] INWMP3: We can read 65536 more HTTP data.	
00000120	6.72510481	[1128] INWMP3: Read 1024 HTTP data.	
00000121	6.72518110	[1128] INWMP3: Going to read 1024 HTTP data.	
00000122	6.72525787	[1128] INWMP3: We can read 65536 more HTTP data.	
00000123	6.72533512	[1128] INWMP3: Read 1024 HTTP data.	
00000124	6.72540998	[1128] INWMP3: Going to read 1024 HTTP data.	
00000125	6.72548771	[1128] INWMP3: We can read 65536 more HTTP data.	
00000126	6.72556448	[1128] INWMP3: Read 1024 HTTP data.	
00000127	6.72563934	[1128] INWMP3: Going to read 1024 HTTP data.	
00000128	6.72574139	[1128] INWMP3: We can read 65536 more HTTP data.	
00000129	6.72581911	[1128] INWMP3: Read 1024 HTTP data.	
00000130	6.72589540	[1128] INWMP3: Going to read 1024 HTTP data.	
00000131	6.72597504	[1128] INWMP3: We can read 65536 more HTTP data.	
00000132	6.72605228	[1128] INWMP3: Read 1024 HTTP data.	
00000133	6.72612619	[1128] INWMP3: Going to read 1024 HTTP data.	
00000134	6.72620344	[1128] INWMP3: We can read 65536 more HTTP data.	
00000135	6.72628021	[1128] INWMP3: Read 1024 HTTP data.	
00000136	6.72638464	[1128] INWMP3: Going to read 1024 HTTP data.	
00000137	6.72646284	[1128] INWMP3: We can read 65536 more HTTP data.	
00000138	6.72653866	[1128] INWMP3: Read 1024 HTTP data.	
00000139	6.72661352	[1128] INWMP3: Going to read 1024 HTTP data.	
00000140	6.72669172	[1128] INWMP3: We can read 65536 more HTTP data.	
00000141	6.72676849	[1128] INWMP3: Read 1024 HTTP data.	
00000142	6.72684336	[1128] INWMP3: Going to read 1024 HTTP data.	
00000143	6.72693300	[1128] INWMP3: We can read 65536 more HTTP data.	
00000144	6.72703552	[1128] INWMP3: Read 1024 HTTP data.	
00000145	6.72711039	[1128] INWMP3: Going to read 1024 HTTP data.	
00000146	6.72718811	[1128] INWMP3: We can read 65536 more HTTP data.	
00000147	6.72726440	[1128] INWMP3: Read 1024 HTTP data.	
00000148	6.72733974	[1128] INWMP3: Going to read 1024 HTTP data.	
00000149	6.72741699	[1128] INWMP3: We can read 65536 more HTTP data.	
00000150	6.72749281	[1128] INWMP3: Read 1024 HTTP data.	
Please be aware that I was also using my UPNP server in the same machine, so some info could be double posted (e.g the messages with [908] are part of the server and not the client). The same issues happen with Windows Media Player, so I am sure it is not server related. Please note that my server is reporting that an HTTP request has been crafted whenever it plays, but does not report anything when the file is not being played. This points me to the direction that MM is not even trying to open the URL I have given to it.

So, I am at a loss. As this was working before (one year ago!) and it is not working now, I am reporting this as a bug. If there is any other mechanism I am not aware of and that I should try, please reply to this post.

There is also another bug related to this issue: if I try to put the actual playlist that does not play into a saved playlist, MM throws and exception. Developers, you should have gotten an automated e-mail from me when I tried that. That e-mail is related to this issue.

If needed, I can easily provide detailed log files. I was using the code that I distributed one year ago, so it should not be hard to download it if you want to have a look.

Thanks for your time.
Ludek
Posts: 5125
Joined: Fri Mar 09, 2007 9:00 am

Re: [1269] SDBSongData.Path does not work with URLs

Post by Ludek »

Botijo,

I tested with following auto-script:

Code: Select all

Option Explicit

Sub OnStartUp()
    Dim mnuTest
    Set mnuTest = SDB.UI.AddMenuItem(SDB.UI.Menu_Edit, 0, 0)
    mnuTest.Caption = "Test"
    mnuTest.OnClickFunc = "Test"
    mnuTest.UseScript = Script.ScriptPath
End Sub

Sub Test(Item)
    Dim NewSong
    Set NewSong = SDB.NewSongData
    NewSong.Path = "http://spiker.wz.cz/Up%20to%20the%20stars.mp3"
    SDB.Player.PlaylistClear
    SDB.Player.PlaylistAddTrack( NewSong)
    SDB.Player.Play
End Sub
and it does work right, no problems with playling.
The URL is played despite the fact whether it is played via the script or via the 'Open URL or File...' menu item

Also tested with local UPnP URL: http://192.168.2.4:53403/content?path=A ... n+Hair.mp3
and again no problems, tested with the newest build.
botijo
Posts: 415
Joined: Fri Dec 07, 2007 3:20 am
Location: Ireland

Re: [1269] Setting SDBSongData.IsntInDB = True inhibits play

Post by botijo »

Hi, Ludek,
thanks for looking into this. I now realize what the problem is. I have changed the subject replacing the root cause of the problem. Using this code:

Code: Select all

    
Set NewSong = SDB.NewSongData
NewSong.IsntInDB = True
NewSong.Path = "http://www.rtve.es/resources/TE_SATODO/podcast/mp3/1/7/1254057565571.mp3"
SDB.Player.PlaylistClear
SDB.Player.PlaylistAddTrack( NewSong)
SDB.Player.Play
It fails to play because of the IsntInDB option. Removing that line makes the item to play fine. The intention here was to not let MM store any info about the songs that are part of a server, as they might be volatile. It is curious that I was the last one updating the info in the Wiki.

I am worried about what would happen if this setting is not being set to True. It would be best if the info on the wiki was updated.

I really appreciate that you, Ludek, have been spending some time on this issue. It really gave me a boost when I was down. Sometimes, the simple things show you how things work.
Ludek
Posts: 5125
Joined: Fri Mar 09, 2007 9:00 am

Re: [1269] SDBSongData.Path does not work with URLs

Post by Ludek »

Botijo,
you are right, if there is the line

Code: Select all

NewSong.IsntInBD = true
then it fails to play.

This is a regression as you indicated, I entered it as http://www.ventismedia.com/mantis/view.php?id=5997 and fixed in build 1270
that is going to be posted soon.
botijo
Posts: 415
Joined: Fri Dec 07, 2007 3:20 am
Location: Ireland

Re: [1269] SDBSongData.Path does not work with URLs

Post by botijo »

Thanks for fixing this in such a brief time.
Post Reply