36
JunctionBox for Android Lawrence Fyfe | Adam Tindale | Sheelagh Carpendale Linux Audio Conference 2012 CCRMA

JunctionBox for Android - Linux Audio

  • Upload
    others

  • View
    19

  • Download
    0

Embed Size (px)

Citation preview

Page 1: JunctionBox for Android - Linux Audio

JunctionBox for Android

Lawrence Fyfe | Adam Tindale | Sheelagh Carpendale

Linux Audio Conference 2012CCRMA

Page 2: JunctionBox for Android - Linux Audio

Related Work

Page 3: JunctionBox for Android - Linux Audio

reacTable

Page 4: JunctionBox for Android - Linux Audio

Lemur

Page 5: JunctionBox for Android - Linux Audio

TouchOSC

Page 6: JunctionBox for Android - Linux Audio

JunctionBox

Page 7: JunctionBox for Android - Linux Audio

Goal

Make development of multi-touchsound control applications easierwhile still allowing a high degreeof customization.

Page 8: JunctionBox for Android - Linux Audio

JunctionBox, the Name

Junction: a place or point where twoor more things meet or converge.

Page 9: JunctionBox for Android - Linux Audio

What Converges at a Junction?

1. Touch interaction

2. Visual feedback

3. Sound control

Page 10: JunctionBox for Android - Linux Audio

Original JunctionBox

Page 11: JunctionBox for Android - Linux Audio

And the Box?

Box = Total interactive area of device

Page 12: JunctionBox for Android - Linux Audio

Junction in the Box

Page 13: JunctionBox for Android - Linux Audio

How a Junction Becomes Visible

Page 14: JunctionBox for Android - Linux Audio

CCRMA Summer Workshop 2010

Page 15: JunctionBox for Android - Linux Audio

JunctionBox for Android

Page 16: JunctionBox for Android - Linux Audio

Why Android?

1. JunctionBox waswritten in Java

2. Android tablets areportable and easilyavailable

Page 17: JunctionBox for Android - Linux Audio

Android Audio

?

Page 18: JunctionBox for Android - Linux Audio

JunctionBox for Android

Page 19: JunctionBox for Android - Linux Audio

JunctionBox Internals

Page 20: JunctionBox for Android - Linux Audio

Contact

Contact = Touch

Page 21: JunctionBox for Android - Linux Audio

MotionEvent Callback

boolean dispatchTouchEvent( MotionEvent ev){ dispatcher.handleMotionEvent(ev); return true;}

Page 22: JunctionBox for Android - Linux Audio

Latency

Page 23: JunctionBox for Android - Linux Audio

Processing Event Queues

Page 24: JunctionBox for Android - Linux Audio

JunctionBox Touch Events

Page 25: JunctionBox for Android - Linux Audio

Mapping

Page 26: JunctionBox for Android - Linux Audio

Actions

Page 27: JunctionBox for Android - Linux Audio

Mapping Actions to Messages

j.mapMessage(Action.TRANSLATE_Y, “/example/message”);

For a Junction j:

Page 28: JunctionBox for Android - Linux Audio

Contact Actions

Page 29: JunctionBox for Android - Linux Audio

Contact Mapping for Ellipses

Page 30: JunctionBox for Android - Linux Audio

Action Range Min MaxACTIVE 0|1 - -

TOGGLE 0|1 - -

ROTATE 0-1 0 2*Pi

SCALE 0-1 1 Box width/Box height

SCALE_WIDTH 0-1 1 Box width

SCALE_HEIGHT 0-1 1 Box height

TRANSLATE_X 0-1 0 Box width

TRANSLATE_Y 0-1 0 Box height

TRANSLATE_XY 0-1 0 Box width, Box height

CONTACT_X 0-1 0 Junction width

CONTACT_Y 0-1 0 Junction height

CONTACT_R 0-1 0 Junction radius

CONTACT_COUNT 0-n 0 n

ROTATION_COUNT -n - n -n n

Actions

Page 31: JunctionBox for Android - Linux Audio

Interfaces

Page 32: JunctionBox for Android - Linux Audio

Distance 2

Page 33: JunctionBox for Android - Linux Audio

Orrerator

Page 34: JunctionBox for Android - Linux Audio

Advertisement

Page 35: JunctionBox for Android - Linux Audio

CCRMA Summer Workshop!Building Audio Control Interfaces for Android

July 30 – August 3, 2012Lawrence Fyfe and Adam Tindale

Page 36: JunctionBox for Android - Linux Audio

Thanks!

Adam TindaleSheelagh CarpendaleCCRMAThe Linux Audio Conference