grunt.js
Sound

Grunt でタスクが成功した時にサウンドを鳴らす grunt-play について紹介するよ

More than 5 years have passed since last update.


はじめに

この投稿は Grunt Plugins Advent Calendar 2013 の 19 日目の記事です。

http://qiita.com/advent-calendar/2013/grunt-plugins/


grunt-play

astronaughts/grunt-play

ども。アッパーフィールドです。

以前一世を風靡した grunt-aoimiyazaki を作りましたが、

grunt-aoimiyazaki

その元となっている grunt-play の紹介をしたいと思います。


インストール

$ npm install grunt grunt-play --save-dev

はい、これで OK ですね。


Gruntfile

簡単な Gruntfile のサンプルです。


Gruntfile.js

module.exports = function (grunt) {

grunt.initConfig({
pkg: grunt.file.readJSON('package.json'),
play: {
fanfare: {
file: 'node_moduls/grunt-play/sounds/fanfare.mp3'
}
}
});

grunt.loadNpmTasks('grunt-play');
grunt.registerTask('fanfare', 'play');
};



再生

実行しましょう。

$ grunt fanfare

Running "play:fanfare" (play) task
playing=>node_moduls/grunt-play/sounds/fanfare.mp3

\ 以上です /

っとは行きませんよね…!


組み合わせ

通常 Grunt はいろんな task との組み合わせで自動化するものです。また watch などでファイル保存時に自動で走らせたりすることがよくあります。

そこで grunt-play を一番最後に走らせることで、すべてのタスクが正常に完了したことを知らせてくれるようになります。

時間がかかるような task の場合だといちいちターミナルを見ておく必要も有りません。Growl などで通知するのもありですが、個人的にあの手の通知は邪魔になるので嫌いです。

grunt-play なら音で知らせてくれます。あ、でもスピーカー音量だけには気をつけてください…ネ!


Gruntfile.js

module.exports = function (grunt) {

grunt.initConfig({
jshint: {
all: [ 'src/**/*.js' ]
},
watch: {
scripts: {
files: [ 'src/**/*.js' ],
tasks: [ 'jshint', 'play:fanfare' ]
}
},
play: {
fanfare: {
file: 'node_moduls/grunt-play/sounds/fanfare.mp3'
}
}
});

grunt.loadNpmTasks('grunt-play');
grunt.loadNpmTasks('grunt-contrib-jshint');
grunt.loadNpmTasks('grunt-contrib-watch');

grunt.registerTask('fanfare', 'play');
};


\ 以上です /