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

Beat and Bassline Editor #1

Closed
RebeccaDeField opened this issue Oct 4, 2015 · 11 comments
Closed

Beat and Bassline Editor #1

RebeccaDeField opened this issue Oct 4, 2015 · 11 comments

Comments

@RebeccaDeField
Copy link
Collaborator

The way that the beat and bassline editor scales when a user expands the window is by stretching the graphics to fit. This causes the graphics to look pixelized because they are being stretched further than they were designed to be. I discussed this problem and some solutions here --> LMMS#880 (comment)

Instead of stretching, a splice of the center could repeated. In other words, we would be resizing the image by tiling one section of it and keeping the rest constant.

@tresf
Copy link

tresf commented Nov 13, 2015

I believe the proper way to do this is to set a QSizePolicy::Fixed for our Beat/Bassline buttons.

The buttons appear to be QPixmap (not QWidget) so I'm not sure exactly where we'd set this...
We also need to make sure the track itself stretches with the BBEditor.

Edit: This seems to be done manually in the paint function (not in a widget policy) here: Pattern.cpp#L1141

@tresf
Copy link

tresf commented Nov 14, 2015

I've started (and possibly finished) this. Pull request is open here LMMS#2443

Before:

screen shot 2015-11-14 at 1 50 46 pm

After:

screen shot 2015-11-14 at 1 42 27 pm

The only code that was changed was the removal of the manual scaling logic in the paintEvent function.

@michaelgregorius @Umcaruje @StakeoutPunch feedback appreciated.

@michaelgregorius
Copy link

@tresf I have cloned your repository and played with the branch and everything looks good to me.

One minor nitpick that I have noticed: Elements can also be activated by clicking into the spacing between two elements which in my opinion is good because you do not have to hunt exactly for the spot to click on. However, due to the way they are painted you will always toggle the element left of the space regardless of how close you are to the element on the right of the space. This might be less intuitive to users than activating the element that is closest to the click location.

@tresf
Copy link

tresf commented Nov 15, 2015

due to the way they are painted you will always toggle the element left of the space regardless of how close you are to the element on the right of the space

Hmm... reminds me slightly of this fix LMMS@1826ced

@tresf I have cloned your repository and played with the branch and everything looks good to me.

Thanks for the review. Unfortunately, feedback on freenode and in the PR haven't been as positive. @Spekular and @grejppi have raised some valid points which are making me feel this fix is NOT worth merging. The issue is that the BBEditor having a "fixed" size where all patters stretch to the length is just a bad implementation from a theming/layout perspective and a quick fix may not be possible for the sake of helping along the modern theme initiative.

I'd like the conversation to continue though. I'd like to help along @RebeccaDeField's theme, so I'd like to discuss what is or is not worth committing and how much we can get done without rewriting the entire BBEditor, or if we just shelve this request until we can make the BBEditor behave more like the song editor from a pattern/drawiing perspective.

@RebeccaDeField
Copy link
Collaborator Author

RebeccaDeField commented Nov 16, 2015

If I'm understanding you correctly, it seems like the ideas we've come up with so would take too long to implement to justify doing right now. I can see us doing something more advanced down the road, but for the time being I want to try to come up with something simple.

What would the Beat and Bassline editor ideally look/work like? Maybe after we have that established, we can then come up with a solution based on those standards.

@tresf
Copy link

tresf commented Nov 17, 2015

@RebeccaDeField yes I think you wrapped it up correctly.

We're still trying to determine what it should work like... I think ideally, the patterns would all grow and shrink together (something I'm trying to tackle right now). Then perhaps a way to prevent squishing the steps smaller than their natural size. I'll keep you posted as to my progress. This code is all over the place, so this is taking much more time than I had anticipated. 👍

@RebeccaDeField
Copy link
Collaborator Author

Cool, it sounds like we're both on the same page. Do keep me posted on what you come up with and let me know if you need my input. I'm willing to redesign the bbeditor on this theme to fit for whatever we come up with so that this doesn't become too much work for whoever is involved.

@StakeoutPunch
Copy link

I think ideally, the patterns would all grow and shrink together (something I'm trying to tackle right now).

If I understand this correctly, this would mean that step sizes are all uniform and stay aligned with each other?

@tresf
Copy link

tresf commented Nov 19, 2015

If I understand this correctly, this would mean that step sizes are all uniform and stay aligned with each other?

Ideally, yes. Any pattern would have to stretch the entire BBEditor, grow in width (steps or whatever) to match the rest, including PianoRoll segments.

@RebeccaDeField
Copy link
Collaborator Author

@tresf @michaelgregorius Now that I am revisiting this issue, I think it might be better suited on the main issue tracker. From what people have been saying, it seems like the current BB editor is not ideal, and it's more from a technical standpoint than just aesthetic.

Before doing anything, I'll wait for confirmation. I don't want to add another issue to the list without a good reason. ;)

@RebeccaDeField
Copy link
Collaborator Author

I didn't receive a reply on this, so I went ahead and added the issue to the main issue tracker LMMS#2636

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

4 participants