TouchOSC for Android 3.1 XOOM??

Search This thread

intensus

Senior Member
Jan 29, 2010
144
24
MX
Hello people, i know i owe you the tutorials for PD file but i was busy with a lot of work last weekends. I when i finally starts to prepare my materials, what a surprise that the ICS update is popping on my screen and its required, so i made the update everything look fine, but what a surprise the Touchosc 1.2 FC. Here is when i think the hell is comming... ok i download the update 1.3 for Touchosc (obviously the last "trick" does not work) so im now looking for a new one, but now i need your help or help for experienced dev from here to know if the code still been as Base64 code or is another type, because when i try to convert it just give like random symbols.

Please if someone can join this journey i think we can make it happen.


waiting for answers! Cheers!
 

Mavdog

Member
Oct 7, 2011
15
0
mavdogvisuals.webs.com
Nice one I'm there with you Intensus, I'm no dev but I'm happy to help in anyway possible and I do have a couple of programmer mates who I can ask to help too. :)
 
Last edited:

intensus

Senior Member
Jan 29, 2010
144
24
MX
Nice one I'm there with you Intensus, I'm no dev but I'm happy to help in anyway possible and I do have a couple of programmer mates who I can ask to help too. :)

Hi men, nice to see some live signals from somebody, we can talk by PM or if you want add me to G+ to stay in touch in try to find something.

G+ (Rodrigo Sagrero)

Cheers.
 

witblitz

Member
Feb 19, 2011
13
1
Galaxy S i9000 with Gingerbread / Macbook pro / Serato

Hi guys,

Sorry to bust in here and dumb down the convo, but im wanting to get TouchOSC working on Serato on my macbook pro. Very simple question - to get the actual basics down, could anybody give me a basic rundown?

I see people talking about puredata/YOKE and then others about the bridge that the OSC dev put up on the site. Which is the way to go? Im not that techy, so easiest way would be great. I will happily use the basic layouts for now. I just want to get my galaxy talking to Serato. I figure as soon as I have midi going to the macbook I can take it from there.

Also, does one need to set up tethering on the phone, or can you create a network on the macbook and connect to that from the phone. i.e. how does one get the 2 devices talking over wifi?

There is very little documentation on this and the info that I do find tends to pertain to iPhone and iPad only...

Thanks in advance,!
witblitz
 

Mavdog

Member
Oct 7, 2011
15
0
mavdogvisuals.webs.com
Hi guys,

Sorry to bust in here and dumb down the convo, but im wanting to get TouchOSC working on Serato on my macbook pro. Very simple question - to get the actual basics down, could anybody give me a basic rundown?

I see people talking about puredata/YOKE and then others about the bridge that the OSC dev put up on the site. Which is the way to go? Im not that techy, so easiest way would be great. I will happily use the basic layouts for now. I just want to get my galaxy talking to Serato. I figure as soon as I have midi going to the macbook I can take it from there.

Also, does one need to set up tethering on the phone, or can you create a network on the macbook and connect to that from the phone. i.e. how does one get the 2 devices talking over wifi?

There is very little documentation on this and the info that I do find tends to pertain to iPhone and iPad only...

Thanks in advance,!
witblitz

Hey Witblitz your probably best just trying out the TouchOSC Bridge it's pretty straight forward to get working, just a case of connecting your phone to the same network as your pc/laptop, and running the bridge, load up TochOSC on your phone then go into the Midi Bridge setting and select your computers IP, then load the program you wish to control go into into midi controller settings and select TouchOSC Bridge, now you should be able to start mapping.

Oh and for wifi tethering/ad-hoc I use this https://market.android.com/details?id=android.tether&feature=search_result
I don't use apple so not sure about macbooks.

Hope this helps

Peace
 

gearhead10

Member
Feb 24, 2011
25
0
Dubai
Hey guys,
Any updates on how to get feedback in windows through PD? Or how to get custom touch layouts on the latest version of touchosc?
Any small input would also be really help full.
And if you guys need any help with code maybe I can help a little. I am not a developer but I have some experience with pre coded applications and lots of friends who can help as well.

Hopefully we can figure something out soon :) Any of the solutions would be great, either feedback in touchosc through PD in windows or custom layouts in new version of touchosc.

Thanks :)
 

gocca

Member
Feb 24, 2012
7
0
Any progress on adding custom layouts to 1.3? Existing layouts are located in Layouts.smali and it appears they are base64 encoded. However I tried to decode the strings and I get a bunch of random letters. Also I tried to code my xml layout to base64 and paste it instead of one located in Layouts.smali but I get black screen when I select that layout.
 

intensus

Senior Member
Jan 29, 2010
144
24
MX
Sorry guys, to much work here and no news for the custom layouts in 1.3. Im really sorry but neither no idae what kind of code he uses to encrypt the new layouts. If somebody can do it think can do more work together all.

If i can help with another things i'll be around here.

Cheers!
 

gearhead10

Member
Feb 24, 2011
25
0
Dubai
no problems mate, I understand u also have other work.
If possible could u tell us how to get feedback through pure data in windows?

Also, can u try to put midi bridge function of 1.3 in 1.2? Then all problems will be solved as wewe will have feedback and custom layout :)

Thanks mate :)
 

intensus

Senior Member
Jan 29, 2010
144
24
MX
no problems mate, I understand u also have other work.
If possible could u tell us how to get feedback through pure data in windows?

Also, can u try to put midi bridge function of 1.3 in 1.2? Then all problems will be solved as wewe will have feedback and custom layout :)

Thanks mate :)

Hi, yes about the feedback i think i can record a video tutorial, just give me some time to get the concret info and then recorde it. and with the bridge theme, i think is gonna be kinda difficult to me cause like i said im not a Developer just trying to help, but as i understand the code in the version 1.3 on the jar files was changed so, we just can't copy the new files, that must be programed again in the code. So im sorry i think can help to much with that but i will try.

thanx to everyone and if some body can translate this code or check what encriptation is i think is gonna be great for us..

Code:
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

this is the first layout in the 1.3 version, once we got this maybe can have some advance.

Greetings from MX.
 

gearhead10

Member
Feb 24, 2011
25
0
Dubai
Hi, yes about the feedback i think i can record a video tutorial, just give me some time to get the concret info and then recorde it. and with the bridge theme, i think is gonna be kinda difficult to me cause like i said im not a Developer just trying to help, but as i understand the code in the version 1.3 on the jar files was changed so, we just can't copy the new files, that must be programed again in the code. So im sorry i think can help to much with that but i will try.

thanx to everyone and if some body can translate this code or check what encriptation is i think is gonna be great for us..

Code:
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

this is the first layout in the 1.3 version, once we got this maybe can have some advance.

Greetings from MX.

Hey friend :)
I will try to iidentify the type of code used here as you requested.

And thank you so much for making the feedback vvideos. I am really looking forward to it :) please post a link here oror the video itself when you finish making it. I am waiting :)

Thank you very much intensus :)

T
 

Cremisi

New member
Apr 8, 2012
4
2
Hi, hope this will ease a bit the wait for the update with custom layouts and label support that is taking forever. Sorry to see such a useful app neglected compared to the ios version.
This should convert layouts in 1.3, just make sure to pick the index of the predefined layout you want to replace (0 to 4).
 

Attachments

  • LayoutEncoder.zip
    60.6 KB · Views: 2,621
  • Like
Reactions: PittedPanda

gearhead10

Member
Feb 24, 2011
25
0
Dubai
Hi, hope this will ease a bit the wait for the update with custom layouts and label support that is taking forever. Sorry to see such a useful app neglected compared to the ios version.
This should convert layouts in 1.3, just make sure to pick the index of the predefined layout you want to replace (0 to 4).

Which layout do we put in the first "layout file" row? Should we put our custom layout's xml file?
 

Cremisi

New member
Apr 8, 2012
4
2
Simply point it to an archive created by the editor (the dialog filters by ".touchosc" ext), not the raw xml.
 

PittedPanda

Member
Apr 11, 2012
7
0
But Where?

Great! I am so excited to get this working!!

However. What do I do with the output?!?

I looked all in the touchosc apk and couldn't find a obvious spot to put it.

Should i past it into a .xml? or another .touchosc? but then were to put it??

Your response is highly anticipated.

Oh. Also... I have to use my roommates computer to run to exe and ill post the output file for the LiveControl.touchosc template for any other osx users once I figure this out!

---------- Post added at 06:07 PM ---------- Previous post was at 05:48 PM ----------

Maybe this is of use?

androidosc.webs.com/instructions.htm
 

Cremisi

New member
Apr 8, 2012
4
2
I tried using the layout encoder you gave to put custom layout on my XOOM in touchosc 1.3 but it gives me a blank screen. Are you sure this works with version 1.3?

Yes definitely, on my Nexus S and Asus Transformer.
Are u copying the _complete_ generated base64 text in place of the predefined layout? Most importantly, are u picking the right layout to replace? It must match the id you selected in my applet: if u choose 0 you have to replace the layout at pos 0 ("Simple", the one preceded by "const/4 v1, 0x0 .line 16" in Layout.smali) or it WON'T WORK. The same applies to layouts in positions 1-4.

---------- Post added at 01:31 AM ---------- Previous post was at 01:18 AM ----------

Great! I am so excited to get this working!!

However. What do I do with the output?!?

I looked all in the touchosc apk and couldn't find a obvious spot to put it.

Should i past it into a .xml? or another .touchosc? but then were to put it??

Oh. Also... I have to use my roommates computer to run to exe and ill post the output file for the LiveControl.touchosc template for any other osx users once I figure this out!


Hi, I'm afraid the process (as I don't want to modify the app, wouldn't be right nor legal) to add a custom layout is not "1-click", especially since (1.2) the author wrapped the predefined lyouts inside source code. In 1.3 my applet is useful because u cant simply convert in base64 your layout XML and copy/paste it in Layout.smali: layouts are slighly scrambled, exactly to prevent replacing.

Ps. Sorry for the inconvenience in Os X/Linux. Then again I just tried running it with Mono (can't post links yet, but look for 'go-mono') and haven't encountered an problems (after all it's a bare-bone applet), so you shouldn't either.
 
  • Like
Reactions: PittedPanda

PittedPanda

Member
Apr 11, 2012
7
0
Hi, I'm afraid the process (as I don't want to modify the app, wouldn't be right nor legal) to add a custom layout is not "1-click", especially since (1.2) the author wrapped the predefined lyouts inside source code. In 1.3 my applet is useful because u cant simply convert in base64 your layout XML and copy/paste it in Layout.smali: layouts are slighly scrambled, exactly to prevent replacing.

Ps. Sorry for the inconvenience in Os X/Linux. Then again I just tried running it with Mono (can't post links yet, but look for 'go-mono') and haven't encountered an problems (after all it's a bare-bone applet), so you shouldn't either.

Right! Not expecting it to be easy but I love to tinker when I'm not too busy. Fix it till its broke! lol

No worries..dropbox->pc->dropbox... took 20 seconds. Crossover on the mac didn't work though.

So do i have to recompile the source code? I'd really like to get this working... like getting $200 midi controller for free!


Oooo is this along the right track?
kkinder.com/2011/11/27/so-you-want-to-reverse-engineer-an-android-app-apk/
 
Last edited:

Top Liked Posts

  • There are no posts matching your filters.
  • 3
    Ok so finally i got the tutorial, in two parts cause it's kinda step by step. And please excuse me for my bad english :( but i really was kinda nervous to give all the step in a way i can express myself. Hope understand it, and works for you!

    Please don't forget to leave a comment, give a thanx o gift me a candy lol.

    Greetings!
    ---------------

    P.S.1 - The video is on HD so you can view in fullscreen to see the names and actions.
    P.S.2 - As i wrote in the description in the video, (the video is private, just people with the link can see it) and please don't copy the link to other forum, before ask my permission. (but IMHO i think if the Dev fro Hexler.net see the video, he will find the way to take of this new method to have our custom layouts, so please be carefull with the Tuto.

    Youtube - TouchOSC v1.2 Custom Layouts working Tutorial - PART 1

    Youtube - TouchOSC v1.2 Custom Layouts working Tutorial - PART 2
    2
    I'm putting up this guide just to help the community until we have a more feature rich version of touchOSC for our android devices.

    I'll gladly pay the $5/$6 hexler charged for the iOS version of this app once the android version is there. this app far outshines anything even remotely similar.
    and it looks pretty :p


    a combination of the following worked wonders for me.
    • Cremisis Layout encoder
    • Notepad++ (for windows. I'm sure there's equivalents for all OS types)
    • Virtuos Ten Studio (you'll have to use whatever equivalent you have on your system for building/signing apks.)
    • 7-zip

    and a few Regular Expressions i wrote to help edit the generated index.html

    here's a small tutorial. it's primarily for windows but easily adapted to other OS's :
    • create your touchOSC layout using the touchOSC editor.
    • save your template in any location.
    • Use 7-zip and select Open Archive to open your touchOSC layout.
    • Drag and drop the INDEX.XML file somewhere.
    • Open the INDEX.XML file in Notepad++ (or whatever editor you use that support Regular Expressions)
    • Search for NAME tags and delete using this Regular Expression.
    Be aware that there is a SPACE after that second quote. that is to ensure that everything gets pulled back into place.

    • Save your INDEX.XML .
    • Your 7-zip should still be open. DELETE the INDEX.XML file inside the layout archive.
    • Drag and drop your new INDEX.XML into the archive and hit yes to all the prompts.
    • Close 7-zip.
    • Open Layout Encoder.
    • Load your touchOSC layout file into Layout Encoder, select the index number you wish to replace and press encode.

    Since the steps to replace the layout within Layout.smali have already been covered by intensus, i won't be going over that here.

    After everything is complete - build, sign and install your APK. on windows i suggest Virtuos Ten Studio. i've been using it for a couple of weeks and absolutely love it. it does have it bugs though and does get frustrating at times.

    *****UPDATE*****
    i think there's another issue (i won't say bug since we're pretty much hacking around this program). aside from the NAME and LABEL. it seems that MULTI elements cause the force closes aswell, even with the offending tags removed.
    i setup a 56 push button grid last night one by one with no issues using the steps outlined above. today i tried the exact same thing using a multipush element. all i get using the multipush is a blank screen and force closes. shame too - it took me 2 hrs to assign individual notes to each of those buttons on my 56 grid. i thought i could make it easier with a multi element :p
    this also occurs when trying to use the iPad size layout.

    Credits:
    intensus - for figuring out and posting his videos on the initial custom layout injection.
    Cremisi - for his layout encoder.
    SolFire777 - for figuring out what inside the XML file was causing the force closing.
    and everyone else involved with the tools used for this tutorial. if i forgot to mention or overlooked anyone i apologize.
    1
    you wont see very many, if any, pro music apps on android. not until they fix the delay. (i believe there is a delay in the sound driver, or something of that nature)

    i dont know how to explain in better detail, but thats why you wont see a better version of touchOSC, and hexler basically is ignoring questions til google fixes android.
    1
    too much work!

    all you have to do for custom layouts is...

    1. make "yourlayout" in touchosc editor.
    2. create a new folder name "yourlayout".touchosc on desktop or somewhere else so it doesn't conflict with the original file
    3. open the "yourlayout".touchosc that the editor made as a .zip file
    4. extract the index.xml file to the folder created in step 2.
    5. copy this folder over USB/SD to Android device
    6. use a file explorer with root access to then copy the folder to /data/data/net.hexler.touchosc/app_touchosc_layouts/

    it will show up in the list of layouts on touchosc for android without hacking/signing APKs and all this...
    1
    Ok so, the post come back to life. Yesterday i got the TouchOSC v1.2 update, and finally we got:

    Scale to fit screen (optional)
    Multitouch Support (diveces that support it)
    Wake lock and wifi lock to keep screen and network on

    This great mayor to the update are incredible but now we have another problem...

    theres no "app_Touchosc_Layouts" folder to "hack" the layouts we made :confused: now think this is a great step back, because when we dont have the fullscreen, we can at least make our personal layouts and figure out how to fit the screen. But now just let us with 5 layouts :eek:.

    Somebody has an idea of what can we do to have our personal layouts again?


    Thanks for read.
    Inensus!