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
Add functionality to timeline #3274
Conversation
Feel free to nitpick right now. There may be a bug that @ericfont will find, but nothing that will change a large part of the code. |
Ok I can take a look in a few hours. It's good that you got this PR initiated now. |
936bf12
to
d29fd08
Compare
mscore/timeline.h
Outdated
@@ -28,6 +28,8 @@ | |||
|
|||
namespace Ms { | |||
|
|||
#include<QGraphicsItem> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Sure this is needed and not already in all.h? No space between #include
and <
?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Shoot! I thought I took that out. I'll fix that
mscore/timeline.h
Outdated
@@ -61,6 +63,19 @@ class TDockWidget : public QDockWidget { | |||
class TRowLabels : public QGraphicsView { | |||
Q_OBJECT | |||
|
|||
public: | |||
enum class MouseOverValue : char { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I believe @wschweer is against that : char
nowadays.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
What is the preferred way?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Just drop the : char
. But let @wschweer have a say ;-)
b63e636
to
2d65291
Compare
My apologies on the change to build/mingw32.mingw.cmake I thought I reverted that. I will fix that tomorrow. |
2d65291
to
058d22d
Compare
mscore/musescore.h
Outdated
@@ -219,6 +219,7 @@ class MuseScoreApplication : public QtSingleApplication { | |||
class MuseScore : public QMainWindow, public MuseScoreCore { | |||
Q_OBJECT | |||
|
|||
friend class Timeline; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Why is that needed?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
https://github.com/musescore/MuseScore/pull/3274/files#diff-cc622a84f39c126c462e9c5bd168abb6R2791
The editInstrList(), cs, and mixer are private. I can change it if there are underlying issues to using friend, I'll just need to write some access functions
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'm surprised I didn't see it before. I will use getMixer()
[EDIT]
I also noticed what cs is, so I am trying to use some timeline class variables instead. Is there an action I could use to get editInstrList()?
Check out my blog posts for more info: Blog 7: https://musescore.org/en/user/1190941/blog/2017/07/16/gsoc-2017-timeline-navigation-weekly-report-7 Blog 8: https://musescore.org/en/user/1190941/blog/2017/07/22/gsoc-2017-timeline-navigation-weekly-report-8 Blog 9: https://musescore.org/en/user/1190941/blog/2017/07/30/gsoc-2017-timeline-navigation-weekly-report-9 Blog 10: https://musescore.org/en/user/1190941/blog/2017/08/05/gsoc-2017-timeline-navigation-weekly-report-10 Specific commit information can be found: https://github.com/JoshuaBonn1/MuseScore/tree/7-timeline-class fix #230821 : Multiple meta values in a measure only displays one fix #234081 : Display hidden instruments and allow for hiding of instruments from timeline
058d22d
to
2d5a6b0
Compare
well those icons look pixelated on any computer because they are just binary pixel maps. Should they be anti-aliased? Also I'm curious why your quarter note unicode symbol in the tempo row isn't displaying properly in your pic. Is there a missing font or is that symbol not in the default font? |
The eyes were mostly temporary placeholders (I'm really not an artist and I think there is a better way to show it.) The issue of them being too far to the right (which doesn't happen on mine and I don't believe ericfont's computer) might be due to the calculation method of finding that spot. @lasconic did that happen naturally? Or were you resizing things? |
regarding the partial hiding of the icons, I wonder if has something to do with how Qt renders the divider or the subwidget boundary. I notice on my windows & linux computer the divider is much thinner...only like 3 pixels. There is no thick black line around the widget on the right. And there is no rounded corner for the left widget's boundary. |
For the icons, we should probably move them to SVG. Let's see if someone is up to that. Icons look good with Fusion them, not with oxygen where the separator is thicker. Oxygen will be removed eventually so that's fine. I see several crashes when hiding instruments in 2.x imported scores. They are probably not related so I propose to merge this PR and wait for feedback. |
@JoshuaBonn1 I will create a new page in the developer handbook in order to document the Timeline feature. It would be great if you could write this page to explain all the features of the Timeline. @ericfont Do we keep this name? Timeline? Or do we change it to something else? worth to poll users? Maybe once the features are all listed in the handbook. |
@JoshuaBonn1 You can use https://musescore.org/en/node/245526/edit |
Feedback from @wschweer : |
Regarding keeping the name Timeline, as I said at the beginning I prefer the term MiniMap as that is what it is and to reserve the word timeline for representing an unrolled score with [minute]' [second]" timestamps listed, if that ever gets implemented. It might be worth to poll users. I personally disagree with werner's suggestion: "One observation: the instrument names should be vertically centered in the tracks, (like the measure numbers)" because I find center-justified is hard to quickly read & compare the first letters of each instrument. looks like @JoshuaBonn1 has written up basic description (text only) at https://musescore.org/en/node/245526 |
"vertically centered" ? |
oh sorry, I didn't read that correctly. Strange, on my computer, the instrument names already appear vertically centered on each track... |
Check out my blog posts for more info:
Blog 7: https://musescore.org/en/user/1190941/blog/2017/07/16/gsoc-2017-timeline-navigation-weekly-report-7
Blog 8: https://musescore.org/en/user/1190941/blog/2017/07/22/gsoc-2017-timeline-navigation-weekly-report-8
Blog 9: https://musescore.org/en/user/1190941/blog/2017/07/30/gsoc-2017-timeline-navigation-weekly-report-9
Blog 10: https://musescore.org/en/user/1190941/blog/2017/08/05/gsoc-2017-timeline-navigation-weekly-report-10
Specific commit information can be found: https://github.com/JoshuaBonn1/MuseScore/tree/7-timeline-class