Hey,
Another set of comments:
+ The interface feels a bit sluggish and I think that is because if you 'tab' between the 2 windows there is a visible refresh. I've been looking to get rid of it one way or the other but I struggle with ncurses.
+ One of my databases is /media/cdrom, even though pytone doesn't really take care of removable media, it works well. The only problem is that when it jumps to a new song and the new song happens to be on CD/DVD, the cross-fading stops (and the playback stops) until the CD/DVD has spun up. Usually a 1 or 2 second freeze :(
+ It would be nice if there was a global search facility. Something that is not context sensitive (like the 'j' option in xmms). A popup with all the results as you type.
+ Regarding the open()/close() versus seek()/truncate(), strace clearly shows that open()/close() costs more than seek()/truncate() (I'm not sure if the results is system dependent). But the win is just a small part of the overall of pytone.
+ It would be nice if someone more experienced with 'strace -f -c -p <pid of pytone>' during playback can comment on the immense ammount of futex time spend. I see 11 threads by default for 1 playback, most of the threads spend time in futex. I wonder why there need to be 11 threads ?
PS strace -f seems to be the problem, but you can strace individual threads to see where they spend the most time during playback. Any help in understanding this is welcome :)
PS2 But you can do strace -c -p <pid thread1> -p <pid thread2> ... to get a total picture..
-- dag wieers, dag@wieers.com, http://dag.wieers.com/ -- [all I want is a warm bed and a kind word and unlimited power]