LoginSignup
4
4

More than 5 years have passed since last update.

YukkuroidをTerminalから使う

Posted at

必要なものを揃える

  • Mac OS 10.7
  • Terminal 2.2.3
  • Node.js 0.8 (旧安定版)
  • Yukkuroid v0.4.1

NodeとYukkuroidはGUIのインストーラーで入れられます。
Node.jsの最新版(v0.9以降)を入れてしまうとNodOnjCをインストール出来ないので、旧安定版を入れます。間違えて最新版を入れてしまった場合は1

次にNodObjCをインストール

mkdir yukkuri
cd yukkuri
npm install NodObjC

コレで環境は整いました。Yukkuroidを起動した状態で次へ進みます

jsアプリを作る

デスクトップにでもjsファイルを2つ作ります

yukkuri.js
var $ = require('NodObjC');
$.import('Foundation');
$.import('Cocoa');
 
var processName,
    host,
    proxy,
    pool;
 
/**
 * 初期化処理.
 * ここで自動解放プールの作成と必要なNSStringの作成.
 */
exports.init = function() {
    pool = $.NSAutoreleasePool('alloc')('init');
    processName = $.NSString('stringWithUTF8String', 'com.yukkuroid.rpc');
    host = $.NSString('stringWithUTF8String', '');
    proxy  = $.NSConnection('rootProxyForConnectionWithRegisteredName',processName,'host',host);
};
 
/**
 * 終了処理.リソースを解放する.
 */
exports.release = function() {
    pool('drain');
};
 
/**
 * NSConnectionを取得する.
 */
exports.getProxy = function() {
    return proxy;
};
 
/**
 * 通常テキスト欄に値をセット.
 */
exports.setKanjiText = function(jsStr) {
    var objCStr = $.NSString('stringWithUTF8String', jsStr);
    proxy('setKanjiText',objCStr);
};
 
exports.getKanjiText = function() {
    return proxy('getKanjiText');   
};
 
/**
 * 音声を再生する.
 */
exports.play = function() {
    proxy('pushPlayButton',0);
};
app.js
//app.js
var yukkuri = require('./yukkuri');
 
var word;
 
if (process.argv.length <= 2) {
    console.log("引数にしゃべらせたい文字を指定してください");
    process.exit(0);
}
 
//初期化
yukkuri.init();
//引数から文字を取得してセット
yukkuri.setKanjiText(process.argv[2]);
var text = yukkuri.getKanjiText();
console.log("しゃべる文字:",text);
//再生
yukkuri.play();
//後処理
yukkuri.release();

実行

jsファイルがあるディレクトリ(私の環境では~/Desktop)で、以下のコマンドで実行出来ます。

cd ~/Desktop
node app.js ゆっくりしていってね

間違えて最新版を入れてしまった場合

lsbom -f -l -s -pf /var/db/receipts/org.nodejs.pkg.bom | while read f; do  sudo rm /usr/local/${f}; done

sudo rm -rf /usr/local/lib/node /usr/local/lib/node_modules /var/db/receipts/org.nodejs.*


  1. Nodeのアンインストール 

4
4
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
4