Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Spinny updates #440

Merged
merged 3 commits into from
Dec 28, 2014
Merged

Spinny updates #440

merged 3 commits into from
Dec 28, 2014

Conversation

ywwg
Copy link
Member

@ywwg ywwg commented Dec 28, 2014

  • Add separate bg and mask paths to spinny -- the cover art goes between them
  • Use pixmaps instead of images for scalable drawing
  • Update LateNight with SVG spinnies

This doesn't work right -- the spinnies are drawing aliased even though the hint says antialiased. I copied the drawing code from wknobcomposed so I'm not sure why it looks bad

* Add separate bg and mask paths to spinny -- the cover art goes between them
* Use pixmaps instead of images for scalable drawing
* Update LateNight with SVG spinnies
@ywwg
Copy link
Member Author

ywwg commented Dec 28, 2014

ah, fixed the rendering issue

ywwg added a commit that referenced this pull request Dec 28, 2014
@ywwg ywwg merged commit ad12dc4 into mixxxdj:master Dec 28, 2014
m_pGhostImage = WImageStore::getImage(context.getPixmapSource(
context.selectNode(node,"PathGhost")));

if (m_pBgImage && !m_pBgImage->isNull()) {
Copy link
Member

Choose a reason for hiding this comment

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

For backwards compatibility the background should default to fixed and the setFixedSize call should be there if fixed (like the other widgets that have this logic).

Copy link
Member Author

Choose a reason for hiding this comment

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

should wknobcomposed also have that logic too, then?

Copy link
Member

Choose a reason for hiding this comment

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

Since WKnobComposed was added in 1.12 I didn't add that logic since there are no legacy skins that use it. For consistency we could do that though.

@daschuer
Copy link
Member

This breaks the spinny in 1.11 skins.

It also always adds the cover to the spinny. This should be option set by the skin designer.
Deere and Shade have already a cover in the deck region and adding one to the spinnies is overdone for me. How can I remove the cover?

@ywwg
Copy link
Member Author

ywwg commented Dec 28, 2014

cover is supposed to be optional. I'll be pushing a fix for old skins soon

@ywwg
Copy link
Member Author

ywwg commented Dec 28, 2014

oh right now covers are default on, I can change that to off

@ywwg
Copy link
Member Author

ywwg commented Dec 28, 2014

Sorry for the premature merge everyone 😔

@daschuer
Copy link
Member

the latenight skin chrashes on my netbook with an assertion:
mixxx: ../../../../../../../src/mesa/drivers/dri/i915/i915_fragprog.c:1273: i915BindProgram: Zusicherung »p->on_hardware == 0« nicht erfüllt.
Abgebrochen

this seams to be no issue on using the Shade skin.

There is not white background issue. Probably this was a Bug in the driver, fixed now in my Trusty installation.

@daschuer
Copy link
Member

Here the backtrace:

mixxx: ../../../../../../../src/mesa/drivers/dri/i915/i915_fragprog.c:1273: i915BindProgram: Zusicherung »p->on_hardware == 0« nicht erfüllt.

Program received signal SIGABRT, Aborted.
0xb7fdd424 in kernel_vsyscall ()
(gdb) bt
#0 0xb7fdd424 in kernel_vsyscall ()
#1 0xb6228577 in raise () from /lib/i386-linux-gnu/libc.so.6
#2 0xb622b9a3 in abort () from /lib/i386-linux-gnu/libc.so.6
#3 0xb62216c7 in ?? () from /lib/i386-linux-gnu/libc.so.6
#4 0xb6221777 in assert_fail () from /lib/i386-linux-gnu/libc.so.6
#5 0xa033c676 in ?? () from /usr/lib/i386-linux-gnu/dri/i915_dri.so
#6 0xa00dff80 in ?? () from /usr/lib/i386-linux-gnu/dri/i915_dri.so
#7 0xb7ed9187 in ?? () from /usr/lib/i386-linux-gnu/libQtOpenGL.so.4
#8 0xb7ed9b6c in ?? () from /usr/lib/i386-linux-gnu/libQtOpenGL.so.4
#9 0xb7eda735 in ?? () from /usr/lib/i386-linux-gnu/libQtOpenGL.so.4
#10 0xb7edab5b in ?? () from /usr/lib/i386-linux-gnu/libQtOpenGL.so.4
#11 0xb7edcf32 in ?? () from /usr/lib/i386-linux-gnu/libQtOpenGL.so.4
#12 0xb7edd97c in ?? () from /usr/lib/i386-linux-gnu/libQtOpenGL.so.4
#13 0xb7ed1076 in ?? () from /usr/lib/i386-linux-gnu/libQtOpenGL.so.4
#14 0xb73aced3 in QPainter::restore() () from /usr/lib/i386-linux-gnu/libQtGui.so.4
#15 0xb7e2aae2 in QSvgTinyDocument::draw(QPainter
, QRectF const&) () from /usr/lib/i386-linux-gnu/libQtSvg.so.4
#16 0xb7e2c405 in QSvgRenderer::render(QPainter
, QRectF const&) () from /usr/lib/i386-linux-gnu/libQtSvg.so.4
#17 0x087d7fdf in Paintable::drawInternal (this=0xcd12470, targetRect=..., pPainter=0xbfffe4e0, sourceRect=...)
at src/widget/wpixmapstore.cpp:297
#18 0x087d83c5 in Paintable::draw (this=0xcd12470, targetRect=..., pPainter=pPainter@entry=0xbfffe4e0, sourceRect=...)
at src/widget/wpixmapstore.cpp:223
#19 0x087e627b in WSpinny::paintEvent (this=0xc2bd768, e=0xbfffea88) at src/widget/wspinny.cpp:316
#20 0xb729a135 in QWidget::event(QEvent
) () from /usr/lib/i386-linux-gnu/libQtGui.so.4
#21 0xb7eb78ad in QGLWidget::event(QEvent
) () from /usr/lib/i386-linux-gnu/libQtOpenGL.so.4
#22 0xb72407f4 in QApplicationPrivate::notify_helper(QObject
, QEvent
) () from /usr/lib/i386-linux-gnu/libQtGui.so.4
#23 0xb72472d3 in QApplication::notify(QObject_, QEvent_) () from /usr/lib/i386-linux-gnu/libQtGui.so.4
#24 0x0865fba2 in MixxxApplication::notify (this=0xbffff298, target=0xc2bd768, event=0xbfffea88)
at src/mixxxapplication.cpp:138
#25 0xb6d17e4a in QCoreApplication::notifyInternal(QObject_, QEvent_) () from /usr/lib/i386-linux-gnu/libQtCore.so.4
#26 0xb7293e61 in QWidgetPrivate::drawWidget(QPaintDevice_, QRegion const&, QPoint const&, int, QPainter_, QWidgetBackingStore_) () from /usr/lib/i386-linux-gnu/libQtGui.so.4
---Type to continue, or q to quit---
#27 0xb747ed99 in QWidgetPrivate::repaint_sys(QRegion const&) () from /usr/lib/i386-linux-gnu/libQtGui.so.4
#28 0xb7287fc7 in QWidgetPrivate::syncBackingStore() () from /usr/lib/i386-linux-gnu/libQtGui.so.4
#29 0xb7299b7c in QWidget::event(QEvent_) () from /usr/lib/i386-linux-gnu/libQtGui.so.4
#30 0xb7eb78ad in QGLWidget::event(QEvent_) () from /usr/lib/i386-linux-gnu/libQtOpenGL.so.4
#31 0xb72407f4 in QApplicationPrivate::notify_helper(QObject_, QEvent_) () from /usr/lib/i386-linux-gnu/libQtGui.so.4
#32 0xb72472d3 in QApplication::notify(QObject_, QEvent_) () from /usr/lib/i386-linux-gnu/libQtGui.so.4
#33 0x0865fba2 in MixxxApplication::notify (this=0xbffff298, target=0xc2bd768, event=0xd0607f0)
at src/mixxxapplication.cpp:138
#34 0xb6d17e4a in QCoreApplication::notifyInternal(QObject_, QEvent_) () from /usr/lib/i386-linux-gnu/libQtCore.so.4
#35 0xb6d1b70d in QCoreApplicationPrivate::sendPostedEvents(QObject_, int, QThreadData_) ()
from /usr/lib/i386-linux-gnu/libQtCore.so.4
#36 0xb6d1bc1c in QCoreApplication::sendPostedEvents(QObject_, int) () from /usr/lib/i386-linux-gnu/libQtCore.so.4
#37 0xb6d4823e in ?? () from /usr/lib/i386-linux-gnu/libQtCore.so.4
#38 0xb5efe1e3 in g_main_context_dispatch () from /lib/i386-linux-gnu/libglib-2.0.so.0
#39 0xb5efe468 in ?? () from /lib/i386-linux-gnu/libglib-2.0.so.0
#40 0xb5efe528 in g_main_context_iteration () from /lib/i386-linux-gnu/libglib-2.0.so.0
#41 0xb6d4793b in QEventDispatcherGlib::processEvents(QFlagsQEventLoop::ProcessEventsFlag) ()
from /usr/lib/i386-linux-gnu/libQtCore.so.4
#42 0xb72f55de in ?? () from /usr/lib/i386-linux-gnu/libQtGui.so.4
#43 0xb6d16823 in QEventLoop::processEvents(QFlagsQEventLoop::ProcessEventsFlag) ()
from /usr/lib/i386-linux-gnu/libQtCore.so.4
#44 0xb6d16b49 in QEventLoop::exec(QFlagsQEventLoop::ProcessEventsFlag) () from /usr/lib/i386-linux-gnu/libQtCore.so.4
#45 0xb6d1c8fe in QCoreApplication::exec() () from /usr/lib/i386-linux-gnu/libQtCore.so.4
#46 0xb723ea24 in QApplication::exec() () from /usr/lib/i386-linux-gnu/libQtGui.so.4
#47 0x080c872a in main (argc=3, argv=0xbffff374) at src/main.cpp:350

@daschuer
Copy link
Member

Some of my covers are not squared. They stick to the top of the spinny. It would look nicer if the where centered, or scaled that the whole cycle is filled.

@ywwg
Copy link
Member Author

ywwg commented Dec 28, 2014

Can you confirm it also crashes before the change from image to pixmap? Just in case there's something else going on

@daschuer
Copy link
Member

The Shade skin does not crash.

@ywwg
Copy link
Member Author

ywwg commented Dec 28, 2014

Shade still uses png files, whereas Latenight now uses SVG files, so it makes sense that one would crash and not the other. I just want to confirm that latenight does still crash on the old code but with the new files.

@daschuer
Copy link
Member

LateNight: old code with new skin files does not crash. There is a gray square, no cover, but the position pointer.

@rryan rryan mentioned this pull request Dec 16, 2016
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.

3 participants