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
Inconsistent steps on Beat/Bassline #1651
Comments
Marking as an enhancement for now, since this has been default behavior since the beginning of time. I'm not sure your illustrations are accurate though... I would expect the patterns to play:
Which simply means we should shrink (or expand) each pattern to its appropriate width as compares to the widest (no?) -Tres |
You can reproduce my steps and see if this is not the case, I used master.
You mean, adding steps and make everything consistent? If this is your proposal I agree and outline it as option number 2 on the list of proposals to fix this. |
If I did not make my point clear, this is what should happen (in my opinion) if you add another instrument: And that's what's not happening. This is huge for me as it makes it impossible to adjust a beat with more steps than the time signature without wiping everything out. An alternative solution is to add/reduce steps for each instrument individually, but then we would have to understand how this would play on the whole pattern. |
No, we are saying the same thing... the three patterns threw me off, but we're certainly saying the same thing.
Sure, or show the right half as blank until they are filled in (or alternately repeat it twice on playback, rather than playing it once?) -Tres |
Auto extend with GUI like the last picture by badosu is a good approach IMO. |
We've talked about per-pattern time signature. With that change, each The idea is that after this change the b/b-patterns will no longer have So this issue will probably go unfixed until then. |
or open in piano-roll |
@lukas-w Never noticed that, great! So that fixes my issue with the step assignment inconsistency, at least I can move on with my projects when I need to add new tracks to BB. However I still feel that we have a problem... It's not clear to me how tracks with different step quantities should behave, and for me the current behaviour is bad. Does anyone know how commercial DAW's solve this issue? And if even this is allowed at all? |
IIRC, FLStudio relies on time signature and expands all of them. IIRC, Ableton uses a drum kit instrument stacker interface, but writes midi-style notes to a piano roll. The step sequencer is really a simplified piano roll, so I can see why some DAWs simply use the piano roll out of the box. |
@tresf What does this mean? That a pattern with 8 steps is looped twice, when the widest pattern has 16 steps, instead of once like lmms does today (playing until half the length of widest pattern)? Let me describe the problem with an illustration, maybe this can help us more. The ProblemThis is what happens on LMMS today:
Is played as:
Proposal 1Distribute the pattern with small steps, if possible. The equivalent now becomes:
This would require us to deal with small steps with broken (Irrational in respect to the widest pattern) proportions. Proposal 2Loop the small steps pattern. The equivalent now becomes:
This is what I understood from FL Studio behaviour, let me know (@tresf) if I am mistaken. Proposal 3Mantain the current behaviour. The equivalent now remains:
This looks worse than the other proposals, but let me know if I am mistaken again and why this is better. Proposal 4Not allowing patterns with different step sizes, we always expand all patterns to the widest pattern length. |
Sometime a picture is worth 1000 words.... Pretty much, option 2 in your original bug report:
In terms of time signature, I don't know if it's track or pattern based, but here is how it's handled... Hope that helps explain. P.S. Unrelated, but I just snagged a screenshot, I don't have this installed to actually try it out. 🍺 |
@tresf Thanks for the pictures... So, is this something you think would be worth working on? Or is it only me that feels this as a problem? Also, by using proposal 2 (not allowing different step sizes like FL) we are simplifying the usage of the BB which is a huge gain in usability and maintenance for me. |
Reason being is that the auto-expansion (and shrinking) can get hairy when it's not explicitly defined in the BB pattern like how FL handles it. Without that little display widget, it can be quite confusing to users I think... and we probably don't want to add some type of pattern length widget in for 1.2 (right?) |
On 01/22/2015 07:00 PM, Tres Finocchiaro wrote:
It's not just a drawing issue. Each step in a bb-pattern represents a The problem here is not with the patterns per se, but with there not Adding a "length" property to bb-tracks is the most future-proof way to |
But why not automatically fill them in? I can't think of empty bars at the end of a beat pattern being useful? If you want the beat to be alternate you should place a B&B pattern in the Song Editor alternately, right? Would love to get some examples of how you can use it as a feature :) |
Right, which I mentioned in my next comment here...
But to simply shrink the widget's display size to a respective fraction of the overall width can mitigate this for now until a proper enhancement is made. Fix the current functionality until we can later enhance the overall functionality. |
On 01/22/2015 08:51 PM, Tres Finocchiaro wrote:
Frankly, shrinking the display size of the patternview is probably more |
Well.... considering the proper implementation puts the pattern size in a different part of the codebase (and a different part of the XML) and it may also add a new QWidget to the toolbar, I'm not sure it would be easier and faster.
Sure, there will be a for loop that will need removal afterward. :) -Tres |
On 01/22/2015 09:53 PM, Tres Finocchiaro wrote:
Not really. It just adds a new property to bb-track, the patterns Backwards compat would be trivial by taking the qMax() of the pattern
Changing the +/- to a lcd widget is trivial and not really related with |
Most other pattern editors will simply have a grid, with each row representing an instrument. Since steps and piano-roll input are mutually exclusive for a given bassline, piano-roll inputs can take up the whole row just as they do now. Having a four step instrument take up the same amount of room as an eight-step instrument leads to a GUI that doesn't represent what the user hears. Having not looked at the source, I don't know how well the model and view are separated, but I shouldn't think making that change would be difficult or detrimental: It would be even better if horizontal and vertical zooming could be smooth, rather than discreet (100%, 200%, etc...), and if said zooming was present at all within the bassline editor. |
(....aaaaa...nnn....dddd ...the new fancy 'bubble' notes that natively looks larger than they actually are made logically, does so absolutely not help determine the visual size of a very small note in P-roll ) insert very sad kitten here.. |
@musikBear The new fancy 'bubble' notes actually occupy less area than the previous layout. Could you explain you complaints with an understandable discourse? |
@badosu for me it is more difficult to see the exact tick-position of a bubble-note, than a right-angled rectangular-note Here i have an old screnie I have more difficulties seeing placement position with these notes ...and surely, the bubble take up more space inside the grid -not less ?.. |
@badosu, is there a reason for the rounded notes other than being rounded? Does it provide new functionality, or is it just for the looks? |
@musikBear Your comparison is somewhat unfair, the last 2 notes have a different size (you probably hold alt while painting them). Using the same pattern would be better. See: https://cloud.githubusercontent.com/assets/347552/5558524/113092d8-8d12-11e4-984e-8a77af3582e2.png You participated of the issue #64 when I suggested this, you could have helped the discussion on that occasion. I simplified code for drawing notes and just rounded them, this can be easily reverted. In terms of LMMS as a whole I think the square notes really degrade the experience instead of improving, if the issue is because of the smallness of the notes (this really the issue with making them difficult to see, in my opinion) I would rather enable increasing note height, which is not possible today. This is the same issue one can have with QTractor for example, the product looks great, but when you jump on the note editor... Anyway, what the team thinks it's better, it's better. I will digress no more. |
Well the problem I have with the rounded notes is that they don't look very clear to me and tbh they have a lot of shades of the same color. If the rounded rectangles were borderless, they'd be more visually appealing to me. Again this is personal preference, and I personally am a big fan of flat design, and if I was in charge of the UI, I'd probably take out a lot of gradients from it, since they look really ugly to me. |
@Umcaruje I agree with you that the Piano Editor need some work to improve the readability/usability/look. With regard to the gradients and brightness, they exist as a visual indication of panning and volume, this already existed at the time I started on the border work, I just adapted it. I can't see how they are useful today, maybe power users could help us identifying that. I feel like unless we have a full art direction going on and a commitment to implement it, any work on this area will be overriden. Anyway, feel free to suggest reverting the border changes or improving it, it's not very hard to make it look better. But one thing that would make wonders and would probably be reused even in the occasion of a redesign implementation is the ability to change the height of the notes. |
Is this rounded notes issue something we could leave to themes? I.e. make
it possible for a theme to choose to what degree the notes are rounded and
how thick their border is? In this way we could accommodate both
preferences.
|
Yeah, that would be the best solution. Notes could have the |
@Wallacoloo @Umcaruje Yes, this could be totally themeable. This would require turning the specific notes into widgets though. Today they are drawn under the |
@badosu I believe we could make these properties of PianoRoll instead. PianoRoll {
note-border-radius: 5;
note-border-width: 2;
[...]
} The downside is of course that "border-width" and "border-radius" are standard CSS properties whereas these new ones are not. On the other hand, it may make sense to split the PianoRoll apart into widgets. Looking at that 505 line long |
@Wallacoloo This would be at your convenience, adding a |
exactly my preferences too - I will favor functionality over design always |
Closed via #2883 |
Suppose you are writing a beat with small steps, somethings like this:
And then you notice you want to add another instument to play off-beat (I don't know if this exists in english but would be written as "contratempo" on my language) to the first, so you drag and drop it do the b/b:
Notice that the new instrument has bigger steps than the previous, let's see what happens if you add notes every two beats:
If you play the pattern above you'll notice something odd, the last instrument plays beats until half the full time of the pattern, the following image depicts an equivalent pattern of what's happening (the 3rd instrument):
This is bad... I am not able to compose a complex beat with small steps adding new instruments when I find convenient. If I click on Add Steps all the instruments on the BB line will be refined, so the solution would be to add all instruments that I want to play previously and just after to add steps.
For me this is a bug, we should discover what would be a better behaviour:
Let me describe the problem with an illustration, maybe this can help us more.
The Problem
This is what happens on LMMS today:
Is played as:
Proposal 1
Distribute the pattern with small steps, if possible.
The equivalent now becomes:
This would require us to deal with small steps with broken (Irrational in respect to the widest pattern) proportions.
Proposal 2
Loop the small steps pattern.
The equivalent now becomes:
This is what I understood from FL Studio behaviour, let me know (@tresf) if I am mistaken.
Proposal 3
Mantain the current behaviour.
The equivalent now remains:
This looks worse than the other proposals, but let me know if I am mistaken again and why this is better.
Proposal 4
Not allowing patterns with different step sizes, we always expand all patterns to the widest pattern length.
The text was updated successfully, but these errors were encountered: