There are quite a few patches and forks that are not revised or integrated upstream.
Are you still working on TuxGuitar?
Is there anything the community can do to support your work? For example, someone could review patches and push them to the SVN, if you give her/him write access, or work on the open tickets. Just let us know what would be OK for you.
Regards, Helmar.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
There are quite a few patches and forks that are not revised or
integrated upstream.
Are you still working on TuxGuitar?
Is there anything the community can do to support your work? For
example, someone could review patches and push them to the SVN, if you
give her/him write access, or work on the open tickets. Just let us
know what would be OK for you.
Everyone is welcome to send patches and pull requests or to fork the code. I will try to integrate the changes into my repository and sometimes update the builds.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Thanks, that's good news!
However I must admit I am a little bit confused, it seems there are quite a few forks in Github. Including a "2.0beta"??
I will first need a little time to learn how to use Github (I am absolutely not a professional developer!), and then probably submit a pull request (see https://sourceforge.net/p/tuxguitar/feature-requests/85/)
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
The 2.0beta fork is not very active anymore, it uses a different file format and I was not able to build it for Android. The changes were also never integrated into the 1.x version. So I think it's better to stay with the 1.x version and maybe port some changes from 2.0beta back to 1.x.
As far as I can see, all the other TuxGuitar forks are just clones of the SF repository here, so I decided to start a new one.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
why remove 32bit? too hard to build for with new features? should keep em, i have old machines that i use in the jam room for this kinda thing. not to say it's a popular option but i'd keep as much compatibility as we can... if we can
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
The last SWT version with 32-bit support was 4.9 from 2018 (https://archive.eclipse.org/eclipse/downloads/drops4/). Many Linux distributions have completely discontinued 32-bit support or have dropped the 32-bit SWT version. In practice, it would still be possible to provide 32-bit binaries, but to save resources for more important things, I decided to remove 32-bit support.
However, since we are trying to keep the file format of our new version compatible with 1.5.6, you can continue to use Julian's binaries for the near future.
I am also considering builds for ARM or other architectures. You can already build TuxGuitar on some other architectures (see https://packages.debian.org/sid/tuxguitar-alsa), but to provide reliable binaries takes a bit more time...
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Hi Helmar, I moved to debian Salsa with the 2.0 thing... Got a pipeline there that builds tuxguitar-2.0beta. In the last days I looked at differences in the build process of the source trees. My next goal would be to bring 2.0beta to the latest svn-revision gradually (if possible). Maybe we should join forces? Anyway, greetings from northern germany :-)
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
I also played around with 2.0 some time ago, but recently decided to continue with the latest 1.x version from the Sourceforge SVN. You can find my repositories at https://github.com/helge17/, including binary builds for 1.x and 2.x.
A few thoughts on the two versions:
1.x
- Julian has made many changes to the 1.x version after the 2.0 fork was made, e.g. he added a version with JavaFX instead of SWT. Maybe it would be better to switch to JavaFX in the long run? I don't know.
- I cleaned up a bit in my 1.x version, removed old build scripts and (hopefully ;-) improved the build process.
- There is already a pull request on Github from guiv42 that I want to merge.
- Maybe Julian will resume his work on TuxGuitar one day? He would definitely stick with the 1.x version.
2.0
- The 2.0 version still uses SWT (only), and as far as I can see, many improvements are based on SWT.
- 2.0 misses a lot of updates from the 1.x tree.
- 2.0 can not be built for Android.
- 2.0 uses a new file format: When you safe your files then the new format is used without any warning. Older versions of TuxGuitar are not able to open the files any more. I think it would be better to keep the old format, at least for a while. There is already a lot of confusion about the different versions and forks, so I think an additional change to the file format will make things too difficult for the average user.
I think it's better to continue with the 1.x version and maybe port some changes from 2.0 back to 1.x. But I have to admit that I'm not a software developer, so I can create packages and do some basic programming tasks like merging pull requests, but I can't maintain the Java code.
Right now I will occasionally work on my 1.x branch, but I have no problem with someone stepping in as a new(?) upstream developer (you, Julian, ...?), whether it's version 1.x or 2.0. I also agree with any repository, Github, Salsa, Sourceforge, whatever. I helped to get version 1.5.6 into Debian and have a salsa account (helger). But I'm not sure if Debian wants to have Windows/MacOS/Android software in Salsa. Anyway, I would contribute as much as I can, fork his/her repository, send pull requests, make binary builds etc.
Regards, Helmar.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Guten Abend ;-)
Nice to see this discussion is going on.
I read a bit some old discussions in SF, it seems it's not the first time there is a "pause" in TuxGuitar's development by Julian. But to be honest I am a little bit worried by the sudden disappearance of the web site, forum, etc. I effectively fear a fork could be the only way forward.
- I understand Helmar's approach is to build a "direct successor" of 1.5.6, and to provide easily installable builds.
- I did not yet play so much with the 2.0beta that I just succeeded to build, but I guess the objective was different, probably to provide enhancements.
I'm a newbie here, so I don't have a valuable opinion on this question. Anyway, for sure it would be better if we can succeed to "join forces" as mentioned by Carsten. Well it's easy to say, but I must admit I have no idea of the required effort to merge the 2 initiatives.
I could easily port to 2.0 the pull request I have created in Helmar's 1.x repo. On the other side, with a little help and a lot of patience I could probably contribute to backporting some 2.0 evolutions in the 1.x.
So I will follow your discussion with attention!
Regards,
guiv
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
don't know how i can help without much relevant programming chops but i know software development (though php, obj-c, web, git are my forte) and once i get my head around the inner workings i'll be of better use.
i'll subscribe here, keep me posted. this app has had ALOT of use from me over the years and i'm in no matter where it goes or where we take it.
could be a bad thing though... i can get annoying 🤷 hahaha
like i have a million ideas already that would make things sooo much easier (for me anyways ;p) but i can't help with coding in java (i think that's what it's in, been a while since i looked at the source).
long story short, i'll start prodding around anyhow. d_(:D)_\m/
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Hello, I'd like to help out with this a little as well :).
I love TuxGuitar, but it's become a bit of a nuisance to keep up with where to grab the 'most recent version' from, because of the split in development.
The way I use TuxGuitar is to learn a song and to play along with it at increasing speeds.
Every time I use it, it feels clunky to practice a small section of a song, and I think "I should just write the code for this". I'd like to work on being able to select a section, set a loop, and easily change the playback speed, and maybe even add a '1234' beat at the start of the loop. I'd need to make a toolbar for the playback settings, and allow click+drag to select multiple notes on the tab. In theory, not too complex.
However, from what I can see, it won't be as simple as writing some code and submitting.
I think it'd be good if we could come up with a todo list to work through to bring TuxGuitar up to a good standard. Get all the goodies from both versions, and then I'd suggest calling it TuxGuitar 3, to hopefully avoid any further splits in development or confusion.
EDIT:
Oh I forgot to ask, which version are we choosing to work on? Is everyone on board with the same version? I think really it's just pick one and go for it.
Todo List so far:
Vote on a TuxGuitar version to fork.
Make a clear link to the new codebase we're all to work on(I prefer github, it's easy to contribute).
Write a list of features that need to be merged from the other version
Last edit: Simon Slater 2023-04-29
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
As you can see from the discussion above, I "voted" for the 1.x version and created a new repository at https://github.com/helge17/tuxguitar. I also try to integrate patches from the 2.0beta version (https://github.com/helge17/tuxguitar-2.0beta). Under "Releases" you can find binary packages for both versions. You can also start discussions and open issues for bugs or TODOs.
2.0beta has a lot of GUI improvements, you might want to have a look at them.
I'm happy to include your patches or pull requests.
Currently I avoid real version numbers for the 1.x fork and use 2023-04-19-snapshot etc instead. But sooner or later a new version has to come out. I tend to continue with 1.5.7 or maybe 1.6 to indicate that the transition to this new fork should (hopefully) be as painless as possible for the user.
Regards, Helmar.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Hello all. Nice to see the TuxGuitar community still lives!
Todo List so far:
Vote on a TuxGuitar version to fork.
I tried to understand the story behind this "2.0beta thing": helge17 repo is a fork of pterodactylus42 repo, which forked pcarmona79 repo, where it is stated "This repository was uploaded from a copy of the deleted https://github.com/cyclopsian/tuxguitar"
A bit difficult to establish the link with the historical branch here in SF. The last reference I found is here, and it's almost 4 years old.
Long story short : I cannot understand this history, and I just can't find either a realistic path for a merge.
And I can't reasonably imagine a future for TuxGuitar not in continuity with Julian's work.
So I'll stick to https://github.com/helge17/tuxguitar repo, where I definitely appreciate the great work done to simplify build process, and to provide easily installable builds. Already pushed a few evolutions there (thanks Helmar!).
Hope we can provide significant enhancements there. Currently working on a fix for this problem seen by several users.
regards,
guiv
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
I guess it was the original motivation for this post: re-establish contact with Julian, yet without success.
This is also a reason why I preferred to contribute to the "1.x" fork: as mentioned by Helmar, should Julian resume his work on TG one day, then it would be a lot easier to backport modifications implemented in direct continuity with 1.5.6.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Personally, I'd vote for v2.0, because I can see the improvements, both in the GUI and from the git commits. 1.x has some missing git comments :(. That being said, the midi playback didn't work on 2.0 for me(ubuntu), but does in 1.x. I compiled both from the helge17 forks.
I'm not too sure how hard it would be to backport the changes from 2.0, because there has been a lot of work on it(see below).
I do however like the idea of TuxGuitar working on android, that's just kinda useful. I couldn't compile either 1.x or 2.0 in android studio due to a gradle build error.
Fork History
Looking through the git log, I've found the point where the two projects have split. Both projects have different git commit hashes, but their commits seem to sync up to 24/March/2019.
You can look through the git log and find this line which is the last synced commit for both 2.0 and 1.x.
Since the two projects went their own ways:
TuxGuitar 1.x fork has 321 new commits.
TuxGuitar 2.0 fork has 381 new commits.
TuxGuitar 1.x only has git commit comments for the most recent 134 commits. Leaving us with 187 commits straight after the split with no comments.
TuxGuitar 2.0 has git commit comments all the way up to the split.
Last edit: Simon Slater 2023-05-03
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Thank you Simon for this detailed analysis of the history. Just 2 questions:
- do the commits with no comment in 1.x correspond to akdmia's commits?
- do you know where the 1.5.6 release is in these 2 branches?
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Yes, the commits without any comments in 1.x git log all say they're akdmia's.
See below for the version history and commits. I was looking through the git log manually for any changes to TGVersion.java, then I found this really useful git command to just show me all the git commits and the changes to that file.
Hello Julian,
first of all I would like to thank you for your great work over all these years. TuxGuitar is great software that is still loved by many people.
Recently the homepage http://www.tuxguitar.com.ar/ disappeared. The forum at https://tuxguitar.herac.com.ar/ and the donation link are no longer functional.
There are quite a few patches and forks that are not revised or integrated upstream.
Are you still working on TuxGuitar?
Is there anything the community can do to support your work? For example, someone could review patches and push them to the SVN, if you give her/him write access, or work on the open tickets. Just let us know what would be OK for you.
Regards, Helmar.
Hi Helmar,
I just tried to check the m.b. web-page.
My malware-protection issues a warning to not load this page.
Indeed I agree, that TG is extremely valuable.
Maybe not as powerful as GP but without the cost.
kr, Gerhard
Am 22.02.23 um 13:40 schrieb Helmar Gerloni:
Hi Helmar,
I just tried to check the m.b. web-page.
My malware-protection issues a warning to not load this page.
Indeed I agree, that TG is extremely valuable.
Maybe not as powerful as GP but without the cost.
kr, Gerhard
Hello
And thank you so much Julian for this fantastic software.
I fully agree with Helmar, this project definitely deserves to be maintained!
Is there anything we can do to help?
I am currently working on a possible enhancement, what would be the best way to propose a contribution?
Best regards,
guiv
Last edit: guiv 2023-03-29
I started a fork of this repository on Github:
https://github.com/helge17/tuxguitar
The Java code is (almost) unchanged, but I cleaned up the build scripts, removed 32 bit, OSS and other obsolete files.
But I think the most important thing for users is to have binary builds ready for installation. You can find them at
https://github.com/helge17/tuxguitar/releases
Everyone is welcome to send patches and pull requests or to fork the code. I will try to integrate the changes into my repository and sometimes update the builds.
Thanks, that's good news!
However I must admit I am a little bit confused, it seems there are quite a few forks in Github. Including a "2.0beta"??
I will first need a little time to learn how to use Github (I am absolutely not a professional developer!), and then probably submit a pull request (see https://sourceforge.net/p/tuxguitar/feature-requests/85/)
The 2.0beta fork is not very active anymore, it uses a different file format and I was not able to build it for Android. The changes were also never integrated into the 1.x version. So I think it's better to stay with the 1.x version and maybe port some changes from 2.0beta back to 1.x.
As far as I can see, all the other TuxGuitar forks are just clones of the SF repository here, so I decided to start a new one.
OK, thanks that's clear
why remove 32bit? too hard to build for with new features? should keep em, i have old machines that i use in the jam room for this kinda thing. not to say it's a popular option but i'd keep as much compatibility as we can... if we can
The last SWT version with 32-bit support was 4.9 from 2018 (https://archive.eclipse.org/eclipse/downloads/drops4/). Many Linux distributions have completely discontinued 32-bit support or have dropped the 32-bit SWT version. In practice, it would still be possible to provide 32-bit binaries, but to save resources for more important things, I decided to remove 32-bit support.
However, since we are trying to keep the file format of our new version compatible with 1.5.6, you can continue to use Julian's binaries for the near future.
I am also considering builds for ARM or other architectures. You can already build TuxGuitar on some other architectures (see https://packages.debian.org/sid/tuxguitar-alsa), but to provide reliable binaries takes a bit more time...
Hi Helmar, I moved to debian Salsa with the 2.0 thing... Got a pipeline there that builds tuxguitar-2.0beta. In the last days I looked at differences in the build process of the source trees. My next goal would be to bring 2.0beta to the latest svn-revision gradually (if possible). Maybe we should join forces? Anyway, greetings from northern germany :-)
I played around with the file formats, and found that TuxGuitar can export its own files in backwards compatible format: https://github.com/pterodactylus42/tuxguitar-2.0beta/issues/4
Hi Carsten,
I also played around with 2.0 some time ago, but recently decided to continue with the latest 1.x version from the Sourceforge SVN. You can find my repositories at https://github.com/helge17/, including binary builds for 1.x and 2.x.
A few thoughts on the two versions:
1.x
- Julian has made many changes to the 1.x version after the 2.0 fork was made, e.g. he added a version with JavaFX instead of SWT. Maybe it would be better to switch to JavaFX in the long run? I don't know.
- I cleaned up a bit in my 1.x version, removed old build scripts and (hopefully ;-) improved the build process.
- There is already a pull request on Github from guiv42 that I want to merge.
- Maybe Julian will resume his work on TuxGuitar one day? He would definitely stick with the 1.x version.
2.0
- The 2.0 version still uses SWT (only), and as far as I can see, many improvements are based on SWT.
- 2.0 misses a lot of updates from the 1.x tree.
- 2.0 can not be built for Android.
- 2.0 uses a new file format: When you safe your files then the new format is used without any warning. Older versions of TuxGuitar are not able to open the files any more. I think it would be better to keep the old format, at least for a while. There is already a lot of confusion about the different versions and forks, so I think an additional change to the file format will make things too difficult for the average user.
I think it's better to continue with the 1.x version and maybe port some changes from 2.0 back to 1.x. But I have to admit that I'm not a software developer, so I can create packages and do some basic programming tasks like merging pull requests, but I can't maintain the Java code.
Right now I will occasionally work on my 1.x branch, but I have no problem with someone stepping in as a new(?) upstream developer (you, Julian, ...?), whether it's version 1.x or 2.0. I also agree with any repository, Github, Salsa, Sourceforge, whatever. I helped to get version 1.5.6 into Debian and have a salsa account (helger). But I'm not sure if Debian wants to have Windows/MacOS/Android software in Salsa. Anyway, I would contribute as much as I can, fork his/her repository, send pull requests, make binary builds etc.
Regards, Helmar.
Guten Abend ;-)
Nice to see this discussion is going on.
I read a bit some old discussions in SF, it seems it's not the first time there is a "pause" in TuxGuitar's development by Julian. But to be honest I am a little bit worried by the sudden disappearance of the web site, forum, etc. I effectively fear a fork could be the only way forward.
- I understand Helmar's approach is to build a "direct successor" of 1.5.6, and to provide easily installable builds.
- I did not yet play so much with the 2.0beta that I just succeeded to build, but I guess the objective was different, probably to provide enhancements.
I'm a newbie here, so I don't have a valuable opinion on this question. Anyway, for sure it would be better if we can succeed to "join forces" as mentioned by Carsten. Well it's easy to say, but I must admit I have no idea of the required effort to merge the 2 initiatives.
I could easily port to 2.0 the pull request I have created in Helmar's 1.x repo. On the other side, with a little help and a lot of patience I could probably contribute to backporting some 2.0 evolutions in the 1.x.
So I will follow your discussion with attention!
Regards,
guiv
don't know how i can help without much relevant programming chops but i know software development (though php, obj-c, web, git are my forte) and once i get my head around the inner workings i'll be of better use.
i'll subscribe here, keep me posted. this app has had ALOT of use from me over the years and i'm in no matter where it goes or where we take it.
could be a bad thing though... i can get annoying 🤷 hahaha
like i have a million ideas already that would make things sooo much easier (for me anyways ;p) but i can't help with coding in java (i think that's what it's in, been a while since i looked at the source).
long story short, i'll start prodding around anyhow. d_(:D)_\m/
Hello, I'd like to help out with this a little as well :).
I love TuxGuitar, but it's become a bit of a nuisance to keep up with where to grab the 'most recent version' from, because of the split in development.
The way I use TuxGuitar is to learn a song and to play along with it at increasing speeds.
Every time I use it, it feels clunky to practice a small section of a song, and I think "I should just write the code for this". I'd like to work on being able to select a section, set a loop, and easily change the playback speed, and maybe even add a '1234' beat at the start of the loop. I'd need to make a toolbar for the playback settings, and allow click+drag to select multiple notes on the tab. In theory, not too complex.
However, from what I can see, it won't be as simple as writing some code and submitting.
I think it'd be good if we could come up with a todo list to work through to bring TuxGuitar up to a good standard. Get all the goodies from both versions, and then I'd suggest calling it TuxGuitar 3, to hopefully avoid any further splits in development or confusion.
EDIT:
Oh I forgot to ask, which version are we choosing to work on? Is everyone on board with the same version? I think really it's just pick one and go for it.
Todo List so far:
Vote on a TuxGuitar version to fork.
Make a clear link to the new codebase we're all to work on(I prefer github, it's easy to contribute).
Write a list of features that need to be merged from the other version
Last edit: Simon Slater 2023-04-29
Hello Simon,
glad to hear you are willing to contribute!
As you can see from the discussion above, I "voted" for the 1.x version and created a new repository at https://github.com/helge17/tuxguitar. I also try to integrate patches from the 2.0beta version (https://github.com/helge17/tuxguitar-2.0beta). Under "Releases" you can find binary packages for both versions. You can also start discussions and open issues for bugs or TODOs.
2.0beta has a lot of GUI improvements, you might want to have a look at them.
I'm happy to include your patches or pull requests.
Currently I avoid real version numbers for the 1.x fork and use 2023-04-19-snapshot etc instead. But sooner or later a new version has to come out. I tend to continue with 1.5.7 or maybe 1.6 to indicate that the transition to this new fork should (hopefully) be as painless as possible for the user.
Regards, Helmar.
Hello all. Nice to see the TuxGuitar community still lives!
I tried to understand the story behind this "2.0beta thing": helge17 repo is a fork of pterodactylus42 repo, which forked pcarmona79 repo, where it is stated "This repository was uploaded from a copy of the deleted https://github.com/cyclopsian/tuxguitar"
A bit difficult to establish the link with the historical branch here in SF. The last reference I found is here, and it's almost 4 years old.
Long story short : I cannot understand this history, and I just can't find either a realistic path for a merge.
And I can't reasonably imagine a future for TuxGuitar not in continuity with Julian's work.
So I'll stick to https://github.com/helge17/tuxguitar repo, where I definitely appreciate the great work done to simplify build process, and to provide easily installable builds. Already pushed a few evolutions there (thanks Helmar!).
Hope we can provide significant enhancements there. Currently working on a fix for this problem seen by several users.
regards,
guiv
can anyone get a hold of julian?
@akdmia
I guess it was the original motivation for this post: re-establish contact with Julian, yet without success.
This is also a reason why I preferred to contribute to the "1.x" fork: as mentioned by Helmar, should Julian resume his work on TG one day, then it would be a lot easier to backport modifications implemented in direct continuity with 1.5.6.
I think I'm a bit torn between the versions.
Personally, I'd vote for v2.0, because I can see the improvements, both in the GUI and from the git commits. 1.x has some missing git comments :(. That being said, the midi playback didn't work on 2.0 for me(ubuntu), but does in 1.x. I compiled both from the helge17 forks.
I'm not too sure how hard it would be to backport the changes from 2.0, because there has been a lot of work on it(see below).
I do however like the idea of TuxGuitar working on android, that's just kinda useful. I couldn't compile either 1.x or 2.0 in android studio due to a gradle build error.
Fork History
Looking through the git log, I've found the point where the two projects have split. Both projects have different git commit hashes, but their commits seem to sync up to 24/March/2019.
You can look through the git log and find this line which is the last synced commit for both 2.0 and 1.x.
Since the two projects went their own ways:
TuxGuitar 1.x fork has 321 new commits.
TuxGuitar 2.0 fork has 381 new commits.
TuxGuitar 1.x only has git commit comments for the most recent 134 commits. Leaving us with 187 commits straight after the split with no comments.
TuxGuitar 2.0 has git commit comments all the way up to the split.
Last edit: Simon Slater 2023-05-03
Thank you Simon for this detailed analysis of the history. Just 2 questions:
- do the commits with no comment in 1.x correspond to akdmia's commits?
- do you know where the 1.5.6 release is in these 2 branches?
Yes, the commits without any comments in 1.x git log all say they're akdmia's.
See below for the version history and commits. I was looking through the git log manually for any changes to TGVersion.java, then I found this really useful git command to just show me all the git commits and the changes to that file.
Note: v1.x and 2.0 last shared commit was on Mar 24 2019.
For the v1.x fork
For the v2.0 fork
Unfortunately I think my analysis has only made it more confusing haha. The project split in between v1.5.2 and v1.5.3.
Last edit: Simon Slater 2023-05-04