Multi-Touch SDK for Resistive Screens V1.0 Beta - TG01 General

Multi-Touch SDK for Resistive Screens V1.0 Beta
Requirements:WM 6, 6.1, 6.5 Professional
Overview: None
Features:
*Pinch to Zoom Support
*Drag (swipe) support.
*Replacement events for the mouse move fires only when a single finger detected.
*Multiple events based on gestures.
*Performance optimized, memory footprint is minimal.
To use this SDK you will need Visual Studio Professional or better. start a new Smart Device Project, and add the SDK to your references.
The SDK is consists of only one object, which is DualTouchSDK. We will need one instance of this class for every control that supports pinch to zoom or drag in your application.
There are several methods, properties and events that can be utilized in order to achieve multitouch effect. i have done my best to make this as easy as possible, my code is now complex but it is necessary to achieve easy implementation.
Download Instructions:
1. open
2. look for "Rotate To Exit\bin\"
3. unzip Debug folder and open the .exe on PPC.
File: http://www.windowsphoneme.com/index.php?file=431
Thanks go to
Thomas Graves

Very nice any Apps being made to demonstrate this?

Can I zoom photos with this app? I see video where someone doing it. Sorry for my english .
http://www.youtube.com/watch?v=ld_kIpLWa3Y

Yes it is possible but someone needs to make apps to make use of this.
It is a sdk.

Related

[APP] SimplePiano V4.3 [21.06.10] [ VGA / WVGA / QVGA / HVGA ]

SimplePiano V4.3​
SimplePiano with the SP_mickesjo WVGA Skin​
As the name suggests it's a simple piano application. I took over "CrisRowlands SimplePiano" after Cris decided to give up developing it (Original thread). The main reason I took over is because I wanted to implement multitouch. I own HTC HD2 so my emphasize was on the WVGA format, but the application should also support VGA resolution. It should be pretty easy to create skins for other resolutions as well...
Features:
WVGA, VGA, QVGA, HVGA versions.
It has three octaves.
Record and Playback.
Dualtouch via the PinchToZoom events (not ideal but the best I could find...)
Customizable skins.
Customizable sounds (currently include Piano, Acoustic Guitar & Violin).
Currently in develop:
Continuous sliding of the keyboard view.
Change the skn files to support arbitrary number of keys.
CHANGELOG:
21.06.10(4.3)
Added two single finger chord modes (Major and Minor) - Requires special skin. I don't like this solution so I didn't follow it. If anyone is interested in this please let me know...
Added minimum note sustain length control (in milliseconds). If minimum sustain is not specified the full sample is played.
Added support for looping over the sample (by looping over the sample) Two samples can be specified, one is played once in the beginning, and the second is played over and over until the key is released. If the second sample is not specified the first one is used for the loop. This feature requires appropriate sound samples to be available.
Sounds are controlled via "Sound.lst" file. Different behavior of the notes (those mentioned above) can be controlled via this file.
Added OK/Cancel button to the settings dialog.
Vibration LED index can be now set via the "Device" tab in the settings dialog.
Polyphony can control to the "Device" tab in the settings dialog.
Fixed a problem where SimplePiano closed if an incompatible skin was chosen.
Fixed issue where bitmaps were not always clipped to bounds.
Fixed crash when sound file did not exist.
Changed applications icon (thanks mickesjo)
11.06.10(4.2) Added some exception handling during initialization and a vga skin for the Default skin. Fixed the link to point here.
10.06.10(4.0) Initial release including the new features (dualtouch, recording etc. as desribed in this post).
Screenshots:
Skins: Default WVGA skin, MewSkin WVGA skin, MewSkin VGA skin, SP_mickesjo WVGA skin, Saplorer UI WVGA skin
Settings Dialog​
Download:
SimplePiano V4.3 (WVGA/VGA/HVGA/QVGA)
Alternative Download(Uploading) (including mickesjo's skin and Osprey00's alternative piano sounds - thanks to Osprey00)
Additional Skins:
(must be installed in the same location as the main application)
HVGA Rescale of the original skin (thanks to sam-2007 on post #130).
MewSkin (WVGA/VGA)
SP_mickesjo (WVGA/VGA/QVGA), thanks mickesjo. atlaswing created replacements key images, these can be found on post #47. HVGA version (thanks to sam-2007 on post #130).
Saplorer UI (WVGA), thanks xclarinetistx
Additional Sounds (thanks conantroutman):
(must be installed in the same location as the main application)
Violin
Acoustic Guitar
Piano Samples 8bit (lower quality) - these samples replace the default piano samples that comes with SimplePiano.
Alternative piano samples (thanks to Osprey00)
Rectangular QVGA (320x320) patch - extract the files from the zip files into the "Default" skin folder.
Click to expand...
Click to collapse
Previous version:
SimplePiano V4.2 (WVGA/VGA)
For QVGA the modified default skin has to be installed too.
Skins:
Default (WVGA/VGA/QVGA)(CrisRownlands' original skin)
MewSkin (WVGA/VGA)
SP_mickesjo (WVGA/VGA/QVGA), thanks mickesjo
Click to expand...
Click to collapse
Other Notes:
If I may quote Cris:
I hope you folks like it
Feedback is appreciated, improvements can only happen if I know what you folks want.
Click to expand...
Click to collapse
Some documentation
Some useful information about the *.skn files and the Sound.lst file.
The *.skn files
These files define the location of the different items on the screen. For each screen resolution the skin supports there should be one skn file. When a skin is chosen, SimplePiano search the skin directory for a compatible skn file and loads the skin according to its content.
here's an example for a skn file
Code:
Display=0,0,480,800
This line declare the target resolution of the skin. It is given in the following format: 0,0,Width,Height
Code:
Name=mewskin
The name of the skin, currently not used for anything.
Code:
Octave1=360,10,120,120
Octave1Image=OneNormal.png,OnePressed.png
Each key should include those two lines. The first line describe the location and size of the image, using the following format:
KeyName=Left,Top,Width,Height​The second line points to the images to be used with this key. The following format is used:
KeyNameImage=NormalStateImage, PressedStateImage​Where KeyName is one of the following:
Octave1, Octave2, Octave3
Quit, Settings,
Record, Replay,
NormalKey1, ..., NormalKey8
SharpKey1, ..., SharpKey6​All these keys must be specified.
NormalKey# stands for the normal note keys (C,D,E,F,G,A,B & C)
SharpKey# stands for the semitone keys (C#, Eb, F#, Ab, Bb & C#)
In addition the toolbar background has to be specified as well:
Code:
Toolbar=360,0,120,800
ToolbarImage=Background.png
unlike a regular key here only one image is supplied.
In addition the optional chord modifier keys can be specified (using the same logic):
Code:
ChordMajor=-30,0,60,60
ChordMajorImage=MajorNormal.bmp,MajorPressed.bmp
ChordMinor=-30,60,60,60
ChordMinorImage=MinorNormal.bmp,MinorPressed.bmp
The Sounds.lst file
This file defines the sounds to be used with the selected instrument. First of all it binds a note to a wav file. In addition different properties can be set for each note, as I'll explain below:
Code:
[1]
The file is divided into octave, currently there are 4 octaves (since SimplePiano also includes C4 &C#4). Each octave is titled with its number.
Code:
C=Data\C1.wav, Loop=0
Then, the sound files for this octave are given. The following format is used:
Note=FileName, Option1=value1, Option2=value2,...​Note is one of the 12 notes in an octave. The following notation is used: C,Cs,D,Eb,E,F,Fs,G,Ab,A,Bb,B.
Then a relative path to the sound file is specified. Followed by a list of parameters and values pairs separated by comas. These parameters are optional. The following parameters can be declared:
Loop=#​This specify how many times to loop over the sample (0 - plays the note once, -1 loop infinitely). If a non-zero value is given for a note, the note will be played as long as the key is pressed, once the key is released the playing will cease immediately. By default (if not specified) Loop=0.
MinimumLength=#​This specify the minimum length (in milliseconds) a note is to be played. If this value is -1 the sample will be fully played. any other (non-negative number), the note will be played at leas this amount of time. For example, if a value of 500 is specified, every touch on the keyboard will generate a 500ms sound. If the key is held longer than 500ms the sound will stop when the key is released (or the sample reaches its end). The default behavior depends on the "Loop" setting: If Loop=0 MinimumLength=-1. Otherwise MinimumLength=0.
Good job man
Good luck with this
I don't suppose you could maybe send me a copy of the source code etc?
Maybe upload it & give me a link.
The main reason I wasn't able to implement these features is because I don't know how. It would be quite interesting to learn about how you did it
good job on significantly improving chris' already nice work
And dang you've beaten me to first reply
ephestione said:
good job on significantly improving chris' already nice work
And dang you've beaten me to first reply
Click to expand...
Click to collapse
cris_rowlands said:
Good job man
Good luck with this
I don't suppose you could maybe send me a copy of the source code etc?
Maybe upload it & give me a link.
The main reason I wasn't able to implement these features is because I don't know how. It would be quite interesting to learn about how you did it
Click to expand...
Click to collapse
Thanks guys...
Cris... no problems, just let me tidy the project a little...
I love your simple piono 4.1. Now 4.2 should be better than 4.1. Thanks for the updated version...
OP, thanks for the APP. I look forward to future updates once more of the bugs have been knocked out!
Update: added a download link to the mewskin, this is nicer looking especially for the VGA resolutions (but also on the WVGA). Kudos to the author (xxmewstarxx)...
Just install the mewskin.cab after installing SimplePiano (no need to reinstall).
Z.
for now, I vote for default to 0 interval between multitouch keypresses, instead of 300ms
Not much of a big deal as you can change it yourself, yet if you already restarted to register multitouch, and you change that option later, you need to restart again
I am also thinking about spanning through more than 3 octaves, and a different method of changing the octave that lets you do that faster and more easily, will report back when I have a better idea
Nice!
Unfortunately the space on the screen ins't that much but if there was a way to "somehow" squeeze in and create spaces for Chord Symbols/Buttons and when these are being pressed, a chord is being played (a flat chords, an arpeggio). Said chord-sounds could be default-sounds distributed with the application or pre-recorded by the user. Something similar to those Casio-chords (or whatever they are called) which do the fingering for you. Another option could be that it played just the root of the chord so one could create some variety and a little base-line while playing the melody on the normal keyboard.
The problem, I guess, is surely the space on the screen and the limit of two touches simultaneously.
Just some thoughts....
ephestione said:
I am also thinking about spanning through more than 3 octaves, and a different method of changing the octave that lets you do that faster and more easily, will report back when I have a better idea
Click to expand...
Click to collapse
tilleke said:
Nice!
Unfortunately the space on the screen ins't that much but if there was a way to "somehow" squeeze in and create spaces for Chord Symbols/Buttons and when these are being pressed, a chord is being played (a flat chords, an arpeggio). Said chord-sounds could be default-sounds distributed with the application or pre-recorded by the user. Something similar to those Casio-chords (or whatever they are called) which do the fingering for you. Another option could be that it played just the root of the chord so one could create some variety and a little base-line while playing the melody on the normal keyboard.
Click to expand...
Click to collapse
Well, as for the 3 octave limitation, that could be easily broken, just that I don't have the sounds... If someone's willing to generate them I'll include them in the application.
About changing octaves I thought of two possibilities, one would be to just add two buttons at the end of the keyboard that moves one octave up or down. Another possibility is to create a slider above (or below) the keyboard on which you can slide left or right to change octaves. Sliding can also be continuous so that the first note is necessarily C. Such slider can also have some buttons to toggle chords buttons as tilleke suggeted...
tilleke said:
The problem, I guess, is surely the space on the screen and the limit of two touches simultaneously.
Click to expand...
Click to collapse
I really hope HTC will release some proper API that supports real multitouch...
Z.
tilleke said:
Nice!
Unfortunately the space on the screen ins't that much but if there was a way to "somehow" squeeze in and create spaces for Chord Symbols/Buttons and when these are being pressed, a chord is being played (a flat chords, an arpeggio). Said chord-sounds could be default-sounds distributed with the application or pre-recorded by the user. Something similar to those Casio-chords (or whatever they are called) which do the fingering for you. Another option could be that it played just the root of the chord so one could create some variety and a little base-line while playing the melody on the normal keyboard.
The problem, I guess, is surely the space on the screen and the limit of two touches simultaneously.
Just some thoughts....
Click to expand...
Click to collapse
zevele said:
Well, as for the 3 octave limitation, that could be easily broken, just that I don't have the sounds... If someone's willing to generate them I'll include them in the application.
About changing octaves I thought of two possibilities, one would be to just add two buttons at the end of the keyboard that moves one octave up or down. Another possibility is to create a slider above (or below) the keyboard on which you can slide left or right to change octaves. Sliding can also be continuous so that the first note is necessarily C. Such slider can also have some buttons to toggle chords buttons as tilleke suggeted...
I really hope HTC will release some proper API that supports real multitouch...
Z.
Click to expand...
Click to collapse
I was thinking the exact same things regarding octave switching, more like automatic recognition, as in when you press a key near the border, the keyboard gets slided past the border of a X length to accomodate for the "direction" you're taking
And tilleke suggestion is very interesting.
Here's my take: just like you play two sounds together when you do multitouch, you don't need to really record a chord, you only need to play 3 sounds together.
Example, put a swith on top, with three positions:
1) Normal
2) Major chord
3) Minor chord
Then you press, say, C
Cases:
"normal" : the note C is played
"major" : the notes C E and G are played
"minor" : the notes C D# and G are played
THe switch would be a slider onr, because a toggle one (1-2-3-1-2 and so on) would take too long if you need 1 and you're currently on 2.
Glad to see somebody picking up on this where Chris left off.....
If you want more octaves I'd be happy to provide them.
Just out of interest, are the samples in this version the same ones from Chris' original version?
conantroutman said:
Glad to see somebody picking up on this where Chris left off.....
If you want more octaves I'd be happy to provide them.
Just out of interest, are the samples in this version the same ones from Chris' original version?
Click to expand...
Click to collapse
More samples can't hurt, but at the moment I'm trying to solve the chords feature...
The samples are the same ones from the previous version.
Thanks,
Z.
Totally awesome. Poor WM support. it seems like everyone writes off Windows platform as thou its limited, but if you had the support you show with this simple piano, the experience level and communication would be thought on a positive (note) about windows platform... GOOD JOB!!
Thanks zevele for the work!
xda member TWolf has a FlashPiano that he stopped developing. The program itself has a great sample of 4 instruments in mp3 form, but I don't know enough about music to rename them. Maybe somebody here can take a look and rename the files. Here's the link and source code from TWolf:
http://forum.xda-developers.com/showpost.php?p=2806409&postcount=126
Would be nice to include mellotron in this, like the Manetron for iPhone
http://www.youtube.com/watch?v=pcIRG1X0VMs
dio62000 said:
Would be nice to include mellotron in this, like the Manetron for iPhone
http://www.youtube.com/watch?v=pcIRG1X0VMs
Click to expand...
Click to collapse
Seeing these applications on the iphone just depresses me... they run so much better than on the windows mobile...
Specifically to your question... If you mean playing several instruments in parallel, it shouldn't be to complicated to implement...
Okay, here's my idea for a solution for the chords feature, I've added two buttons below the keyboard one toggles a major chord and the other a minor. As all other buttons these can be moved and changed through the skin files. Please try it and let me know what you think...
SimplePiano
http://rapidshare.com/files/398328285/SimplePianoV43beta.CAB
MewSkin
http://rapidshare.com/files/398329265/mewskincabV43beta.CAB
Thanks,
Z.
Can this be hosted somewhere else? Rapidshare gives some of us problems and the the download limitation sucks. I can't download the v43beta after just downloading the v42 version. My suggestion is drop.io or dropbox... You can even use the free Skydrive for this.
Thanks for the good work...

Android Hardware Accelleration explained - by google engineer

Link to Source
......
• Android has always used some hardware accelerated drawing. Since before 1.0 all window compositing to the display has been done with hardware.
• This means that many of the animations you see have always been hardware accelerated: menus being shown, sliding the notification shade, transitions between activities, pop-ups and dialogs showing and hiding, etc.
• Android did historically use software to render the contents of each window. For example in a UI like http://www.simplemobilereview.com/wp-content/uploads/2010/12/2-home-menu.png there are four windows: the status bar, the wallpaper, the launcher on top of the wallpaper, and the menu. If one of the windows updates its contents, such as highlighting a menu item, then (prior to 3.0) software is used to draw the new contents of that window; however none of the other windows are redrawn at all, and the re-composition of the windows is done in hardware. Likewise, any movement of the windows such as the menu going up and down is all hardware rendering.
• "Full" hardware accelerated drawing within a window was added in Android 3.0. The implementation in Android 4.0 is not any more full than in 3.0. Starting with 3.0, if you set the flag in your app saying that hardware accelerated drawing is allowed, then all drawing to the application’s windows will be done with the GPU. The main change in this regard in Android 4.0 is that now apps that are explicitly targeting 4.0 or higher will have acceleration enabled by default rather than having to put android:handwareAccelerated="true" in their manifest. (And the reason this isn’t just turned on for all existing applications is that some types of drawing operations can’t be supported well in hardware and it also impacts the behavior when an application asks to have a part of its UI updated. Forcing hardware accelerated drawing upon existing apps will break a significant number of them, from subtly to significantly.) .....
Click to expand...
Click to collapse
The link above goes covers more bullet points on the issue. If you're interested click it and read
duplicate thread
http://forum.xda-developers.com/showthread.php?t=1377519

Some tips on graphics for a coder coming from ActionScript

Hello, I come to ask only for a few tips or merely a bit of guidance on my development for Android.
I'm pretty skilled in ActionScript and new to Java. In this thread I ask how would I do some things in Java, providing the equivalent in AS.
I intend to draw shapes on screen and use them as UI - as a deeper layer within the Android XML UI.
In ActionScript, I can create Sprites or DisplayObjects, edit their "graphics" property like
// create a DisplayObject instance
_someDisplayObject = new DisplayObject();
// create a white square inside it
_someDisplayObject.graphics.beginFill(0xFFFFFF);
_someDisplayObject.graphics.drawRect(0,0,100,100);
_someDisplayObject.graphics.endFill();
// place it dinamically in a position relative to the Stage (canvas)
_someDisplayObject.x. = Stage.stageWidth / 2;
------------------
Also, are there Tweening libraries like TweenLite or Tweener ? Those which allows to create animation with one like of code like:
// move display object to position X = 300 with half transparency, in half second
Tweener.addTween(_someDisplayObject, { x:300, alpha:0.5, time:0.5, transition"EaseOutSine" } );
------------------
Can anyone give a clue, on what am I looking at, to try the same in Java for Android ?
Just an advice letting me know where to start would be greatly appreciated. :fingers-crossed:
Thank you !
You can create shapes in Android using XML or in your Java code or with both. You can also create Animations including Tween animations. (I haven't used animations before though so I can't help any further).
The first place to go is the Android Developers website (d.android.com/develop) and then in the API Guides section under User Interface option and App Resources option in the left hand menu. There are samples included in the Android SDK under API Demos which you can use to get your started.
I can't post links because I haven't made 10 posts yet, sorry.
As you already know, the Android display model is more complex than the one used in ActionScript.
There is no direct equivalent for the graphics property from AS3 in Android.
To draw low-level graphics you can use the canvas parameter provided in the onDraw method (you override it in your own class inherited from android.view.View).
As for the Tweening, like Kavrocks said, try to learn how to use the Animation class and it's extensions, because they are built inside the android framework, therefore optimized (that's just my opinion). All the tweening engines in AS3 are based on dynamic calling of properties (by name). Java uses the reflection api for calling dynamic properties, but it is much slower than a direct call (from a specialized Animation class, in this case).
I am also trying to figure out different modes of applying animations and effects in actionscript. There's a tutorial on Lynda where you can see som tips from migrating from AS to Java, and HTML5, both of this can help you understand better how to apply them in your application.

[KICKSTARTER] A code editor for Windows Phone.

There aren't too many code editors for Windows Phone, so I decided to make one!
Elemental runs on Windows Phone and Android, but also runs on Windows, Mac OS X, Linux, and Chrome OS.
The code editor is open source and aims to make Windows Phone and Android more powerful platforms.
FEATURES
Runs natively
Syntax highlighting for over 100 languages
Over 20 themes
Highlighting matching parentheses
Customizable tabs
Automatic indent and outdent
Code folding
Drag and drop text
Multiple cursors and selections
Customizable key bindings including vim and Emacs modes
Linting for CSS, JavaScript, and CoffeeScript
Open Source (GNU General Public License v3.0)
Cloud Integration (Google Drive, Microsoft OneDrive, etc)
Macros
A lot more!
SOME SYNTAX HIGHLIGHTING LANGUAGES
CoffeeScript
ColdFusion
C#
CSS
Dart
Go
Groovy
haXe
HTML
C/C++
Clojure
Java
JavaScript
JSON
LaTeX
LESS
Liquid
Lua
Markdown
OCaml
Perl
pgSQL
PHP
Powershell
Python
Ruby
OpenSCAD
Scala
SCSS
SH
SQL
SVG
Text
Textile
XML
XQuery
YAML
If you like the idea behind Elemental and want to see this code editor become a reality, I'd love it if you share and back this project. Thanks!
If this Kickstarter is funded, this thread will become the application thread for Elemental.
CHECK OUT ELEMENTAL

Questions about teleporting

Recently I have decided to create a VR application just to test out different features (Mainly just teleportation). I have however bumped into a problem. While trying to teleport to places the controller will sometimes glitch up to indicate that I will be teleporting on top of a wall. I was wonder, what would be the best method of creating a teleportation method where you can't teleport behind walls and you can't teleport on top of them. I know what my problem is it's that I have a collision box on my walls but I want to have it so you can't teleport through the walls. I'm a beginner with Unity and this is probably whey I can't find a way to fix it.
Information:
Application : Unity 5.6.1f1
Teleportation Method : Google's elements teleportation. (Open the Google element's teleportation scene and added my own objects)
Current form of collision : Mesh collider the shape of my objects
Screen shot labels
1. House model with textures
2. Highlighted collision meshes
3. The area I get problems (When pointing the controller at any wall it will move the teleportation marker to the top of the wall)
If you need a copy of my Unity Project, just download it here, extract it and open the scene "Nevis" in the folder "Nevis" while in Unity. (File will be available in a 4-8 hours because my internet connect is super slow)
https://drive.google.com/drive/folders/0B_esR0mIq50vVVBEeFcxZ3F5YWs?usp=sharing
I know the texturing work isn't great and my lighting is strange but this is just a test of the teleportation system.

Categories

Resources