Skip to content

Conversation

@maks
Copy link
Collaborator

@maks maks commented Jun 5, 2025

This fixes showing updates to the color palette colors values as they are made by the user.

Fixes: #641

This fixes showing updates to the color palette colors values as they
are made by the user
@maks maks requested a review from democloid June 5, 2025 11:42
Copy link
Collaborator

@democloid democloid left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

IMO let's revert this optimization, it wasn't needed anyway and this makes everything more complicated. The reverting of the palette changed flag also happens a bit arbitrarily, when it's only needed when changing a color, nothing to do with a full screen write in general.
If you want to do this I think the best way to do it is to have a call to explicitly invalidate the whole screen when you know you're changing the palette, and then let the driver do it's thing.

But again, I'd vote to just revert this.

@maks maks requested a review from democloid June 6, 2025 05:34
@maks
Copy link
Collaborator Author

maks commented Jun 6, 2025

IMO let's revert this optimization, it wasn't needed anyway and this makes everything more complicated. The reverting of the palette changed flag also happens a bit arbitrarily, when it's only needed when changing a color, nothing to do with a full screen write in general. If you want to do this I think the best way to do it is to have a call to explicitly invalidate the whole screen when you know you're changing the palette, and then let the driver do it's thing.

But again, I'd vote to just revert this.

Ok agreed, I've reverted both your optimisation and my fix for it.

some hysteresis tothe battery voltage readings
@democloid
Copy link
Collaborator

I'm a bit confused by this, wouldn't reverting the optimization revert to things working? there also seems to be unrelated changes here.

@maks
Copy link
Collaborator Author

maks commented Jun 7, 2025

approved offline

@maks maks dismissed democloid’s stale review June 7, 2025 05:23

approved offline

@maks maks merged commit a59ba73 into master Jun 7, 2025
3 checks passed
@maks maks deleted the 641-accent-color-swatch-not--updating branch June 7, 2025 05:23
maks added a commit that referenced this pull request Jun 11, 2025
* fix vu meter to not overlap grid on phrase screen (#587)

* Theme export broken (#591)

* fix theme exports, use "inline" textfield for name
* save theme name to config file
* fix XML config parsing, remove most special case code

* mark SID & OPAL as experimental in the UI (#593)

* Fix drawing play position marker in Tableview (#595)

* Fix drawing play position marker in Tableview

* Detect AKWF "nes" pack singlecycle samples (#597)

* detect AKWF "nes" pack singlecycle samples also remove duplicte unused code

* Improve lcd driver (#601)

* initial lcd controller code cleanup
* more display driver code cleanup & renaming

* add maaster vol level control to mixerview (#603)

* remove dummy_midi conditionals (#607)

* Memory align memory pool for mallocs (#606)

* Memory align memory pool for mallocs

* remove file that shouldn't be there

* Fix accidental double up in config params list (#610)

* fix preview vol, var lost in prev merge (#612)

also use define for all default volumee

* fix Config::Save bug (#618)

* verify char that is being written and don't update if same (#632)

* fix DLY value when used as 2nd command (#626)

* Display brightness (#617)

* wireup changing LCD backlight level from Device screen
* use XML elem name less than 16chars
* prevent users turning backlight completely off
* document new display brightness setting
* make default to max display brightness
* set higher minimum brightness level

---------

Co-authored-by: Maksim Lin <maks@manichord.com>

* Keep selected mixer channel & song channel in sync (#631)

* keep selected mixer channel & song channel in sync
* dont wrap around on mixer screen
* default to 1st channel coming from mixer when...
on mixer screen user has master volume selected
* fix incorrect handling of up/down on mixer screen

* Fix battery gauge to only fetch voltage at 1Hz (#623)

* fix battery gauge to only fetch voltage at 1hz

caches prevous voltage value to still redraw at 50Hz

* fix format lint

* remove unnecessary flush when redrawing batt gauge

* remove unused old code

* call redraw & flush instead of invalidate

This stops the batt gauge constantly being redrawn on key input events
because prev the screen cleared via the Invalidate() and then the batt
gauge would get drawn via AnimationUpdate

* dont do direct screen drawing from input handlers

We only want AnimationUpdate() to ever directly draw to the screen

* fix format lints

* remove redundant needsRedraw flag just use isDirty

* fix format lint

* Show error dialog when projects max samples reached (#634)

* show max samples reached on import err dialog
* increase max sample files per project  limit to 64

* Revert slices (#643)

* Revert "Fix sample start and end points (#569)"

This reverts commit 0466bbe.

* Revert "Slices v2 (#504)"

This reverts commit 3e4d5cd.

* remove no longer used function

* dont revert wavfile bug fixes from prev slices PRs

* Add profiling infrastructure, use for Opal Render (#615)

* add profiling infrastructure, use for Opal Render
* default to profiler disabled
* comment out cmake debug flag, fix endif placement

* Fix updating sampler instrument name and the name displayed (#644)

* show user set name for sampler if set otherwise...
show the sample filename minus the filename extension
* show cursor for empty textfields
* fix initial instrument name for sampler
* show "NONE" for samplers name with no sample set

* Fix play button to work on theme screen (#646)

* ensure vu meter always redrawn, fix its pos on phrase screen (#647)

* Fix forceClear to work with chargfx optimisation (#645)

* revert prev putc optimisation
* fix ifdef lost in previous PRs merge with master
* now that putc optimisation removed, add...
some hysteresis tothe battery voltage readings
* themeview not screenview subclass so needs to...
explicitly call drawBattery()

* Show error dialog when max sample storage (#638)

* err dialog if over max storage, show storage free
* fix to use fixed sample storage limit
* support pico w/ 2MB while enforcing 8MB limit
* place verbose flash debug logging behind a define
* move flash storage available display to bottom status line and show
both file size and space avail in bytes
* show background color for entire status line
* always display status line
* change statusbar bg color when files to large to fit in remaining storage and when a dir is selected.
* update user manual

* Fix mixdown and stem rendering (#660)

* tone down xml debug logging
* fix crash when starting render mixdown
* fix rendering completion state

* Dont always send MIDI Program change mesg (#661)

* only send MIDI program change on sequencer start
* only send MIDI channel volume on sequencer start
* document new MIDI PC sending behaviour
* make program change a UIntVarOffField

* bump version for 2.1 beta5 release

---------

Co-authored-by: democloid <117881618+democloid@users.noreply.github.com>
woeps pushed a commit to woeps/picoTracker that referenced this pull request Oct 22, 2025
* revert prev putc optimisation
* fix ifdef lost in previous PRs merge with master
* now that putc optimisation removed, add...
some hysteresis tothe battery voltage readings
* themeview not screenview subclass so needs to...
explicitly call drawBattery()
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

All color swatches and font don't update as the color/font is being edited

3 participants