Active Topics

 


Reply
Thread Tools
Posts: 355 | Thanked: 598 times | Joined on Sep 2009 @ Nizhny Novgorod, Russia
#131
Thanks!
A couple of questions:
  • If I added directory to a playlist, will I be able to delete individual song (which is in this directory) via long-press menu when in playing mode? I think no.
  • We will need to store list of songs in playlist in some sort of database in order to not walk the directories at every startup. I think we could store that lists together with some metainfo (song length, mp3 tags, ...) in sqlite database. But the question is when to update this db? I'm sure that updating is going to be very expensive operation. So, is it ok to update song list only by user's request?
  • How directory selector should look like? You're saying about list with checkboxes, does it means that you will need to mark all directories for the current playlist at one dialog? This would require some kind of tree-view which is not a good idea for thumb-oriented ui. I think it will be more convenient to add one directory at a time with the dialog that will display directory contents in a list (going into subdirectory when tapping on it)
 
Posts: 875 | Thanked: 918 times | Joined on Sep 2010
#132
Originally Posted by Mitrandir View Post
If I added directory to a playlist, will I be able to delete individual song (which is in this directory) via long-press menu when in playing mode? I think no.
For now I would say no, maybe in the future it could remove the directory, add in all the files and then remove that one file. With some sort of warning first.


Originally Posted by Mitrandir View Post
We will need to store list of songs in playlist in some sort of database in order to not walk the directories at every startup. I think we could store that lists together with some metainfo (song length, mp3 tags, ...) in sqlite database. But the question is when to update this db? I'm sure that updating is going to be very expensive operation. So, is it ok to update song list only by user's request?
Last time I used xmms on my desktop it used a flat file to store all the songs along with some metadata. You could either use a separate sqlite database for each playlist or a flat file. The playlist should only be updated on request, otherwise you run into long start up times as it updates.


Originally Posted by Mitrandir View Post
How directory selector should look like? You're saying about list with checkboxes, does it means that you will need to mark all directories for the current playlist at one dialog? This would require some kind of tree-view which is not a good idea for thumb-oriented ui. I think it will be more convenient to add one directory at a time with the dialog that will display directory contents in a list (going into subdirectory when tapping on it)
The checkbox is to select files/dirs, each directory has a return to parent row at the top and tapping dirs changes the entire list. When you mark a checkbox it gets added to the database, when you go to a child or parent directory it scans the database and checks all selected files/dirs.

By checkbox I just mean some way of informing the user. Option A has a checkbox next to each file/dir, you tap the checkbox to select, tap dir to open and tapping a file does nothing. Option B could have a checkbox or simply highlight the row and tapping anywhere on a file/dir row toggles its state but a dir row also has an arrow on the right side and tapping it will open the directory.
 
Posts: 336 | Thanked: 47 times | Joined on Jul 2008
#133
i have a request -please do not go the way of xmms and quasar and have all these different menus and options that have tiny letters that you cannot read -without a magnifying glass
 
Posts: 355 | Thanked: 598 times | Joined on Sep 2009 @ Nizhny Novgorod, Russia
#134
yukop4, of course all texts should be readable. XMMS is actually a desktop app, so it assumes desktop's screen DPI.
I already use 26px texts which looks huge on desktop's screen but just fine for N8x0 screen
 
Posts: 336 | Thanked: 47 times | Joined on Jul 2008
#135
Originally Posted by Mitrandir View Post
yukop4, of course all texts should be readable. XMMS is actually a desktop app, so it assumes desktop's screen DPI.
I already use 26px texts which looks huge on desktop's screen but just fine for N8x0 screen
thats great because my sight is not right but wong still strong
 
Posts: 355 | Thanked: 598 times | Joined on Sep 2009 @ Nizhny Novgorod, Russia
#136
SIMP now makes some sound

But I need to implement some basic playlist management before public release. Now it takes track list from text file.
 

The Following 3 Users Say Thank You to Mitrandir For This Useful Post:
Posts: 355 | Thanked: 598 times | Joined on Sep 2009 @ Nizhny Novgorod, Russia
#137
Wow, I just discovered that Xft library is able to render rotated text!
Will try to use this to speed up fake-rotation. If it is possible to draw rotated text, then we might not use pixmap rotation at all.
 

The Following 2 Users Say Thank You to Mitrandir For This Useful Post:
Posts: 875 | Thanked: 918 times | Joined on Sep 2010
#138
Originally Posted by Mitrandir View Post
Wow, I just discovered that Xft library is able to render rotated text!
How? I had to manually rotate the rotation A's in ASUI because I couldn't find an Xft way.
 
Posts: 355 | Thanked: 598 times | Joined on Sep 2009 @ Nizhny Novgorod, Russia
#139
You can specify transformation matrix when requesting the font from Xft:
Code:
XftMatrix matrix = { 0, -1, 1, 0 };
xftFont = XftFontOpen(dpy, src,
    XFT_FAMILY, XftTypeString, "sans",
    XFT_PIXEL_SIZE, XftTypeInteger, 26,
    XFT_MATRIX, XftTypeMatrix, &matrix,
    NULL
);
And you will get text rotated on 90°
But I'm not sure yet whether it is possible to change the matrix on already created font. May be it is possible with XftPatternAddMatrix (FcPatternAddMatrix), but I havn't tried yet.
 

The Following 2 Users Say Thank You to Mitrandir For This Useful Post:
Posts: 355 | Thanked: 598 times | Joined on Sep 2009 @ Nizhny Novgorod, Russia
#140
Spent two days (evenings) implementing per-op rotation. Result: it doesn't give any performance advantage. I'm not sure why: whether my code is very dirty and unoptimized, doing tens of matrix multiplications per frame or there some other reason.
But that's it.

Last edited by Mitrandir; 2011-10-03 at 20:30.
 

The Following User Says Thank You to Mitrandir For This Useful Post:
Reply


 
Forum Jump


All times are GMT. The time now is 17:54.