Giter VIP home page Giter VIP logo

powertab / powertabeditor Goto Github PK

View Code? Open in Web Editor NEW
507.0 54.0 68.0 6.65 MB

View and edit guitar tablature.

Home Page: https://powertab.github.io

License: GNU General Public License v3.0

CMake 1.59% C++ 94.35% HTML 1.76% Objective-C++ 0.16% C 0.53% Inno Setup 1.53% PowerShell 0.08%
guitar-tabs music-composition c-plus-plus guitar cross-platform music music-notation qt audio tablature

powertabeditor's People

Contributors

aaly11 avatar adam-eldredge avatar albanobattistella avatar badmoons avatar brunosilvano avatar cameronwhite avatar danailbd avatar danieleds avatar dependabot[bot] avatar dj-viking avatar dontbelieveme avatar eb4x avatar erwantlg avatar fitojb avatar iceseyes avatar jlearman avatar luzpaz avatar mostafa-nabil avatar nathanbnm avatar nbrunett avatar psyomn avatar rhochreiter avatar thejenja avatar weblate avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

powertabeditor's Issues

Memory Leak.

pte2 0 memory leak

Loading and removing tens of tabs leaves the program memory expanded.

Long rehearsal signs can overlap

Probably the best solution is to limit the rehearsal sign text to the width of the bar, and cut it off with an ellipsis. The tooltip should contain the full text of the rehearsal sign.

image

Notes play as you enter them.

Typing in a note into the notation produces a pitch immediately so that you may hear whether you're entering the correct note. This feature can be toggled on/off in preferences.

Playback toolbar buttons should have shortcuts

  • The tooltip for the stop/start button should mention that the spacebar can be used as a shortcut
  • The metronome toggle and the "return to beginning" buttons should have keyboard shortcuts and appear in the Playback menu

Make editing behaviour more consistent

  • For a barline, Shift+B will edit the barline type, and Ctrl+Del deletes it
  • For a player change, I can't edit an existing one and have to remove and recreate it just to add a new player - this gets really annoying!
    • Similar for tempo markers, directions, etc
    • For things like natural harmonics or trills, this behavior is probably okay though

More copy options.

Copy measure A to B
Copy rehearsal C.
Copy key changes.

Allows you to copy without having to highlight/copy more than one section, multiple times.

The same file can be opened multiple times

Currently, the behaviour is:

  • The application has a single instance, so double-clicking a file in the file manager will open it in the open instance of the program if possible
  • No check is done for opening the same file multiple times

Possible options are:

  • Prevent users from opening the same file multiple times
  • Watch the filesystem for changes to any open files, and prompt the user to reload the file if it is changed elsewhere

Multiple system-multiple caret glitch.

Create enough systems to produce the scroll bar. Click on one system, move your mouse wheel one notch, and click on another system, move your mouse wheel in the opposite direction of the first time, click on a third system. You can do this indefinitely until all your systems have carets in them.

5 cursors
This is confirmed for r1325 also.

Recent history/directory toolbar/pane. Windows 7 pinned/history.

Couple of related ideas here. One is specifically for Windows and so maybe not a great concept for a cross platform app. The idea is to provide quick access to the tabs you've been working on lately with minimal effort. The 2nd image is from Tabledit (what I used before PTE.)

windows 7 pinned

tabledit - directory pane

Add a "File/Save" menu option

I intentionally left this out so that people don't accidentally save files in a format that may change substantially before the release. But we could probably add this in sometime soon.

Muted notes sound the same for every instrument

Currently, the MIDI player just switches the instrument to "Electric Guitar (Muted)" whenever it has to play a muted note. Version 1.7 was able to get a decent muted sound for each instrument, so it definitely is possible.

Implement floating text

This will be a bit challenging due to the differences between the v1.7 format and the new file format.

Floating text in v1.7 is stored at an absolute position, but the new file format doesn't store any layout information (e.g. the height in pixels of a system, or how much space is between systems). This has a bunch of advantages, since it will let us do things like widescreen layouts very easily. But that also means that allowing users to place floating text anywhere in the score won't work well (for example, if you switched to a different layout, your floating text would all be out of position).

One option would be to only allow floating text to be inside a system, so if the layout moves a system around any text inside it will move along with it. That might be a bit problematic if someone deletes a staff and causes some text to end up outside the system though. Another option is to make it more like chord text, where it has to be located at the top of a system

Guitar Pro Note Spacing Rendered Incorrectly.

The notes aren't given the full space that they command. There isn't any formatting done for guitar pro yet, so the notes are just placed one after another. So the red line "current location" marker might finish a measure by the third beat, for example. The visual doesn't align with the audio.

Test file: See the passage for the top staff at system 4, position 26.
https://onedrive.live.com/redir?resid=BF1A7BA5AAA1B4E4!159&authkey=!AKIy8FAlQeI9LiY&ithint=file%2cgp4

Add drum score.

As an involved process, this is further down the pipeline, but is doable as the metronome already uses the drum patch 1.7 utilizes:

drum patch2 0

Add support for rit./accel.

Rit./Accel. measures operate at a constant pace for the duration of measures between the current and ending tempo markers. The pace is fixed regardless of the tempos before or after them, or whether they are higher/lower than the rit/accel constant tempo pace.

If the rit/accel markers occur within a measure, they'll play at the aforementioned constant tempo, but the measure itself occupies the space of the measure as set by the tempo marker before it.

If the rit/accel markers are placed on the barline instead, there is no extra empty space at the end of the measure.

The Rit. tempo is somewhere above 300BPM (the limit for PTE1.7). The Accel. tempo is at about 250.

In 1.7, a rit. and an accel. perform identically. The only thing that truly matters is the starting/ending tempo markers.
For instance, a
(t=120 -accel- t=180) will play identically to a
(t=120 -rit- t=180.)

Test files:
https://onedrive.live.com/redir?resid=BF1A7BA5AAA1B4E4!157&authkey=!AOxEDsTIUlHlVk4&ithint=folder%2c

Crash when creating new file

File> New results in a segmentation fault:

Platform:

$uname -a
Linux laptopvincent 3.14-1-amd64 #1 SMP Debian 3.14.12-1 (2014-07-11) x86_64 GNU/Linux

$ lsb_release -a
No LSB modules are available.
Distributor ID: Debian
Description:    Debian GNU/Linux testing (jessie)
Release:    testing
Codename:   jessie

GIT version:

$ git status
On branch master
Your branch is up-to-date with 'origin/master'.

nothing to commit, working directory clean

Backtrace:

$ valgrind bin/powertabeditor
==32112== Memcheck, a memory error detector
==32112== Copyright (C) 2002-2013, and GNU GPL'd, by Julian Seward et al.
==32112== Using Valgrind-3.9.0 and LibVEX; rerun with -h for copyright info
==32112== Command: bin/powertabeditor
==32112== 
==32112== Conditional jump or move depends on uninitialised value(s)
==32112==    at 0x120780A5: ??? (in /usr/lib/x86_64-linux-gnu/libgtk-x11-2.0.so.0.2400.24)
==32112==    by 0x839B5E6: ??? (in /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0.4000.0)
==32112==    by 0x83B4087: g_signal_emit_valist (in /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0.4000.0)
==32112==    by 0x83B5211: g_signal_emit_by_name (in /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0.4000.0)
==32112==    by 0x83A2B38: g_object_set_valist (in /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0.4000.0)
==32112==    by 0x83A3396: g_object_set (in /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0.4000.0)
==32112==    by 0x504FF85: ??? (in /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5.3.1)
==32112==    by 0x4FD60DC: QStyleFactory::create(QString const&) (in /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5.3.1)
==32112==    by 0x4F73A02: QApplication::style() (in /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5.3.1)
==32112==    by 0x4F73DEC: QApplicationPrivate::initialize() (in /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5.3.1)
==32112==    by 0x4F73E42: QApplicationPrivate::construct() (in /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5.3.1)
==32112==    by 0x83F38C: main (in /home/vincent/projects/pte/build/bin/powertabeditor)
==32112== 
==32112== Conditional jump or move depends on uninitialised value(s)
==32112==    at 0x8652330: g_utf8_offset_to_pointer (in /lib/x86_64-linux-gnu/libglib-2.0.so.0.4000.0)
==32112==    by 0x1207B340: ??? (in /usr/lib/x86_64-linux-gnu/libgtk-x11-2.0.so.0.2400.24)
==32112==    by 0x1207B8E3: ??? (in /usr/lib/x86_64-linux-gnu/libgtk-x11-2.0.so.0.2400.24)
==32112==    by 0x1207BBCE: ??? (in /usr/lib/x86_64-linux-gnu/libgtk-x11-2.0.so.0.2400.24)
==32112==    by 0x839B3B7: g_closure_invoke (in /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0.4000.0)
==32112==    by 0x83AC556: ??? (in /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0.4000.0)
==32112==    by 0x83B4A28: g_signal_emit_valist (in /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0.4000.0)
==32112==    by 0x83B4CE1: g_signal_emit (in /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0.4000.0)
==32112==    by 0x121FF4E3: gtk_widget_realize (in /usr/lib/x86_64-linux-gnu/libgtk-x11-2.0.so.0.2400.24)
==32112==    by 0x12200797: gtk_widget_set_parent (in /usr/lib/x86_64-linux-gnu/libgtk-x11-2.0.so.0.2400.24)
==32112==    by 0x120A8D42: gtk_fixed_put (in /usr/lib/x86_64-linux-gnu/libgtk-x11-2.0.so.0.2400.24)
==32112==    by 0x839E486: g_cclosure_marshal_VOID__OBJECTv (in /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0.4000.0)
==32112== 
==32112== Conditional jump or move depends on uninitialised value(s)
==32112==    at 0x865235F: g_utf8_offset_to_pointer (in /lib/x86_64-linux-gnu/libglib-2.0.so.0.4000.0)
==32112==    by 0x1207B340: ??? (in /usr/lib/x86_64-linux-gnu/libgtk-x11-2.0.so.0.2400.24)
==32112==    by 0x1207B8E3: ??? (in /usr/lib/x86_64-linux-gnu/libgtk-x11-2.0.so.0.2400.24)
==32112==    by 0x1207BBCE: ??? (in /usr/lib/x86_64-linux-gnu/libgtk-x11-2.0.so.0.2400.24)
==32112==    by 0x839B3B7: g_closure_invoke (in /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0.4000.0)
==32112==    by 0x83AC556: ??? (in /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0.4000.0)
==32112==    by 0x83B4A28: g_signal_emit_valist (in /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0.4000.0)
==32112==    by 0x83B4CE1: g_signal_emit (in /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0.4000.0)
==32112==    by 0x121FF4E3: gtk_widget_realize (in /usr/lib/x86_64-linux-gnu/libgtk-x11-2.0.so.0.2400.24)
==32112==    by 0x12200797: gtk_widget_set_parent (in /usr/lib/x86_64-linux-gnu/libgtk-x11-2.0.so.0.2400.24)
==32112==    by 0x120A8D42: gtk_fixed_put (in /usr/lib/x86_64-linux-gnu/libgtk-x11-2.0.so.0.2400.24)
==32112==    by 0x839E486: g_cclosure_marshal_VOID__OBJECTv (in /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0.4000.0)
==32112== 
==32112== Conditional jump or move depends on uninitialised value(s)
==32112==    at 0x8652330: g_utf8_offset_to_pointer (in /lib/x86_64-linux-gnu/libglib-2.0.so.0.4000.0)
==32112==    by 0x1207B340: ??? (in /usr/lib/x86_64-linux-gnu/libgtk-x11-2.0.so.0.2400.24)
==32112==    by 0x1207B8E3: ??? (in /usr/lib/x86_64-linux-gnu/libgtk-x11-2.0.so.0.2400.24)
==32112==    by 0x1207B9BF: ??? (in /usr/lib/x86_64-linux-gnu/libgtk-x11-2.0.so.0.2400.24)
==32112==    by 0x1261DD06: ??? (in /usr/lib/x86_64-linux-gnu/libgdk-x11-2.0.so.0.2400.24)
==32112==    by 0x8624CE4: g_main_context_dispatch (in /lib/x86_64-linux-gnu/libglib-2.0.so.0.4000.0)
==32112==    by 0x8625047: ??? (in /lib/x86_64-linux-gnu/libglib-2.0.so.0.4000.0)
==32112==    by 0x86250EB: g_main_context_iteration (in /lib/x86_64-linux-gnu/libglib-2.0.so.0.4000.0)
==32112==    by 0x73B68C6: QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) (in /usr/lib/x86_64-linux-gnu/libQt5Core.so.5.3.1)
==32112==    by 0x735FEC1: QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) (in /usr/lib/x86_64-linux-gnu/libQt5Core.so.5.3.1)
==32112==    by 0x73675FC: QCoreApplication::exec() (in /usr/lib/x86_64-linux-gnu/libQt5Core.so.5.3.1)
==32112==    by 0x83FD8B: main (in /home/vincent/projects/pte/build/bin/powertabeditor)
==32112== 
==32112== Conditional jump or move depends on uninitialised value(s)
==32112==    at 0x865235F: g_utf8_offset_to_pointer (in /lib/x86_64-linux-gnu/libglib-2.0.so.0.4000.0)
==32112==    by 0x1207B340: ??? (in /usr/lib/x86_64-linux-gnu/libgtk-x11-2.0.so.0.2400.24)
==32112==    by 0x1207B8E3: ??? (in /usr/lib/x86_64-linux-gnu/libgtk-x11-2.0.so.0.2400.24)
==32112==    by 0x1207B9BF: ??? (in /usr/lib/x86_64-linux-gnu/libgtk-x11-2.0.so.0.2400.24)
==32112==    by 0x1261DD06: ??? (in /usr/lib/x86_64-linux-gnu/libgdk-x11-2.0.so.0.2400.24)
==32112==    by 0x8624CE4: g_main_context_dispatch (in /lib/x86_64-linux-gnu/libglib-2.0.so.0.4000.0)
==32112==    by 0x8625047: ??? (in /lib/x86_64-linux-gnu/libglib-2.0.so.0.4000.0)
==32112==    by 0x86250EB: g_main_context_iteration (in /lib/x86_64-linux-gnu/libglib-2.0.so.0.4000.0)
==32112==    by 0x73B68C6: QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) (in /usr/lib/x86_64-linux-gnu/libQt5Core.so.5.3.1)
==32112==    by 0x735FEC1: QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) (in /usr/lib/x86_64-linux-gnu/libQt5Core.so.5.3.1)
==32112==    by 0x73675FC: QCoreApplication::exec() (in /usr/lib/x86_64-linux-gnu/libQt5Core.so.5.3.1)
==32112==    by 0x83FD8B: main (in /home/vincent/projects/pte/build/bin/powertabeditor)
==32112== 
==32112== Conditional jump or move depends on uninitialised value(s)
==32112==    at 0x8652330: g_utf8_offset_to_pointer (in /lib/x86_64-linux-gnu/libglib-2.0.so.0.4000.0)
==32112==    by 0x1207B340: ??? (in /usr/lib/x86_64-linux-gnu/libgtk-x11-2.0.so.0.2400.24)
==32112==    by 0x1207B9D8: ??? (in /usr/lib/x86_64-linux-gnu/libgtk-x11-2.0.so.0.2400.24)
==32112==    by 0x1261DD06: ??? (in /usr/lib/x86_64-linux-gnu/libgdk-x11-2.0.so.0.2400.24)
==32112==    by 0x8624CE4: g_main_context_dispatch (in /lib/x86_64-linux-gnu/libglib-2.0.so.0.4000.0)
==32112==    by 0x8625047: ??? (in /lib/x86_64-linux-gnu/libglib-2.0.so.0.4000.0)
==32112==    by 0x86250EB: g_main_context_iteration (in /lib/x86_64-linux-gnu/libglib-2.0.so.0.4000.0)
==32112==    by 0x73B68C6: QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) (in /usr/lib/x86_64-linux-gnu/libQt5Core.so.5.3.1)
==32112==    by 0x735FEC1: QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) (in /usr/lib/x86_64-linux-gnu/libQt5Core.so.5.3.1)
==32112==    by 0x73675FC: QCoreApplication::exec() (in /usr/lib/x86_64-linux-gnu/libQt5Core.so.5.3.1)
==32112==    by 0x83FD8B: main (in /home/vincent/projects/pte/build/bin/powertabeditor)
==32112== 
==32112== Conditional jump or move depends on uninitialised value(s)
==32112==    at 0x865235F: g_utf8_offset_to_pointer (in /lib/x86_64-linux-gnu/libglib-2.0.so.0.4000.0)
==32112==    by 0x1207B340: ??? (in /usr/lib/x86_64-linux-gnu/libgtk-x11-2.0.so.0.2400.24)
==32112==    by 0x1207B9D8: ??? (in /usr/lib/x86_64-linux-gnu/libgtk-x11-2.0.so.0.2400.24)
==32112==    by 0x1261DD06: ??? (in /usr/lib/x86_64-linux-gnu/libgdk-x11-2.0.so.0.2400.24)
==32112==    by 0x8624CE4: g_main_context_dispatch (in /lib/x86_64-linux-gnu/libglib-2.0.so.0.4000.0)
==32112==    by 0x8625047: ??? (in /lib/x86_64-linux-gnu/libglib-2.0.so.0.4000.0)
==32112==    by 0x86250EB: g_main_context_iteration (in /lib/x86_64-linux-gnu/libglib-2.0.so.0.4000.0)
==32112==    by 0x73B68C6: QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) (in /usr/lib/x86_64-linux-gnu/libQt5Core.so.5.3.1)
==32112==    by 0x735FEC1: QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) (in /usr/lib/x86_64-linux-gnu/libQt5Core.so.5.3.1)
==32112==    by 0x73675FC: QCoreApplication::exec() (in /usr/lib/x86_64-linux-gnu/libQt5Core.so.5.3.1)
==32112==    by 0x83FD8B: main (in /home/vincent/projects/pte/build/bin/powertabeditor)
==32112== 
Tab creation started ...
Using  1  worker thread(s)
Score rendered in 1297 ms
Rendered  11 items
Tap opened in 3077 ms
load glyph failed err=23 face=0x0, glyph=48
==32112== Invalid read of size 8
==32112==    at 0xE78285D: QFontEngineFT::loadGlyph(QFontEngineFT::QGlyphSet*, unsigned int, QFixed, QFontEngine::GlyphFormat, bool) const (in /usr/lib/x86_64-linux-gnu/qt5/plugins/platforms/libqxcb.so)
==32112==    by 0xE787019: QFontEngineFT::lockedAlphaMapForGlyph(unsigned int, QFixed, QFontEngine::GlyphFormat, QTransform const&, QPoint*) (in /usr/lib/x86_64-linux-gnu/qt5/plugins/platforms/libqxcb.so)
==32112==    by 0x6C8617F: QRasterPaintEngine::drawCachedGlyphs(int, unsigned int const*, QFixedPoint const*, QFontEngine*) (in /usr/lib/x86_64-linux-gnu/libQt5Gui.so.5.3.1)
==32112==    by 0x6C8850E: QRasterPaintEngine::drawStaticTextItem(QStaticTextItem*) (in /usr/lib/x86_64-linux-gnu/libQt5Gui.so.5.3.1)
==32112==    by 0x6CA083B: QPainter::drawStaticText(QPointF const&, QStaticText const&) (in /usr/lib/x86_64-linux-gnu/libQt5Gui.so.5.3.1)
==32112==    by 0x97C85E: QPainter::drawStaticText(int, int, QStaticText const&) (in /home/vincent/projects/pte/build/bin/powertabeditor)
==32112==    by 0x97C3D3: TempoMarkerPainter::paint(QPainter*, QStyleOptionGraphicsItem const*, QWidget*) (in /home/vincent/projects/pte/build/bin/powertabeditor)
==32112==    by 0x5270813: ??? (in /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5.3.1)
==32112==    by 0x527159D: ??? (in /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5.3.1)
==32112==    by 0x52708F2: ??? (in /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5.3.1)
==32112==    by 0x527159D: ??? (in /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5.3.1)
==32112==    by 0x5271C2A: ??? (in /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5.3.1)
==32112==  Address 0x98 is not stack'd, malloc'd or (recently) free'd
==32112== 
==32112== 
==32112== Process terminating with default action of signal 11 (SIGSEGV)
==32112==  Access not within mapped region at address 0x98
==32112==    at 0xE78285D: QFontEngineFT::loadGlyph(QFontEngineFT::QGlyphSet*, unsigned int, QFixed, QFontEngine::GlyphFormat, bool) const (in /usr/lib/x86_64-linux-gnu/qt5/plugins/platforms/libqxcb.so)
==32112==    by 0xE787019: QFontEngineFT::lockedAlphaMapForGlyph(unsigned int, QFixed, QFontEngine::GlyphFormat, QTransform const&, QPoint*) (in /usr/lib/x86_64-linux-gnu/qt5/plugins/platforms/libqxcb.so)
==32112==    by 0x6C8617F: QRasterPaintEngine::drawCachedGlyphs(int, unsigned int const*, QFixedPoint const*, QFontEngine*) (in /usr/lib/x86_64-linux-gnu/libQt5Gui.so.5.3.1)
==32112==    by 0x6C8850E: QRasterPaintEngine::drawStaticTextItem(QStaticTextItem*) (in /usr/lib/x86_64-linux-gnu/libQt5Gui.so.5.3.1)
==32112==    by 0x6CA083B: QPainter::drawStaticText(QPointF const&, QStaticText const&) (in /usr/lib/x86_64-linux-gnu/libQt5Gui.so.5.3.1)
==32112==    by 0x97C85E: QPainter::drawStaticText(int, int, QStaticText const&) (in /home/vincent/projects/pte/build/bin/powertabeditor)
==32112==    by 0x97C3D3: TempoMarkerPainter::paint(QPainter*, QStyleOptionGraphicsItem const*, QWidget*) (in /home/vincent/projects/pte/build/bin/powertabeditor)
==32112==    by 0x5270813: ??? (in /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5.3.1)
==32112==    by 0x527159D: ??? (in /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5.3.1)
==32112==    by 0x52708F2: ??? (in /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5.3.1)
==32112==    by 0x527159D: ??? (in /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5.3.1)
==32112==    by 0x5271C2A: ??? (in /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5.3.1)
==32112==  If you believe this happened as a result of a stack
==32112==  overflow in your program's main thread (unlikely but
==32112==  possible), you can try to increase the size of the
==32112==  main thread stack using the --main-stacksize= flag.
==32112==  The main thread stack size used in this run was 8388608.
==32112== 
==32112== HEAP SUMMARY:
==32112==     in use at exit: 4,940,506 bytes in 30,907 blocks
==32112==   total heap usage: 143,931 allocs, 113,024 frees, 37,412,671 bytes allocated
==32112== 
==32112== LEAK SUMMARY:
==32112==    definitely lost: 5,552 bytes in 38 blocks
==32112==    indirectly lost: 24,077 bytes in 593 blocks
==32112==      possibly lost: 61,853 bytes in 1,025 blocks
==32112==    still reachable: 4,667,768 bytes in 28,391 blocks
==32112==         suppressed: 0 bytes in 0 blocks
==32112== Rerun with --leak-check=full to see details of leaked memory
==32112== 
==32112== For counts of detected and suppressed errors, rerun with: -v
==32112== Use --track-origins=yes to see where uninitialised values come from
==32112== ERROR SUMMARY: 8 errors from 8 contexts (suppressed: 5 from 3)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.