Tux Guitar

Open Discussion

Subject What about a TuxGuitar version for Android?



Author Message
Datoh
Post: May 7th 2009 at 11:09 AM

Hi,

I'm just thinking to adapt tuxGuitar for Android (the mobile google OS). Is there any project running?

Datoh.


Back to Top
 
Jens
Post: May 18th 2009 at 11:24 AM

Last night I was thinking about exactly the same =).

There is no need for full featured version.
Basic elementens like
- selection between the tracks
- regulation of the volumes
- changing the tempo
- a small mixer (solo, mute...)

I wish I was a programmer (Java) =).


Back to Top
 
datoh
Post: May 29th 2009 at 12:34 PM

http://twitpic.com/66ejz

For the developer: do you have a reference tab file to test the display.


Back to Top
 
Julian
Post: May 29th 2009 at 1:15 PM

I'm not exactly sure what you mean with "reference tab file"


What you need is only a viewer ?? ( instead of the editor ).
I don't have idea about androi..
has it a normal JRE ?? or is it reduced ?

is there SWT version available for it ? or are you using swing..

if you are using swing, and it's a viewer, you maybe should use the Applet viewer as start point. (i didn't upload the sources to sourceforge yet, but i'll do when have some time )
See as example:
http://community.tuxguitar.com.ar/tablature/52/Dionisio+Aguado+-+Study+1/

This applet is just a viewer with the basic things that tuxguitar need to display the tablature, and play it.
using swing instead of SWT.
If JRE for android supports swing and some basic classes ( i know for example that j2me don't jave java.util.List )
you could only need a "redesign" of the applet.
so will be more easy to merge changes on future releases.
while using the full tuxguitar version, once i release next version will be really hard for you to add new features if you made a big rewrite.


Back to Top
 
Jens
Post: Jun 3rd 2009 at 11:11 AM

Hi Julian!

I will try to help as much as I can =).

I think datoh means a tab-file just to test the program. A tab file that includes some instruments (or just one?) and some notes. He wants to test the display of the notes in the program.

Android is a mobile platform which is developed by the Open Handset Alliance and was initiated by Google. The kernel is Linux 2.6. Indeed it is no classical GNU/Linux system since it just uses the kernel.
The user"land" is completely written in Java but is not running a Sun JVM. It uses the Dalvik JVM that was developed by Dan Bornstein from Google. It has its own bytecode and has no just-in-time-compiler. But as a far as I know you can convert .class files into Dalvik executables.


Back to Top
 
Julian
Post: Jun 5th 2009 at 10:57 PM

Jens,
my question about JRE, is because not all in java is multiplatform.
there is something called "JNI" (Java Native Interface)
that allows you load native ( C/C++ ) libraries.

SWT ( the widget library used on tuxguitar ) uses JNI.
it load native GTK, or motif libraries on GNU/Linux, and Carbon/Cocoa on Mac, Win32 on windows, etc..

What i mean, is that you may "easily" convert swt byte code classes into dalvik executables, but you maybe will not able to convert the swt .so files ( and the dependencies of it )

Some tuxguitar plugins, also uses JNI
e.g: tuxguitar-alsa
It load native alsa libraries, to connect alsa ports.
This is not a problem, because it's just a plugin
and tuxguitar don't need it to run.
but without SWT, tuxguitar will not start.
so here is when you need rewrite GUI classes to Swing (or AWT)
and, this is what i did to make the applet works
So this is why i say "take the applet as reference"


Back to Top
 
Anonymous
Post: Jun 9th 2009 at 2:31 PM

Jens: That's exactly what I need !

Julian: android doesn't support SWT, but I rewrite all the display functions of tuxguitar.

The display works fine:
http://twitpic.com/photos/datoh

Now, for the sound, it is more difficult. android doesn't support javax.sound... So I have to find another way to render the sound and to synchronize it with the display.


Back to Top
 
Datoh
Post: Jun 9th 2009 at 2:32 PM

I'm the anonymous guy just above


Back to Top
 
Julian
Post: Jun 9th 2009 at 2:53 PM

To make sound, you need to implements the plugin. MidiOutputPortProvider ( don't remember the exactly name now )
and, the display will automatically sync with it..

see as example:
tuxguitar-alsa, tuxguitar-oss, tuxguitar-winmm, tuxguitar-fluidsynth.. etc..
javax.sound is only used on tuxguitar-jsa

anyway, to make a software synthesizer, you need something to play the audio samples.
does jre on android have any way to play a WAVE audio ?
or, if not.. does it have any native way to do that ? ( and using JNI you can build a native library )


anyway if you rewrite the gui, i still think it will be better based on the applet version .. that will be mantained on the future.
It don't have same actions as you need (only a simple viewer and player ) but it have the tablature render.
so adding a main class (it's an applet now ), and commenting midi port import, i beleive it should work.
then you can add your actions, buttons, etc.
otherwise, when i release next version of tuxguitar, you'll become crazy to upgrade the changes..


Back to Top
 
Datoh
Post: Jun 9th 2009 at 3:15 PM

For the gui, it's not a problem anymore. I think i can upgrade for a new version easily :)
In more, I will add soon editing functions.

For the sound: the support of JNI for android is clear, actually it is more like a hack. However, I think it is possible to play audio samples.

Do you have an email? (this forum is not really conveniant :) )


Back to Top
 
Datoh
Post: Jun 9th 2009 at 3:16 PM

...the support of JNI for android is *NOT* clear...


Back to Top
 
Julian
Post: Jun 9th 2009 at 3:34 PM

I'll not post my mail here..
send a contact from this web, ( or look for it on "Help -> About : Authors" on tuxguitar )


Back to Top
 
Chris
Post: Nov 4th 2009 at 3:46 PM

Any news for this project? Would be really cool to have it!!!!


Back to Top
 
Datoh
Post: Nov 9th 2009 at 2:18 PM

A Tablature player/editor is available on the android market: TabDroid. See http://datoh.com/tabdroid


Back to Top
 
Sijar
Post: Jan 25th 2012 at 8:37 PM

This is my goal for this year, basically to port Tux-Guitar to android platform. Also if the I'm successful I'll make sure that the app remains open source and absolutely free just like tux-guitar itself.

"Why people are forgetting the great open source movement"


Back to Top
 
sdf
Post: Apr 2nd 2012 at 3:52 AM

Do you know that there are many Louis Vuitton Outlet Stores Online,which offer the very cheap fashion items ,like the Louis Vuitton Handbags,Louis Vuitton scarf,Louis Vuitton shoes and so on.But they are not the original items from LVM.


Back to Top