#1023 new task

Cloud App: Music player

Reported by: josipl Owned by: davidsarah
Priority: major Milestone: soon
Component: contrib Version: 1.6.1
Keywords: gsoc jsui music Cc: josiplisec@…
Launchpad Bug:

Description

This is a ticket related to my GSoC proposition. The plan is to write a fully featured music player which embraces the social components of the web while retaining privacy and security provided by Tahoe-LAFS. This application should be just a glimpse of what can be built on top of Tahoe-LAFS: highly interactive applications providing alternative views to files stored in Tahoe-LAFS.

See full proposal with UI mock-ups and implementation notes.

Attachments (7)

add-music-player.2.dpatch (2.8 MB) - added by josipl at 2010-07-08T22:47:53Z.
Fixed initial scan, which now actually happens.
add-music-player-with-core-deps.dpatch (8.8 MB) - added by josipl at 2010-07-09T22:26:21Z.
This file contains two patches, add-music-player and add-music-players-core-deps, where core-deps means that only files needed from dependencies are included (no READMEs, docs, etc.)
add-music-player.dpatch (230.0 KB) - added by josipl at 2010-07-10T19:23:33Z.
Only the music player's code.
updates01082010.dpatch (401.7 KB) - added by josipl at 2010-08-01T00:25:13Z.
Adds player's play/pause/next/prev interface, information about currently playing song, access to additional info about the artist, recommendations and music videos.
new-dependencies.dpatch (44.6 KB) - added by josipl at 2010-08-01T00:26:46Z.
Includes new dependencies (notifications library and Last.fm API wrapper) and a fix for MooTools?' JSON parser.
updates14082010.dpatch (266.5 KB) - added by josipl at 2010-08-14T18:12:57Z.
Adds search and playlist editor, numerous improvements to column rendering and slightly improved UI.
id3_extractor.py (329 bytes) - added by josipl at 2010-08-14T18:45:09Z.

Change History (25)

Changed at 2010-07-08T22:47:53Z by josipl

Fixed initial scan, which now actually happens.

Changed at 2010-07-09T22:26:21Z by josipl

This file contains two patches, add-music-player and add-music-players-core-deps, where core-deps means that only files needed from dependencies are included (no READMEs, docs, etc.)

comment:1 Changed at 2010-07-09T23:06:50Z by josipl

  • Cc josiplisec@… added
  • Status changed from new to assigned

(regarding add-music-player-with-core-deps.dpatch)

As mentioned, only files that are actually needed are included in the second patch (add-music-players-core-deps), while irrelevant files are available in a third patch which was too big for upload here (18 MB) but can be downloaded from: http://drop.io/aaiodts

comment:2 Changed at 2010-07-09T23:48:36Z by davidsarah

  • Keywords review-needed added
  • Owner changed from josipl to davidsarah
  • Status changed from assigned to new

Review needed for GSoC mid-term evaluations.

comment:3 Changed at 2010-07-09T23:48:44Z by davidsarah

  • Status changed from new to assigned

Changed at 2010-07-10T19:23:33Z by josipl

Only the music player's code.

comment:4 Changed at 2010-07-23T05:42:57Z by zooko

Unsetting review-needed. This patch is not ready to be reviewed as if it were ready to commit. However, it would probably be a good help and encouragement to Josip if anyone would look at his code, docs, or comments and give him your thoughts. :-)

comment:5 Changed at 2010-07-23T05:43:09Z by zooko

  • Keywords review-needed removed

Changed at 2010-08-01T00:25:13Z by josipl

Adds player's play/pause/next/prev interface, information about currently playing song, access to additional info about the artist, recommendations and music videos.

Changed at 2010-08-01T00:26:46Z by josipl

Includes new dependencies (notifications library and Last.fm API wrapper) and a fix for MooTools?' JSON parser.

comment:6 Changed at 2010-08-09T16:46:38Z by josipl

To review the music player's code, following patches have to be applied to Tahoe-LAFS darcs repo:

If you wish to test the player itself, you'll also need to apply following patches (those containing 3rd party code):

Further instructions on testing and installing the player can be found in 'NOTES' and 'INSTALL' files.

comment:7 Changed at 2010-08-09T18:54:33Z by davidsarah

  • Status changed from assigned to new

Starting review. Everyone, please test!

comment:8 Changed at 2010-08-09T22:16:20Z by zooko

  • Milestone changed from 1.8.0 to 1.9.0

comment:9 follow-up: Changed at 2010-08-10T11:41:13Z by francois

I've just started playing with it and will post comments along the way.

The following command in contrib/musicplayer/INSTALL is not correct.

  $ cp -r build/ ~/.tahoe/public_html/musicplayer

You should add a trailing slash to the destination directory, without it a build directory gets created in ~/.tahoe/public_html/musicplayer/.

  $ cp -r build/ ~/.tahoe/public_html/musicplayer/

comment:10 in reply to: ↑ 9 ; follow-up: Changed at 2010-08-10T13:45:15Z by josipl

Replying to francois:

I've just started playing with it and will post comments along the way.

Cool, thanks!

You should add a trailing slash to the destination directory, without it a build directory gets created in ~/.tahoe/public_html/musicplayer/.

  $ cp -r build/ ~/.tahoe/public_html/musicplayer/

I presume you're using *BSD or OS X? I tested it with GNU version of cp (v8.4) and it works as expected with and without the trailing slash.

comment:11 in reply to: ↑ 10 ; follow-up: Changed at 2010-08-10T17:05:10Z by francois

Replying to josipl:

I presume you're using *BSD or OS X? I tested it with GNU version of cp (v8.4) and it works as expected with and without the trailing slash.

No, I tried that was on Ubuntu 10.04. The command works as expected if directory musicplay does not previsouly exists.

francois@slayer:/tmp$ mkdir test1
francois@slayer:/tmp$ touch test1/file1
francois@slayer:/tmp$ cp -r test1/ blah
francois@slayer:/tmp$ ls blah
file1
francois@slayer:/tmp$ rm -r blah
francois@slayer:/tmp$ mkdir blah
francois@slayer:/tmp$ cp -r test1/ blah
francois@slayer:/tmp$ ls blah
test1
francois@slayer:/tmp$ 

comment:12 in reply to: ↑ 11 Changed at 2010-08-10T17:15:51Z by josipl

Replying to francois:

Replying to josipl:

I presume you're using *BSD or OS X? I tested it with GNU version of cp (v8.4) and it works as expected with and without the trailing slash.

No, I tried that was on Ubuntu 10.04. The command works as expected if directory musicplay does not previsouly exists.

Indeed, I haven't considered that case, thanks for pointing it out. Have you had any problems with the app itself?

comment:13 follow-up: Changed at 2010-08-11T21:19:55Z by freestorm

I have tested on Windows XP SP3 French with trunk branch.
When I tried to compile I got this error:

D:\tahoe-1023\contrib\musicplayer>python manage.py build
running build
error: error in C:\Python26\lib\distutils\distutils.cfg: command 'Build' has no such option 'compiler'

D:\tahoe-1023\contrib\musicplayer>

Changed at 2010-08-14T18:12:57Z by josipl

Adds search and playlist editor, numerous improvements to column rendering and slightly improved UI.

Changed at 2010-08-14T18:45:09Z by josipl

comment:14 Changed at 2010-08-14T18:53:04Z by josipl

The last patch (attachment:updates14082010.dpatch) adds some useful features and number of improvements to the old ones, so everyone - please test!

If the app will have problems with detection of your files or if songs/artists/albums will have funky characters in their names, please use attachment:id3_extractor.py to extract ID3 tags from your troubled files and attach the result here. (note: you will have to easy_install mutagen)

comment:15 in reply to: ↑ 13 Changed at 2010-08-16T23:17:51Z by freestorm

Replying to freestorm:

I have tested on Windows XP SP3 French with trunk branch.
When I tried to compile I got this error:

D:\tahoe-1023\contrib\musicplayer>python manage.py build
running build
error: error in C:\Python26\lib\distutils\distutils.cfg: command 'Build' has no such option 'compiler'

D:\tahoe-1023\contrib\musicplayer>

It works with patch attachment:updates14082010.dpatch

Tested with Firefox

comment:16 Changed at 2010-08-19T16:13:41Z by freestorm

I've tested musicplayer on CentOS 5.5 with python 2.4.3

When I try to build I have this error:

python manage.py roll
running roll
error: build/resources: No such file or directory

I have this issue because on manage.py line 161 you delete build directory, and after you copy 'src/resources' to 'build/resources'.

It seems that Python on CentOS don't create the build directory before copy subdir resources

So I've added

os.makedirs('build')

just before:

shutil.copytree('src/resources', 'build/resources')

After that it compile with success

comment:17 Changed at 2011-04-24T04:05:36Z by zooko

  • Milestone changed from 1.9.0 to soon

comment:18 Changed at 2011-04-24T04:07:09Z by zooko

  • Milestone changed from soon to 1.10.0
Note: See TracTickets for help on using tickets.