2012-09-18 3 views
2

터치 OSC의 멀티 이글 기능을 지원하는 Arduino 용 OSC 라이브러리를 찾을 수 없습니다. 내가 잘못된 것을하고 있습니까, 아니면이 컨트롤을 지원하는 라이브러리가 있습니까?터치 OSC 멀티 툴록의 Arduino에서 OSC 사용

내가 사용 도서관 : https://github.com/recotana/ArdOSC

내가 터치 OSC에서 전송하고있어 OSC 메시지 :

/octobar/togglearray/2/2 1. 

니펫 상대가 아두 이노에 그것을 잡으려고 :

server.begin(serverPort); 
server.addCallback("/octobar/togglearray",&togglearray); 

void togglearray(OSCMessage *_mes) { 
    Serial.println("Toggle Array"); 
} 

다른 콜백이 작동하고 있으며 페이더 및 푸시 버튼 컨트롤로 작업 중이므로 여기에 모든 서버 코드를 붙여 넣지 않았습니다. 문제는 다중 선택을 지원하는 모든 컨트롤처럼 보입니다.

+1

두 번째 줄이 있어야하지 :'server.addCallback ("/ octobar/togglearray/2/2", togglearray)' –

+0

이 토글 배열이있다 토글 가능 버튼 테이블. OSC 메시지의/2/2 부분은 해당 배열의 행/열을 정의합니다. 이상하게도 필자는 모든 행과 열마다 콜백을 작성하고 작동하지 않을 것이라고 생각했습니다. 40 개의 개별 버튼이 배열에 완벽하게 정렬되도록 OSC 레이아웃을 변경하지 않으려 고합니다. –

+1

TouchOSC 매뉴얼은 '첫 번째 행의 첫 번째 토글 주소 지정 (OSC 경로의 색인)/multitoggle/1/1 0'과 '첫 번째 행의 첫 번째 토글 주소 지정 (매개 변수 색인)/multitoggle 1 1 0을 구별합니다 '. 보내는 메시지가'/ octobar/togglearray/2/2 1 '이면'/ 2/2'는 OSC-Address의 일부이며 콜백에 있어야합니다. 필자는 "매개 변수로 색인"을 사용하여 메시지를 보내야한다고 생각합니다. (단, 설명서에서이를 수행하는 방법을 찾지 못했습니다.) –

답변

0

저는 거의 정확히 이것을하려고 노력했으며 ArdOsc를 사용하여 들어오는 메시지를 구문 분석하는 방법을 찾지 못했기 때문에 Z_Osc 라이브러리로 전환했습니다.

나는 같은 것을 할 :

rcvMes=server.getMessage(); 
mess=rcvMes->getZ_OSCAddress(); 
if (mess.startsWith("/1/multitoggle1/")) { 
    y=(mess.substring(16)).toInt(); 
    x=(mess.substring(19)).toInt(); 
}