Page 1 of 1

Case sensitive and httpQ

Posted: Thu Dec 28, 2006 11:29 am
by Antauri
I've been killing my brain here. The problem.

If I upload a file named:

ahearortwo.mp3 - It plays with httpQ.

If I upload the same file, named:

AHeartOrTwo.mp3 - it doesn't play in httpQ and it gives me a 404 - Not Found in Winamp.

So, everything works for me, but the httpQ output does a lowercase on the relative adress of files. I've tryed everything to make the httpQ output to the client to NOT modify the URL adress, but still, no luck. Can you help me?

#################

Second problem:

I'm on Linux, Gentoo Linux to be more exact, have support for "7za", and added the codec directory "/usr/bin" - as there is the place I keep all my files.

I've found a way to generate the zip, because the default method didn't work, but the album zip is empty. All other "single-file" downloads work like a charm.

I'm lost in PHP code, please help.

Posted: Thu Dec 28, 2006 12:34 pm
by wbartels
There is a known bug in the httpQ plugin, that converts all play commands to lowercase.
For example when I add a track from Jamiroquai witch is on:

Code: Select all

E:\Music\Jamiroquai\199308 - Emergency on planet earth\ 01 - When you gonna learn (digeridoo).flac
It will display it in Winamp/httpQ as (network depands on httpQ profile):

Code: Select all

\\192.168.1.1\media\music\jamiroquai\199308 - emergency on planet earth\01 - when you gonna learn (digeridoo).flac
This shouldn’t be a problem because Windows network is not case sensitive
When searching the internet for Samba and case sensitive I get many hits.
Maybe you could configure samba to be not case sensitive.

I will also try to get in contact with the httpQ developer, and see if he has time to fix this problem.
I know that he is a very busy man ;-)


I never tested the 7-ZIP on Linux,Unix or OSX.
I think that the problem lies in the –scs…. command.

On windows it must be –scswin.
You could try it with -scsutf-8
I think that there are also other options in Linux for the –scr… command line.

You can also try it without the –scr… command and use the iconv command in download.php (line 155)
Where the first parameter must be the character set that is used on your system:

Code: Select all

$source = iconv('ISO-8859-1', 'CP850', $source);

Good luck with it,

Willem

:)

Posted: Thu Dec 28, 2006 1:06 pm
by Antauri
I'm hosting netjukebox on a Linux server. What's got Samba to do with it? Damn for that httpQ bug. Mmm, I may just go get a look at its source code, recompile it for windows, work it out.

So, you say i must use the -scsutf-8 paramater, try it. If not, go and uncommnet the ICONV line in download.php? I'll try. :) Get back to you with results.

Posted: Thu Dec 28, 2006 1:42 pm
by Antauri
In query.cpp [the source code for the httpQ] at function Query::SetArgument the received string from the server is transformed into lowercase. I wanna find a way to re-compile the plugin. [I've taken out all the strtolower C functions in that function].

Re: :)

Posted: Thu Dec 28, 2006 2:35 pm
by wbartels
Antauri wrote:I'm hosting netjukebox on a Linux server. What's got Samba to do with it? Damn for that httpQ bug. Mmm, I may just go get a look at its source code, recompile it for windows, work it out.
I have developed netjukebox mainly for two setups.
What I read from your post you are using it in another way.

I asume Winamp/httpQ is running on a Windows client?
To get this working you do need a Samba server to share the media.

For playing content over the internet you can use the stream (stream album/track) feature of netjukebox.
In this setup there is no need for a httpQ plugin.

About the httpQ plugin:
I discoverd that when sending commands in uppercase they don't work:
http://localhost:4800/NEXT?p=pass
So I asume that the lowercase function is somewhere in the wrong place.
If you find a fix will you post the fix to Kosta Arvanitis http://httpq.sourceforge.net ?

Thanks,

Willem

Posted: Thu Dec 28, 2006 4:19 pm
by wbartels
Antauri wrote:In query.cpp [the source code for the httpQ] at function Query::SetArgument the received string from the server is transformed into lowercase. I wanna find a way to re-compile the plugin. [I've taken out all the strtolower C functions in that function].
Sorry, I have missed your post.
Thanks for the research so far.
Do you want to mail your findings to Kosta Arvanitis (karvanitis at hotmail dot com), he is the httpQ developer?

Thanks,

Willem

Posted: Thu Dec 28, 2006 6:05 pm
by Antauri
E-mail them cause I have a hard time compiling the plugin in Microsoft Visual C++ Exp. 2005. [a.k.a can't find the C standard libraries].

I don't need a samba server to run the httpQ plugin. Let's take it easy:

1. I installed netjukebox on a linux machine.
2. I uploaded files on the server.
3. If I stream them, no problem.
4. If the files are all lowercase, it works finding them with httpQ. [the httpq only commands my Winamp to go to the file adress, it doesn't need any Samba]. Same as the Playlist.m3u generated when you want to stream, but without downloading a thing.
5. If the files have uppercase letters, here comes the problem as Winamp can't find the files. [my files are uppercase, but the httpQ plugin tells winamp to search for lowercase files].

I can't make all files lowercase, because this would have an impact on listing of files in netjukebox, where all artists would become lowercase, something not that nice.

Posted: Thu Dec 28, 2006 7:44 pm
by Antauri
Fix:

- I'm going to allow users to stream and individual download of music I already have. Didn't yet let them record cause I don't have any ideea how to set that thing up.

Why?:

- using httpQ is annoying, and I found out that he automatically ads the .mp3 extension to any music the user wants to hear. That's annoying. I want my users to feel like they are downloading a well organized playlist.

- using "Download Album" is going to slow the server to hell. Using individual downloads is much more adequate. Also, fixes should be made, but I found that this kind of setup is the perfect one.

Posted: Fri Dec 29, 2006 10:31 am
by wbartels
Ok, now I see what you want.
But why didn’t you say you have completely rewritten the script in the first place?

If I understand it right you want to send the playlist per track or album to the httpQ plugin instead of creating an m3u playlist.
This approach will give another problem.
The client computer must than act as an httpQ server and the firewall on the client computer must accept port 4800 and map it to the client computer.

The httpQ lowercase bug shouldn’t be a problem when using streaming as it is now.
You can send something like this to the httpQ client, instead of placing it in the m3u play list:

Code: Select all

http://somewebsite/stream.php?action=stream&stream_id=0&track_id=btxp5klhqf_0d8c675f&sid=939e5042aee25673b62c5f0ab7474f68d1b5a3b1&ext=.mp3

Posted: Tue Jan 22, 2008 1:50 pm
by wbartels
After some delay I have now came in contact with Kosta Arvanitis.
We will now work together on a new httpQ version.

To prevent confusion I will delete my releases of the httpQ plugin!

Re: Case sensitive and httpQ

Posted: Wed Apr 02, 2008 11:10 pm
by wbartels
The curent version of netjukebox with the new httpQ 3.1 plugin will fix the case sensitive problem.