Runner in the High

技術のことをかくこころみ

QtMultimediaを使ってメディアファイルに埋め込まれたアルバムアートを取得

coverImage = player->metaData(QMediaMetaData::ThumbnailImage).value();

こうすると、変数player(QMediaPlayer型)にセットされているメディアファイルの埋め込みサムネイルがQImage型で変数coverImageに代入される。
QMediaMetaData Namespace のページを見ると、アルバムアートの取得には Music attributes のセクションの CoverArtImage を指定すればよさそうではあるけれど、実はこれだとうまくいかない。
取得するには、一番下の Photo attributes のセクションにある ThumbnailImage を指定する必要がある。

タブをストックするchrome拡張機能「TabStocker」を作った

 
TabStocker
 

タブをストックする拡張機能TabStocker(IzumiSy/TabStocker)を作りました。

【使い方】
・ Add で開いてるタブを保存
・項目を削除するときは Remove をトグルして削除モードにしながらクリック
・ショートカットキーでも保存できます
・ドラッグ&ドロップで並び替えができます

DOWNLOAD >> Chrome ウェブストア - Tab Stocker

ターミナルからGoogle検索をかける

ターミナルから直接Web検索をかけるられるようにperlスクリプト組んだらすごい便利だった。

#!/usr/bin/perl
use strict;
use warnings;
use utf8;
use Encode;

our $args = decode_utf8($ARGV[0]);
foreach my $i (1 .. $#ARGV) {
$args = $args . "+" . decode_utf8($ARGV[$i]);
}
our $num = 10;
our $url = "http://www.google.com/search?hl=ja&ie=UTF-8&num=$num&q=$args";
our $cmd = "x-www-browser \"$url\"";
print "Query: \"$args\"\n";
print "Launching a web browser...\n";
system($cmd);

Xubuntu13.10でDropboxのアイコンがインディケーターに表示されない

 いつからだったかは覚えてないが、なぜかDropboxのアイコンがインディケータに表示されなくなってしまった。
 通常は dropbox startを実行することによってデーモンを起動することができるのだが、今回は実行しても、下のような Dropbox Installation というダイアログと、それに続くデーモンをダウンロードするプログレスバー付きのダイアログが現れるだけで、一向に起動する試しがない。

Dropbox Installation

以下のステップを踏むことでこれは解決される

  1. まず Ubuntu Software Center から Dropbox をインストール
  2. ターミナルから sudo dpkg-reconfigure nautilus-dropbox を実行
  3. 同様に nautilus --quit を実行
  4. dropbox start でデーモンを起動


Ask Ubuntuでもこのアイコンが表示されないバグ?に関してたくさんのスレッドが立てられており、そのほとんどが13.10での現象らしい。

存在しているのに使われてないスワップパーティションを有効化する

 

Not Active
 

わざわざLinuxスワップパーティションを作ったのに有効化されない!!
そんなトラブルを解決するためのメモ。
イメージファイルをパーティションの代わりにするとかもできるらしいけどここではそんな立派なことはやりませんのであしからず。

まずはfdiskでスワップパーティションがあるかどうか確認。
/dev/sda4にあるのがわかる。

% sudo fdisk /dev/sda -l

Disk /dev/sda: 80.0 GB, 80000000000 bytes
ヘッド 255, セクタ 63, シリンダ 9726, 合計 156250000 セクタ
Units = セクタ数 of 1 * 512 = 512 バイ
セクタサイズ (論理 / 物理): 512 バイト / 512 バイ
I/O サイズ (最小 / 推奨): 512 バイト / 512 バイ
ディスク識別子: 0x519e33b3

バイス ブート 始点 終点 ブロック Id システム
/dev/sda1 * 63 63167579 31583758+ 83 Linux
/dev/sda2 63168512 106233855 21532672 83 Linux
/dev/sda3 106233856 151781375 22773760 83 Linux
/dev/sda4 151781376 156248063 2233344 82 Linux スワップ / Solaris

mkswapコマンドでスワップ領域を/dev/sda4に設定

% sudo mkswap -L SWAP /dev/sda4
スワップ空間バージョン1を設定します、サイズ = 2233340 KiB
LABEL=SWAP, UUID=a8f385b2-9e9c-4e36-b395-07dab1450858

上で設定したスワップ領域をswaponコマンドで有効化

% sudo swapon -L SWAP

 

Activeになった
 

ちなみにスワップを無効化する場合はswapoffコマンドを使う

% sudo swapoff -L SWAP


スワップ領域操作の参考エントリ
http://d.hatena.ne.jp/pcmaster/20101011/p1

トラベリング(KEYTALK)のタブ譜をつくりました


おととい昨日あたりから急に作りたい欲に襲われたので作った。
Youtubeの「ひとりトラベリング」をかなり参考にさしていただきました。
こういう最近のおしゃれロックはリズムギターがよく聴こえないから楽譜にするのはむずかしいっすね。
あとドラムの人がすごいかっこよくてイケメン。
リードギターはじゃんじゃん歪ませたほうがたぶんかっこいいはず。
リズムギターは軽めのオーヴァードライヴでファンキーにどうぞ。

P.S. 2017/6/21
リンク切れになっていたのを修正しました

(Contents: Gtr1, Gtr2, Bass)
DOWNLOAD .ptb format

Xubuntu13.10で起動時にindicator-keyboardがクラッシュする

この一ヶ月の間に使っていたXubuntuのバージョンを一気にアップグレートした。
※12.04 LTS → 12.10 →13.04 → 13.10(いまココ)
 
アップグレードに際してはなんら問題はなかったもののログイン直後に
indicator-keyboard (0.0.0+13.10.20131010.1-0ubuntu1)
というパッケージによって大量の内部エラーダイアログに遭遇することがある。
 
また、いろいろ調べてみると、どうやらindicator-keyboardというものは13.10から導入されたものらしい。
UnityのインジケーターにIBusの動作状態を示すアイコンを表示する機能がIBus本体からなくなった代わりに、indicator-keyboardという、キーボード入力に関連する機能を扱うインジケーターが追加されました。テキスト入力の切り替えや設定、文字マップが使用できます。ただしステータス(現在半角か全角か)を表示する機能やMozcの各種ツールを起動する機能はありません。SaucySalamander/ReleaseNotes/Ja - Ubuntu Wiki 
ということで解決方法。ただ再インストールするだけ。
→しばらくはこれで対処できたが、しばらくしてまたクラッシュが頻発するようになった。
 これはもうアンインストールするしかない。
sudo apt-get remove --purge indicator-keyboard

必要のないログインセッションを消す

Xubuntuのログイン画面にてログインのセッションの選択をするドロップダウンリストがある。
インストールしたときのままだと「Xubuntuセッション」以外にもいろいろと選択肢があるが
Ubuntuセッション」も「GNOMEセッション」も使わないから消したいね、という記事

Xubuntu 10.10のログインセッション選択中の画面

手順としては、おもむろにSynapticパッケージマネージャを起動したのち
いくつかの残さなければいけないパッケージのみに注意しながら
必要のないものを削除していけばよいだけ。

残さなければいけないものは以下の5つ

  •   unity-greeter ... Unityは使わないとしても残さなきゃダメっぽい
  •   gir1.2-unity-5.0 ... これもUnityに関連しているらしいがよくわからん
  •   libunity9 ... 上のgir1.2-unity-5.0との依存関係によりアンインストール不可
  •   accountsevice ... useraddコマンドなどと関連しておりアンインストールするとやばい
  •   gnome-settings-daemon ... GNOMEセッションを使わなくても残さなきゃダメっぽい


自分の環境(Xubuntu 12.04 LTS)では上のパッケージだけを残せば問題は起きなかった。
おそらくこのなかで消しても問題のないものが環境によってはあるのかもしれないがそのあたりは未検証。
そもそもUnityを使う使わないに関係なく一部のパッケージは必ず残して置かなければならないらしい。
(参考:Ubuntu日本語フォーラム / 11.10でUnityを削除してみたら起動しなくなってしまいました

もし、上に挙げられたパッケージ(あるいは依存関係にあるなにか)を間違えて消してしまうと、下のようなダイアログが表示され、ログインできなくなる。

"gnome"の箇所は場合によっては"ubuntu"となることもある
こうなってしまったときは、落ち着いて別の仮想コンソールにログイン(CTRL+ALT+F1〜F6)したのち、間違えてアンインストールしてしまったパッケージを再インストールのこと。