ChoregrapheのTips集


#前書き
Choregrapheのアプリを作っていて知っておいたら、ちょっとだけ幸せになれるそんな知識をまとめてみます。

#開発環境
機種名 : MacBook Pro
OS : Yosemite 10.11.3
プロセッサ名 : Intel Core i5 2.6 GHz
メモリ : 16 GB
グラフィック : Intel Iris 1536MB

Choreographe : 2.4.2
NAO : 2.4.2

#本題
## input/outputを入れ替えられる。 
みなさんはこんな経験ありませんか？アプリを開発している時に、なんでここクロスしちゃうんだよ！と。ここがクロスしなければもっと綺麗にプロジェクトが作れるのに！
![スクリーンショット 2016-03-08 15.49.11.png](https://qiita-image-store.s3.amazonaws.com/0/35860/0528bb1c-c34f-972d-d04b-4ca11c5af0ee.png "スクリーンショット 2016-03-08 15.49.11.png")

そんな時に使えるTipsがこちら！！

**command(Ctrl)+カーソルでヒュイっ**
実際にやってみましょう。

* カーソルを"wordRecognized"に合わせる
* 下のonNothingとヒュイっ
* すると、ジャーン＼(^o^)／

![スクリーンショット 2016-03-08 15.53.25.png](https://qiita-image-store.s3.amazonaws.com/0/35860/64d36285-6e6b-4af4-28c8-ac09445b06de.png "スクリーンショット 2016-03-08 15.53.25.png")

なんと、アウトプットが入れ替わりました！！
これであなたのプロジェクトもすっきり！！

### 注意事項
[Switch Case]ボックスではやらないで下さい。理由はやってみればわかります。バグる。

## [bundle]ボックス
みなさんはこんな経験ありませんか？アプリを開発している時に、結線めんどくせーと思ったこと。

![スクリーンショット 2016-03-08 18.46.55.png](https://qiita-image-store.s3.amazonaws.com/0/35860/a7fa076f-e679-c755-dd5f-2afb209c1264.png "スクリーンショット 2016-03-08 18.46.55.png")

[Switch Case]ボックスの後ろにLEDで目を光らせてから発話させたいのに、2本も線を繋ぎ直さなきゃいけない。あーめんどくさいめんどくさい。そんな時に使えるのがこれです。

![スクリーンショット 2016-03-08 18.42.13.png](https://qiita-image-store.s3.amazonaws.com/0/35860/2105995c-3e61-2638-57b6-4e92190f4f32.png "スクリーンショット 2016-03-08 18.42.13.png")

中身はこんな感じ

![スクリーンショット 2016-03-08 18.42.48.png](https://qiita-image-store.s3.amazonaws.com/0/35860/f8e34302-c1a9-e6a8-c448-b2ef40c1e01f.png "スクリーンショット 2016-03-08 18.42.48.png")

え？ただ線を繋いでるだけじゃないか？って？そうなんです。ただ繋いでるだけなんです。でもこれを使うと便利になるんです。

それでは早速。

1. 先ほどの[Switch Case]ボックスと、[Animated Say]ボックスの中間に[bundle]ボックスをはさみます。![スクリーンショット 2016-03-08 18.50.50.png](https://qiita-image-store.s3.amazonaws.com/0/35860/23f7387d-92a7-465f-551f-72892df73344.png "スクリーンショット 2016-03-08 18.50.50.png")
2. 下ごしらえは完了です
3. そしたら任意のボックスをはさみましょう。![スクリーンショット 2016-03-08 19.00.34.png](https://qiita-image-store.s3.amazonaws.com/0/35860/5ef0cf25-ee6d-03d7-0fb8-691c72f5e7af.png "スクリーンショット 2016-03-08 19.00.34.png")

これで結線がかなり楽になります。ぜひお試し下さい。

また、こんな使い方もあります。
![スクリーンショット 2016-03-08 19.04.52.png](https://qiita-image-store.s3.amazonaws.com/0/35860/95d2c486-79d7-4b6f-1d7c-3646271ab5ea.png "スクリーンショット 2016-03-08 19.04.52.png")

ボックスの配置があわなくて、スマートじゃない。そんな時にはボックス1つで調節しましょう。

![スクリーンショット 2016-03-08 19.07.34.png](https://qiita-image-store.s3.amazonaws.com/0/35860/54fb24f6-6122-7eed-3c13-dea16adcd0d4.png "スクリーンショット 2016-03-08 19.07.34.png")

どうですか？使い心地は実践で試してみてください。

## [Custom]ボックス
これを
![スクリーンショット 2016-03-08 19.20.37.png](https://qiita-image-store.s3.amazonaws.com/0/35860/23dac7f5-2bcc-fce0-d0cd-5b1bb617473c.png "スクリーンショット 2016-03-08 19.20.37.png")

こうじゃ
![スクリーンショット 2016-03-08 19.20.43.png](https://qiita-image-store.s3.amazonaws.com/0/35860/d7f9bb79-1885-7bec-2e1b-98be4e178cfc.png "スクリーンショット 2016-03-08 19.20.43.png")

```python
def onInput_onSignal(self,p):
	if( self.bFirstTime ):
		self.bFirstTime = False
		self.firstTime(p)
```

## ダブルクリックすると？
![スクリーンショット_2016-03-08_19_17_23.png](https://qiita-image-store.s3.amazonaws.com/0/35860/86aa7b52-d6cb-b59f-e245-de776b3db478.png "スクリーンショット_2016-03-08_19_17_23.png")

![スクリーンショット_2016-03-08_19_17_33.png](https://qiita-image-store.s3.amazonaws.com/0/35860/e26ea0a3-ed62-f79f-cd63-4409c191e9f0.png "スクリーンショット_2016-03-08_19_17_33.png")

## メモリウォッチャーを活用
ChoreographeのMenu[表示]-[メモリウォッチャー]でEventの値や、Valueを確認することができることは知っていると思いますが、こんなことはご存じですか？

![スクリーンショット 2016-03-12 0.34.04.png](https://qiita-image-store.s3.amazonaws.com/0/35860/03d38cfa-3586-ea4d-3838-17514c3e0a26.png "スクリーンショット 2016-03-12 0.34.04.png")

例えば、ホワイトデーに動くアプリを作っている。でも今は12日。でも！動作確認をしたい。そんな時にこちら！！

* まずは変えたいところをダブルクリック![スクリーンショット 2016-03-12 0.38.55.png](https://qiita-image-store.s3.amazonaws.com/0/35860/79a9164b-3e9c-ca0f-82f2-662a65a079f4.png "スクリーンショット 2016-03-12 0.38.55.png")

* 直接値を変える！！![スクリーンショット 2016-03-12 0.41.48.png](https://qiita-image-store.s3.amazonaws.com/0/35860/85cd6fa2-1a6e-0bd2-c116-ae60897d182f.png "スクリーンショット 2016-03-12 0.41.48.png")

たったこれだけで、48時間の旅が終わります。


## qicliであんなことができるように。
簡単なqicliのコマンドリファレンスです。sshでPepperやNaoに繋いで使ってね。

### qicli info
サービスの情報を取得できます。

```linux
# Serviceのリストを表示してくれます。
$ qicli info
> 001 [ServiceDirectory]
  002 [LogManager]
  003 [ALFileManager]
  004 [ALMemory]
  005 [ALLogger]
  ...

# 拡張コマンドとしてこんなのが。
# メソッドのDocumentを表示
$ qicli info –show-doc

# 非表示メソッドの表示
$ qicli info –hidden

# 生の署名を表示？
# show the raw signature.
$ qicli info –raw-signature

# よくわからない
# prints the result in a parseable format
$ qicli info -z
```

### qicli call
サービスを直接呼び出せます。

```linux
$ qicli call ALFileManager.ping
> ALFileManager.ping: true

$ qicli call ALMemory.getEventList
> ALMemory.getEventList: [ "/Preferences", "ALAnimatedSpeech/EndOfAnimatedSpeech", "ALAudioSourceLocalization/SoundLocated", "ALAudioSourceLocalization/SoundsLocated", ...]
```

### qicli watch
特定のタイミングでEvent発火を監視することができる。

```linux

# インストール済みのアプリの一覧を取得
$ qicli watch PackageManager.onPackageInstalled
```

### qicli log-view
ログが見れます

```linux
$ qicli log-view
```

### qicli log-send
ログに送れます。

```linux
# 例えば
$ qicli log-send hello
```

## 画像を変えられる！！
例えばこんなイケイケなボックスを作ったとします。
![スクリーンショット 2016-03-12 1.03.12.png](https://qiita-image-store.s3.amazonaws.com/0/35860/5ca0d60c-7fd7-659f-a541-4ec1abd36a76.png "スクリーンショット 2016-03-12 1.03.12.png")

誰がどう見てもイケイケです。
だけど、まだなにか足りない。そう、iconが[Python]ボックスのままなんですよ。こんなにイケイケのものなのに見た目がダサい。

ということでこちら。

* "ボックスの編集"を開きます。![スクリーンショット 2016-03-12 1.06.39.png](https://qiita-image-store.s3.amazonaws.com/0/35860/21d35ebc-3241-69e7-5db5-9a72ed397730.png "スクリーンショット 2016-03-12 1.06.39.png")

* 画像の編集をクリック![スクリーンショット 2016-03-12 1.06.50.png](https://qiita-image-store.s3.amazonaws.com/0/35860/86f68aaa-7c92-065f-f3b8-9b1153d21d12.png "スクリーンショット 2016-03-12 1.06.50.png")

* 一番上のブラウザボタンから画像を選びに。![スクリーンショット 2016-03-12 1.06.58.png](https://qiita-image-store.s3.amazonaws.com/0/35860/15b92f66-2293-ea22-b263-fe48a5858858.png "スクリーンショット 2016-03-12 1.06.58.png")

* じゃーん![スクリーンショット 2016-03-12 1.07.50.png](https://qiita-image-store.s3.amazonaws.com/0/35860/4e5dc87f-a320-7891-54de-ca327a2abe5a.png "スクリーンショット 2016-03-12 1.07.50.png")

* じゃじゃーん！！![スクリーンショット 2016-03-12 1.07.57.png](https://qiita-image-store.s3.amazonaws.com/0/35860/514198a6-5ff7-c8a1-dbcf-4da2982ae0ee.png "スクリーンショット 2016-03-12 1.07.57.png")

イケイケになりました。

## ショートカットコマンド(For Mac)(手抜きでごめんなさいそのうち変えるかも。)
###よく使うやつ
* ダイアログビューやログビュー  
	⌘+L
* スクリーンショット取るときに  
	Shift+F1
* ボックスの編集  
	⌘+E
* リソースの編集 ボックスを選択して  
	⌘+R
* ボックスに変換  
	Ctrl+K
* アプリケーションの実行  
	F5
* プロジェクトを開く  
	⌘+O

###一覧
![スクリーンショット 2016-03-24 10.39.37.png](https://qiita-image-store.s3.amazonaws.com/0/35860/2a00ff00-af26-59b4-8d27-2760b08d13be.png "スクリーンショット 2016-03-24 10.39.37.png")
![スクリーンショット 2016-03-24 10.39.43.png](https://qiita-image-store.s3.amazonaws.com/0/35860/514a43e8-6104-c6f4-f4ac-8e2dcf0531e0.png "スクリーンショット 2016-03-24 10.39.43.png")



## 男女判定
髪が長い男は大体女。

## ボックスライブラリ活用法



#感想
これから増やしていきます。