maemo.org - Talk

maemo.org - Talk (https://talk.maemo.org/index.php)
-   Applications (https://talk.maemo.org/forumdisplay.php?f=41)
-   -   [Announce] Pierogi - a universal infrared remote control app (https://talk.maemo.org/showthread.php?t=82243)

Estel 2013-05-11 02:41

Re: [Announce] Pierogi - a universal infrared remote control app
 
Quote:

Originally Posted by Copernicus (Post 1342474)
Anyway, the bottom line is that after a lot of mucking around in the code, I've limited the performance damage to the point at which you choose a favorite on the left-hand menu. Sometimes you can switch between favorites as fast as normal; sometimes, though, it can pause for a significant amount of time, which I believe is QSettings trying to sync with the flash storage. I'll keep working on it, but I'm not sure whether I can improve it significantly; in the end it may be quicker to just remove this feature and go back to navigating to the panel collection you want...

Personally, I always prefer programs to respond quickly and reliably vs. fancy things like remembering this or that. Especially, the part about "syncing with flash" creeps me - big "no" for additional flash wear, where it isn't required (why Qt must be so lame in breaking so simple things?!).

Of course, I appreciate effort put into bringing those features, I just think that it is bad idea to sacrifice performance/reliability for it. It may also be a development trap - now you minimize damage to acceptable level, in a week you will add something to program, and chain reaction will make performance bad again, requiring minimizing damage again...

/Estel

Copernicus 2013-05-11 03:18

Re: [Announce] Pierogi - a universal infrared remote control app
 
Quote:

Originally Posted by Estel (Post 1342752)
Especially, the part about "syncing with flash" creeps me - big "no" for additional flash wear, where it isn't required (why Qt must be so lame in breaking so simple things?!).

I probably shouldn't be complaining about how Qt does its job. :) I think that Qt in fact does its best to minimize accessing persistent storage; I'm not entirely sure how often it syncs the in-memory representation of the settings with that on the disc (or flash in this case), but I know they avoid doing so when they can. Of course, what I really should do is to stop relying on QSettings as a crutch, and only store those values when I know the program is about to end. (Which, I guess, runs the risk of losing the data if the program exits in an unexpected manner, but that's probably a worthwhile tradeoff...)

Quote:

It may also be a development trap - now you minimize damage to acceptable level, in a week you will add something to program, and chain reaction will make performance bad again, requiring minimizing damage again...
Indeed! :) But really, this is the fun part; I've always thought that finding ways to accomplish a given goal with fewer instructions is probably the most enjoyable part of coding...

sixwheeledbeast 2013-05-11 09:17

Re: [Announce] Pierogi - a universal infrared remote control app
 
Quote:

Originally Posted by Copernicus (Post 1342754)
What I really should do is to stop relying on QSettings as a crutch, and only store those values when I know the program is about to end. (Which, I guess, runs the risk of losing the data if the program exits in an unexpected manner, but that's probably a worthwhile tradeoff...)

I agree with only saving QSettings before destroying the page.
Syncing and loading QSettings shouldn't cause any writes to flash.

AFAIK sub-directories in QSettings should help keep everything smooth, have a look at CuteTube or OMP. There .conf file has a lot of data. However the way QSettings is used it doesn't effect UX.

Copernicus 2013-05-13 02:36

Re: [Announce] Pierogi - a universal infrared remote control app
 
Bugfix time! Another update is going into extras-devel right now, mainly to fix a mistake I made when saving favorites data into QSettings; I was getting the keyset name wrong, which caused favorites to be forgotten after certain operations. :( Hope this one didn't bite too many folks.

Also in this update, I've pushed all the "setValue()" calls to QSettings to the point at which the program exits. This ensures that QSettings only performs a single sync of its data; not only is this easier on the flash, all the performance problems have disappeared. :) (I will be much more careful about how I use QSettings in the future...)

And, in this update, a first pass at keysets for Comag, OpenBox, SilverCrest, and Xoro, and a handful of new projector keysets for Sanyo.

As always, beware new bugs, and please let me know when you find them!

stickymick 2013-05-13 04:45

Re: [Announce] Pierogi - a universal infrared remote control app
 
Quote:

Originally Posted by Copernicus (Post 1343120)
I was getting the keyset name wrong, which caused favorites to be forgotten after certain operations. :( Hope this one didn't bite too many folks!

Is that the reason why I've been getting blank screens when selecting favorite keysets?

Copernicus 2013-05-13 10:33

Re: [Announce] Pierogi - a universal infrared remote control app
 
Quote:

Originally Posted by stickymick (Post 1343133)
Is that the reason why I've been getting blank screens when selecting favorite keysets?

Possibly; if that is still happening after this update, please inform me! (Also, if you are seeing any performance problems; Pierogi should now only be terribly slow during startup and shutdown. :) )

vetsin 2013-05-13 17:26

Re: [Announce] Pierogi - a universal infrared remote control app
 
hi copernicus,
i only started having the black screens after the latest update. though i have been out of TMO for a some days because of a damaged flex ribbon so i'm not sure if an earlier update could have caused this. thanks!

sixwheeledbeast 2013-05-13 17:49

Re: [Announce] Pierogi - a universal infrared remote control app
 
Just updated from 1.1.20 to 1.1.22 and I now have the blank page issue.
This is the first time I have seen this.

Edit added .conf file
Code:

[General]
currentKeysetMake=LG
currentKeysetName=TV Keyset 1
currentTabsName=2005360
currentPanelIndex=-1

[favorites]
1\keysetMake=LG
1\keysetName=TV Keyset 1
size=5
2\keysetMake=Samsung
2\keysetName=TV Keyset 1
3\keysetMake=Sony
3\keysetName=TV Keyset 1
4\keysetMake=Toshiba
4\keysetName=TV Keyset 1
5\keysetMake=Virgin Media
5\keysetName=STB Keyset 1
1\tabBarName=2005360
1\panelIndex=-1
2\tabBarName=2005360
2\panelIndex=-1
3\tabBarName=2005360
3\panelIndex=-1
4\tabBarName=2005360
4\panelIndex=-1
5\tabBarName=2005360
5\panelIndex=-1

[Panels]
Main=true
Utility=true
Keypad=true
Menu=true
Media=true
Favorites=true
Input=true

[Preferences]
useAltMain=true
macroKbdFocus=0


Copernicus 2013-05-13 18:22

Re: [Announce] Pierogi - a universal infrared remote control app
 
[QUOTE=sixwheeledbeast;1343341]
Code:

currentTabsName=2005360
currentPanelIndex=-1

Ack! The currentTabsName and currentPanelIndex are messed up here. In fact, they're messed up for all the favorites, too. :( Dunno what's going on here, it doesn't seem to be happening on my test machines. I'll check the code. (You should be able to just delete the currentTabsName, currentPanelIndex, tabBarName, and panelIndex lines without causing any problems; that might fix the issue...)

EDIT: Don't delete those lines, rather, set their values to 0; that should fix the problem for the moment. I should have tested against config files that _did_ have favorites but _didn't_ yet have tab names or panel indexes set. I'll get a fix pushed up asap...

sixwheeledbeast 2013-05-13 18:25

Re: [Announce] Pierogi - a universal infrared remote control app
 
I thought the file would help, it looked broken.
No time to play now but I'll try to fix later.

What's "size=5" doing in there?


All times are GMT. The time now is 22:14.

vBulletin® Version 3.8.8