aboutsummaryrefslogtreecommitdiff
path: root/subsonic-main/TODO.TXT
blob: 181448cc219b9196e7fa96470339d8fe225f755f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
DONE IN 4.7
-------------
Don't display "null" as artist in now playing.
Fixed crash on Java 7 caused by wrong sorting implementation.
Added Settings > General > Sort albums by year
Try with different encodings when importing playlists.
Admins should be able to manage all playlists (that is visible to them)
Use "album artist" tag if present.
Updated Slovenian translation, courtesy of Jan Jamšek
Automatically import all playlists on start-up.
Show all playlist metadata.
Fixed problem with no files being showed if removing and re-adding a media folder with scans in between.
Added "Settings > Media folders > Clean-up database"
Fixed slow "Top rated".

TODO IN 4.7
-----------------
Backup database in installer.
Add "Force rescan" option.
Problems importing playlists (BKKKPewsey)
Video files not displayed?
  https://mail.google.com/mail/u/0/?ui=2&shva=1#inbox/1382b15b29249d42
Displayed album year doesn't update when editing corresponding tag (Foyaxe)
Album art broken on IE8.
Test that sorting by track ID actually work, also when title doesn't contain track number.
  https://mail.google.com/mail/u/0/?ui=2&shva=1#inbox/1381ca3eb2016cb5
Make it possible to refresh left frame? At least bypass browser cache.
Go thru bug reports.
  http://forum.subsonic.org/forum/viewtopic.php?t=5708
Retest playlist import (different encodings)
Something wrong with matching players/users in Now Playing.
  https://mail.google.com/mail/?tab=cm#inbox/137dcaaddeba0936
ConcurrentModificationException
  https://mail.google.com/mail/u/0/?tab=cm#inbox/13822e43383dca84
Collapse long list of playlists.
Update documention wrt port 4040 on Windows.
REST doc: create getVideos example.
Setup crashplan.

Postponed:
  - Show toast when saving queue as playlist (and when saving settings)
  - Increase line height in playlist.jsp
  - Rename to play queue in Settings > Player.
  - Show "isPublic", #songs, duration in playlist.jsp.
  - Show message if nothing is starred.
  - Show message if no songs are selected when doing add to playlist.
  - Encourage users to save email addresses, also for admin.  Explain why.
  - Update apps to include PlayBook version.
  - REST: Add example links to demo server.
  - Blacklist abusers of my email.
  - Eliminate HomeController.Album.
  - Clicking play button on a video podcast doesn't work.

Handle albums without artist. Don't create them?
Support comment and ratings for Album table.
JSON exception with ampersand.
minisub doesn't play.
Test getPlaylist vs old-style IDs.
Include minisub
    http://forum.subsonic.org/forum/viewtopic.php?f=8&t=7553
Fix broken REST scrobbling, as reported by Ben.
JWPlayer subtitle plugin
  http://forum.subsonic.org/forum/viewtopic.php?t=5708

-

HTTP Live Streaming
  ffmpeg segmenting
  https://mail.google.com/mail/?tab=cm#inbox/1373a3cb757515ee
Evaluate HTML5.
Extend demo music, and add video.
Support ISO files.
wtv support   http://forum.subsonic.org/forum/viewtopic.php?f=2&t=7668
Add "-map_meta_data 0:0" to transcoding?
  http://forum.subsonic.org/forum/viewtopic.php?f=3&t=3270&p=34114#p34114
Test with IE 9
  http://forum.subsonic.org/forum/viewtopic.php?f=4&t=8295&p=33672#p33672
Don't hardcode c:/subsonic in windows installer.
  http://forum.subsonic.org/forum/viewtopic.php?f=2&t=8213
Audio problems on Linux.
  https://mail.google.com/mail/?ui=2&shva=1#inbox/133318f313c0ffbd
Coniq:
  http://forum.subsonic.org/forum/viewtopic.php?f=4&t=8042
subcl:
  http://forum.subsonic.org/forum/viewtopic.php?f=4&t=7897
Better video quality when sharing
  http://forum.subsonic.org/forum/viewtopic.php?f=8&t=7646
Show license details in About.
Support custom domain name in sharing (Settings > Advanced)
Rename "offsetSeconds" to "timeOffset" in StreamController, and update API doc.
Add "byteOffset" parameter as well.
Add rating attributes to <directory> in getMusicDirectory.
Subsonic Chumby
  http://www.activeobjects.no/subsonic/forum/viewtopic.php?t=7154
  http://forum.chumby.com/viewtopic.php?id=6733
REST: add method to get everything in search index (binary, compressed)?

Favorite rather than rating?
Bookmark support (for audiobooks, podcasts)
Stream from devices
  https://mail.google.com/mail/?shva=1#inbox/13352f77f870eba1
Instant playlist
  https://mail.google.com/mail/?ui=2&shva=1#inbox/1323fe922bb985af
Go through tracker.
Does canaca allow outgoing port 4040?
Backend service to email license keys on request.
Recursive getFolders API method?
  https://mail.google.com/mail/?shva=1#inbox/13090cd32a9922bd
Checkbox, combobox bg color
REST: scrobble should increment the internal playcounters too.
Show lyrics in tags.
  http://www.activeobjects.no/subsonic/forum/viewtopic.php?t=1700
Hide log for non-admin users?
ffmpeg processes not stopped in opera.
Sharing (facebook, twitter++)
  Test video sharing
  Add some space towards bottom of main.jsp
  todos in externalplayer.jsp
  Make it work if no songs are selected
  https://mail.google.com/a/activeobjects.no/#inbox/12ded75e94256283
Add "append" parameter to createPlaylist REST method. (or create appendPlaylist method)
Handle non-square cover art
  https://mail.google.com/a/activeobjects.no/#inbox/12debb505054d33a
Cover arts not always aligned in grid
  https://mail.google.com/a/activeobjects.no/#inbox/12defd71c5d9e916
Upgrade ffmpeg and support wtv.
Add browser notification
  http://www.activeobjects.no/subsonic/forum/viewtopic.php?t=5434&highlight=
AdMob
Show library statistics for video.
Playing only first three seconds of podcast
  http://mail.google.com/a/activeobjects.no/#inbox/12e341aeae9535eb
GPU-accellerated ffmpeg
  https://mail.google.com/a/activeobjects.no/#inbox/12f50fffffd6fecf
Add to playlist from main.jsp
Sencha Touch
Subsonic for Boxee
Linux locale issue
  http://www.activeobjects.no/subsonic/forum/viewtopic.php?p=22386#22386

DONE IN ANDROID 3.4
--------------------
Ensure readable text in notification when background is dark.
Fix crash when using fast scrolling.
Enable fast scrolling of playlists, search results and songs.
Improve caching of artist list.

TODO IN ANDROID 3.4
--------------------
Patch "Host name cannot be null"
  https://mail.google.com/mail/?ui=2&shva=1#inbox/137195c3dc8510ad
Support Bluetooth play/pause buttons in ICS.
Problem if underscore/dash in server name.
  https://mail.google.com/mail/?shva=1#inbox/1365ef6ddc03e31a
Music controls in notification.
  https://mail.google.com/mail/?ui=2&shva=1#inbox/136242ab25baddad
Holo theme
  http://android-developers.blogspot.com/2012/01/holo-everywhere.html
Update artist list in background.
ICS theme
  http://developer.android.com/design/index.html
  http://forum.subsonic.org/forum/viewtopic.php?f=5&t=8497
  https://mail.google.com/mail/?tab=cm#inbox/1344527f4abc11af
  http://android-developers.blogspot.com/2012/01/say-goodbye-to-menu-button.html
https://mail.google.com/mail/?tab=cm#inbox/135bb6c0d53edd42
Browser / web page widget for Android

Maintain track order for offline files.
Check for lingering .partial files.
  https://mail.google.com/mail/?ui=2&shva=1#inbox/134082ca4244da22
Don't pause on incoming call if RC.
PayPal integration
  https://www.x.com/developers/paypal/products/mobile-payment-libraries
Change generic album art.
In ICS, doesn't pause when disconnected from Bluetooth.
Bug if switching to RC and back for a song that is currently downloading.
Add OFL button.
Handle togglig OFL and RC.
Include German translation.
  https://mail.google.com/mail/?shva=1#inbox/133a4277174786c7
Google TV?
Test BlackBerry runtime
Android 4.0: Support Audio remote controls
  http://developer.android.com/reference/android/media/RemoteControlClient.html
Handle files in root folder.
EQ resets when switching between online/offline.
  https://mail.google.com/mail/?shva=1#inbox/131e7e98173f0c97
Don't stop playback when switching between online/offline.

Screen reader support for play, pause, etc
Fix other crashes.
In-app purchase.
Graphic accelerate.
Make Pin work if completefile exists, also if not online.
Support API level > 10.  Show title bar if Honeycomb?
Sharing support.
Podcast support.
Offline shuffle play broken.
Test: New setting: "Wi-Fi streaming only"
New Pin/unpin icons.

Enable honeycomb actionbar
Access other music on phone.
  Make it possible to select multiple root folders.
  Browse structure?
  android.intent.action.PICK
  "Save offline media in"  /sdcard/subsonic/music
  "Also show media in" /sdcard/Music
  Make sure to create folder when changed.
  Rename "Select server" to "Media source".
    Server 1
    Server 2
    Server 3
    Offline media
Does repeat button work in landscape mode?
DownloadServiceImpl: ignore a mysterious MediaPlayer error
  https://mail.google.com/a/activeobjects.no/?ui=2#inbox/12eff38d39be7a3c
Error when using foo:3030 as server url.
Avoid more than one instance.
Use new intents in widget.
Reset shuffle play buffer when changing server.
Long-click:
  Long-click artist -> Play random
  Lyrics
  Use popup for voice search?
  Test voice search.
  Simplify code in SelectAlbumActivity?
Improve horizontal layout, move tab buttons to the right.
Shuffle play turned back on when rotating phone. (onNewIntent?)
Better handling of full SD card.
Unnecessary initial pause when starting partially downloaded songs.
Reuse AlbumViews (in EntryAdapter)
Cooler button in slider (polished steel)
Nicer icon for music library.

Skipping problem
  http://www.activeobjects.no/subsonic/forum/viewtopic.php?p=15260#15260
Disk-full patch from Chad
  https://mail.google.com/a/activeobjects.no/?ui=2#inbox/12b7985fd3a052ac
Improve behaviour when SD card is mounted.
Detect Bluetooth disconnect
  android.bluetooth.intent.action.HEADSET_STATE_CHANGED
  android.bluetooth.intent.HEADSET_STATE
  android.bluetooth.headset.action.STATE_CHANGED
Test "Save on phone" in offline mode.
Bookmark location in long files.
Save coverart when caching music. (and reuse it rather than doing http)
  Remove logic from MediaStoreService.
  Go through caching logic.
  File load/save should be done in CachedMusicService.
Fix crashes
Optionally hide music from other players (.nomedia)
Long-click download
  http://www.activeobjects.no/subsonic/forum/viewtopic.php?t=2651&start=105
ogg support
  https://mail.google.com/a/activeobjects.no/?tab=cm#inbox/129f7959b2353a3d
  http://www.activeobjects.no/subsonic/forum/viewtopic.php?p=10101
Cover art download doesn't cancel properly.
Extend playlist menu (Clear, Save...)
Skipping broken when downloading file.
Crashes if plugging in usb while downloading.
Only retry if network error.
Select music folder in server settings. (Including "All").
Use combination of progress bar and slide bar.
Bluetooth and audio button control support.
Max bitrate settings: Differentiate between 3G and non-3G
Add icons to server popup.
Album art border, ala wimp
Reuse list item views in SelectAlbumActivity?
Colors: http://www.androidtapp.com/opentable/


PLAYLIST
--------
Show playlists in left column.
Checkbox in main.jsp + combobox with options.
Save playlists in database?  Access rights.
More prominent display.
Automatically import iTunes playlists.
Dynamic playlists,  Message from zeekay.
Personal playlists http://www.activeobjects.no/subsonic/forum/viewtopic.php?p=7538#7538
Playlist summary. http://www.activeobjects.no/subsonic/forum/viewtopic.php?t=1833
New playlist REST methods?
WiMP, iTunes

SITE
----
Tutorial, windows shared folders.
Slideshow
  How it works, slide from presentation ("Stream music straight from your home computer")
  Update video slide.
Update Android Market description

VIDEO
-----
Hide timeOffset if duration unknown.
Longer buffer (bufferlength flashvar)
Hide slider.
Add .divx
Select inital bitrate based on network type.
Buy new JW license

FORUM UPGRADE
---------------
x Drop phpbb2 and phpbb3 databases.
x Delete existing phpbb3 forum.
x Create new phpbb3 installation.
x Create index.php on forum.subsonic.org
x Reboot
x Disable forums.
x Export sql.
x Rewrite URLs in sql.
x Convert
x Update search index.
x Unlock forums.
x Change style.
x Change logo.
x Enable attachments.
x Verify
x Create php forwarding pages on activeobjects.no
x Update links in subsonic.org pages.
x Update DNS.
x Create announcement.
  Investigate backup.
  Give courtesy to canaca.com
  Anti-spam tools
    http://forum.subsonic.org/forum/viewtopic.php?f=9&t=7623
x Search on subsonic.org

REST method for rating.
Amahi
Add link to ReadyNAS add-on
  http://www.readynas.com/forum/viewtopic.php?f=48&t=45661
Initial delay when playing in JW Player.
  http://www.activeobjects.no/subsonic/forum/viewtopic.php?t=5560
Rename "mask" to "file types". (And change implementation to handle missing periods.)
Subsonic Premium
Singleton jukebox (at least in REST)
  https://mail.google.com/a/activeobjects.no/#inbox/12d9a0b7bd4858af
Flowplayer
  http://flowplayer.org/plugins/streaming/pseudostreaming.html
jSub
  http://www.activeobjects.no/subsonic/forum/viewtopic.php?t=4479
Maven 3
Investigate mapped network drives.
Show recommended songs, based on last.fm
  http://www.activeobjects.no/subsonic/forum/viewtopic.php?t=3211
  https://mail.google.com/a/activeobjects.no/#inbox/12ddbfe26940f6cc
Run Subsonic on Dreamplug
  http://www.globalscaletechnologies.com/p-41-dreamplug-devkit.aspx
  Invoice: https://www.globalscaletechnologies.com/receipt.aspx?ordernumber=113837
Suggestions from Gary:
1) Many users suggest, and I concur, that making the drop down for the number of albums displayed, “sticky” so that it
   remembers your last selection.  Many users ask how to change the default from 10.

2) Auto update of album art.  This seems to be declining in interest, but was an issue a while ago.  Not a problem for me
   personally, but I do visit sites that are missing quite a bit of artwork.  I know, and use a 3rd party program to do
   library updates, but I’m sure there are many users who would like to see an auto select for missing album art.

3) Folder permissions for users.  This has been pretty big recently.  I know I use public and private sites to segregate
   material, but I too could eliminate one site if I could control which users had access to which folders.

4) Personal suggestion – make Internet TV/Radio section in the left hand column collapsible.  Maybe not a bad idea for
   the letter sections as well.

5) Photo Album section.  This would make SS the complete home media front end if it could handle a photo library,
   perhaps with slideshow capability.

html multiple file upload.
Build ffmpeg for x86 on Mac
  https://mail.google.com/a/activeobjects.no/?ui=2#inbox/12cb55940868506d
  ./configure --disable-shared --disable-mmx --arch=x86_64
  ./configure --arch=ppc --enable-altivec --extra-cflags="-arch ppc" --extra-ldflags="-arch ppc" --enable-cross-compile --target-os=darwin
According to Petter, overriding SUBSONIC_HOME doesn't work in Debian.
Estimate content-length for transcoded/downsampled files.
Complete getjar registration.
Test non-ascii transcoding on linux.
For transcoded files, display both source and target formats in gui.
REST method supporting "Play random", or shuffle for a sub-tree
Disable scrobbling while downloading; Add new scrobble command?
Select wrong player when clicking "Settings" in playlist frame.
Upgrade DWR to 3.0rc2 when in becomes available (to make it work with Tomcat 7)
Keyboard shortcuts.
HTML5/iPad
  http://code.google.com/p/subtunes/
  http://www.activeobjects.no/subsonic/forum/viewtopic.php?t=3310

Add REST method to add license key.
Subsonic Premium
Add one-liner intro in web page, a la http://www.rogueamoeba.com/nicecast/
  o No monthly fees, no uploading, no syncing
Change icons all around.
Add trialExpires to REST API.
Change font in logo?
Add "append" parameter to createPlaylist REST method.
Modify port number and memory on Mac.
Make port 4040 the default on Windows installations not 80
Write tip in Google group about subsonic.org redirect optimization.
Update Getting Started, http://docs.google.com/Doc?docid=0ASOhs01fcWMXZGY2eDc0amZfMzJnZDUyaHJocw&hl=en
Create translation tool for backend.
Downsample command used for non-mp3.
New screenshots for themes.
Go thru About page.
Change documentation of subsonic_home.  Use popup?

Make maven build from root work.
Java silent installation: http://java.sun.com/javase/6/webnotes/install/jre/silent.html
WiX: https://sourceforge.net/projects/wix/
Add track count REST.
Upgrade JWPlayer
Fix bug with executor in networkservice.
Disable ads first 30 days?
Show status in getting started.
Test lyrics with non-ascii.
Global option to disable chat.  Admin should be able to remove individual messages.
Scrobbling broken for transcoded songs? http://www.activeobjects.no/subsonic/forum/viewtopic.php?t=2316
Bug: Double-scrobbling when transcoding.
Restart BasicPlayer for each song in playlist. http://www.activeobjects.no/subsonic/forum/viewtopic.php?p=6225

ANDROID
-----------------------
Android: Fix bugs reported by Market.
Android: Suggest switching to offline mode if network error.
Android: Make offline mode more visible.
Android: Reorder playlist
Android: Queue Next + Queue Last
Swipe album art to go to prev/next track.
Seeking fails when playing partial file.  seekTo() should test if playing from partial.
Only show fullscreen when applicable.
Create Norwegian translation.
Use IOUtils, StringUtils.
List of bugs/requests from cwilliams:  http://www.activeobjects.no/subsonic/forum/viewtopic.php?p=7854
Use CancellableTask in BackgroundTask. Check for isCancelled in loops.
Improve design of DownloadFile.getCompleteFile() etc.
Remember position for podcasts.
Use Droid-Fu?
Android: Long-click on song list.
Android: Option to auto-sync certain directories or playlists.
Android: Option to tag certain directories as favorite.
Fix encoding problems in Subsonic Demo files.
Must resolve content type in StreamController, even if "suffix" is not given.

VIDEO
-----
Air Video
  http://www.inmethod.com/air-video/index.html
  http://lifehacker.com/5473128/air-video-streams-your-videos-to-your-iphone-with-minimal-effort-is-incredible
  http://www.inmethod.com/forum/posts/list/60/34.page
http://rob.opendot.cl/index.php/useful-stuff/ffmpeg-x264-encoding-guide/
Create separate "Video folder" definition?
Be able to select stretching type.
Fix window popup.
Database support.
Use provider=video for playing back AAC/M4A. Don't set duration if unknown.
Add "transcodedFormat" to PlaylistService.
Don't transcode aac/m4a by default.
Test playback on Android.
c:/subsonic-dev/transcode/ffmpeg.exe -i in.avi -vcodec libx264 -fpre libx264-normal.ffpreset out.mp4
Copy x264 preset files to HOME or something.
Encode audio as mp3?
Manually put videos in transcoding queue?
JWPlayer popup, http://www.activeobjects.no/subsonic/forum/viewtopic.php?p=9147
http://developer.longtailvideo.com/trac/wiki/Player5Formats
http://developer.android.com/guide/appendix/media-formats.html
http://www.pldx.com/blog.php/2009/06/encoding-h264-with-ffmpeg/
Don't set duration to zero.
Set proper size.
ffmpeg flv transcoding.
When adding a transcoding with default=true, enable it for all players.
Don't audioscrobble videos.
Test new JW Player on Mac and Linux.  Also with Flash plugin 9.0
mp4 tag parser https://contributions.coremedia.com/isobox4j

BACKLOG
==========================
Show song title in Browser Title Bar, http://www.activeobjects.no/subsonic/forum/viewtopic.php?t=3304
Next to Lyrics link, add "Share" link with permalink? (link.subsonic.org/iksj)
auto-detect links in chat.
Chat broken on Safari
Add "Copy settings from user" option.
Improve menus in web pages.  Make sub menus.
Add FLAC>WAV transcoding
Add "Add random" to main.view and "Add to playlist" in more.view
Use signed requests against Amazon.
http://www.jthink.net/jaudiotagger/index.jsp
Exclusion filter (*.svn, *.log, *.pun)
Select music folder / playlist folder in Windows installer.
Add links to Facebook group from home page and Help page.
Bad performance, low bandwidth.
Avoid underlined image links in menu bar (FF, Chrome)
Nightly build.
Write installation note on how to setup internet access.
Mention Amahi in web pages.
Contact Amahi
Run agent as admin in Windows 7. http://www.activeobjects.no/subsonic/forum/viewtopic.php?t=1479
Does subsonic_exclude.txt work for indexing? http://www.activeobjects.no/subsonic/forum/viewtopic.php?t=1965
User registration.  http://www.activeobjects.no/subsonic/forum/viewtopic.php?t=1931
Further search improvements, e.g., "search all". http://www.activeobjects.no/subsonic/forum/viewtopic.php?t=1839
Improve year range in random playlist generator.  Maybe provide to and from fields.
Improve Midnight Fun theme.
Google Image Search or Yahoo search
Automatically enable/disable "Notify me about new versions" option when new users are created.
Show who's online.
Error when path contains "&amp;" http://www.activeobjects.no/subsonic/forum/viewtopic.php?t=1921
Simplify Media.  How does it avoid opening ports in router?
Integration with Spotify/Despotify/Jotify.
Create Jing screencast.
Specify upload directory per user. Option to delete files?  http://www.activeobjects.no/subsonic/forum/viewtopic.php?t=1710
Coverflow, http://imageflow.finnrudolph.de/, http://sockso.pu-gh.com
Problems with player resolution for guest users when behind proxy. http://www.activeobjects.no/subsonic/forum/viewtopic.php?t=1815&postdays=0&postorder=asc&start=0
Use SoundManager 2 to implement inline song preview.
Somehow indicate player type in playlist.
Make contiuous random mode work in jukebox mode.
Use reverse ajax for Now Playing?
Recover/reset forgotten password. http://www.activeobjects.no/subsonic/forum/viewtopic.php?t=1654
IE 8 error. http://www.activeobjects.no/subsonic/forum/viewtopic.php?t=1869
Enable auto-random mode for jukebox.
Reduce jukebox logging.
Validate transitional dtd.
Profile for bottlenecks
Selected music folder not remembered.
Now playing broken?
"grep -v" in subsonic.sh
Updates to subsonic.sh  http://www.activeobjects.no/subsonic/forum/viewtopic.php?t=1634
Podcast broken? http://www.activeobjects.no/subsonic/forum/viewtopic.php?t=120
Bug when adding new tracks to playlist,  http://www.activeobjects.no/subsonic/forum/viewtopic.php?t=1543
Refactor SearchService.getRandomSongs()?
Problem when streaming 2gb+ files, http://www.activeobjects.no/subsonic/forum/viewtopic.php?t=1538
Change default cover image.
Read .txt and .nfo for artist/album reviews. http://www.activeobjects.no/subsonic/forum/viewtopic.php?t=1587
Change LAME download url.
PHPBB authentication. http://www.activeobjects.no/subsonic/forum/viewtopic.php?t=1857
Ignore files/directories by name (e.g., ".svn"), FilenameUtils.wildcardMatch(), http://www.activeobjects.no/subsonic/forum/viewtopic.php?t=831
Jetty download performance, http://www.activeobjects.no/subsonic/forum/viewtopic.php?t=1712
Add to Ubuntu repo.
Podcast : Playing Direct from URL, http://www.activeobjects.no/subsonic/forum/viewtopic.php?t=1667
iPod/iPhone support.
   http://www.activeobjects.no/subsonic/forum/viewtopic.php?t=1200
   http://www.alloysoft.com/
   http://developer.apple.com/webapps
   http://developer.apple.com/internet/webcontent/bestwebdev.html
Artist/Album level comments, ability to read from txt file, http://www.activeobjects.no/subsonic/forum/viewtopic.php?t=1587
"External player" problem described by ghjames in http://www.activeobjects.no/subsonic/forum/viewtopic.php?p=3866
"Sign up" feature.
Introduce "Default transcoding bitrate" instead of hardcoding it to 128 kbps.
Message system (http://www.activeobjects.no/subsonic/forum/viewtopic.php?t=24)
http://mojo.codehaus.org/jspc/jspc-maven-plugin/usage.html
NoCache for login.view?
Optionally hide media library statistics.
Remember number of albums to show in home.jsp.  Either persistent or per session.
Remove RipServer support.
More > Random playlist doesn't autostart in Flash player.
Log when people log in.
Precompile JSPs in Jetty mode. http://www.j2eegeek.com/blog/2004/05/03/a-different-twist-on-pre-compiling-jsps/
Show name of currently playing song in Flash player.
Upgrade to latest JW player?
Wrong duration in transcoded wma. http://www.activeobjects.no/subsonic/forum/viewtopic.php?t=1461&start=15
Create Linux package installer.
"Remember me" broken with LDAP auth?
Selected podcasts not cleared when deleting.
top.view cached erronously?
Fix layout in player settings.
Implement Slim protocol.
Tag editing breaks embedded cover art. http://www.activeobjects.no/subsonic/forum/viewtopic.php?t=1305
Double-write tag info? http://www.activeobjects.no/subsonic/forum/viewtopic.php?p=2245
Error with new LAME version?  http://www.activeobjects.no/subsonic/forum/viewtopic.php?p=3339
Sort albums by year. (And show year). getCoverArt() should be made non-recursive. http://www.activeobjects.no/subsonic/forum/viewtopic.php?t=1075
Support FLV.
Support AVI etc?
Add Show/Hide Video?
Minimize/maximize playlist frame.
Create support for default player type per user.
Show active users. http://www.activeobjects.no/subsonic/forum/viewtopic.php?t=1387
Option to specify extensions not to be included when downloading directories.
Playlist drag'n drop
"Featured" albums. http://www.activeobjects.no/subsonic/forum/viewtopic.php?t=1388
http://www.activeobjects.no/subsonic/forum/viewtopic.php?t=1407
Avoid logging of DWR stuff. Add logging from Subsonic service.
Create tutorial of how to build from source.
Set multiple icons when using Java 6(?)
Show who played a track last. http://www.activeobjects.no/subsonic/forum/viewtopic.php?t=1404
Permalink support?
Support "play more random songs" if web player.
After logon, go to originally requested page.
Fix broken SSL, http://www.activeobjects.no/subsonic/forum/viewtopic.php?t=1301
Simplify URL rewriting. Always use relative links if that works.
Log error if podcast delete file doesn't succeed.
Podcast duplicate files. nrk_verdt_aa_vite_2008-0820-1203_24459.mp3 + nrk_verdt_aa_vite_2008-0820-1203_244590.mp3
User/music folder authorization.
Show percent complete for translations.  In web page at least.
Improve getting started.
Look at maven release plugin.
last.fm problem. http://www.activeobjects.no/subsonic/forum/viewtopic.php?t=1278
Show total playlist duration.
Remove player dynamic ip property?
Upgrade to Spring Security.
Bundle with open-source UPnP app?
Uninstaller should optionally delete c:\subsonic
Nicer popup for lyrics and online help.
Add option for one player per user http://www.activeobjects.no/subsonic/forum/viewtopic.php?t=1255
Verify that LastModified works for avatars.
Create per-channel podcast settings. At least enable/disable.
Should make it possible to retrieve avatars without reading the binary column.
Per-song rating.
Use filter for subsonic version in site xml's.
Add download/upload speedometer.
Implement LastModified in main.jsp (Must test on FF).  Must add timestamp on music_file_info. Problem with cover art scheme.
Party mode: Go into random mode if the playlist is finished.
Retag track number in podcasts. http://www.activeobjects.no/subsonic/forum/viewtopic.php?p=2003
Make background image repeat in x-direction?
Use YUI menus: http://developer.yahoo.com/yui/menu/
Spacing in home.jsp
Use em instead of pt when padding.
DAAP support. http://www.activeobjects.no/subsonic/forum/viewtopic.php?t=976
Random radio mode (http://www.activeobjects.no/subsonic/forum/viewtopic.php?t=964)
Option for unlimited download/upload if on LAN.  Remember to support proxies.
Integrate with Amazon mp3.
Make some features available to donors only.
Caching bug, selected music folder.  At least in IE and FF.
RejectedExecutionHandler handling in ThreadPoolExecutor constructor.
Precompile JSPs for Dekoh. Separate modules "subsonic-precompiled-jetty" and "subsonic-precompiled-dekoh".
Fix javascript error in playlist in IE.
Display the sub folder count next to the artist folder (http://www.activeobjects.no/subsonic/forum/viewtopic.php?t=905)
Facebook integration
Show/Hide Podcast channel description (e.g., Java Posse)
Show mini coverarts "Next/Prev Album".
Add check for admin rights in installer.
Add "play count" to Podcasts.
ASX (http://www.activeobjects.no/subsonic/forum/viewtopic.php?t=638)
Make it possible to cancel/resume Podcast downloads. ("Cancel selected")
Select all in textfield for settings image url (and other textfields?)
Remove stream status after end of playlist is reached.
Ajax-ify Amazon pages.
Wrong progress for http://atvs.vg.no/script/podcast.php?category_id=7
Resumable Podcast downloads.
"Random" very slow when no music folders.
Test if dwr javascripts are cached in browser (especially for "now playing")
Better IE support in playlist checkbox stuff. Instead of disabling (which isn't supported in IE, set font color to gray).
Test playlist checkbox stuff, in particular download auth.
Move "logout" under search search field.
Reformat all java code.
Check out non-Latin ID3 problem (http://www.activeobjects.no/subsonic/forum/viewtopic.php?t=527)
Track titles that begin with numbers (http://www.activeobjects.no/subsonic/forum/viewtopic.php?t=170) (For instance "13 humler")
Fault-tolerant transcoding FLAC>MP3 (http://www.activeobjects.no/subsonic/forum/viewtopic.php?t=545)
Drag'n'drop in playlist.
Fix description in Freshmeat.
ID3 problems (http://www.activeobjects.no/subsonic/forum/viewtopic.php?p=952#952)
Make sure podcast works with playlist names with non-latin chars.
Test Google Web Toolkit?
Show next/prev 100 hits.
Create checkbox and combobox menu in main.jsp.
FLAC > OGG audioscrobbling problem (http://www.activeobjects.no/subsonic/forum/viewtopic.php?t=597)
Support MUSICBRAINZ_TRACKID (http://www.activeobjects.no/subsonic/forum/viewtopic.php?t=597)
Check out http://www.javazoom.net/jlgui/jnlp_configurator.jsp
Check out asx/asf: http://www.activeobjects.no/subsonic/forum/viewtopic.php?t=638
Make podcast work in iTunes.
Longer cache expiry period for images.
RSS feed for newest content.
Web proxy support (for audioscrobbler, amazon etc)?
Missing refresh when changing from no cover art.
Resolve problem with MetaData NullPointerException. http://www.activeobjects.no/subsonic/forum/viewtopic.php?t=112
Don't show empty statistics.
AJAX error dialog from Dave.
Remove "user" column from status.jsp?
Sometimes a song is started twice. Two m3u's sent?
Profiling (http://www.yourkit.com/)
Invalidate browser cache when changing cover art image.
http://www.activeobjects.no/subsonic/forum/viewtopic.php?t=94
Mails from Dave (IP change problem).
Why is Player.id a String, not an Integer?
Upload broken in IE.
Upload popup?
Add transcoder for cell phone etc.  aacPlus.
Seeking.
Display running time, as well as elapsed time for current song.
Playback buttons.  Stop, play, pause, resume, next, previous.
Create "Electron Blue" theme (http://www.msn.com/) Startour?
Use cookie.setPath()?
      cookie.setPath(request.getContextPath());
Use AJAX to change random albums on home page, one at a time.
Implement pure AJAX version of playlist.jsp.
Check Javascript error on IE.
Photo support?
User-based folder access
Replace methods in my StringUtil with corresponding in Spring.
Batch download of cover arts.
Use Rico for rounded edges. http://openrico.org
Use cewolf?
Use dialog popup for online help.
Make another theme with smaller fonts.
Make fancy css background for playlist toolbar.
Use CSS overflow: auto for scrolling in playlist?
Use Spring StringUtils.cleanPath()?
Option to show exception details in error log.
Quick link to "#" doesn't work.
Should receive feedback when changing passwords, creating users etc.
java.io.FileNotFoundException: C:\music\The Alan Parsons Project\The Best of The Alan Parsons Project\folder.jpg (Access is denied)
Use HTML 4.01, validate all pages.
Create taglib for help popup.
Make it work on Java Application Server 8.1.  (web.xml element order)
Make it work on Geronimo.
Drop ResourceBundle_en.
Upload quota per user.
Support reverse proxies.  Send url as parameter. (<a href="javascript:document.location.href='foo.jsp?referrer=' + document.location.href">Trykk her</a>)
Support forward proxies.
Hvis spilleren har "Auto-control enabled" skrudd av, så vises det en ny knapp "Stream" i playlista som kan brukes for å få m3u-en.
Replace use of arrays with type-safe collections.
"Mini" interface for phones, pda's etc.
Longer log file. Option to not display DEBUG lines in help.jsp.
Kant rundt hele vinduet, som i forum.
Always show playlist menu.
Let number of columns be dynamic in home page.
Performance monitoring.
Use MusicFile.isAlbum()
Simplify new/random in SearchService.
If the album-name contains an apostrof ( ' ), then I get an error when I search for cover-art
Provide links to podcast, settings, help, message board, wishlist on home page.
Check that multi-discs are not included in random and newest albums.  Change implementation of isAlbum.
Integrate Windows Media Player in web page.
Fetch current version asynchronously.
UPnP
Register at myprogs.net
Link to Pandora (http://blog.pandora.com/faq/index.html#92)
Check Jinzora features. http://www.jinzora.com/pages.php?pn=developers&sub=changelog
Add Cancel button to Save Playlist.
Håndtere galt format samt manglende filer i playlister.
Håndtere playere med navn som ikke er iht httpurl.
Rydd opp i http-parameternavn.
Gjøre sidene XHTML-kompatibel.
Validaton of index specification.
Make playlist loading more robust.  (Fails on url's, for instance.)
Make PDA skin.
Bug: Going back adds songs to playlist multiple times.
Quiz
Emulator 3G-telefon
XHTML Mobile Profile
Add mp3-player as applet.
Parse tags for wma etc.
No SHOUTcast if playlist is empty.
i18n of enums.
http://www.freeware-guide.com/dir/audio/streaming.html -> Registrert 10. mai 2005
Option to create structure based on tags.
Zip and unzip fails with accented characters.  Use commons vfs, or some other lib.
Log when zipping individual files.
Add online help to search index update.
Vis "lignende" album.

HOW TO RELEASE
===============================
Update version number in pom.xml, version.html, MultiController.java.
Update changelog.jsp, download.jsp
Commit
svn up
mvn clean -P full
mvn install -P full
cd subsonic-assembly; mvn assembly:assembly; cd ..
Deploy
Check that correct local version is displayed.
Upload files to SourceForge (in separate shell, REMEMBER TO CHANGE VERSION BELOW).
  rsync -avP -e ssh subsonic-installer-windows/target/subsonic*-setup.exe  sindre_mehus,subsonic@frs.sourceforge.net:/home/frs/project/s/su/subsonic/subsonic/4.7.beta2/
  rsync -avP -e ssh subsonic-assembly/target/subsonic* sindre_mehus,subsonic@frs.sourceforge.net:/home/frs/project/s/su/subsonic/subsonic/4.7.beta2/
  rsync -avP -e ssh subsonic-installer-mac/target/subsonic*.pkg subsonic-installer-debian/target/subsonic*.deb subsonic-installer-rpm/target/subsonic*.rpm sindre_mehus,subsonic@frs.sourceforge.net:/home/frs/project/s/su/subsonic/subsonic/4.7.beta2/

Modify FRS properties
  https://sourceforge.net/projects/subsonic/files/subsonic/

Upload site (OLD):
 rsync -avP -e ssh --exclude ".*" subsonic-web/  sindre_mehus,subsonic@web.sourceforge.net:htdocs/

Upload site (NEW):
  rsync -avP -e ssh --exclude ".*" subsonic-site/src/main/webapp/  root@subsonic.org:/usr/local/jakarta/tomcat/webapps/pages/

svn copy https://subsonic.svn.sourceforge.net/svnroot/subsonic/trunk https://subsonic.svn.sourceforge.net/svnroot/subsonic/tags/release-4.7.beta2 -m "Tagging 4.7.beta2"
Register at freshmeat.
Post message on forum.
Update version number in pom.xml etc.
Take backup of forum.

Upgrade Subsonic backend: CHANGE DATE BELOW
  Backup backend database.
    Checkpoint database (db.view)
    cd /var/subsonic-backend
    tar cvf db-backup-2012-06-09.tar db
  cd subsonic-backend
  mvn clean install

  mkdir /usr/local/jakarta/tomcat/webapps-2012-06-09/

  scp subsonic-site/src/main/webapp/apps.jsp root@subsonic.org:/usr/local/jakarta/tomcat/webapps/pages
  scp subsonic-backend/target/subsonic-backend-*.war root@subsonic.org:/usr/local/jakarta/tomcat/webapps-2012-06-09/ROOT.war
  scp subsonic-main/target/subsonic.war              root@subsonic.org:/usr/local/jakarta/tomcat/webapps-2012-06-09/demo.war
  rsync -rlptDvP -e ssh --exclude .svn subsonic-site/src/main/webapp/  root@subsonic.org:/usr/local/jakarta/tomcat/webapps-2012-06-09/pages


  Blacklist abusers of my email.


  Checkpoint database (db.view)
  ssh root@subsonic.org
  cd /usr/local/jakarta/tomcat
  ps -elf | grep jsvc
  /usr/sbin/stoptomcat
  rm webapps
  ln -s webapps-2012-06-09 webapps

  rm -rf work logs/*
  /usr/sbin/starttomcat


rsync -rlptDvP -e ssh --exclude .svn subsonic-site/src/main/webapp/  root@subsonic.org:/usr/local/jakarta/tomcat/webapps/pages

godaddy ip: 97.74.125.134
cancaca ip: 66.49.215.227
- test https
- add test videos (and ffmpeg, lame)
- update transcodings

HOW TO RELEASE TO ANDROID MARKET
================================
Build against Android 1.5 (default.properties, set API level to 3)
Update versionCode and versionName in AndroidManifest.xml
Commit
cd subsonic-android
ant clean
ant release
### keytool -genkey -v -keystore subsonic.keystore -alias subsonic -keyalg RSA -validity 100000 -dname "CN=Active Objects"
### jarsigner -verbose -keystore subsonic.keystore -signedjar bin/subsonic.apk bin/SubsonicActivity-unsigned.apk subsonic
Upload to market
http://market.android.com/publish/Home
Update amazon
Update
    http://appoke.com
    http://appslib.com/developers/index.html
    https://myapps.developer.motorola.com/
    https://slideme.org/application/subsonic
    http://www.camangimarket.com/index.html
svn copy https://subsonic.svn.sourceforge.net/svnroot/subsonic/trunk/subsonic-android https://subsonic.svn.sourceforge.net/svnroot/subsonic/tags/android-release-3.3 -m "Tagging Android 3.3"
Create new directory in FRS
  https://sourceforge.net/projects/subsonic/files/android/
Upload files to SourceForge (in separate shell, REMEMBER TO CHANGE VERSION BELOW).
  rsync -avP -e ssh subsonic-android/bin/subsonic-release.apk  sindre_mehus,subsonic@frs.sourceforge.net:/home/frs/project/s/su/subsonic/android/3.3/subsonic-3.3.apk


HOW TO RELEASE TRANSCODING PACK
===============================
Create transcode_windows.zip and release it in SourceForge FRS.
  rsync -avP -e ssh transcoding-windows-1.1.zip  sindre_mehus,subsonic@frs.sourceforge.net:/home/frs/project/s/su/subsonic/transcoding/1.1/

HOW TO CREATE subsonic.keystore
================================
keytool -genkey -v -keystore subsonic.keystore -alias subsonic -storepass subsonic -keyalg RSA -validity 100000 -dname "CN=subsonic.org, O=Subsonic"
keytool -list -v -keystore subsonic.keystore -storepass subsonic

wget -S  --tries=1 'http://localhost:8080/rest/stream.view?u=admin&p=admin&v=1.6&c=android&id=2f55736572732f73696e6472652f4d757369632f44696d6d7520426f726769722f41627261686164616272612f3036202d2052697475616c6973742e6d7033&maxBitRate=96'

wget 'http://localhost:4040/rest/jukeboxControl.view?u=admin&p=admin&v=1.6&c=android&action=get' -O -
wget 'http://localhost:4040/rest/jukeboxControl.view?u=admin&p=admin&v=1.6&c=android&action=start' -O -
wget 'http://localhost:4040/rest/jukeboxControl.view?u=admin&p=admin&v=1.6&c=android&action=status' -O -

wget 'http://localhost:4040/rest/jukeboxControl.view?u=admin&p=admin&v=1.6&c=android&action=add&id=683a5c6d757369632e6576656e5c4169725c54616c6b69652057616c6b6965202d20323030345c3032202d2043686572727920426c6f73736f6d204769726c2e6d7033&id=683a5c6d757369632e6576656e5c4169725c54616c6b69652057616c6b6965202d20323030345c3039202d2042696f6c6f676963616c2e6d7033' -O -
wget 'http://localhost:8080/rest/jukeboxControl.view?u=admin&p=admin&v=1.6&c=android&action=add&id=2f55736572732f73696e6472652f4d757369632f44696d6d7520426f726769722f41627261686164616272612f3035202d2044696d6d7520426f726769722e6d7033' -O -

SEARCH
------
Calculate artist/album count from cachedArtists/cachedAlbums.
Replace isFile, isAlbum, isDirectory with one char.
Test paging.
Fuzzy search?
Create development branch
Create schemas for artist/album/song tables (tmp and master)
Populate with some dummy data.
Extract SearchService interface.
Populate master tables from music_file_info.
Remove music_file_info table.
Make ID columns count 1, 2, 3,...
Implement algorithm for updating tmp-tables on scan.

_artist_
id
path
name
created
last_modified
comment

_album_
id
path
name
artist
created
last_modified
comment
play_count
last_played

_song_
id
path
title
album
artist
year
genre
created
last_modified
play_count
last_played

MISCELLANEOUS
=============
Photos: http://www.123rf.com
http://www.famfamfam.com/lab/icons/silk/previews/index_abc.png
http://iconfactory.com/freeware
openclipart.org
http://pixelresort.com
http://lbaumann.com/
tango.freedesktop.org
http://www.nero.com/eng/nero-aac-codec.html
http://kickyoutube.com/
http://www.schillmania.com/projects/soundmanager2/
http://code.google.com/p/mobbler/

IBAN number: NO7297223688407
SWIFT/BIC code: DNBANOKK

My address:
Sindre Mehus
Saturnveien 9
0492 Oslo
Norway

Bank address:
DnB NOR
0021 Oslo
Norway

RipNAS, http://www.ripnas.com/
QNAP
Netgear ReadyNAS, http://www.readynas.com/
http://www.synology.com/enu/support/3rd-party_application_integration.php
SqueezeCenter can run on a number of NAS devices, such as QNAP TS-101, Synology Diskstation,
NETGEAR ReadyNAS, Buffalo Linkstation, Linksys NSLU2 and any device running FreeNAS software.

rsync -avP -e ssh music.demo/ sindremehus@www.subsonic.org:music.demo

-Dsubsonic.war=subsonic-main/target/subsonic -Dsubsonic.createLinkFile=true -Dsubsonic.windowsInstall=true -Dsubsonic.port=8080 -Dsubsonic.contextPath=/

GIMP
----
Creating xxx_focused.png
Farger > Farg > Kulør 34, Metning 97, Lysverdi -50

Creating xxx_pressed.png
Use brush: radius 23, spisser 2, hardhet 0.95, sideforhold 1.0, vinkel 0.0, mellomrom 1.0
Use color: #ff8200

Getting started, yellow marker
Use brush: circle fuzzy 17, transparency 67.3
Use color: #ffe200