Evernote for Windows付属のENScript.exeを使う

EvernoteのAPIとか調べていたら、Windows版にはコマンドライン版のフロントエンドが添付されていることを知った。
どれどれとヘルプをざっと見た感じ、ちょっとは使えそうなものがあった。

個人的に大発見だと思ったのは、コマンドラインから検索クエリを実行できる ENScript showNotes というコマンド。

これはEvernoteの検索ボックスの代用として使えるコマンドなのだけど、ランチャーにこのコマンドを登録しておけば”保存された検索”の代用としても使えるよなぁと思い、実際に CLaunch というランチャーソフトに登録してみたという図がこれ。ランチャに登録したことで並び替えも自由にできるようになって、かなりいい感じ。

その他まとめ。

  • 標準入力や標準出力が使えるのは便利。
  • Evernote重いよ!という場合。 ENScript createNote と ENScript syncDatabase を使えば、Evernote for Windowsを起動させずにノートの作成、同期ができる。
  • 保存された検索に一気に飛びたいよ!という場合。ENScript showNotes /q “your_query” をランチャーソフトに登録してしまえ。
  • 重複されたノー トを一気に消したいよ!という場合。exportNotes と createNotebook と importNotes とPerl/Pythonなどのスクリプト言語の組み合わせで何とかなるかも。

全てのコマンド一覧もちょっとした解説つきで載せておきます。個人用メモなので内容は保証しません。

Usage: ENScript createNote [options]

Option:

/s file        file containing the plain text note contents. If omitted, note contents are read from standard input.
/n notebook    notebook to create the note in. If does not exist, lazy create. If omitted, use default notebook.
/i title    specifies note title. If omitted, note title will be generated automatically.
/t tag        specifies note tag. If tag does not exist, lazy create it. Use multiple /t options to specify multiple tags.
/a filename    specifies file attachment. Use multiple /a options to specify multiple file attachments.
/c dttm        note creation date/time. { “YYYY/MM/DD hh:mm:ss” | filetime }. If omitted, use current time.
/u username    user name if not the same as database file name.
/p password    user password to confirm Evernote service access.
/d database    database file name if user name is not specified.

If both database file name and user name are not specified, last login name is used and
if there is none, USERNAME environment variable value is used as a user name.

解説:

/sで指定した既存のファイルから新規ノートを作成する。
/sを省略した場合は、標準入力から新規ノートを作成する。パイプ処理も可能。
作成先のノートブックの指定、タイトル、タグ、作成日付、添付ファイル(プレミアム会員のみ)などを同時に指定できる。
存在しないタグは自動的に作成する。複数のタグを一度につけるには/tを繰り返す。
例えばtag1, tag2, tag3という3つのタグをつけるには、/t tag1 /t tag2 /t tag3 … と指定する。

サンプル:

$ dir /b | ENScript createNote /t file_list /t mypc

注意:

作成しただけでは同期されていないので、後述のENScript syncDatabaseコマンドを用いるか、Evernote for Windowsから同期ボタンを押す必要がある。
/c dttmで日付指定をすると、9時間先の時間(標準時間)になってしまう(バグ?)。
/c を省略した場合は、ローカル時間が正常に反映される。

TIPS:

メールでノートを作成する場合と異なり、存在しないタグは新規に作成する。これを利用すると大量のタグを一気に作成できる。日付別のタグ とか。
た だし、子タグを作ることはできない感じ。

Usage: ENScript importNotes [options]

Option:

/s {file|url}    source .enex file or url. If omitted, stdin is used to gather source specification.
/n notebook    notebook to create the note in. If does not exist, lazy create.
If omitted, use default notebook.
/u username    user name if not the same as database file name.
/p password    user password to confirm Evernote service access.
/d database    database file name if user name is not specified.

If both database file name and user name are not specified, last login name is used and
if there is none, USERNAME environment variable value is used as a user name.

解説:

上級者向け。
.enexという形式のファイルをインポートする。.enexとはEvernoteのデータベースをXMLとして出力したものである。
.enexの形式については後述のエクスポート機能で.enexファイルを出力させてテキストエディタで見てみれば分かる。

Usage: ENScript showNotes [options]

Option:

/q query – query to filter the notes. If omitted, stdin is used to gather query specification.
/u username – user name if not the same as database file name.
/p password – user password to confirm Evernote service access.
/d database – database file name if user name is not specified.

If both database file name and user name are not specified, last login name is used and
if there is none, USERNAME environment variable value is used as a user name.

解説:

/qで指定したクエリに該当するノート群をEvernote for Windows上で表示する。
/qを省略した場合、標準入力からクエリの入力を待つ。

Evernote for Windowsの検索ボックスからクエリを入力した場合と同じ動作を行う。
Evernote for Windowsが起動していない場合は、Evernote for Windowsを自動で起動させたうえ、前述の動作を行う。
/q でクエリを指定するとき、クエリにスペースを含む場合はクエリ全体を “” で囲む。

サンプル:

タグに”evernote”を含む、1週間以内に作成されたノートをEvernoteで表示

$ ENScript showNotes /q “tag:evernote created:day-7”

TIPS:

Evernote for Windowsの”保存された検索”が使いづらいよという人は、このコマンドを適当なランチャソフトに登録すると幸せになれるかも。

Usage: ENScript printNotes [options]

Option:

/q query – query to filter the notes. If omitted, stdin is used to gather query specification.
/u username – user name if not the same as database file name.
/p password – user password to confirm Evernote service access.
/d database – database file name if user name is not specified.

If both database file name and user name are not specified, last login name is used and
if there is none, USERNAME environment variable value is used as a user name.

解説:

おそらくshowNotesコマンドの旧バージョン(未確認)。Evernote for Windows 3.5.4.2343では正常に動作していないように思う
筆者の環境ではEvernote for Windowsのウィンドウがアクティブに変わるだけで、動作していないように見える。

Usage: ENScript exportNotes [options]

Option:

/q query – query to filter the notes. If omitted, stdin is used to gather query specification.
/f file – export .enex file. If omitted, stdout is used.
/u username – user name if not the same as database file name.
/p password – user password to confirm Evernote service access.
/d database – database file name if user name is not specified.

If both database file name and user name are not specified, last login name is used and
if there is none, USERNAME environment variable value is used as a user name.

解説:

上級者向け。
/qで指定したクエリに該当するノート群を.enex形式で標準出力またはファイルに出力する。
/qを省略した場合、標準入力からクエリの入力を待つ。

Usage: ENScript createNotebook [options]

Options:

/n notebook – name of the notebook to create. If omitted, the notebook name isread from standard input.
/t {local|synced} – type of the notebook to create. If omitted, creates a synchronized notebook.
/u username – user name if not the same as database file name.
/p password – user password to confirm Evernote service access.
/d database – database file name if user name is not specified.

If both database file name and user name are not specified, last login name is used and
if there is none, USERNAME environment variable value is used as a user name.

解説:

ローカルまたは同期用のノートブックを作成する。通常はEvernote for Windows上から作成すれば良いと思う。

Usage: ENScript listNotebooks [options]

Options:

/t {local|synced} – type of the notebooks to list on stdout. If omitted, listall existing notebooks.
/u username – user name if not the same as database file name.
/p password – user password to confirm Evernote service access.
/d database – database file name if user name is not specified.

If both database file name and user name are not specified, last login name is used and
if there is none, USERNAME environment variable value is used as a user name.

解説:

ノートブックの一覧を標準出力に出力する。

サンプル:

ローカルノートブックの一覧を新規ノートに追加する。

$ ENScript listNotebooks /t local | ENScript createNote

Usage: ENScript syncDatabase [options]

Options:

/l file name    log file name. Use standard log if omitted. Ignored in GUI implementation.
/u username    user name if not the same as database file name.
/p password    user password to confirm Evernote service access.
/d database    database file name if user name is not specified.

If both database file name and user name are not specified, last login name is used and
if there is none, USERNAME environment variable value is used as a user name.

解説:

同期を行う。Evernote for Windows上で同期ボタンを押した時と同じ挙動をする。
Evernote for Windowsが起動していなくても処理が行われる。

iPhone iOS4 – 単語登録で顔文字を追加できる

iOS4の日本語テンキーボード

iOS4の日本語テンキーボード

単語登録について少しネタがあった。

iOS4には、日本語テンキーボードの左下に「^_^」というボタンが増えていて、これを押すと顔文字の候補が表示されるようになった。
これはこれでiOS4のアップデートの一つなのだけど、これにちょっとしたハックがあった。

単語登録機能で「よみ」を「☻」に、「単語」に任意の単語を登録すると、前述した「^_^」ボタンを押した際の候補として追加される

というもの。どうも好きな顔文字を追加するために用意された裏技のような感じだけど、登録する単語は別になんでも構わないので、自分は顔文字ではなく定型文を中心に登録することにした。

iOS4を入れた。

iPhoneのOSがiOs4にアップデートされたので、朝方からいじくり回した。

まずは本体をアップデートしようと、iTunes上でiOS4を入手。
で、アップデートを適用っと。いきなりコケた。不明なエラーとか言われても分からない。

2時間くらい原因を追求して、どうやらPC本体のUSBポートでは電力が不足しているようだと判明。
ACアダプタから電源を供給するタイプのUSBハブを経由して、iPhoneを復元モードで起動させてiTunesからバックアップを復元。なんとか無事にiOS4にアップデート成功。

正直言って結構あせった。

今回のiOS4はアップデートの内容とても多い。よそでも書かれていることだけど、一応書いておきます。

アプリのフォルダ機能

今回の目玉機能。フォルダの作成方法は、ホーム画面のアイコンを長押しして、アイコンが揺れ始めたら他のアイコンに重ねるという独特のものだった。
デフォルトのフォルダ名は、AppStore上のカテゴリ名が自動的に付与される(「仕事効率化」とか「娯楽」とか)。

もともとホーム画面下部のDockにはアプリを置けたが、今回のアップデートでもフォルダも置けるようになった。
Dockに置いたアイコン・フォルダはホーム画面をスクロールしても固定で表示されるので、ここに何を置くかは結構重要。
複数のページに散らばったアイコンを一つのフォルダにまとめるには、以下の手順で操作すると楽だった。

1. 一時的にフォルダをDockに配置する
2. ページをフリックでめくりつつ、同類のアイコンをDock上のフォルダに放り込む

マルチタスク

iOS4のマルチタスクは少しややこしい。大きく変わった点は何よりもこれ。

今まではホームボタンを押すとアプリが終了していたが、iOS4ではアプリが終了しなくなった。する必要がなくなった。

アプリの状態をiOS4が自動的に保存・復元してくれるので、ユーザはアプリを終了させなくてもよくなった。メモリの管理もiOS4が勝手に、適切にやってくれる。

タスクを切り替えるには、ホームボタン二回押す。するとタスクマネージャ的なものがポップアップするので、切り替えたいアプリを選んでタップすればOK。
いつでも好きなときにタスクを切り替えて、終わったら元のアプリに戻るだけで元の状態に戻っている。

何らかの理由で明示的にアプリを終了させたいなら、以下の操作でできる。

  1. ホームボタンを2回押し、タスクマネージャをポップさせる
  2. 適当なアプリアイコンを長押しする
  3. アプリアイコンに(-)というバッジがつくので、終了したいアプリの(-)部分をタップする

カメラ

写真がどこで何枚くらい撮影したか、GoogleMap上にピンを表示させることで可視化されるようになった。
便利といえば便利。通信機能を持たないデジカメでは無理なことだし、スマートフォンならではの機能とも言える。
ひきこもりの自分にはどうでもいい上に、写真はすぐにPC上に転送してしまうので恩恵がほとんどなかった。

それと、シャッター音が大きくなったらしい。iPodを使ってなんかすると消せるらしいけど、動物も人もあまり撮影しないから関係ないか。

Bluetoothキーボードに対応

事前にApple Wireless Keyboardを手配しておいたほど、この機能は非常に楽しみだった。
BTキーボードのペアリングは非常に簡単。非純正は分からないけど、大して変わらないかと思う。

  1. BTキーボードの電源を入れておく
  2. 設定→一般→BlueTooth
  3. デバイス欄に近くのBTキーボードが表示されるので選択
  4. 4桁のコードの入力を求められるので、BTキーボード上から入力してEnter

複数のマシンでキーボードを使いまわす場合はペアリングの操作が煩わしいかもしれない。

で、自分的には、BTキーボードででのテキストの入力はけっこう使いづらいものだった。思っていたよりも。
自分の入力スタイルは、基本的に単語単位で変換・確定していくというものだけど、iPhoneの「予測変換機能」と「単語単位での確定」が噛み合ってないのが原因かなと。

例えば、「単語単位で」という文章を入力したい場合の(あくまで自分の)実際のキー操作は

[たんご][変換](確定)[たんい][変換](確定)[で]

となるのだけど、iPhoneの日本語変換システムは、[たんご]と入力した時点で第一候補に[単語帳]を選んでしまったりする。

言うまでもなく、「たんご」で変換した場合に期待する変換結果は「単語」であって「単語帳」ではない。
「単語帳」が第一候補になっているのに気づかないまま確定すると、自分では「単語単位で」と入力したつもりが、実際の変換結果が「単語帳単位で」になったりする。というわけ。

どちらかと言うと自分が悪いのだけど、この予測変換機能をオフにできなかったり、単語単位で確定するキーが用意されていないってのが、不満かなぁ。

あとは、iPhoneUIに配置されているボタンなどをキーボードで代用できないところも面倒。
メールの送信とかTwitterの投稿とか、小さなメッセージを繰り返し送信したいような時にいちいち画面をタップしに腕を伸ばさなきゃならない。

キーボード上から画面輝度調整が出来たり、iPodのコントロールは可能なのに、せっかくのタスク切り替えが出来ないのは残念。
ホットキーで一発でタスクを切り替えられるようになったら、かなり操作性が向上すると思うんだけど。

Amazon : Apple Wireless Keyboard (JIS) MC184J/A
Amazon : Apple Wireless Keyboard (US) MC184LL/A

単語登録

iPhoneは日本の携帯電話なら搭載されてて当たり前のものがなかったりする。単語登録機能も「なんで出来ないの?」のたぐいだと思う。
今回ようやく正式に単語登録がサポートされた。あって当たり前すぎる機能なのでコメントしようがない。

メール・カレンダー・メモの強化

メールで大きく変わったのは、複数のアカウントのメールボックスが一箇所にまとまるようになった点。
ここから未読を消化していけば全てのアカウントの未読メールが読んだことに。

Gmailとの接続で問題が生じているようだけど、自分は再現せず。プッシュも同期も全く問題ない気がする。

カレンダーはどこが変わったのかよく分からない。

メモはIMAPを利用したものかしら?よくわかってないけど。iPhone上からメモを作成するだけでGmail内にメモが作成される(勝手に”Notes”というラベルがつく)。
Gmail上ではこのメモも扱えるのだけど、iPhoneのメールアプリからはアクセスできないようだ。不具合なのか仕様なのかはちょっと不明。

こんなところ。

ブログの方針とか

基本的には管理人の記録的な、ちょっとだらっとした記事を書いていこうと思います。

自分がどうしてDTMを始めてみたのかとか、もともと音楽にどう接していたのかとか、これからDTMを始められる人にほんの少しでも良いので作曲の楽しさを伝えて行きたいなぁと。

それらの記事の執筆と平行して、blogのテーマやデザインなどを色々いじっている段階なので、その過程で必要になった情報なども、紹介していきたいと思います。

あとは、iPhone関係の話題ですかねー。DTMで面白そうなアプリの紹介とかもできればいいなと思います。

WordPress › Tweetable « WordPress Plugins

WordPress › Tweetable « WordPress Plugins.

これかな。たぶん。blogに投稿するとTwitterに自動postできる。らしい。

早速ダッシュボードからインストールしてみたら、あ、ここでTwitterのAPIというのを使うのね。さっき申請して拾ってきたキーを二つ入れて、続行。

ん。設定の最後でinit_curl()がないよ、とかエラーが出てきた。ぐぐる。

php5-curlとかいうモジュールがない。利用しているサーバの仕様を読んでみると、Curlは試験運用中ではあるけど使えるみたい。ということで、php.iniに

extension=curl.so

を追記。これで設定は通るようになったので、ちょっと触ってみると、今度はsimplexmlがないよ、とエラー。これもたぶんモジュールらしいので、php.iniに

extension=simplexml.so

を追記。これでエラーは全部なくなったみたい。

実際にblogの投稿とTwitterへの自動投稿連携機能に関係ありそうなのは、設定のAuto-Tweet Postsのチェックと、Auto-Tweet Posts Prefixの2箇所だけかな。

WordPress › Tw Anyware comment system « WordPress Plugins

WordPress › Tw Anyware comment system « WordPress Plugins.

コレ入れて。

ダッシュボードから設定すると、コメント欄にTwitterとの接続ボタンってのが出るようにはなった。

ちょっとちがう。

サイドバーにTwitterの投稿を表示する

【WP】サイドバーにTwitterの投稿を表示する。 Twitter Widget Pro || Ange*Blanc.

これか。ユーザ名指定するだけで良かった。APIってなんだったんだろ。ほっとこ。

@Anywhereとかなにそれ

知らないこと多すぎるなあ…。訳も分からないまま@Anywhereを使う準備とやらで、APIというのを取得。

@diginoiz

blogに投稿したら勝手にtweetするとか、または自分のtweetをblogに貼り付けたいだけなんだけど。ややこしいな。

Akismet導入

こちらを参考にした。

コメントスパム対策Akismet導入方法 « BirDesign.

2曲目

Audio clip: Adobe Flash Player (version 9 or above) is required to play this audio clip. Download the latest version here. You also need to have JavaScript enabled in your browser.

最近、調性とかスケールとかコードについて少しずつ勉強しているところ。今回はコード進行を勉強しながら作曲してみようというテーマ。

歌モノではないので、インストゥルメンタルな二部構成でいいや→AメロとBメロの転調だけきっちり決めてみよう、と制約(というか力量)の範囲内で作ったもの。

自分的にコード進行を感じられれば良いので、メロディは適当。ドラムもうるさすぎると思いますが、ギターに合わせてたらこうなっちゃいました。なんだろねこれ。

イントロと、AメロからBメロに転調する部分は割と理屈どおりにできたかなぁと思いますけど…正直ドラムループの力かもしれません。

で、自分にも分かる課題がいくつか出てきました。

  • 主旋律は大事
  • サビはどこなの?←やっぱりサビ欲しい
  • AメロとBメロの区別があいまい←リフ同じ
  • いろんな楽器の音作りのノウハウ
  • ドラムはちゃんと自分で打ち込もう
  • ベースのリフももっと凝ろう

などなど・・・。多いね。

根本的なこととして、最近の音楽聞いていないってコトと、得意と言えそうなジャンルが見当たらないってことかな…。