[Twisted-Python] What's everyone using Twisted for?

Tommi Virtanen tv at twistedmatrix.com
Fri Dec 14 14:39:29 EST 2001


Glyph Lefkowitz <glyph at twistedmatrix.com> writes:

> So, occasionally I've heard from people using Twisted.  I haven't made

	All the old beards know my software already, but here goes
	anyway:

        http://mc-foo.sourceforge.net/

MC Foo is an advanced, adaptive and learning mp3 jukebox server.

    * continuous music playing
    * learns what music you like and dislike
    * no static playlists; uses a playqueue you can view and alter
    * can be controlled from any hosts and even with infrared remote
      controllers
    * allows multiple user/preference profiles, according to whose
      listening and his or her mood

	The project started as part of our studies. That led to the C
	implementation -- choice of language was dictated by the
	lecturer.

	Since the course, I got bored of debugging C, and decided I
	need to learn Python. Five hours later, I had reimplemented
	the core parts of MC Foo in Python. I still had to debug the
	line-based network interface. Five hours later, I had ported
	it to use XML-RPC. That wasn't really satisfactory. I started
	spending time on #python on irc.openprojects.net, and saw this
	group of hackers putting together an asynchronic input/output
	framework (and more) in Python. Five hours later, MC Foo was
	ported to use twisted.spread.pb. There exists a Tkinter client
        GUI that allows you to visually manipulate the playqueue. I
        use the command line interface heavily.

        MC Foo uses existing Ogg/MP3 libraries as backend, and will
        never touch file contents or decompression ourselves (it does
        write to /dev/sound/dsp itself, but it's all opaque data to
        it). Where Python-accessible free libraries are not available,
        a suitable players will be used in batch mode. (That is
        mpg321, for now. Anyone know of a free Python MP3 library?)


        STATUS
        ------

        It plays music whenever I'm home.

       	Everything but the CVS is horribly obsolete. Grab the CVS snapshot,
        look around. Grab me on #python to help you get started -- I can
        successfully build .debs out of a CVS snapshot, create .taps with
        that, and run the .taps, but your mileage may still vary.

        I will add one or two features, kill some bugs and then finally
        release the first real Python version of MC Foo.

-- 
tv@{{hq.yok.utu,havoc,gaeshido}.fi,{debian,wanderer}.org,stonesoft.com}
double a,b=4,c;main(){for(;++a<2e6;c-=(b=-b)/a++);printf("%f\n",c);}





More information about the Twisted-Python mailing list