diff --git a/TODO b/TODO
index ca27d65838263461f69732410bcfda8afd17a8e7..f96c588ed3e975fe3c026c990660b0429a92f6d6 100644
--- a/TODO
+++ b/TODO
@@ -19,11 +19,8 @@ ANDROID:
         - disable sniffing/note by note when audio input is off
         - hide 'clear score' one when undesired (single mode, exam with playing):
           innerWidget->flyActions()->append(bar->scoreDeleteAll()); // TODO: idea is brilliant but needs more efforts
-    - no level/exam icon in file manager, not all file managers support opening Nootka files
 
 - HOME button would be switching available menus or get rid of score menu (merge with the main)
-- duration of animation of note correction was decreased to 200ms to work properly under Android,
-  but it would be better to signal when it is finished and perform some routines in main score after that
 ============================================================================
 - TexamExecutor has many, many un-wrapped strings, many ""
 - Use int and enumerations between plugins and main window instead of text messages (level plugin to do)
@@ -39,12 +36,9 @@ Test scaling of alpha under Windows
 - NotaData of Tartini might be cleaned
 
 MINOR:
-- clef selecting menu lost highlight when mouse is over item text - try to use QActionWidget
 - when instrument in new exercise changes: 
       if it is started from creator - there is highlight of message 
       but when started from 'start' menu - there is not
-- try to avoid many resizeEvent-s of TmultiScore during window size change
-
 
 - changing tool bar auto-hiding causes sometimes locked melody menu
 - auto hidden tool bar remains big after decreased window size
@@ -105,9 +99,6 @@ MINOR:
 ANDROID:
 - unlock left-handed guitar then implement frets zoom to respect transforms
 
-Tnote
-  - change class name to Tpitch (???)
-	- overload + and - operators to raise/drop a note
 
 TEXAMEXECUTOR
   - think about hide octave in note name format when octaves are not required in answers. 
diff --git a/changes b/changes
index 88345883e52fa6dc4e37cd3cd9c3208175c85bbe..5f0d7d2276da892160e1ef5920f9dc282848249f 100644
--- a/changes
+++ b/changes
@@ -1,5 +1,10 @@
+1.???
+     - improved look of sound views, better fit to high DPI screens
     ANDROID
-     - added quick volume settings and pitch preview invoked with vol keys
+     - reduced paint operations, application works even 2-4 times faster
+     - volume settings and pitch preview can be invoked with volume keys
+    BUGS FIXES
+     - other small fixes
 
 1.2A.7 rc3
     ANDROID
diff --git a/src/libs/main/score/tmainscore.cpp b/src/libs/main/score/tmainscore.cpp
index 9b363d5e118fe0c0e09b8e075f507768dbbe2161..a0594669f0a33fbc912a1dcb5c6c3d341721971a 100644
--- a/src/libs/main/score/tmainscore.cpp
+++ b/src/libs/main/score/tmainscore.cpp
@@ -852,7 +852,7 @@ void TmainScore::strikeBlinkingFinished() {
 	deleteNoteName(m_correctNoteNr);
 	TscoreNote *sn = noteFromId(m_correctNoteNr);
 	sn->setColor(qApp->palette().text().color());
-	sn->enableNoteAnim(true, 200);
+	sn->enableNoteAnim(true, 300);
 	sn->markNote(-1);
 	bool animEnabled = isAccidToKeyAnimEnabled();
 	enableAccidToKeyAnim(false); // prevent animations - it looks ugly with correction animations
diff --git a/src/libs/sound/widgets/tmelodyitem.cpp b/src/libs/sound/widgets/tmelodyitem.cpp
index 47003bdc0678d4d2d8a1e9a7f976c0d5cf8e9da3..cbb1ac4c92cfd9ae3923bb3952559aab12c472c9 100644
--- a/src/libs/sound/widgets/tmelodyitem.cpp
+++ b/src/libs/sound/widgets/tmelodyitem.cpp
@@ -57,7 +57,7 @@ class TflyItem : public QGraphicsItem
 public:
   TflyItem(const QIcon& icon, QGraphicsItem* parent = 0) :
       QGraphicsItem(parent),
-      m_pixmap(icon.pixmap(Tmtr::fingerPixels() * 0.85))
+      m_pixmap(icon.pixmap(qRound(Tmtr::fingerPixels() * 0.85)))
   {
     setBgColor(Qt::black);
     setGraphicsEffect(new TdropShadowEffect);
@@ -83,7 +83,7 @@ protected:
     painter->setRenderHints(QPainter::Antialiasing | QPainter::SmoothPixmapTransform);
     painter->setPen(QPen(Qt::black, 2));
     painter->setBrush(QBrush(m_bgColor));
-    painter->drawEllipse(0, 0, boundingRect().width(), boundingRect().height());
+    painter->drawEllipse(QRectF(0, 0, boundingRect().width(), boundingRect().height()));
     painter->drawPixmap((boundingRect().width() - m_pixmap.width()) / 2,
                         (boundingRect().height() - m_pixmap.height()) / 2, m_pixmap);
   }
@@ -120,17 +120,17 @@ TmelodyItem::TmelodyItem() :
 
 TmelodyItem::~TmelodyItem()
 {
-  m_instance = 0;
+  m_instance = nullptr;
 }
 
 
 bool TmelodyItem::audioInEnabled() {
-  return (bool)TaudioIN::instance();
+  return static_cast<bool>(TaudioIN::instance());
 }
 
 
 bool TmelodyItem::audioOutEnabled() {
-  return (bool)TaudioOUT::instance();
+  return static_cast<bool>(TaudioOUT::instance());
 }
 
 
@@ -193,7 +193,7 @@ void TmelodyItem::initialAnim() {
     else
       hint->setPos(m_flyList[i]->x() + Tmtr::fingerPixels() * 1.7,
                  m_flyList[i]->y() + (m_flyList[i]->boundingRect().height() - hint->realH()) / 2.0);
-    fingerPoint->addMove(QPointF(x() + 10.0, y() + boundingRect().height() / 2.0), QPointF(m_flyList[i]->x() + radius, m_flyList[i]->y() + radius), 300, 750);
+    fingerPoint->addMove(QPointF(x() + 10.0, y() + boundingRect().height() / 2.0), QPointF(m_flyList[i]->x() + radius, m_flyList[i]->y() + radius), 500, 750);
   }
   connect(fingerPoint, &TfingerPointer::moved, [=](int s){
     m_flyList[s]->setBgColor(qApp->palette().highlight().color());
@@ -205,7 +205,7 @@ void TmelodyItem::initialAnim() {
     QTimer::singleShot(10, [=]{ fingerPoint->start(); });
   });
 
-  auto gotIt = new TgraphicsTextTip(qTR("QDialogButtonBox", "OK") + QLatin1String(" !"));
+  auto gotIt = new TgraphicsTextTip(qTR("QDialogButtonBox", "OK") + QLatin1String(" !"), qApp->palette().highlight().color());
   gotIt->setDefaultTextColor(qApp->palette().base().color());
   gotIt->setParentItem(bgRect);
   gotIt->setScale(3.0);
@@ -222,6 +222,7 @@ void TmelodyItem::initialAnim() {
   fingerPoint->start();
 }
 
+
 QRectF TmelodyItem::boundingRect() const {
   return QRectF(0, 0, Tmtr::fingerPixels(), Tmtr::fingerPixels());
 }
diff --git a/src/plugins/exam/tnootkacertificate.cpp b/src/plugins/exam/tnootkacertificate.cpp
index 8dc6cd2f74a43f391527b63c9ff0af47e3a42d13..125172de693969c255c6d655ba748534de5cf835 100644
--- a/src/plugins/exam/tnootkacertificate.cpp
+++ b/src/plugins/exam/tnootkacertificate.cpp
@@ -126,17 +126,13 @@ TnootkaCertificate::TnootkaCertificate(QGraphicsView* view, Texam* exam) :
   waterMark->setGraphicsEffect(new QGraphicsBlurEffect);
   waterMark->setPos((m_width - waterMark->boundingRect().width()) / 2, (m_height - waterMark->boundingRect().height()) / 2 );
 
-#if defined (Q_OS_ANDROID)
-  m_stampPixmap->setPos((width() - m_stampPixmap->boundingRect().width()) / 2, stampYpos);
-#else
   m_stampPixmap->setScale(3.0);
   TcombinedAnim *flyingStamp = new TcombinedAnim(m_stampPixmap, this);
-    flyingStamp->setDuration(400);
+    flyingStamp->setDuration(800);
     flyingStamp->setMoving(QPointF(width() + 50.0, stampYpos - 100.0), QPointF((width() - m_stampPixmap->boundingRect().width()) / 2, stampYpos));
     flyingStamp->setScaling(1.0);
     flyingStamp->startAnimations();
   connect(flyingStamp, SIGNAL(finished()), scene(), SLOT(update()));
-#endif
 
   if (height() != m_view->sceneRect().height() * 0.96) {
     m_cert->setScale((m_view->sceneRect().height() * 0.96) / height());
diff --git a/src/plugins/exam/tquestiontip.cpp b/src/plugins/exam/tquestiontip.cpp
index 71b3ceff0915768f0682d96909e183211aeee12f..cdbaa679a89efa4262c01389f11e6a159f3234d6 100644
--- a/src/plugins/exam/tquestiontip.cpp
+++ b/src/plugins/exam/tquestiontip.cpp
@@ -1,5 +1,5 @@
 /***************************************************************************
- *   Copyright (C) 2012-2015 by Tomasz Bojczuk                             *
+ *   Copyright (C) 2012-2016 by Tomasz Bojczuk                             *
  *   seelook@gmail.com                                                     *
  *                                                                         *
  *   This program is free software; you can redistribute it and/or modify  *
@@ -69,6 +69,7 @@ TquestionTip::TquestionTip(Texam* exam, double scale) :
 {
   setOpacity(0.0);
   m_fadeInAnim = new TfadeAnim(this);
+  m_fadeInAnim->setDuration(300);
   m_fadeInAnim->setEasingCurveType(QEasingCurve::OutCubic);
   m_fadeInAnim->startFade(1.0);
 	setAcceptHoverEvents(true);