View Issue Details

IDProjectCategoryView StatusLast Update
0000360OpenMPTFeature Requestpublic2013-03-18 16:32
Reportercyaoeu Assigned ToSaga Musix  
PrioritynormalSeverityminorReproducibilityN/A
Status resolvedResolutionfixed 
Product VersionOpenMPT 1.21.01.00 (upgrade first) 
Target VersionOpenMPT 1.22.01.00 (upgrade first)Fixed in VersionOpenMPT 1.22.01.00 (upgrade first) 
Summary0000360: New chord functionality (relative)
Description

Hi! I think chords and the chord editor could become more useful if the chords were relative instead of absolute.
For example, when pressing shift h (I've changed my keys so this is an arbitrary example key) on a C note, the chord would be C Major. When pressing the same shift h on a D note, the chord would be D Major.

You could then have different chord keys for major, minor, dim, octave and so on, and you would use the chord editor to define these relative shapes. You would have to input a note first to set the chord root, but I think this is a small disadvantage when compared to the benefits.

I think this functionality could be useful because it would be easier to use and allow more chord options than the current functionality. Also, you could enable record for just one extra track and easily make "power chords" (fifths) or octaves on different tracks and so on.

TagsNo tags attached.
Has the bug occurred in previous versions?
Tested code revision (in case you know it)

Activities

Saga Musix

Saga Musix

2013-03-15 22:27

administrator   ~0001132

Sounds like a reasonable idea. No promises that I will get around implementing this anytime soon, though.

Saga Musix

Saga Musix

2013-03-17 13:52

administrator   ~0001133

I'm currently playing around with this as an additional option to the current system.

Saga Musix

Saga Musix

2013-03-17 14:39

administrator   ~0001134

Please try this new test build: http://sagagames.de/stuff/mptrack.exe
As I have already written down in the manual (http://wiki.openmpt.org/Manual:_Chord_Editor), there is now the possibility to choose a "relative" base note for every pattern. In that case, the note currently present in the pattern is chosen as the base note (or the shortcut key, if there is no note in the pattern).

Saga Musix

Saga Musix

2013-03-17 14:40

administrator   ~0001135

Oh, it's also worth mentioning that you can now enter chords without having to specify record channels.

cyaoeu

cyaoeu

2013-03-17 19:35

reporter   ~0001138

Very cool! This has the behavior I wanted, and it got even easier to use since there's no longer any need to select the additional channels. Maybe it would be nice to have a "Set all chords to relative" button and another one to reset the chords to default base keys. (just for the initial setup)

Also, maybe there could be an additional function where shift-presses after the first note input keeps the root note of the previous note (instead of using the note of the next key) but uses the relative chord of the button?
Basically how it works in row spacing 0 but having it work that way in other row spacings too. Too see the difference, make a C note in row spacing 0, shift press some relative chords, then change row spacing to 1 and do it again. So, even if you pressed a different chord, the root note would stay a C and only the relative shape would change according to a C as a root note. Maybe this is hard to implement though!

Also, a minor bug (I think): in the chord editor, you can't click D# to set it as a chord note. Selecting it in the drop down menu works fine.

Thanks for the quick feature and I hope it makes it into the next release! :)

Saga Musix

Saga Musix

2013-03-17 22:01

administrator   ~0001139

<blockquote>
Also, maybe there could be an additional function where shift-presses after the first note input keeps the root note of the previous note (instead of using the note of the next key) but uses the relative chord of the button? </blockquote>

I dunno, that sounds rather arbitrary to me (usually, a chord progression wouldn't stay on the same base note anyway, would it?).

<blockquote>
Also, a minor bug (I think): in the chord editor, you can't click D# to set it as a chord note. Selecting it in the drop down menu works fine. </blockquote>
Good catch! This should now be fixed in the latest test build (same like as above).

cyaoeu

cyaoeu

2013-03-18 00:01

reporter   ~0001140

I don't think so. When you're inputting a relative chord without inputting a note first, do you want the note and the chord shape or just the chord shape?

Note and chord shape: Press a chord key on an empty row to create a new note and a relative chord based on what relative chord you had on that key.

Chord shape: Press a chord key on an empty row to create a relative chord and a C note root (if first) or the root note of the last note a chord was created from.

In my opinion "note" sounds a lot more arbitrary since having the note you want and the relative chord you want match up would be pretty rare. Instead I think you would either want the note (and input the note normally) or a certain chord (by inputting the note first and then the chord you want). This is only true if you've actually got different chord shapes though, if you've got for example major relative chords on every key the way it works now is perfect.

Now, if I wanted to make a bunch of different chord shapes with the same root note but with different chords (treating the root note as a bass note) I would have to first make a row of C notes and then do the chords on top. Having the notes be separate would be slightly faster for me.

Saga Musix

Saga Musix

2013-03-18 01:24

administrator   ~0001141

Alright, I've changed it to use the last entered chord's base note instead when there's no note. Test build is available under the same URL again.

cyaoeu

cyaoeu

2013-03-18 12:29

reporter   ~0001143

Nice, now it works just the way I want it to. There will probably be people who prefer entering both the note and the relative chord at the same time and make chords that work with those notes, so having this functionality in a toggle switch or something could be useful.

Another cool thing you can do with this new functionality is to have a relative chord without any notes in the chord, and you can use that chord to repeat the root note and press other chords to make chord stabs. Very useful! As is the possibility of making chord stabs without having to enter the root note every time.

Something that could be useful is a "chord note cut" feature where you put note cuts on every channel where a note was last produced by a chord. You could use this to make chords "snappy" and even use it to quickly make arpeggios. Make a 4 note chord, a 4 note cut "chord", edit the notes and note cuts to play as an arpeggio, move the last note cut to the top of the pattern, flood paste, done :)

cyaoeu

cyaoeu

2013-03-18 12:51

reporter   ~0001144

Actually that simple arpeggio you can just do in one channel, but having the notes on four different channels allows you to do some pretty cool things, is what I wanted to say. :P

Saga Musix

Saga Musix

2013-03-18 13:29

administrator   ~0001145

<blockquote>Something that could be useful is a "chord note cut" feature where you put note cuts on every channel where a note was last produced by a chord. You could use this to make chords "snappy" and even use it to quickly make arpeggios. Make a 4 note chord, a 4 note cut "chord", edit the notes and note cuts to play as an arpeggio, move the last note cut to the top of the pattern, flood paste, done :) </blockquote>
Cutting chords should now work properly when "record note off" is enabled. To use this functionality, either record chords live (while the pattern is playing) or move down in the pattern while keeping the chord shortcut pressed.

cyaoeu

cyaoeu

2013-03-18 16:24

reporter   ~0001146

Great, but having for example shift+ยง doing the same thing as "record note off" when inputting chords, but manually, would be even better for me. When you want the note cuts in a specific place, holding the chord and moving down in the pattern feels pretty awkward.

Record note offs when actually recording works fine, but can also be quite inaccurate at times so having a quick way to input multiple note cuts would be very useful.

Saga Musix

Saga Musix

2013-03-18 16:32

administrator   ~0001147

Hint: You could try the new Quantize settings in the pattern context menu for more accurate recording.

I don't really know if it's feasible to have a dedicated chord cut shortcut. Anyway, to keep things tidy, I'd like you to move that into a separate issue, since it doesn't have anything to do with the original feature request.

Issue History

Date Modified Username Field Change
2013-03-15 22:09 cyaoeu New Issue
2013-03-15 22:27 Saga Musix Note Added: 0001132
2013-03-17 13:52 Saga Musix Assigned To => Saga Musix
2013-03-17 13:52 Saga Musix Status new => assigned
2013-03-17 13:52 Saga Musix Note Added: 0001133
2013-03-17 14:39 Saga Musix Note Added: 0001134
2013-03-17 14:39 Saga Musix Status assigned => feedback
2013-03-17 14:40 Saga Musix Note Added: 0001135
2013-03-17 19:35 cyaoeu Note Added: 0001138
2013-03-17 19:35 cyaoeu Status feedback => assigned
2013-03-17 22:01 Saga Musix Note Added: 0001139
2013-03-17 22:01 Saga Musix Status assigned => feedback
2013-03-18 00:01 cyaoeu Note Added: 0001140
2013-03-18 00:01 cyaoeu Status feedback => assigned
2013-03-18 01:24 Saga Musix Note Added: 0001141
2013-03-18 01:24 Saga Musix Status assigned => feedback
2013-03-18 12:29 cyaoeu Note Added: 0001143
2013-03-18 12:29 cyaoeu Status feedback => assigned
2013-03-18 12:51 cyaoeu Note Added: 0001144
2013-03-18 13:29 Saga Musix Note Added: 0001145
2013-03-18 13:29 Saga Musix Status assigned => feedback
2013-03-18 16:24 cyaoeu Note Added: 0001146
2013-03-18 16:24 cyaoeu Status feedback => assigned
2013-03-18 16:32 Saga Musix Note Added: 0001147
2013-03-18 16:32 Saga Musix Reproducibility have not tried => N/A
2013-03-18 16:32 Saga Musix Status assigned => resolved
2013-03-18 16:32 Saga Musix Resolution open => fixed
2013-03-18 16:32 Saga Musix Fixed in Version => OpenMPT 1.22.01.00 (upgrade first)
2013-03-18 16:32 Saga Musix Target Version => OpenMPT 1.22.01.00 (upgrade first)