0.7.5 Preview r1100, r1110 (Release Candidate 1)

Archived development update discussion from past versions
Archived development updates.
Nicholas
Posts: 13135

Post by Nicholas »

PREVIEW r1100
Download from the pink box above.

Changes in r1100 since r1068:
  • The track settings screen has been overhauled. Copy/paste mechanics have been added.
  • The Song Library now uses a "paged" style to help performance with extremely large libraries.
  • New program icon. (The title screen update will come in 0.8.0.)
  • Practice scoring no longer takes speed into account at all. The fixed maximum is always 10000 points.
  • Fixed practice scoring bug introduced in the last preview caused by bad extra-time calculation.
  • Certain chord notes should no longer be skipped in practice mode while using an unquantized MIDI.
  • Percussion tracks are no longer involved in the channel distribution process.
  • A little extra logging to try and catch the 0-byte settings problem (again).
To you 40k song library types: let me know how things feel now. I'm hoping for performance. At the very least, the memory usage should be under control now.

Otherwise, if I wasn't totally sure you guys were going to find like a dozen problems with it, this would be a 0.7.5 release candidate. ;)

Er... wait, found a couple issues myself just now (see, easy to find! :D ):
  • Reset (and Reset All) won't reset instruments after coming back from play... only initially coming from the song library. Resetting everything else (color, sheet, and mode) should be fine no matter the entry-point. Work-around: jump back out to the song library and then back in. Then reset should work.
  • Mac text is apparently a tiny bit wider than Windows text. I have to make a couple small adjustments.
Raymond
Posts: 528

Post by Raymond »

I will still be using 'manage watched folders' because it takes too long for Synthesia to start. Witch is why I used watched folders before.
Could be fixed with a way in the adv config to turn off the auto search for new songs. Then would display a refresh button on the songs page. (I realize this could not be done with out a new xml file holding each song's path.)


I don't like the new page system. Because it is harder to remember where I am. vs just scrolling.

I love the new track menu. But it would be nice if they could be doubled so I could see them all on one page.(widescreen 1680x1050)
Being able to just copy the play mode is really nice.
Typhlosion
Posts: 82

Post by Typhlosion »

I don't really understand why we need to have a paged system... :/
The same result could be achieved with a normal scrollbar. I mean, nobody says that you have to load the whole list into the memory. You could only load those entries into the list that are displayed to the user.
aria1121
Posts: 1505

Post by aria1121 »

Good Track Screen!
It would be nice, if you are using the paging system, the pages would force itself to remember the posistion of the songs posistion in the list.
And, -see attachment- maybe we can do something with this screen? Moving something to the Options Menu? After that, you have some space, you can use that to extend the options to place the choosable options.
Attachments
somesortofscrnprnt.png
somesortofscrnprnt.png (98.19 KiB) Viewed 15454 times
Nicholas
Posts: 13135

Post by Nicholas »

Raymond wrote:I will still be using 'manage watched folders' because it takes too long for Synthesia to start.
This is useful feedback. Thanks. Think of this as "stage 1" for the fix. With a paged system, snapping a real database solution into place is a lot easier. That will be "stage 2"... though I'm not expecting it for a little while yet.

With all your folders set to recursive and after the scan is complete and the song count settles down, how do things feel? I'm mostly interested in the sort and filter operations. Does clicking a column or typing a letter take a long time to respond? (Both of those would also be solved with a backing database, but I'm hoping to hear whether it's still a bad experience right now.)

Once it's in there (I'm thinking specifically of SQLite here), it will use that list immediately and the scan will just be going on in the background making corrections to the list as it goes. So the library should be full the moment you click the "Play!" button on the title screen.
Raymond wrote:I don't like the new page system. Because it is harder to remember where I am. vs just scrolling.
Would a "paged" scrollbar help? It would look exactly the same as before, except as you scrolled it, it would "snap" to each page. That would give you a sense of where you were in the library, a better sense of how big the list was, and a nice way to navigate on top of it. I think I'm going to try and get this in 0.7.5, just so the amount of change from the previous version is smaller.
Raymond wrote:I love the new track menu. But it would be nice if they could be doubled so I could see them all on one page.
Yeah, Typhlosion recommended something similar. My answer was that it is a good idea that I'd like to add at some point. It's not especially easy right now though, so I'm holding off on it.
Typhlosion wrote:I mean, nobody says that you have to load the whole list into the memory. You could only load those entries into the list that are displayed to the user.
I'm hoping to meet in the middle and add a scrollbar to the paged view. It will scroll one page at a time (vs. the smooth scrolling). That should hopefully get us there.

Otherwise, while there are ways to make smooth scrolling work with deferred loading, even if you're not in an environment with my wacky homebrew UI code, it's still takes quite a few tricks and a whole lot more effort. If I can get the interaction close enough (a paged scrollbar with snapping), it seems like we can have nearly the best of both worlds.
aria1121 wrote:if you are using the paging system, the pages would force itself to remember the position of the songs position in the list.
When you re-enter the library screen, it should (eventually) end up back on the same you were on before. It tries to maintain the currently selected song the whole time.

If you mean the little shimmy it has to do while it re-loads the list, that will be taken care of by the "stage 2" I mentioned above.
aria1121 wrote:maybe we can do something with this screen?
Quite a lot will be changing with that screen, soon. It will actually be going away entirely!
Typhlosion
Posts: 82

Post by Typhlosion »

Nicholas wrote:I'm hoping to meet in the middle and add a scrollbar to the paged view. It will scroll one page at a time (vs. the smooth scrolling). That should hopefully get us there.

Otherwise, while there are ways to make smooth scrolling work with deferred loading, even if you're not in an environment with my wacky homebrew UI code, it's still takes quite a few tricks and a whole lot more effort. If I can get the interaction close enough (a paged scrollbar with snapping), it seems like we can have nearly the best of both worlds.
At this point I wonder why you are not using Qt. You wouldn't have all those problems then. ;)
Nicholas
Posts: 13135

Post by Nicholas »

Typhlosion wrote:At this point I wonder why you are not using Qt. You wouldn't have all those problems then. ;)
The "even if you're not in an environment with my wacky homebrew UI code..." part was key there. Qt wouldn't buy me anything outside of a painful, lengthy switching process that ended up not hardware accelerated. I'd still need to have the background threads, the extra loading state, all the funny row switching, and everything else that comes along with trying to force the smooth scrolling peg into the deferred loading hole.

I'll take my snapping scrollbar, thank you. :D

EDIT: Glancing at the Qt site a little bit just now, their stuff seems to have rapidly become better than the last time I looked at it.
aria1121
Posts: 1505

Post by aria1121 »

Nicholas wrote:
aria1121 wrote:maybe we can do something with this screen?
Quite a lot will be changing with that screen, soon. It will actually be going away entirely!
Yay!
Raymond
Posts: 528

Post by Raymond »

Speed wise 0.7.4 feels faster. with 2k songs
BUT 0.7.4 uses %50cpu and 110mb of memory. 0.7.5 use about %11cpu and only 33mb of memory.


Ya I think even a snapping scroll bar would be better.
Also could we get a multiplier for the scroll wheel in the adv config? So I could slow my scroll wheel down.

ps:
I have a duel core cpu. And 2gb of ram.
Nicholas
Posts: 13135

Post by Nicholas »

Cool, that's good to hear. This pass was to solve the CPU and memory stuff. It sounds like it worked.

The database-backed store is all about the speed, so that should be solved in the next pass.

In the meantime, I'm comfortable with it now. Before it was overloading graphics cards, consuming tons of memory, and crashing the app. Now it's just a little slower, but everything works.
Raymond
Posts: 528

Post by Raymond »

Ya it really isn't that much slower.
Raymond
Posts: 528

Post by Raymond »

Do you think we could go back to having the tracks turn gray when they are not being shown?
Or maybe a Much dimmer color.
Nicholas
Posts: 13135

Post by Nicholas »

Aren't they super-dim now? I've got the box's alpha down to 25% in the "hidden" modes. Much lower than that and they'd be nearly transparent. I guess gray is an option, but I liked the new effect.

I'll try the alpha a little lower...
Raymond
Posts: 528

Post by Raymond »

Well the problem with them the way they are now. is that it just looks like a different color. Not that they are hidden.
I liked the gray because at a glance I would know that they are hidden. I will more than likely get use to it the way it is.
I don't really know what would be easier for new users. But going from an older version gray would be better.

The colors don't seem to be random. But I can't figure out what they mean. Do they mean something. if so what? 

It would be nice if in-game you could tell if a track was 'you play' or not. (so you wouldn't have to remember.)
Nicholas
Posts: 13135

Post by Nicholas »

I took it from 25% down to 6% and it seems better now. Barely a hint of color... basically gray.

To explain why the colors are there at all: a track always has a color associated with it, whether the notes are shown or not. So, the faded color is basically the color the notes would appear in had they been visible. Another way to look at it: that's the color a track's notes will be as soon as you change it to a different mode where the notes will be visible. ;)

Regarding being able to tell "You Play" (or "Played by You"... I'm going to have to get used to typing that from now on :D ) from other modes, I wonder if a subtly different style of falling block would do the trick. You're right, it's a problem right now. I think I've been assuming that color would be the answer. You can always set all the other tracks to some different color than the "Played by You" tracks.
Raymond
Posts: 528

Post by Raymond »

Is there any order to how a track gets a color? Or does it just start at a color then give the next track the next color?

Ya I enable sheet music for the 'Played by you' tracks. Then disable it for the others.
Maybe just setting the alpha to 6% like in the menu would work.
Nicholas
Posts: 13135

Post by Nicholas »

PREVIEW r1110
Download from the pink box above.

Changes in r1110 since r1100:
  • Resetting track instruments now works in all cases.
  • Song library has a scroll bar (again) that now scrolls a full page at a time.
  • All track modes are now always shown (with appropriate disabling and "requires input/output device!" warnings).
  • The instrument name is now clickable in track boxes.
  • Tracks using a mode where notes are hidden will appear much fainter.
  • Track settings text has been nudged a little here-and-there to fix the slightly-wider text rendering on the Mac.
  • The area behind a track box will no longer become strangely hi-lit after pressing page-up/down.
Things are looking very close now. This is probably the 0.7.5 final code. Unless major problems are reported (Typhlosion's excluded ;) ), I'll call it official at the end of Friday.
Raymond wrote:... does it just start at a color then give the next track the next color?
That's how it does it. Except it does that before trimming out weird, empty, meta-only, control tracks from the display list, so sometimes it looks like colors are skipped.
Raymond
Posts: 528

Post by Raymond »

That is much easyer to tell that it is hidden.

The scroll bar is really nice too.
Raymond
Posts: 528

Post by Raymond »

I am not sure why or when this started.
When I start Synthesia with LoopBe1 as the input device. It presses some 40+ notes.
It also does this when I select a different input device from the keyboard setup page. Then select back to Loopbe1.

I have tried disabling hard reset but it did not change anything.

Could be a bug with LoopBe1. I just made my pedals program crash messen with it.
Nicholas
Posts: 13135

Post by Nicholas »

That's weird. Are you sure they're not non-note messages? Depending on what I've tracked as having sent out to the device since the last reset, I'll send out a barrage of "All Notes Off" and "All Sounds Off" messages to each channel.
Locked