mt-daapd-devel Mailing List for Multi-Threaded DAAP Daemon
Status: Beta
Brought to you by:
andrew40
You can subscribe to this list here.
2005 |
Jan
|
Feb
(8) |
Mar
(55) |
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
(9) |
Oct
|
Nov
|
Dec
|
---|---|---|---|---|---|---|---|---|---|---|---|---|
2006 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
(2) |
Jul
|
Aug
|
Sep
|
Oct
|
Nov
(1) |
Dec
|
2007 |
Jan
(1) |
Feb
|
Mar
|
Apr
|
May
(2) |
Jun
|
Jul
(3) |
Aug
(1) |
Sep
|
Oct
|
Nov
|
Dec
|
2008 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
(1) |
Aug
|
Sep
|
Oct
(1) |
Nov
|
Dec
(1) |
2009 |
Jan
(1) |
Feb
|
Mar
(1) |
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
From: Andrew G. <and...@gm...> - 2009-03-29 22:28:52
|
Hi Ron et al, One issue I'd like to fix is that identical MP3s at different paths are result in multiple database entries. This really bugs my gf since music that shows up in both of our distinct mp3 collections shows up on the Roku twice. I'm just starting to look at the code so I wanted to mention my plans here in case there's a better way :) My initial thought was to do a query in db.c db_add() for identical length, name, (other metadata? suggestions?) and abort returning success if there's a hit. Sound right? Thanks -- Regards -- Andy |
From: Noah <ad...@en...> - 2009-01-16 04:12:13
|
Hi there, I have mt-daapd running on my edge box, in this case the ubuntu server. I am running a firewall on it. But even with the firewall Off I am unable to see the box getting advertised. Therefore itunes on my other machines are not able to see the server. Could somebody suggest ways to troubleshoot this? Cheers, Noah |
From: Noah G. W. <no...@en...> - 2008-12-26 15:17:07
|
Hi there, I am having some strange issues with mt-daapd and was wondering if there is an appropriate mail list out there to contact? Cheers, Noah |
From: Chris S. <ch...@si...> - 2008-10-30 19:38:09
|
I think there's a problem with the fedora init script in the contrib directory, it has a lower priority than avahi-daemon on which it appears to depend, so it fails to start up correctly on boot. The avahi-daemon init script has priority 96 in fedora 9. Everything is fine if you start it manually after boot (ie once avahi-daemon is running). I'm no expert but I think its simply a matter of upping the priority of the init script as below. Cheers, Chris Simmons. Index: contrib/init.d/mt-daapd-fedora.templ =================================================================== --- contrib/init.d/mt-daapd-fedora.templ (revision 1737) +++ contrib/init.d/mt-daapd-fedora.templ (working copy) @@ -1,6 +1,6 @@ #!/bin/sh # -# chkconfig: 2345 85 15 +# chkconfig: 2345 99 15 # description: mt-daapd is a multi-threaded DAAP server for iTunes # processname: mt-daapd # pidfile: /var/run/mt-daapd |
From: Arnaud B. <abe...@gm...> - 2008-07-06 18:43:29
|
While maintaining the OpenBSD port of mt-daapd, I was made aware of some 64-bit issues in the code. I have some patches (attached) that should take care of the problem. Arnaud |
From: Ron P. <ro...@pe...> - 2007-08-27 00:58:35
|
> I use the project mt-daapd and it's very useful! > However, I wanted to add the following lines to my httpd.conf file: > RewriteEngine On > Okay, I'm slow, but this is merged now and will be around next release. -- Ron |
From: Ron P. <ro...@pe...> - 2007-07-02 01:26:47
|
> Attached is a patch which modifies src/plugins/Makefile.am to use > pkglibdir instead of pkgdatadir for the plugins location. I also > modified contrib/Makefile.am and contrib/mt-daapd.conf.templ to use > sysconf for the mt-daapd.playlist and libdir for plugins. Nicely done, sir. That's been on my radar for a long time, but I've been to lazy to do it. I'll apply. Thanks. Let me know if there is anything else that would be helpful from an upstream perspective. Also, if you do get specfiles and whatnot done, I wouldn't mind seeing those as well so I can add FC packages to nightly builds. -- Ron |
From: Ian B. <ian...@gm...> - 2007-07-01 20:08:52
|
On 7/1/07, Ian Burrell <ian...@gm...> wrote: > > I am working on a patch for src/plugins/Makefile.am that changes > pkgdatadir to pkglibdir. > Attached is a patch which modifies src/plugins/Makefile.am to use pkglibdir instead of pkgdatadir for the plugins location. I also modified contrib/Makefile.am and contrib/mt-daapd.conf.templ to use sysconf for the mt-daapd.playlist and libdir for plugins. - Ian |
From: Ian B. <ian...@gm...> - 2007-07-01 19:48:56
|
I am trying to package the mt-daapd nightly snapshots for Fedora. I ran into a snag with the location of the plugins directory. The plugins directory really should be /usr/lib/mt-daapd/plugins instead of /usr/shared/mt-daapd/plugins. The reason is that the plugins contain shared libraries which are architecture specific. /usr/share is supposed to contain arch-independent files. For x86_64, the plugins should go in /usr/lib64/mt-daapd/plugins to keep them separate from the i386 ones. I am working on a patch for src/plugins/Makefile.am that changes pkgdatadir to pkglibdir. - Ian |
From: Ron P. <ro...@pe...> - 2007-05-13 20:59:16
|
On May 13, 2007, at 2:11 PM, St=E9phane Moreau wrote: > <rewriteurl.patch> That looks reasonable. I'll probably merge that for next nightly. =20 Thanks for the patch. -- Ron |
From: Luis P. <lu...@us...> - 2007-01-22 15:58:04
|
Hi all. I don't know if this is fixed already, but I found that if the gdbm database is corrupted (mt-daapd-0.2.4), gdbm calls exit(), which terminates mt-daapd. I wrote a small fix for it, which will catch the exit() before exiting, and will remove the corrupted database automatically. That way, when mt-daapd is restarted, it will rebuild the database cleanly. Here is the patch: --- a/src/main.c Wed Dec 06 23:08:59 2006 -0500 +++ b/src/main.c Fri Jan 05 14:02:47 2007 -0500 @@ -128,6 +128,28 @@ static int start_signal_handler(pthread_ static int start_signal_handler(pthread_t *handler_tid); static void daap_handler(WS_CONNINFO *pwsc); static int daap_auth(char *username, char *password); +static void daap_on_exit(int exit_val, void *args); + +/** + * Check the type of exit. If we have a failure, remove + * the database, since it could be corrupted. GDBM exits witout telling + * the caller + */ +static void +daap_on_exit(int exit_val, void *args) +{ + char db_path[PATH_MAX + 1]; + + if (0 != exit_val) + { + /* + * Remove database file + */ + snprintf(db_path,sizeof(db_path),"%s/%s",config.dbdir,"songs.gdb"); + remove(db_path); + } + +} /** * Handles authentication for the daap server. This isn't the @@ -815,6 +837,11 @@ int main(int argc, char *argv[]) { config.pid=0; } + /* + * Initialize on_exit function + */ + (void)on_exit(daap_on_exit, NULL); + /* DWB: shouldn't this be done after dropping privs? */ if(db_open(config.dbdir, reload)) DPRINTF(E_FATAL,L_MAIN|L_DB,"Error in db_open: %s\n",strerror(errno)); |
From: Christopher W. <cc...@gm...> - 2006-11-10 00:00:52
|
FC6 uses the avahi-compat-howl packages rather than howl. A few minor changes to the RPM spec file seems to have fixed the build/install dependency issues. See the "diff -c" output below. Do with it what you please. Thx. ~Chris *** mt-daapd.spec.original 2006-11-09 17:41:16.000000000 -0600 --- mt-daapd.spec 2006-11-09 17:54:01.000000000 -0600 *************** *** 7,14 **** URL: http://sourceforge.net/project/showfiles.php?group_id=98211 Source0: %{name}-%{version}.tar.gz BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-buildroot ! Requires: libid3tag gdbm howl ! BuildRequires: libid3tag-devel gdbm-devel howl-devel %description A multi-threaded implementation of Apple's DAAP server, mt-daapd --- 7,14 ---- URL: http://sourceforge.net/project/showfiles.php?group_id=98211 Source0: %{name}-%{version}.tar.gz BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-buildroot ! Requires: libid3tag gdbm avahi-compat-howl ! BuildRequires: libid3tag-devel gdbm-devel avahi-compat-howl %description A multi-threaded implementation of Apple's DAAP server, mt-daapd *************** *** 19,25 **** %setup -q %build ! ./configure --prefix=$RPM_BUILD_ROOT/usr --enable-howl --with-howl-includes=/usr/include/howl-0.9.8 make RPM_OPT_FLAGS="$RPM_OPT_FLAGS" --- 19,25 ---- %setup -q %build ! ./configure --prefix=$RPM_BUILD_ROOT/usr --enable-howl --with-howl-includes=/usr/include/avahi-compat-howl make RPM_OPT_FLAGS="$RPM_OPT_FLAGS" |
From: Ron P. <ro...@pe...> - 2006-06-18 03:49:27
|
> 1) Why is mt-daapd not responding to the INT and HUP signals sent > from svc? I do not know. It sounds like a pthreads issue though. The signal strategy used is to block all signals on all threads except for a signal handling thread. That thread runs with signals set to SIG_IGN and sits in a sigwait loop to be notified of signals. I had understood that to be "best practice" in handling signals in multi-threaded applications, but apparently not all pthreads libraries deliver signals to the unblocked thread. I believe that to be a pthread impelmentation bug. > 2) Why was INT chosen as the shutdown signal rather than TERM? Just because I was looking to cleanly shutdown on a ctrl-c when running in the foreground, and I hadn't bothered to add sigterm handling until recently. It does handle sigterm in current nightlies. -- Ron |
From: marlowe <ma...@an...> - 2006-06-17 18:48:54
|
All, I am attempting to manage mt-daapd 0.2.4 stable on Yellow Dog Linux 4.1 from daemontools (http://cr.yp.to/daemontools.html). I am able to successfully start mt-daapd with the following run script: #!/bin/sh exec 2>&1 mt-daapd -f Sending an INT signal to the service via the following command: # svc -i /service/mt-daapd does not cause the desired effect, the service stopping. Running the above run script with "-d 9" also shows that mt-daapd is either not seeing or is ignoring the INT signal. Similar behavior is observed with the HUP signal. Sending the INT and HUP signals to the mt-daapd via the following command: # kill [SIGNAL] [PID] results in the appropriate behaviors, service shutdown and reload. My questions are below. 1) Why is mt-daapd not responding to the INT and HUP signals sent from svc? 2) Why was INT chosen as the shutdown signal rather than TERM? Thanks, Patrick |
From: Phil P. <pe...@fl...> - 2005-09-27 07:11:23
|
That's quite OK, Ron... I didn't read it that way! BTW, hope your house move is going OK? Phil On Mon, 2005-09-26 at 20:29 -0500, Ron Pedde wrote: > >> In any event, working + ugly is probably better than not-working + > >> not-quite-as-ugly, so working it is. Thanks for the heads-up on > >> this, Phil -- I used much of your stuff. > > Okay, I just read this with fresh eyes, and it looks like I'm saying: > > "Your code is ugly, Phil". > > That's not what I meant to say! What I meant to say is that I used > much of your code, and the architecture is such that the queries > required are ugly. The ugly is a factor of poor planning on my part, > and necessity on your part. > > Wasn't implying anything tacky. > > Sorry! > > -- Ron > > > > > ------------------------------------------------------- > SF.Net email is sponsored by: > Tame your development challenges with Apache's Geronimo App Server. Download > it for free - -and be entered to win a 42" plasma tv or your very own > Sony(tm)PSP. Click here to play: http://sourceforge.net/geronimo.php > _______________________________________________ > mt-daapd-devel mailing list > mt-...@li... > https://lists.sourceforge.net/lists/listinfo/mt-daapd-devel > -- Now! Also available at phe...@gm... |
From: Ron P. <ron...@gm...> - 2005-09-27 01:29:56
|
>> In any event, working + ugly is probably better than not-working + >> not-quite-as-ugly, so working it is. Thanks for the heads-up on >> this, Phil -- I used much of your stuff. Okay, I just read this with fresh eyes, and it looks like I'm saying: "Your code is ugly, Phil". That's not what I meant to say! What I meant to say is that I used much of your code, and the architecture is such that the queries required are ugly. The ugly is a factor of poor planning on my part, and necessity on your part. Wasn't implying anything tacky. Sorry! -- Ron |
From: Phil P. <pe...@fl...> - 2005-09-26 07:54:13
|
Thanks, Ron I'll check it out and give it a try later. All the best Phil On Sun, 2005-09-25 at 21:18 -0500, Ron Pedde wrote: > > I think you'll get there before I do, and as I say, they way I've > > currently got it is s-l-o-w! > > This is in cvs. I really don't like the query, but then, I really > don't like the lack of database abstraction. Maybe once the database > stuff gets abstracted properly it won't be so ugly. > > In any event, working + ugly is probably better than not-working + > not-quite-as-ugly, so working it is. Thanks for the heads-up on > this, Phil -- I used much of your stuff. > > -- Ron > > > > > ------------------------------------------------------- > SF.Net email is sponsored by: > Tame your development challenges with Apache's Geronimo App Server. Download > it for free - -and be entered to win a 42" plasma tv or your very own > Sony(tm)PSP. Click here to play: http://sourceforge.net/geronimo.php > _______________________________________________ > mt-daapd-devel mailing list > mt-...@li... > https://lists.sourceforge.net/lists/listinfo/mt-daapd-devel > -- Now! Also available at phe...@gm... |
From: Ron P. <ron...@gm...> - 2005-09-26 02:18:14
|
> I think you'll get there before I do, and as I say, they way I've > currently got it is s-l-o-w! This is in cvs. I really don't like the query, but then, I really don't like the lack of database abstraction. Maybe once the database stuff gets abstracted properly it won't be so ugly. In any event, working + ugly is probably better than not-working + not-quite-as-ugly, so working it is. Thanks for the heads-up on this, Phil -- I used much of your stuff. -- Ron |
From: Phil P. <pe...@fl...> - 2005-09-22 07:16:27
|
On Wed, 2005-09-21 at 21:36 -0500, Ron Pedde wrote: > Okay, I see what's up there. > > Yeah, seems like it does need help in the playlistitems. Maybe we > need an id, playlistid and songid. id being an autoincrement field, > and playlist_id being what used to be called id. > > then we could sort by id on that table. > > > So, I decided that the only way I could reliably get back what I > > wanted > > was to add that sort order field? > > Yeah, I'm buying that, but I think I'd like to see it as an > autoincrement in playlistitems. > > If i don't hear from you before that, I'll code it up tomorrow night. > > -- Ron > I bow to your superior database-fu! <grin> I think you'll get there before I do, and as I say, they way I've currently got it is s-l-o-w! All the best Phil -- Now! Also available at phe...@gm... |
From: Ron P. <ron...@gm...> - 2005-09-22 02:36:23
|
> Hi, Ron, thanks for your email and sorry for the delay in replying. s'okay, I'm slow myself. :) > sqlite> select id,title from songs where (id in (select songid from > playlistitems where id=7)); > 938|Makin' Whoopee!.flac > 939|Get Me to the Church on Time.flac > 940|Street of Dreams.flac > 941|You Make Me Feel So Young.flac > 942|Where Or When.flac > 943|The September of My Years.flac > 944|Come Fly with Me.flac > 945|One for My Baby and One for the Road.flac > 946|All of Me.flac > 947|One O'Clock Jump.flac > 948|Don't Worry 'Bout Me.flac > 949|Sinatra Closing Monologue.flac > 950|It was a Verry Good Year.flac > 951|My Kind of Town (Reprise).flac > 952|Fly Me to the Moon.flac > 953|Frank Sinatra Monologue.flac > 954|I've Got a Crush on You.flac > 955|Angel Eyes.flac > 956|My Kind of Town.flac > 957|I've Got You Under My Skin.flac > 958|The Shadow of Your Smile.flac Okay, I see what's up there. Yeah, seems like it does need help in the playlistitems. Maybe we need an id, playlistid and songid. id being an autoincrement field, and playlist_id being what used to be called id. then we could sort by id on that table. > So, I decided that the only way I could reliably get back what I > wanted > was to add that sort order field? Yeah, I'm buying that, but I think I'd like to see it as an autoincrement in playlistitems. If i don't hear from you before that, I'll code it up tomorrow night. -- Ron |
From: Phil P. <pe...@fl...> - 2005-09-20 20:10:27
|
Hi, Ron, thanks for your email and sorry for the delay in replying. I went back to mt-daapd-cvs-20050815 and made some investigations - here's what I found: A/ Order files appear on disk: Note that if sorted by i-node they are in the order I want (but that's only coz they were ripped in that order) [root@nas Sinatra At The Sands with Count Basie]# ls -li *.flac 2187 -rw-rw-r-- 1 pep media 17432240 Sep 15 17:57 All of Me.flac 2248 -rw-rw-r-- 1 pep media 16396694 Sep 15 18:03 Angel Eyes.flac 2120 -rw-rw-r-- 1 pep media 23577527 Sep 15 17:51 Come Fly with Me.flac 2212 -rw-rw-r-- 1 pep media 21715206 Sep 15 18:00 Don't Worry 'Bout Me.flac 2179 -rw-rw-r-- 1 pep media 16928503 Sep 15 17:54 Fly Me to the Moon.flac 2185 -rw-rw-r-- 1 pep media 64613693 Sep 15 17:56 Frank Sinatra Monologue.flac 2205 -rw-rw-r-- 1 pep media 15777183 Sep 15 17:58 Get Me to the Church on Time.flac 2206 -rw-rw-r-- 1 pep media 20649677 Sep 15 17:59 It was a Verry Good Year.flac 2126 -rw-rw-r-- 1 pep media 13932121 Sep 15 17:51 I've Got a Crush on You.flac 2135 -rw-rw-r-- 1 pep media 22409519 Sep 15 17:52 I've Got You Under My Skin.flac 2213 -rw-rw-r-- 1 pep media 25232139 Sep 15 18:01 Makin' Whoopee!.flac 2249 -rw-rw-r-- 1 pep media 19779074 Sep 15 18:04 My Kind of Town.flac 2254 -rw-rw-r-- 1 pep media 6297065 Sep 15 18:04 My Kind of Town (Reprise).flac 2178 -rw-rw-r-- 1 pep media 21921667 Sep 15 17:53 One for My Baby and One for the Road.flac 2180 -rw-rw-r-- 1 pep media 6685813 Sep 15 17:54 One O'Clock Jump.flac 2250 -rw-rw-r-- 1 pep media 13719884 Sep 15 18:04 Sinatra Closing Monologue.flac 2157 -rw-rw-r-- 1 pep media 14226127 Sep 15 17:53 Street of Dreams.flac 2204 -rw-rw-r-- 1 pep media 15298366 Sep 15 17:57 The September of My Years.flac 2136 -rw-rw-r-- 1 pep media 13462837 Sep 15 17:52 The Shadow of Your Smile.flac 2214 -rw-rw-r-- 1 pep media 17463873 Sep 15 18:02 Where Or When.flac 2186 -rw-rw-r-- 1 pep media 23090035 Sep 15 17:56 You Make Me Feel So Young.flac B/ Order files appear in playlist on disk (which is the order I want in iTunes etc): [root@nas Sinatra At The Sands with Count Basie]# cat "Sinatra At The Sands with Count Basie.m3u" Come Fly with Me.flac I've Got a Crush on You.flac I've Got You Under My Skin.flac The Shadow of Your Smile.flac Street of Dreams.flac One for My Baby and One for the Road.flac Fly Me to the Moon.flac One O'Clock Jump.flac Frank Sinatra Monologue.flac You Make Me Feel So Young.flac All of Me.flac The September of My Years.flac Get Me to the Church on Time.flac It was a Verry Good Year.flac Don't Worry 'Bout Me.flac Makin' Whoopee!.flac Where Or When.flac Angel Eyes.flac My Kind of Town.flac Sinatra Closing Monologue.flac My Kind of Town (Reprise).flac C/ Here's what happens in the database: 1/ Find the playlist sqlite> select * from playlists where title like "%Sinatra%"; 7|Sinatra At The Sands with Count Basie|2|21|| 1126966724|/exports/media/music/Frank Sinatra/Sinatra At The Sands with Count Basie/Sinatra At The Sands with Count Basie.m3u|0 2/ Look at the linking table sqlite> select * from playlistitems where id=7; 7|944 7|954 7|957 7|958 7|940 7|945 7|952 7|947 7|953 7|941 7|946 7|943 7|939 7|950 7|948 7|938 7|942 7|955 7|956 7|949 7|951 Which does seem to return things in the order I want, as I guess the loop that adds items to this table goes through in order of the lines in the m3u file. 3/ Here's the query that returns the playlist sqlite> select id,title from songs where (id in (select songid from playlistitems where id=7)); 938|Makin' Whoopee!.flac 939|Get Me to the Church on Time.flac 940|Street of Dreams.flac 941|You Make Me Feel So Young.flac 942|Where Or When.flac 943|The September of My Years.flac 944|Come Fly with Me.flac 945|One for My Baby and One for the Road.flac 946|All of Me.flac 947|One O'Clock Jump.flac 948|Don't Worry 'Bout Me.flac 949|Sinatra Closing Monologue.flac 950|It was a Verry Good Year.flac 951|My Kind of Town (Reprise).flac 952|Fly Me to the Moon.flac 953|Frank Sinatra Monologue.flac 954|I've Got a Crush on You.flac 955|Angel Eyes.flac 956|My Kind of Town.flac 957|I've Got You Under My Skin.flac 958|The Shadow of Your Smile.flac And note that I don't get them back in the order they are mentioned in the playlist And an "order by id" clause won't get me what I need either as you can see So, I decided that the only way I could reliably get back what I wanted was to add that sort order field? What do you think? Regards Phil On Sat, 2005-09-17 at 16:58 -0500, Ron Pedde wrote: > -----BEGIN PGP SIGNED MESSAGE----- > Hash: SHA1 > > > I do hope I haven't missed anything really obvious and so wasted a few > > hours here, but I couldn't see anything in the code to make it play a > > *dumb* m3u playlist in the same order as the songs were listed in the > > original playlist file (IYSWIM!) > > Only in that one assumes that ids are monitonically increasing and > that a select with no order by implicitly orders by id. > > That appeared to be the case, but if you noticed otherwise, I'd be > interested to find out why. > > Might just be easier to do an "order by id" in the playlist query. > > > The other thing about it is, having very little sql fu myself, the > > replacement SQL query in dbs-sqlite.c around line 783 sucks > > mightily as > > it's horribly slow. I'm sure there must be a neater way to make it do > > the right thing there? > > Yes! The thing with the whole sql deal is that it's terribly > broken. The sql part of it needs to be abstracted, for one, and the > all the hard-coded sql queries have to be replaced with functions to > build a db-specific query. I'm looking at something similar to the > adodb interface. > > Why I didn't look at sql abstraction libraries before I tried to > refactor the db code, I don't know. > > That's probably the ugliest, stupidest part of the whole code, > though, and really needs to be fixed. > > -- Ron > > > -----BEGIN PGP SIGNATURE----- > Version: GnuPG v1.2.4 (Darwin) > > iD8DBQFDLJF2Dl/VbZJe82cRArq/AKC6La5Zuec5Jq/cn+Hc6BZzlVQOJACg75LH > e4ePeKof1ChBBT9BsINDYw4= > =1+sV > -----END PGP SIGNATURE----- > > > ------------------------------------------------------- > SF.Net email is sponsored by: > Tame your development challenges with Apache's Geronimo App Server. Download > it for free - -and be entered to win a 42" plasma tv or your very own > Sony(tm)PSP. Click here to play: http://sourceforge.net/geronimo.php > _______________________________________________ > mt-daapd-devel mailing list > mt-...@li... > https://lists.sourceforge.net/lists/listinfo/mt-daapd-devel > -- Now! Also available at phe...@gm... |
From: Ron P. <ron...@gm...> - 2005-09-17 21:58:21
|
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 > I do hope I haven't missed anything really obvious and so wasted a few > hours here, but I couldn't see anything in the code to make it play a > *dumb* m3u playlist in the same order as the songs were listed in the > original playlist file (IYSWIM!) Only in that one assumes that ids are monitonically increasing and that a select with no order by implicitly orders by id. That appeared to be the case, but if you noticed otherwise, I'd be interested to find out why. Might just be easier to do an "order by id" in the playlist query. > The other thing about it is, having very little sql fu myself, the > replacement SQL query in dbs-sqlite.c around line 783 sucks > mightily as > it's horribly slow. I'm sure there must be a neater way to make it do > the right thing there? Yes! The thing with the whole sql deal is that it's terribly broken. The sql part of it needs to be abstracted, for one, and the all the hard-coded sql queries have to be replaced with functions to build a db-specific query. I'm looking at something similar to the adodb interface. Why I didn't look at sql abstraction libraries before I tried to refactor the db code, I don't know. That's probably the ugliest, stupidest part of the whole code, though, and really needs to be fixed. -- Ron -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.2.4 (Darwin) iD8DBQFDLJF2Dl/VbZJe82cRArq/AKC6La5Zuec5Jq/cn+Hc6BZzlVQOJACg75LH e4ePeKof1ChBBT9BsINDYw4= =1+sV -----END PGP SIGNATURE----- |
From: Phil P. <pe...@fl...> - 2005-09-17 15:37:11
|
Hi, folks I do hope I haven't missed anything really obvious and so wasted a few hours here, but I couldn't see anything in the code to make it play a *dumb* m3u playlist in the same order as the songs were listed in the original playlist file (IYSWIM!) In the hope that it'll be useful, here's a patch to do just that. It only works for m3u playlists and is just bodged round (but in a harmless way) for other types of playlist. The other thing about it is, having very little sql fu myself, the replacement SQL query in dbs-sqlite.c around line 783 sucks mightily as it's horribly slow. I'm sure there must be a neater way to make it do the right thing there? Regards to all Phil -- Now! Also available at phe...@gm... |
From: Ron P. <ro...@pe...> - 2005-03-20 05:20:41
|
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 There is a new snapshot on the nightlies site (http://nightlies.mt-daapd.org) that's actually pretty reasonably complete: query and browse is there, so it works for the soundbridge. xml output is working again. Index support is still broken, but should be there shortly. Some things to be aware of: 1. the database is now opened after privs are dropped, so the database *and the folder containing it* must be writable by the "runas" user. 2. this requires sqlite 2.8, not sqlite 3. 3. there are probably lots of broken things, as this is a lot of new code. That said, core stuff seems reasonably stable. 4. transcoding probably doesn't work 5. if you used the previous snapshot, delete your database. this version will recreate the database and populate it correctly. any database format changes from here on out will be done in-place automatically. -- Ron -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.2.3 (Darwin) iD8DBQFCPQgkDl/VbZJe82cRAk7YAJwO52PtMhkjo7F/3SHi/tmrSsXO0QCdH5Cb HVmN9MeZvt4QbK1sEW9V6IM= =+Xvo -----END PGP SIGNATURE----- |
From: Ron P. <ro...@pe...> - 2005-03-18 00:31:10
|
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 I guess as an update... in cvs there is now query and browse support. Index support is still missing, and since wildcard queries are broken, a search from a Roku will error. I have a sqlite package build for NSLU2, and I'm going to work on performance with a goal of making the nslu2 as fast against sqlite as it is on gdbm. Fast enough to work, anyway. :) Once I get it performing decently, I'll post it as a snapshot. -- Ron -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.2.3 (Darwin) iD8DBQFCOiFMDl/VbZJe82cRAp+rAJ9Wjicfy0R4ISvsEoH7xRdpKrBbWwCgzCLp mrAADviNuOBD6cVBTePp7BU= =/l7Z -----END PGP SIGNATURE----- |