BirdTorrent -- Torrent support for Songbird!
The goal of this project is to create an add-on that allows Songbird to handle .torrent files. The basic idea is to cut out the middle man, allowing users to download music from torrent sites directly to their library.
Anthony Hughes [ashughes] - This is me!
Want to help out?
I have tested my 0.1pre on Ubuntu 8.04 32-bit and Mac OS X 10.5.5 i686.
It would be helpful to get results from other people using Mac and other Linux distros.
Please click HERE to help test Birdtorrent 0.1pre.
NOTE: I will be canvasing for Windows testers in the upcoming days. Stay tuned.
This contribution opportunity is over since I am no longer using a static library.
Survey - I need to know what torrent sites people use the most for the upcoming 0.2 release. Please vote.
Server - I need a torrent server set up in CDOT and populated with some test data. This will be used to both test and demonstrate while on the school network.
0.5 introduced quite a few bugs. I want to fix these bugs in this release:
- Download does not start if partial files exist already
- Duplicate Bookmark node on restart
- Bookmarks not cleaned up after uninstall
- Crash when download complete
- Closing Songbird does not halt download
- After a crash, torrents cannot be downloaded
- Downloading multiple torrents results in torrent::initialize() error
The goal of this milestone is to fix the lock-up issue created with Birdtorrent 0.4.0
Expected Release Date: Feb 6, 2009 Released Feb 5, 2009
The goal of this milestone is to get Songbird to download torrents via command line
Expected Release Date: Jan 23, 2009 Released Jan 24, 2009
Download the XPI here
- Torrents download
- Feedback given via terminal, not UI
- Songbird must be run from terminal to see feedback
- Downloading torrents locks Songbird until the download is complete (Fixed in 0.5.0)
The goal of this milestone is to get Songbird to treat .torrent files differently than passing said file to the Download Manager.
Expected Release Date: January 12, 2009
Released December 16, 2008.
Download the XPI: here
- The user can search for a torrent file by the bookmarks or search engines integrated into Songbird
- If they click on a download link for a torrent, they should be prompted with a congratulatory message
The goal of this milestone is to create some of the basic UI elements (bookmarks, search engines) and to post a design document in an effort to get feedback from the community.
Expected Release Date: November 14, 2008
Released: November 13, 2008 - you can get the xpi here.
Conduct a survey to determine top 5 torrent sites
Create standard set of bookmarks
Create standard set of search engines
Post design documentation
The goal of this milestone is to get libtorrent compiled as a static library and be able to wrap it into an XPCOM component. To demonstrate the proof of this working, I plan to inject a simple HelloWorld alert statement into one of the libtorrent functions.
Expected Release Date:
Oct 17, 2008 Released as Shared Library instead of Static
For the purposes of DPS909, get the unofficial 0.1 here. It is the static implementation and only works on Linux 32-bit.
- Go back to the drawing board
Compile Libtorrent as a static library
Compile Songbird's XPCOM HelloWorld Addon
Research Make for how to wrap libtorrent
Get sbHelloWorld and libtorrent built into one xpi
Inject torrent::version() into sbHelloWorld() constructor to print libtorrent version to console
Improve previous to alert() from a menu option in the UI
Clean up the code to make the addon my own (renaming sbHelloWorld -> birdTorrent)
- Resolve errors running Birdtorrent with Libtorrent as a shared lib
- Blog about the battle
- Post a design doc
Set up Mac build environment
Build Songbird on Mac
Build Libtorrent on Mac
- Build XPI on Mac
- Test XPI on Mac
- Set up Win32 build environment
- Build Songbird on Win32
- Build Libtorrent on Win32
- Build XPI on Win32
- Test XPI on Win32
5 - February - 2009
- Birdtorrent 0.5.0 released
- Torrents can now be downloaded
- Several new bugs introduced that should be fixed in 0.6: 
4 - February - 2009
- Birdtorrent 0.5.0pre released
- Put download process on it's own thread
- Users can now download torrents without affecting other Songbird tasks
- Plan to test for a couple days and release on Friday
24 - January - 2009
- Posted Birdtorrent 0.4.0 release
- Added 0.5 milestone
19 - January - 2009
- Posted new contribution opportunity: CDOT Torrent Server
- Discovered that SeneNET poses serious hurdles for testing/demoing torrent downloads
- Got torrent downloads working in Songbird via command line
- Serious Bug: makes app appear locked until download complete
- Need to investigate asynchronous or thread-safe way to implement
15 - January - 2009
- Posted a 0.4 -> 1.0 Project plan via blog
16 - December - 2008
- Released Birdtorrent 0.3.0
- Congratulates the user that they have tried to download a torrent
- Blog post coming shortly about the journey
4 - December - 2008
- Currently doing research/reverse engineering around ns/sb Content Listeners
- Posted my initial 0.3 objectives
13 - November - 2008
- Survey complete
- Birdtorrent bookmarks added to the UI
- Birdtorrent search engines added
- Birdtorrent 0.2 posted
8 - November - 2008
- Birdtorrent design documentation posted.
6 - November - 2008
- Birdtorrent working as a shared library (Linux Only)
- Posted 0.2 milestone requirements
17 - October - 2008
- Back to the drawing board
13 - October - 2008
10 - October - 2008
- Mac build system set up
- Songbird/Libtorrent/Birdtorrent building on Mac
- Birdtorrent tested OK on Mac
- Linux Regression test passed
3 - October - 2008
- Updated 0.1 Milestone
- Addon + Libtorrent build together
- Addon + Libtorrent work together
- Addon is compiling and working as expected
- Need to clean up code and blog
25 - September - 2008
- Posted 0.1 Milestone goal
- Detailed first tasks for 0.1 Milestone
18 - September - 2008
- Successfully built Songbird
- Build time was approximately 5m21s
16 - September - 2008
- Successfully set up build environment
- Successfully built Songbird XPCOM_HelloWorld add-on
- Successfully built libtorrent as a static library
- Need to read documentation for MAKE to put the two above together
The following is a list of bugs related to my project
bug 9164 - Torrent support and direct importing to playlist