Skip to content

Make playhead red when recording - #7847

Merged
regulus79 merged 25 commits into
LMMS:masterfrom
AW1534:recording-timeline-3
Dec 12, 2025
Merged

Make playhead red when recording#7847
regulus79 merged 25 commits into
LMMS:masterfrom
AW1534:recording-timeline-3

Conversation

@AW1534

@AW1534 AW1534 commented Apr 15, 2025

Copy link
Copy Markdown
Member

image

2025-06-07.19-40-11.mp4

Comment thread include/PositionLine.h
@regulus79

Copy link
Copy Markdown
Member

I briefly tested this, and I am able to get into a state where the step recorder playhead is detached from the normal playhead. Then again, this might be how it is on master also.

image

Also, the step recorder color seems to be a bit more pink/orange than the recording playhead?

(And I tested, the themeable recording line color does seem to work! I'm able to change it's color via css in my purple theme)

@AW1534

AW1534 commented Apr 19, 2025

Copy link
Copy Markdown
Member Author

I briefly tested this, and I am able to get into a state where the step recorder playhead is detached from the normal playhead. Then again, this might be how it is on master also.

Yeah It's the same as master. Maybe I should hide the playhead while step recording?

Also, the step recorder color seems to be a bit more pink/orange than the recording playhead?

Yeah I noticed that. I got the color from the step recorder button (which is just (255, 0, 0). Which colour do you prefer? I'll make sure they match up.

@regulus79

Copy link
Copy Markdown
Member

Yeah I noticed that. I got the color from the step recorder button (which is just (255, 0, 0). Which colour do you prefer? I'll make sure they match up.

To be honest, the current red color of the recording line sort of feels really dark, but maybe that's just because I'm not used to it. Maybe someone else can give their opinion too?

Maybe I should hide the playhead while step recording?

Well, you are able to use the playhead to kind of "preview" the notes you've added so far, so I think it makes sense to keep it there. Actually now that I think about it, the recording done in the step recorder is with it's own playhead, not with the piano roll's playhead, so it might even be okay to keep the normal playhead white?

@AW1534

AW1534 commented Apr 19, 2025

Copy link
Copy Markdown
Member Author

To be honest, the current red color of the recording line sort of feels really dark, but maybe that's just because I'm not used to it. Maybe someone else can give their opinion too?

@bratpeki what do you think about the colour of the playhead? maybe we use one of the reds mentioned in #5166

#fe6b6f
#ff4757
#ee043b

One thing's for sure is we should agree on a red to use for recording and stick to it across the board.

Well, you are able to use the playhead to kind of "preview" the notes you've added so far, so I think it makes sense to keep it there. Actually now that I think about it, the recording done in the step recorder is with it's own playhead, not with the piano roll's playhead, so it might even be okay to keep the normal playhead white?

Yeah, I think you're right.

@AW1534

AW1534 commented Jun 1, 2025

Copy link
Copy Markdown
Member Author

mentioning @bratpeki again for opinions on the color

@bratpeki

bratpeki commented Jun 2, 2025

Copy link
Copy Markdown
Member

If it's still like in the video above, maybe a bit too dark. What are some reds we use in the program? The only red thing that comes to mind is the Stereo Matrix.

@regulus79

Copy link
Copy Markdown
Member

Hmm, now that I've thought about it, maybe that shade of red might be fine? It seems like tenacity uses a similar dark shade for their recording playhead.
image
Either way we would probably get used to it.

@AW1534

AW1534 commented Jun 5, 2025

Copy link
Copy Markdown
Member Author

What are some reds we use in the program? The only red thing that comes to mind is the Stereo Matrix.

I listed them in a previous comment.

@AW1534

AW1534 commented Jun 5, 2025

Copy link
Copy Markdown
Member Author

I decided to try out #ff4757 and I really like it.

image

@AW1534
AW1534 requested review from bratpeki and szeli1 June 7, 2025 21:45
@AW1534

AW1534 commented Jun 7, 2025

Copy link
Copy Markdown
Member Author

@szeli1 didn't mean to request a review, feel free to dismiss if you'd like (i dont have permissions to dismiss requests for some reason)

@AW1534
AW1534 requested a review from regulus79 July 18, 2025 21:15
Comment thread include/SongEditor.h Outdated
Comment thread include/PositionLine.h Outdated
Comment thread include/TimeLineWidget.h Outdated
Comment thread src/gui/editors/TimeLineWidget.cpp Outdated
Comment thread src/gui/editors/TimeLineWidget.cpp Outdated
@AW1534
AW1534 requested a review from messmerd August 4, 2025 00:52
Comment thread include/PositionLine.h Outdated
Comment thread src/gui/editors/PianoRoll.cpp Outdated
Comment thread src/gui/editors/PianoRoll.cpp Outdated
Comment thread src/gui/editors/PianoRoll.cpp Outdated
Comment thread src/gui/editors/SongEditor.cpp Outdated
Comment thread src/gui/editors/SongEditor.cpp Outdated
Comment thread src/gui/editors/SongEditor.cpp Outdated
…the position line in PianoRoll.

Co-authored-by: Dalton Messmer <[email protected]>
@AW1534
AW1534 force-pushed the recording-timeline-3 branch from 2c966ce to 8f16f78 Compare August 4, 2025 13:03
Comment thread include/PositionLine.h Outdated
AW1534 and others added 2 commits August 5, 2025 07:42
Co-authored-by: Dalton Messmer <[email protected]>
Co-authored-by: Dalton Messmer <[email protected]>
@bratpeki

bratpeki commented Aug 5, 2025

Copy link
Copy Markdown
Member

I'll try testing this again, can we merge afterwards @messmerd?

@messmerd

messmerd commented Aug 5, 2025

Copy link
Copy Markdown
Member

@bratpeki Sounds good to me. I think this PR is fine code-wise.

@bratpeki

bratpeki commented Aug 5, 2025

Copy link
Copy Markdown
Member

Getting back to you when I test it, then!

@bratpeki

bratpeki commented Aug 5, 2025

Copy link
Copy Markdown
Member

Okay, tested with step and regular clip recording, everything works great!

I would greatly appreciate a follow-up PR where the playhead color can be set to a custom value. @regulus79 did that for the oscilloscope and some other PRs so you could ask there for help, but I think we should definitely allow the user to set the line color so it matches the theme.

@regulus79

Copy link
Copy Markdown
Member

I would greatly appreciate a follow-up PR where the playhead color can be set to a custom value.

I believe that has already been added to this PR. I remember testing it a while back.

Comment thread src/gui/editors/PositionLine.cpp
@AW1534

AW1534 commented Nov 6, 2025

Copy link
Copy Markdown
Member Author

should be ready for merge assuming these builds pass

@regulus79

Copy link
Copy Markdown
Member

I tested this again, and I notice when you turn on step recording, the triangle for the playhead on the timeline disappears, but the position line is still visible. Is that intended?
image

@AW1534

AW1534 commented Dec 9, 2025

Copy link
Copy Markdown
Member Author

Playhead and position line are both now fully visible during step recording

Comment thread src/gui/editors/TimeLineWidget.cpp Outdated
@AW1534
AW1534 requested a review from regulus79 December 10, 2025 21:57

@regulus79 regulus79 left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

I briefly tested it, and it seems to work fine.

I noticed that the piano roll playhead does not update to being red when doing record-play/record accompany, but that's probably expected until #7454 is merged.

Comment thread include/TimeLineWidget.h Outdated
m_recording = false;
m_scrollBack = m_timeLine->autoScroll() != TimeLineWidget::AutoScrollState::Disabled;

auto* songEditor = GuiApplication::instance()->songEditor()->m_editor;

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Is there any difference between using GuiApplication::instance() vs getGUI()? It seems like most of the codebase uses the latter, but maybe it doesn't matter.

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

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

GetGUI() just calls GuiApplication::instance() and returns the result

Comment on lines +1122 to +1123
m_editor->m_timeLine->setRecording(false);
m_editor->m_positionLine->setRecording(false);

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

I notice the same two calls to update the recording state of the timeline and position line appear multiple times in the PR. That's fine, I'm just wondering if there would be a cleaner way to somehow automatically update them whenever their editor starts recording. But that's probably for a future PR.

@regulus79

Copy link
Copy Markdown
Member

Are we good to merge?

@regulus79

Copy link
Copy Markdown
Member

This PR has two approvals with write access, plus one approval from bratpeki. It appears it has also been tested by bratpeki and I, so I think it is reasonable to merge it now.

@regulus79
regulus79 merged commit 8627616 into LMMS:master Dec 12, 2025
11 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants