Deere rework styling#3
Conversation
|
I don't really like using "o" to indicate an unchecked option. It is easier to distinguish unchecked and checked options that way, but changing the shape between that and the checked box feels odd. Any other ideas? |
|
Maybe increasing the font size of the checkboxes would help? |
|
Hm, I think the font size of the button text is okay. Just increasing
the boxes and checkmarks would mean to introduce another sub-container
for them, wouldn't it? Something like <span> would be cool.
But I'm also looking for a proper solution to that for FlatNite and I'm
not happy with the unicode characters, so I'll vectorize boxes and
checkmarks and use them as left-aligned background for displayValue 0 & 1.
Like this one https://d30y9cdsu7xlg0.cloudfront.net/png/835-200.png
Maybe empty/filled square also works.
|
|
This is better, but it might be with a non-interactive bulleted list. Maybe turn them into squares? Maybe make the checked icon a square with a prominent "X" in it? |
You mean that it might be mistaken as radio list? Squares |
| <Connection> | ||
| <ConfigKey>[Master],show_eqs</ConfigKey> | ||
| <BindProperty>visible</BindProperty> | ||
| </Connection> |
There was a problem hiding this comment.
moved this here to make code more clear in parent template
| </Connection> | ||
| </WidgetGroup> | ||
| <Template src="skin:deck_mixer_controls_col2.xml"/> | ||
| <Template src="skin:deck_mixer_controls_col3.xml"/> |
There was a problem hiding this comment.
Mixer columns2/3 were squeezed and set off to the left, column1 was half-covered. This happened for Channel1 mixer only. Don't know why THIS works..
Reproduce:
- 2 decks
- split waveforms
=> with skin settings turn EQs off, then on again
| qproperty-alignment: 'AlignHCenter'; | ||
| font: 10px; | ||
| margin-top: -2px; | ||
| } |
There was a problem hiding this comment.
Label for EQs and other knobs was cut off.
|
LGTM, thanks. |
fix EQs, QuickEffects, and master EQ
Implements changes to effect unit handling as requested by @Be-ing
…h sync
When loading a track that is not yet present in the library (and thus
doesn't have any BPM because it hasn't been analyzed yet) while another
deck is playing and both decks have sync enabled, a debug assertion is
triggered:
DEBUG ASSERT: "isValid()" in function double mixxx::Bpm::value() const at src/track/bpm.h:53
Aborted (core dumped)
The backtrace looks as follows:
#0 0x00007f175c87234c in __pthread_kill_implementation () at /usr/lib/libc.so.6
#1 0x00007f175c8254b8 in raise () at /usr/lib/libc.so.6
#2 0x00007f175c80f534 in abort () at /usr/lib/libc.so.6
#3 0x00007f175cf05ee4 in qt_assert(char const*, char const*, int) () at /usr/lib/libQt5Core.so.5
#4 0x000055deb2e67e1c in mixxx::(anonymous namespace)::handleMessage(QtMsgType, QMessageLogContext const&, QString const&) (type=<optimized out>, context=<optimized out>, input=<optimized out>) at src/util/logging.cpp:355
#5 0x00007f175cf47128 in () at /usr/lib/libQt5Core.so.5
#6 0x00007f175cf3fd8a in () at /usr/lib/libQt5Core.so.5
#7 0x00007f175cf06526 in QMessageLogger::critical(char const*, ...) const () at /usr/lib/libQt5Core.so.5
#8 0x000055deb2e5c720 in mixxx_debug_assert(char const*, char const*, int, char const*) (assertion=assertion@entry=0x55deb39bd0db "isValid()", file=file@entry=0x55deb39bbf30 "src/track/bpm.h", line=line@entry=53, function=function@entry=0x55deb39bbf08 "double mixxx::Bpm::value() const") at gsrc/util/assert.h:9
#9 0x000055deb2ee7e7e in mixxx_debug_assert_return_true(char const*, char const*, int, char const*) (function=0x55deb39bbf08 "double mixxx::Bpm::value() const", line=53, file=0x55deb39bbf30 "src/track/bpm.h", assertion=0x55deb39bd0db "isValid()") at gsrc/util/assert.h:18
#10 mixxx::Bpm::value() const (this=<synthetic pointer>) at src/track/bpm.h:53
#11 mixxx::operator*(mixxx::Bpm, double) (multiple=1, bpm=...) at src/track/bpm.h:160
#12 SyncControl::setLocalBpm(mixxx::Bpm) (this=<optimized out>, localBpm=...) at src/engine/sync/synccontrol.cpp:567
#13 0x000055deb34c7ba3 in EngineBuffer::postProcess(int) (this=0x55deb56eb060, iBufferSize=2048) at src/engine/enginebuffer.cpp:1318
#14 0x000055deb3139023 in EngineMaster::processChannels(int) (this=0x55deb5449440, iBufferSize=<optimized out>) at src/engine/enginemaster.cpp:383
#15 0x000055deb31394f7 in EngineMaster::process(int) (this=0x55deb5449440, iBufferSize=iBufferSize@entry=2048) at src/engine/enginemaster.cpp:410
#16 0x000055deb2f91d0b in SoundManager::onDeviceOutputCallback(long) (this=<optimized out>, iFramesPerBuffer=iFramesPerBuffer@entry=1024) at src/soundio/soundmanager.cpp:596
#17 0x000055deb32dd794 in SoundDevicePortAudio::callbackProcessClkRef(long, float*, float const*, PaStreamCallbackTimeInfo const*, unsigned long) (this=0x55deb553e6b0, framesPerBuffer=1024, out=<optimized out>, in=<optimized out>, timeInfo=<optimized out>, statusFlags=<optimized out>) at src/soundio/sounddeviceportaudio.cpp:965
This happens because `newLocalBpm` is invalid when `localBpm` is
invalid. Trying to do sync decks while no tempo information is available
does not make sense, so we only synchronize decks if the local BPM is
available.

No description provided.