Author Topic: Limited interface layout question  (Read 3730 times)

taso

  • Newbie
  • *
  • Posts: 3
    • View Profile
Limited interface layout question
« on: April 30, 2012, 00:17:55 »
Hi,

I am attempting to build out a useful interface for a small form factor pc without multitouch (yes, I know, but I already bought the hardware). What I would like is something like a single screen with player controls at the top and a mosaic browser view where the heirarchy is genre->artist->albums. Looking for some advice to know what is or is not possible, and any help is appreciated.

First off, is there any mosaic based view by genre? My experiments with FilterPanes seem to only have the ability to show song lists by album or artist or both. Nothing by genre. With a large collection it is really useful to sort on some higher level like genre but I can not seem to enable this. Assume that the screen is small enough such that text based lists are not useful.

I have also tried configuring a SongTree with a custom group that is identified by genre. The SongTree syntax escapes me, but from what I have attempted the SongTree grouping mechanism seems to be tied again to artist/album only.

I can post some mock ups if this description is hard to understand. Basically I am trying to "buttonize" everything for the small display.

Thanks,
Taso

Quentin Sculo

  • Administrator
  • Hero Member
  • *****
  • Posts: 1082
    • View Profile
Re:Limited interface layout question
« Reply #1 on: May 02, 2012, 03:18:43 »
Currently the mosaic mode of a FilterPane is limited to artist/album, mostly because they are the only one to have pictures, and mosaic is mainly about showing the pictures. Though that could easily be changed.
If you don't mind some harmless warnings in the console, you can force a Filterpane page to use the mosaic mode with the option "page_genre/mode=mosaic" though keep in mind that it only work for layouts that have no saved state yet (hasn't been used), and as it is a hack the option to change the mosaic size doesn't appear in the in the context menu and if you switch to cloud mode, you can't switch back to mosaic.
With this you would have big squares to select the genre (their size is controlled by page_genre/mpicsize), with the genre name written inside (I'm going to make them center vertically). Would that satisfy you ?
example of a filterpane with a single page with genre in mosaic mode :
Code: [Select]
FilterPane1(nb=1,pages=genre, page_genre/mode=mosaic, page_genre/mpicsize=80)

Genre/label can't currently be used in SongTree grouping, mostly because it must currently build a list of all the song row that will be in the songtree, and with lot of songs that have a lot of labels/genres it could make a really huge list, though I guess it would still work.

taso

  • Newbie
  • *
  • Posts: 3
    • View Profile
Re: Limited interface layout question
« Reply #2 on: May 02, 2012, 08:14:19 »
Confession: I had already hacked the main pl file to set mode=mosaic even when 'cloud' was selected. So I did manage to achieve the same behavior through brute force. Did a test drive and the text-only effect just was not working. My specific use case is for an 8-inch display in a car which makes reading and scrolling problematic.

I understand the issue with SongTree groups due to how that module is designed. Genre is not really an effective grouping attribute. However I did find the SetGenrePic sub commented out in the source:

#sub SetGenrePicture
#{   my ($field,$key,$file)[email protected]_;
#   GMB::Cache::drop_file($file); #make sure the cache is up-to-date
#   Songs::Picture($key,$field,'set',$file);
#}

I also began experimenting with Custom Fields this weekend. Then work caught up and I had to step away. The page_genre/mode=mosaic hack would completely work for my needs if I could then assign a specific picture to the genre item. If I could re-enable the SetGenrePicture function and find where to add it to the context menu (I expect songs.pm would have to also be modified) then I would be completely set. Will have to wait until the weekend though.

And since I had not mentioned this before -- merci pour gmusicbrowser.

Quentin Sculo

  • Administrator
  • Hero Member
  • *****
  • Posts: 1082
    • View Profile
Re: Limited interface layout question
« Reply #3 on: May 06, 2012, 20:50:54 »
There is no SetGenrePicture in the code, it must be one of your previous attempts :)

Anyway, v1.1.x was made with the idea that fields should be easy to change, and almost everything that concerns them is defined in one location. So there is not much lacking to make the genre field support pictures.
I've just committed these minor changes : http://git.gmusicbrowser.org/commit/489d25f1f3
You now just have to un-comment the commented lines from the commit (genre_picture, and "picture_field => 'genre_picture'") to have genres with pictures :)

taso

  • Newbie
  • *
  • Posts: 3
    • View Profile
Re: Limited interface layout question
« Reply #4 on: May 13, 2012, 21:53:44 »
BUSTED!!

Yeah I probably copied a sub and tried to call it elsewhere but I can not remember. It does sound like my usual ego-based troubleshooting. Anyway, sorry for the delay but I got buried with a deployment and could not revisit this until yesterday. Works like a charm, thanks Quentin!! Genre pics are up and working as expected with the nice touch of looking in the default folder for them when 'Set Picture' is selected. Very easy to use.

For anyone interested in what this looks like I am attaching a couple of screenshots. Obviously I need much more tweaking to get this right. I spent a bunch of time fighting gtk syntax (new to me) to set custom toolbar-button sizes with no luck. Any tips appreciated. Because this is going into a car I will probably use the dark interface but I attached the lighter themed one so the problem becomes a bit more apparent. This is displayed on an 8-inch display. I got the bottom scrollbar sized down but I am losing a lot of space due to the verticals, so I am thinking about just going to a single page for each tier (genre->album mosaic->songtree).

I may lose the search box as well as the problems I have had with getting a virtual keyboard working right have got my blood boiling as well. My recommendation to anyone trying something similar is: do not go for the resistive touch screen. It is best and possibly only well suited to point and click interfaces, and scrolling is obviously a big problem.