full listings » Playback


Griddy senshu

Album art shown in a grid


Griddy



Description

This is a simple add-on that adds a grid view for your library.

The media page shows the album grid at the top, and the ordinary Songbird media list at the bottom. Clicking on an album cover selects the first track of the corresponding album; double-clicking starts playing it.
When the search field is used, the contents of the grid are automatically updated to show only the matching albums.

This add-on is similar to the "Album View" by Stevo but with slight differences (I discovered the existence of "Album View" only after writing mine, so this is not a fork, and I apologize for the duplicate). This add-on was written as a mean for the author to learn XUL and other Mozilla technologies: users should consider it as alpha quality; developers are welcome to criticize and help.




Release Notes

Corrected tooltip rendering for Songbird 1.4.




Images

(1)
  • Griddy_thumbnail
 

Comments

(41)


atreiu
atreiu

Nice, Album View gets company :-)

Sadly, Griddy doesn't really work for me. I don't see the scrollbars and i don't see the playlist on the bottom (see screenshot). This would be the feature I miss most in Album View.

And if i try to view my whole Library, Songbird freeze completely (so I have to shut it down via Task-Manager). On a second test, i tried to let it load, et voilĂ : songbird freeze about 6min, then unfreeze and show my artworks, but on a strange way: it's something like one album cover for every song, not for every album. I got about 2500 Songs.

A good start, but I hope you get it to work correctly, too. :-D


(Using XP SP3, Songbird 1.0)

about 1 year ago
atreiu
atreiu

Oh, i forgot the screenshot from the broken view, after the 6min freeze. Might help to understand my point:

about 1 year ago
senshu
senshu

@atreiu:
Thanks for your feedback.
Griddy assumes that your playlist is sorted by albums names.

As far as I could see, Songbird does not provide a simple way for add-ons to get a list of albums. The grid view is built by taking all songs, one after the other, and two consecutive songs with different album names are assumed to belong to different albums.

This is quite naive. I can consider two possible corrections:
- force the playlist to be sorted by album names when the grid view is on
- change how the list of albums is built.

I will try to release a new version very soon.

about 1 year ago
atreiu
atreiu

@senshu, thanks! I just tried it with sort after album, and now Songbird freeze "only" for about 20sec (it still would be nice, if it wouldn't do that) and then shows the correct albums. :-) However, still no Scrollbars and no Playlist at the bottom.

about 1 year ago
senshu
senshu

I currently have about 130 albums (1600 songs) in my library.
In my case, displaying the album covers is slow (several seconds), but Songbird does not really freeze while the view is being filled.
And generally it does not feel much slower than "Album View".

Concerning the missing scrollbars and playlist: I had a similar problem in the early stages of development. At that time, I did not fully understand the cause of the problem; and the fact that the problem vanished for me is still a mistery :-)

I have tested this add-on with Songbird 1.0.0 under MacOS X.
Though it should work identically under Linux and Windows, I think I will have to try these as well.

about 1 year ago
atreiu
atreiu

Thanks for your fast updates :-)
My result: maybe it is a little bit faster now. But what is more annoying, it's still unresponsive during the loading-time. I don't mind, if the albums need some time to load, like on Album-View or the even slower MediaFlow, but beeing unresponsive just does not feel right. :-/ I guess your MAC is just a more powerful machine and maybe it can better handle different threads. So maybe it is just me, and you should wait for more feedback.

About the missing playlist: I tried a new profile, and it's working fine, there! Playlist and Scrollbar are visible. Perhaps it's a compatibility problem with an other add-on. I look into it!

about 1 year ago
senshu
senshu

@atreiu:

I guess your MAC is just a more powerful machine

I have just tested this add-on on an older PC (Pentium IV/2.4 GHz, 512 Mb RAM) with the latest Ubuntu Linux.
There's still no freeze for me (still 130 albums): the album grid takes several seconds to build, but I can start playing before all albums are visible (I guess the slowness is due to Songbird rendering the view, not to Griddy getting the album list).

I see that Album View and Media Flow implement some kind of "multithreading" when building the album view, but I do not fully understand how it works. I will give it a try as soon as I get relevant information.

About the missing playlist: I tried a new profile, and it's working fine, there! Playlist and Scrollbar are visible. Perhaps it's a compatibility problem with an other add-on. I look into it!

Under Linux, I have no scrollbar either. The missing playlist is caused by the excessively high grid view: for some unkown reason, Songbird fails to resize the grid view and provide scrollbars. When I use the search engine, if there are only a few albums matching, the playlist is visible again.

In my setup, there is no other add-on installed, so the hypothesis of add-on compatibility problems is unlikely.

Well, I am not a XUL guru: I took care to write this add-on in the most straightforward way, using only features that I could understand, and avoiding everything that looked like a dirty hack. I am really clueless.

about 1 year ago
tdmurphy
tdmurphy

I'm running songbird on osx, and mine doesn't show the playlist or scroll bars either. I even tried disabling all of my other plugins and restarting, but it didn't fix it.
I think the album art grid display in iTunes is great, and I think in future versions of this you should add the options of resizing artwork like iTunes can and the option to only display the playlist after double clicking an album. But the addon looks great so far : ).

about 1 year ago
senshu
senshu

@tdmurphy:

Resizing artwork is already possible, but only through the preferences of the add-on.
I already thought about adding a control in the user interface to easily zoom/unzoom: I will do it as soon as the other problems are fixed (or before if I do not find a solution).

about 1 year ago
Yex
Yex

"If your grid view lacks a scrollbar and/or a playlist view, please provide information about your platform, so that I may try to reproduce the problem."

I don't see a Scrollbar and a playlist view

So i'm using Windows XP SP3,
Songbird 1.0.0, Build 860 (20081124135419)

about 1 year ago
giantjoey24
giantjoey24

Yeah I don't see the playlist or the scroll bar either. Would be 5 stars if it did!

Windows XP x64 SP2
Version: Songbird 1.0.0, Build 860 (20081124135419)

about 1 year ago
Angryman
Angryman

Me neither:

OS X 10.5.4

about 1 year ago
senshu
senshu

Thanks for your comments.

It becomes clear that the missing scrollbar is (was?) not related to the platform: the problem has been reported for Windows as well as Mac OS X and Linux.
The last modifications made the scrollbar reappear for my Linux setup, but I don't understand why...

about 1 year ago
atreiu
atreiu

The Loading is A LOT better! It's fine now :-) Thanks!

Sadly, playlist and scrollbar are still hidden. During the loading, in a blink of an eye, when only 2 rows of albums are loaded, i see the playlist, but as more covers are loaded, the playlist shrinks, and finally hides at the bottom.

about 1 year ago
atreiu
atreiu

Hey senshu:
I think i fixed it!
Simply add this to your media-page.css:

#griddy {
height: 200px !important;
}

about 1 year ago
atreiu
atreiu

Sorry for triple post :-/
Better use height: 230px or 340px (to fit 2 or 3 complete rows nicely).
And it's not a complete fix, because the user is still able to resize the playlist, until is not shown and can not be resized back...

about 1 year ago
LIB53
LIB53

Works great for me. One thing that bothered me though was that when i start griddy, it loads all the album art and takes a while before being useable. Perhaps you could make griddy fill itself with default album art first so the table gets set up quickly, and then load the album art. I don't how practical this idea may be, and it might not make things any better. I just thought I'd tell you anyway. Thanks for a great media view. It's my favorite.

about 1 year ago
klint
klint

Hi
Thanks for this very useful extension that allows a nice management by album.
I have a request, which by the way is global to all extensions that handle "albums": would it be possible to filter the list of albums for complete album only, true "albums", not just a single song in my library taken from an album.
What could be the criteria to identify a "full" and complete album? taken from the net, we could have the list of songs and compare with the list in the library. Another criteria that may suit my needs would rely on the library only: only show the albums where the total amount of durations for all songs from this album AND in my library is MORE THAN a limit that is set in the extension's config.
For instance, I'd like to display only the covers/albums where the total duration of songs I have in my library is more than 30 minutes. Isolated single songs, or dual songs from an album would be waved that way.
What do you think?
THanks
Olivier

about 1 year ago
klint
klint

Hello again senshu

I actually have posted a request for a new extension, to fulfill my need more globally instead on relying one your extension only! Here it is, in case you are interested in developing it (also posted on Stevo's "Album view" page) :)

http://getsatisfaction.com/songbird/topics/idea_for_a_new_extension_filter_the_library_by_show_full_albums_only

Thanks
Olivier

about 1 year ago
senshu
senshu

@LIB53
Thanks for your comment.
I will try to investigate the cause of the slowness.
I'm not sure that filling the grid with default covers would improve things: my impression is that Songbird will take as much time to render the page.
But I need to make sure about this and I will try as soon as possible.

@klint
You have an interesting idea here.
The question is: who should be responsible for implementing it?
Since there are several album-oriented add-ons, it would be bad if each add-on contained its own album-management mechanisms.
It would be better if it were provided in the Songbird core, and available to all add-ons.

What I observed when writing this add-on is that Songbird does not even have the notion of album: the library is only a collection of songs, each coming with artist name, album name and album art information.
Each add-on tries to sort things out in its own way.
In Griddy, if two songs come with the same album name, they are supposed to belong to the same album. That's all, but maybe that's not enough!

about 1 year ago
klint
klint

@senshu,
I agree with your remarks and I have created a ticket in bugzilla for that, actually: http://bugzilla.songbirdnest.com/show_bug.cgi?id=14835
But it seems that we will have to wait for the concept of album + related properties to be implemented in the core.
 Thanks

about 1 year ago
stevo
stevo

@senshu, @klint

The problem is defining what an album actually is. We can get most of them with a couple of simple ifs:
 if [ albumname of all tracks are equal ]
   if [ albumartistname of all tracks are equal ||
        artistname of all tracks are equal ]
     then this should be an album
   fi
 fi

how ever there are some cases where this causes confusion, number one you assume that all albums have the same artist :P compilations are multiple artists, but usually have the same album name. A rare case is multiple compilations of the same name (Like Best of the 80's) and each album has multiple artists.

Generally you have:
 Album Name
  Album Artist or Artist Name
   Track numbers are sequential
     Disk numbers are the same for all tracks for each album

Hopefully we can build a system that would allow developers to call a function to determine what tracks are in an album:
 nsIArray getAlbums(in sbIMediaList aMediaList);
 Returns an array (or enumerator) of albums
  sbIAlbum:
   sbIMediaList aTrackList; // List of tracks for this album
   AString AlbumName; // This should be the same for all tracks
   AString PrimaryImage; // First image found in list of tracks
   AString AlbumArtist; // Various if different artist
   PRint32 AlbumRating; // Average of all the track ratings

 This way you can pass it a playlist/library etc and it would return a list of the albums.

about 1 year ago
stevo
stevo

@senshu Hey, so I was wondering if you would like to take my Album View code and use it to help what you have here. In the album view code I have a component that rips through the albums as fast as it can, by sorting them and then searching. I have 2 versions of it, one in C++ and one in JS.

If you are interested just shoot me an email at steven@sbn.com (that's songbirdnest.com)

about 1 year ago
kazemizuhi
kazemizuhi

Can we get an update for Songbird 1.1.2.?

11 months ago
beerbajay
beerbajay

@senshu
You can escape the sorted playlist by using something like what I posted over on the album view page:
http://addons.songbirdnest.com/addons/1309#comment_8552

11 months ago
senshu
senshu

@beerbajay
Thanks. This fix is now included in the last version.

8 months ago
senshu
senshu

@stevo
Of course it would be great if we can share some code.
Thanks for your proposal.
I will have a look at your JS version as soon as I have time.

8 months ago
senshu
senshu

@beerbajay
It seems your fix breaks the use of the "search" field: now the grid always shows the full album list instead of only the albums that match the search results.
I reverted the change until I understand the problem.

8 months ago
Tangram
Tangram

@ Senshu

firstly, great add-on , much appreciated.

Re. Missing Scrollbars, I've had the same problem with a clean install of Songbird 1.2.0 BUILD 1146 and Griddy 0.2.4. on Win XP SP3. No amount of changing Songbird settings views, add-ons etc. made any difference until I went to the Add-on options and set a new image size...

Tools > Add-Ons > Extensions Tab > Griddy > Options

Set new album art size to 36 and hit OK, all images reset correctly and scroll bars magically reappeared. Reset the the image size back to 100 pixels and once again everything worked as it should. If I was to take a guess, there is a problem in the code regarding the image size setting being automatically calculated on first install. Repeated this on another machine to same effect.

-----------

Re. The comments about Album lists or defining an album are perhaps best served by the identifying folder and not the embedded data of title artist. Any commercial mp3 album is delivered in that way and it remains the only thing that is consistent. Relying on embedded Album titles is a recipe for disaster. Problems with compilation titles are one thing, but here's another scenario, two album titles, same name, same artist but different releases (either date, foreign import, special release etc.). In that case songbird would list all as one album, probably repeating the play of most tracks rather than in the correct play order. There is also the problem that not all mp3 files contain the correct data, especially any artist released demo material.

Perhaps much of this will be sorted in the forthcoming Songbird 1.3.0, incidentally Griddy does not currently work with Songbird 1.3.0 alpha, Build 1167.

8 months ago
senshu
senshu

@Tangram

Thanks for your feedback.

incidentally Griddy does not currently work with Songbird 1.3.0 alpha

I just changed the Songbird max version requirement in the add-on install script. It can now be installed on Songbird 1.3. But maybe you meant something else when you wrote "does not currently work"?

If I was to take a guess, there is a problem in the code regarding the image size setting being automatically calculated on first install.

Image size is not actually calculated: 100px is the default setting, whatever your screen size of window size.
The difficulty with the missing scrollbar bug is that I can not reproduce the problem on any of my own computers! Your observations are interesting and I hope I will find a solution soon.

Relying on embedded Album titles is a recipe for disaster.

I agree with you. I'm still looking for information about the proper way to collect album data in Songbird.

8 months ago
LIB53
LIB53

I'm really glad to see this add-on back. I always thought you had the right idea on this Media View.

8 months ago
SchimonPerez
SchimonPerez

First: Thanks for this great addon. I really like it. The Playlists look really nice with this.

But i have a little problem. Sometimes the griddy images of the album covers just diappear and there is only a black space left. This problem can only be fixed by restarting songbird. I dont know exactly when it happens. Sometimes it does after clicking just two playlists with griddy view. Sometimes it doesnt happen a whole day.

Im using songbird 1.2 with windows vista sp2

8 months ago
AMDphreak
AMDphreak

This Addon, like Grid View is glitched.

"
There is a serious glitch with this plugin. It's hard to notice unless you have only one album in your library, so I suspect it's nt been reported yet.

I have 1 album in my library. When I install this, I cannot resize my Songbird window (Vista 64-bit). It is set to fit the height of 1 album, and it will not allow me to resize it vertically. I can resize horizontally, however. I uninstalled Songbird using Revo Uninstaller and then cleared out any remaining registration entries or files related to Songbird manually, and reinstalled Songbird 4 times trying to figure out how this problem happened--and your addon is the lucky winner. Uninstalling the Addon does not fix the locked vertical position. I'm going to have to reinstall Songbird again, but at least I won't make this mistake again. I like the addon and I see that it has potential, but if any one else installs this and doesn't know how to manually uninstall all components of Songbird (since the uninstaller doesn't take care of this), then they will be stuck with a non-working copy of Songbird. You need to get this fixed!

Thanks,
AMDphreak

P.S. by resize, I mean using the corners or edges of the window form of Songbird. The "maximize" button and minimize button still work properly.
"

7 months ago
crisp
crisp

@senshu regarding the missing scrollbar & playlist:

I had the same problem (on Songbird 1.3.1, Build 1218 (20090804030152)). I fixed it by setting the view from simple list to griddy. While griddy starts loading the covers i saw the grippy (wich is separating grippy & playlist) getting pushed down quickly. If you're quick enough :) you can catch the grippy and hold it. If done, the playlist stays visible but griddy isn't loading any more. Then exiting and restarting Songbird seems to store the grippy position so griddy and playlist are working fine now.
I think it has something to to with the stored position of the grippy separating playlist & griddy.

7 months ago
fetzig
fetzig

hi,

great add-on. but very slowly. to your defense - i have (according to griddy's albumCount 1143 albums). i debugged into the code and found out that griddy needs at least 1 sec per album cover (this would be something between 20 and 30 minutes to load for my griddy view). thus i made some modifications and loading griddy needs only 1 minute.

my modifications are a little bit harsh, but maybe you will implement some of it:
// This function is built as a generator, to be called from a pseudo-thread
collectAlbums: function() {
  // Notify event handlers that the page is being refreshed
  this._refreshing = true;

  do {
    dump("do it!\n");
    // Reset the flag from event handlers
    this._restartRefresh = false;

    // Empty the grid view
    this._griddy.clean();
    
    // Collect all albums from the media list
    var filterSet = this._mediaListView.cascadeFilterSet;
    var albumCount = filterSet.getValueCount(this._albumFilter);
    
    for (var i = 0; i < albumCount; i++) {
      var albumName = filterSet.getValueAt(this._albumFilter, i);
      // FIXME: album artist is assumed to be the artist of the first track
      var mediaItem = this._mediaListView.mediaList.getItemsByProperty(SBProperties.albumName, albumName).queryElementAt(0, Ci.sbIMediaItem);
      
      this._griddy.addAlbum(
        mediaItem.getProperty(SBProperties.albumName), // albumName does not contain the complete name
        mediaItem.getProperty(SBProperties.artistName),
        mediaItem.getProperty(SBProperties.primaryImageURL)
      );
      
      //HACK
      //drop yield
      
      // If an event handler asked for a refresh, stop collecting albums
      if(this._restartRefresh)
        break;
    }

    // This loop will run as long as event handlers ask for a refresh
  } while(this._restartRefresh);

  // Notify event handlers that page refreshing is finished
  this._refreshing = false;
},

i hoped to improve some stuff in this._griddy.addAlbum(), but i don't know how to replace these dom calls (document.createElement, element.setAttribute) with something better performing. and it seems that they are already pretty fast at all.

the only really slow thing was the computing of the attributes for the this._griddy.addAlbum() call. the yield call makes the loop slow too, but it's a stupid idea to drop it.

...whatever it seems i just have to avoid every mediaview except the filter pane (which looses or doubles its filter panes for some reason when switching between it and griddy).

4 months ago
senshu
senshu

@fetzig

Thanks for your feedback.
Of course 1s per album is frustratingly slow.

As a matter of comparison, my own collection of 238 albums (2344 songs) takes less than 1 minute to load on a 5-year old PC (Pentium 4, 512 Mbytes of RAM).
Maybe the loading time does not increase linearly when your collection becomes bigger.

I wish I had time to investigate this further.

3 months ago
senshu
senshu

@crisp

You are right: Songbird seems to save the location of the splitter between the grid and the playlist.

3 months ago
LIB53
LIB53

Could you bump the max version to 1.4.0 for the next update? Thanks. This was always my favorite media view despite it's bugs :)

3 months ago
Hiromacu
Hiromacu

@senshu: Yeah, a version bump to 1.4.* would be great! :P

3 months ago
BR-Charles
BR-Charles

Bump it, man! Really a great one!

2 months ago
senshu
senshu

Version 0.2.7 of Griddy seems to be broken in Songbird 1.4.
Tooltips over Album covers are empty.

2 months ago



Log in to Post a Comment


Download
Statistics
Downloads: 32,578

Average Rating:
3 out of 5  based on 14 ratings

Images: 1

Comments: 41

Last Updated: 2 months ago
Details
Name: Griddy

Author: senshu

Version: 0.2.8 version history

Categories:


Log in to Add a Tag
Share
Embed:

Share: