-
-
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
MIDI Import feature ported to drumstick and new MIDI Export feature #3224
Conversation
plugins/SmfImport/CMakeLists.txt
Outdated
# check for drumstick-file | ||
PKG_CHECK_MODULES(DRUMSTICK_FILE REQUIRED drumstick-file>=1.1.0) | ||
IF(NOT DRUMSTICK_FILE_FOUND) | ||
MESSAGE(FATAL_ERROR "LMMS requires libdrumstick-file and drumstick-dev >= 1.0.11 - please install, remove CMakeCache.txt and try again!") |
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.
Looks like the as of now unreleased Ubuntu 17.04 will have libdrumstick 1.0.2. Is there something in 1.0.11 that is absolutely required? (https://launchpad.net/ubuntu/+source/libdrumstick)
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.
well,i was using Archlinux,drumstick may newer. i will fix it later
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.
Okay, it's typo
@tonychee7000 locale updates are done over transifex now, this should not be in the commit for other languages, just English. CC @liushuyu |
Sorry, i would fix it |
Also you'll need to add drumstick to packages needed for travis, and mingw packages will need to be made. What are the advantages of drumstick over our current implementation? |
2bb116c
to
b162af0
Compare
Reply @Umcaruje
If any doubts, ask @liushuyu |
Debian Jessie use drumstick 0.5.0
We still use Qt 4 on Linux |
is there any libdrumstick newer version at Debian ?if not, i will test it |
In experimental only. 1.0.2 https://packages.debian.org/search?suite=experimental&arch=any&searchon=names&keywords=drumstick QT 4 is about to get dropped anyway so that is probably not a big thing. Also I don't know if the libstick version in Debian is a problem. I only use Ubuntu based systems so I'm used to using ppa's. It's a thing with Debian to not update their stable releases so I guess they are cool with running an older lmms too. |
Got that, I would say that Qt 5 might be more effective. |
Then it looks like maybe 0.5.0 is the best candidate. |
i will test it |
I would like to say:
|
d67da79
to
bfaaa46
Compare
bfaaa46
to
f9d4de9
Compare
Tested on Debian with drumstick 0.5.0, works well. |
@liushuyu It seems that I overwrite your commit for mistake. so could you repair it again? |
f9d4de9
to
1e39d12
Compare
* Added Cakewalk file format import support * Added Overture file format import support * Enhanced MIDI CC Message handling * Merge liushuyu's commit.
5c88228
to
19981ec
Compare
19981ec
to
a9d5653
Compare
a9d5653
to
19981ec
Compare
3fa2913
to
61cec1f
Compare
make the volume louder
Just a suggestion, you can create a new branch if necessary. |
Just tried building the PR, and it looks like it segfaults when trying to import any MIDI file. |
fi | ||
|
||
cmake ../ -DUSE_WERROR=OFF -DLIB_SUFFIX='' -DSTATIC_DRUMSTICK=$STATIC_OPTS | ||
make && sudo make install |
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.
This file is near identical to Linux. They should be consolidated. It can live in linux
until this library is ported to homebrew.
@@ -0,0 +1,54 @@ | |||
drumstick_ver=$1 |
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.
This can stay as-is, but this should probably be ported to https://github.com/LMMS/lmms/blob/master/cmake/msys/msys_helper.sh like @dragoneagle did in #3369 or alternately added directly to the mingw mirros that Toby maintains for us. Toby generally does this on-request.
I think first though we can pull Qt4 support, which is an open task, so we wouldn't hold up the merge for this script alone.
Seems to be similar to this issue... http://stackoverflow.com/a/14774274/3196753 @tonychee7000 may need to add the class name in front of the slots I assume you're on the right build of drumstick? Qt5 builds against |
I have added that class name above
Here are duplicate Here is Archlinux |
Yep, building with Qt5 seems to have solved the issue. On another note, perhaps the instrument used when exporting a MIDI could be determined with a dropdown on the instrument window, instead of forcing all instruments to be a sf2 player. |
Now there are a bunch of merge conflicts. If this work still has some values, someone may redo this work. |
Reply @PhysSong Oops, several years. Well, someone can redo this feature referring to my code or just check where conflict is and merge them by manual. Might a lot work to do. In my code,
A new branch might needed? |
Well, there have been several changes:
There are some more changes. Anyway, it may be very difficult to resolve merge conflicts... |
I will show what I have done on
Considering |
Some remarks in case someone wants to redo works in this PR: Note that those changes are in their trunk, but not in their latest release(r391). |
Updates:
|
What does this mean practically? |
It just means we need to bump LMMS to GPL3+ in order to bundle it. Any dependencies that don't have the "+" in "GPL2+" would no longer be able to be bundled. I think we went over this very specifically in another thread, but my seaching was not fruitful. https://github.com/LMMS/lmms/issues?q=is%3Aissue+gpl3 |
OK. So, if I understand this correctly, big if..., we wouldn't be able to ship it with the AppImage but for the rest we could link it to a package. |
When you say "wouldn't be able to ship", I'm not sure if you mean the GPL2 (without +) or GPL3 (before we upgrade), but I'll try to make it as simple as possible, based on my understanding of the license.
With regards to the word "shipping"... the bundle of GPL3+ and non-GPL3+ components is referred to as "aggregate" in the license and seems to be allowed, although I've seen projects such as FoxIt leverage install-time downloaders (e.g. GhostScript) to avoid any potential legal issues. |
I think I meant "bundle". Thanks for the clarification. I'm removing this from the current milestone. |
@Veratil didn't you rewrite midi import (and also plan to fix midi export) so is there anything you need here? |
I see way too much for this PR to be fixed up. If @senseab wants to continue (I assume otherwise because they seem to have forgotten), better to start from scratch. Will close in 2 days if no one complains |
I see this as an indication for closing. |
Yes, MIDI import is pretty much done locally (but I don't like the code in the current state it is). Export is not done yet. |
Now I have changed origin portsmf of MIDI Import to drumstick
And with some new features.
MidiExport
pluginOrigin
MidiImport
plugin changed toSmfImport