-
-
Notifications
You must be signed in to change notification settings - Fork 1k
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
Enhanced arpeggio - working snapshot #3117
Conversation
Hmmm, I can't find the information why Travis can't compile here while it does on the fork: https://travis-ci.org/Rikislav/lmms |
I'm manually restarting the build jobs that failed. It looks like Travis is a bit grumpy today. |
OK, Travis passed. Could you skip the formatting of old code altogether? It's really hard to find your changes in there. I'm away from my build machine right now so I can't test this right now. |
Older projects using arpeggios should open as before, I transformed the old chords and added new combinations at the end. Sorry for the inconvenience of the previous PRs and for the code formatting. The other PRs should be deleted: I pulled this one anew as the previous were too messy and didnt compile on all machines. I was (still am) too fresh in all this and didn't understand well enough the protocols of collaborating projects. I'll try to be more careful. Should I reformat the two files and commit them over? |
Yes. I'd change back to the older formatting and commit. Then squash down to one commit, if you're hip with that, or you can leave it for now and just push to your master. You now are working from your master branch which isn't wrong but a bit unpractical. I suggest that you create separate branches from master for each project/bug that you're working on. It's probably a good idea to give branche names and commit messages english names.
I don't think there is any function to delete a PR. Just leave it closed. |
I see I'm messing up... did exactly what I shouldn't (rebase published things) as I was just trying to accomplish
just created the arpeggio branch, where to experiment, and without thinking I partially reversed my master to the original lmms/master. I was trying to understand reverting, rebasing, resetting... please be patient, I will master it, eventually, hahaha I am also trying to
but in fear to flood this common space with other unnecessary actions I'll now work only on the new branch and merge it as it gets useful... |
Ok, formatted the code as best as I could, the compile should be working. I'm switching to another branch to start the next steps:
|
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 only looked with my mobile through the code. I have to look deeper into it.
include/InstrumentFunctions.h
Outdated
* | ||
* @brief The ChordSemiTone struct | ||
*/ | ||
struct ChordSemiTone { |
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.
The brace should be in the next line according to our coding guidelines
include/InstrumentFunctions.h
Outdated
* | ||
* Now it's a QVector, with an overloaded [] operator to maintain compatibility | ||
*/ | ||
struct ChordSemiTones : public QVector<ChordSemiTone> { |
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.
Brace to the next line, too
include/InstrumentFunctions.h
Outdated
* @param index | ||
* @return | ||
*/ | ||
int8_t inline operator[](int index) const { |
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.
Brace again
include/InstrumentFunctions.h
Outdated
{ | ||
return m_name; | ||
} | ||
|
||
int8_t operator [] ( int n ) const | ||
{ | ||
int8_t operator[](int n) const { |
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.
Brace again
include/InstrumentFunctions.h
Outdated
* @param i | ||
* @return | ||
*/ | ||
const ChordSemiTone at(int i) const { |
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.
Brace again
include/InstrumentFunctions.h
Outdated
} | ||
}; | ||
|
||
struct ChordTable : public QVector<Chord> { |
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.
And Brace
...I must have again made some confusion with this git thing, I'm sure I had formatted all these pointed out. We have a proverb here, "Never stir shit as it stinks the room", I guess the best thing would have been to start the project anew |
@Rikislav There is no need for. You can push commits until it works. There is no limit for that. Take your time to learn this things. If it's ready we can squash all your commits to one in github before we merge that. It's a good occasion to learn all that git stuff. |
Some braces were still not standard
Sorry, we're still busy working on lmms-1.2 so this has been neglected. I had a go and watched the last video above and it looks really promising. |
@Rikislav Unfortunately I can't get this to build now and it looks like it has some merge issues. It's one of my favourite PR's of all time but I have to close it nonetheless. I have updated the original post with a link to the YouTube demonstration and posts it here also for good measure. Please bump us on our Discord if you need help or feedback on this. |
I was on the wrong branch somehow, my bad. Branches master and riki-one builds but you have to tweak some files first. Edit: Eventually got the editor going too. Amazing! |
I'm trying to enhance the arpeggio functions by changing the int8 key semitones array into a structure which can hold data, at present pan and volume.
The chords are now a hardcoded QString, with the future objective to put data into a text or xml file which will be edited through a dedicated controller.
I added to the chords some examples which can show the possibilities (the Pan ones actually change volume and pan), in future releases things should of course be organized better
Here some simple demonstration: https://www.youtube.com/watch?v=e9c6k7iPljQ
PS. I am not a pro c++ programmer, and I guess would need some correction/advice for my empiric solution as to deal with pointers, vectors etc.. Forgive my naive comments, too