LadioCast 0.10.10 Released – LadioCast Development Notes No.80

in LadioCast

LadioCast Version 0.10.10 has been released. (This entry is in English again. Sorry for the inconvenience of Japanese readers.)

Changes from version 0.10.9 to 0.10.10 are as follows:

  • Returned to Mac App Store.

Yes finally!

This happened because Apple aggregated the developer’s accounts which had been separated into each platform until the first day of WWDC 2015.

Though the return to MAS achieved, the donation link above is still there:) for your support of LadioCast in the future updates.

Enjoy!

11 Responses to “LadioCast 0.10.10 Released – LadioCast Development Notes No.80”

  1. alex

    Hi kawausoさん! Thanks for making ladiocast free, i’ve used it with both mp3 and ogg and it works great. One small request – I can’t seem to get the “song info” field to update in the stream. Would it be possible to separate that into Artist, Title, Album, Genre fields and have it live update?
    Ladiocast無料に出してありがとうございます!MP3やFLACも問題なくて放送しました。だけど、ちょっとお願いがあります。Ladiocastに入力した song info がicecastフィードにアップデートできなさそうです。もしできれば、各タグ (アーティスト、曲名、アルバム)に分けたらフィードで発表したデータが綺麗になるます。

    • alex

      あぁぁ、ずっと前なポストにコメントしてしまいました。あと、僕の前のコメントにtypoがあってすみません 「綺麗になります」を書くつもりだったけど指が滑った
      また、ありがとうございます

      • kawauso

        alexさんこんにちは!
        コメントありがとうございます。日本語上手ですねー

        > song info がicecastフィードにアップデートできなさそう
        いろいろな要因が考えられますが、LadioCastはsong infoのアップデートに(現在ではセキュリティ的に非推奨の)admin APIを使っていますので、例えばサーバー側でそのAPIを無効にしていると、反映されない、ということがあるかなと思います。
        > 各タグに分けたフィード
        そうですねえ、これらのフィールドも上記のAPIでは区別されていないので、前提として上記の実装の変更が必要になる話かなと思います。
        > なるます
        これは日本人でもよくやりますね^^。

        ではではー。

    • kawauso

      Thank you, Bill!
      The new unified developer’s account is valid until the end of my existing iOS one. (If you had both, they say it will be the sum of two.)
      It’s a yearly one.

Leave a Reply

*


Emacs入門 #4 基本的なキー操作

in Emacs

キー入力の表記

今回からやっとEmacs自体の操作の話になります。 基本的にEmacsは全ての操作がキーボードで行えます。 キーボードでどのようにキー入力するかを、以下のような表記を用いて表すのがEmacsの流儀となっています。

C-g

これはコントロールキー(controlキー・ctrlキー)を押しながら文字gキーを押すことを表します。 ちなみにこのキー入力操作は、任意の操作の途中で操作を中断する(abort)場合に使います。

C-x C-c

これはコントロールキーを押しながら文字xキーを押し、コントロールキーを押しながら文字cキーを押す、という動作を表しています。 この場合コントロールキーは押し直さなくても大丈夫です。 ちなみにこのキー入力操作をするとEmacsが終了します。

Note
文字端末しか無い頃はGUI版のメニューのような見てわかる表示はありませんでしたので、このキー入力を知らないとEmacsを立ち上げたが最後、終了させられないなんてことが起こりました^^。

さらにキー入力の表記

コントロールキー以外にも以下のようなキーがあります。

M-!

これはメタキー(altキー・optionキー)を押しながら文字!キーを押すことを表します。 ちなみにこのキー入力操作をするとEmacsから外部コマンドを実行するプロンプトが表示されます。 なお「メタキーを押しながら」という操作は「エスケープキーを押してから」という操作で置き換えることも可能です。 つまり上記と

ESC !

は同等の操作となります。

まれにコントロールキーとメタキーを両方押しながらという操作をすることもあります。

C-M-s

ちなみにこのキー入力操作をすると、文字列を正規表現という表現形式で検索するためのプロンプトが表示されます。

カーソルの移動

今度は現在の文字入力位置を示すカーソルを(矢印キーを使わずに)移動させてみましょう。

C-f  (forward-char・1文字進む)
C-b  (backward-char・1文字戻る)
C-n  (next-line・1行進む)
C-p  (previous-line・1行戻る)

見てわかるように各文字キーにその機能の頭文字を当てて覚えやすいようになっています。 これはEmacsのキー割り当ての特徴です。

Note
Macをお使いの方はこのカーソル操作がOS Xの標準の操作になっていることに気がつくかもしれません。 OS Xのキー操作をEmacsが採用した、わけではなく、Emacsのキー操作が回り回ってOS Xにも取り入れられたのです。

主なキー入力操作

上記を含めたEmacsにおける主なキー入力操作を一覧するには GNU Emacs Reference Card が便利でしょう。 いわゆるチートシートというもので、簡単な英語でそれぞれの機能が示されています。 またインターネットを検索すると日本語に訳された版も(対象のEmacsのバージョンは若干古いものの)見つけることができると思います。

まとめ

あれれ今回もEmacsで設定を行う方法自体に入ることができませんでしたね。 キー操作がわかったところで次回こそは設定に、ではでは〜。

Leave a Reply


LadioCast 0.11.1 Released – LadioCast Development Notes No.82

in LadioCast

LadioCast Version 0.11.1 has been released.

Changes from version 0.11.0 to 0.11.1 are as follows:

  • Implemented status menu in the menu bar and added items to change volume levels of the selected devices, open mixer and quit LadioCast.

The new status menu looks like this:

statusmenu

Please notice that the sliders control volumes of audio devices which are selected on LadioCast, not its mixer output levels. The device volume levels also have been seen as grey bars on the mixer window and controllable by speaker buttons. The functionality is basically same but by the sliders on that status menu. Hopefully it will be convenient for the people using LadioCast as an ordinarily audio router on their Macs.

As always, let me know any problems and suggestions by blog comments or e-mails. This version will stay unreleased to the MAS for them.

Enjoy!

4 Responses to “LadioCast 0.11.1 Released – LadioCast Development Notes No.82”

    • kawauso

      Hello Philip!
      Thank you for your suggestion about LadioCast.
      For encoding in HE-AAC, it uses Apple core audio component. I also have been waiting but it seems that Apple hasn’t implemented v2 yet.
      If done, I will add it soon:-).
      Cheers.

Leave a Reply


らじおぱ for iOS バージョン3.0.0リリース

in Ladiopa

リリースノート

iOSアプリらじおぱを更新しバージョン3.0.0としてリリースしました。 前バージョン2.1.0からの変更点は以下のとおりです。

  • Apple Watchに対応しApple Watch上でも全ての番組情報を確認できるようにしました。

  • アプリ全般に渡り動作や処理の改善を行いました。

今回の変更はなんといってもApple Watch対応ですね。 内容的はiPhone本体と同等の番組情報をApple Watch上でも確認できるようにしたものです。 番組ソート順、お気に入り背景色も本体の設定を反映した表示がされます。 番組情報の更新設定は本体同様の設定項目が本体とは別個に設定できます(Apple Watch設定アプリ内)。

Apple Watch対応については追加対応を次バージョンとして既に審査に上げており、それが受理されれば、確認した放送の再生開始・停止がApple Watchからできるようになります。 (販売までにすべり込めるといいのですけれど。)

それ以外の変更としてはアプリ全般の処理(特に番組情報に関連する処理)を見直し、バグ修正や動作の改善を施しています。

最後にiPadそしてMac App Storeに続きApple WatchについてもD1D [1]になれたことを素直に喜びたいと思います。 iPadでは通過させるまで3回ぐらい落とされました(iPadの発売が延びたおかげで命拾いしました)が、Macと今回のApple Watchでは幸い落ち無しで通過させることができました。

価格改定の予告

先日Appleが1Tier [2]の日本円を改定したばかりで申し分けないのですが、それ以前から決めていましたので以下のように価格を改定します。

来たる4月24日にらじおぱの価格を1Tierから2Tierに上げます。

まだ2週間ほど間がありますのでご予定の方は改定前にぜひお求めいただければと思います。

Apple審査状況

ここからはいつもの開発サイドから見たiOSアプリの審査状況と所感ですので開発者とお好きな方だけ。

Apple Watch対応アプリの審査開始日はこれまでの経験からあるいは大方の予想からも発売日の2週間前、4月10日あたりと予想されました。 これはApple Watchの試着および予約開始日とも符合します。 しかし実際は日本時間で4月1日の早朝に開発者に一斉メールが送られ不意に開始が告げられました。

Note
その時私はたまたま起きていて一応準備したものもありましたので、Apple事前機械チェック(にはそれまでにないApple Watchのためのチェックが追加されていることがわかりました)に対応する手直しをして提出、1時間強で出し終えることができました。 ちなみにここをなぜ急ぐかというと、審査では常に落とされる危険性があり、落とされるのであればなるべく早く落ちたいからです。 早く落ちればそれだけ早く修正が行え、リカバリーの可能性を高めることができます。

通常提出から1週間ほど審査待ちの状態になり、審査自体は1,2時間ほどで結果が出てしまう、というのが相場ですが、今回Apple Watch対応アプリについては明かに態勢が異なりました。 1時間ほどで審査待ちは終わり審査開始、逆に審査自体が延々と(私の場合は9日間)続きました。 その間に開発者フォーラムには様々なReject(審査落ち)の報告が上がってきていて、それらを見るとどうやらAppleも前記のような事情を考慮したらしく、Apple Watchについては審査の開始を急ぎ、落とす場合もなるべく早めに落とすような態勢を整えたようです。 これは開発者のリカバリーにずいぶん助けになったのではないでしょうか。 同時に審査状態が長く続けば続くほど、そのアプリは実は既に審査に合格している可能性が高い、とも推測されました。

最後に半日間のPending an Apple Release(リリース保留)状態を経て4月11日(米国10日)にリリースされました。

今回の一連の審査過程を見ると、Apple Watchを一般の目に初めて触れさせる4月10日という日を大きなターゲットとし、あらゆる手段で盛り上げていこうとするAppleの戦略がうかがえる気がします。

それではまた。


1 Day One Developer、造語、公開初日に対応アプリを並べることができた開発者
2 App Storeにおける値づけの単位で米ドルで$0.99、日本円で現在¥120

Leave a Reply


Huawei WiMAX 2+モデムをLinuxで使う

in Uncategorized

ローカルネットワーク環境

自宅のインターネット回線はISDNに始まりADSL、光、ときてここ数年はWiMAXを使っています。 WiMAXは現在移行期で、従来のWiMAXからWiMAX 2+という新規格に置き換えられつつあります。 ちょうど契約の更改時期がきましたので、先月末に発売されたばかりのWiMAX 2+最新鋭モデムhttp://consumer.huawei.com/jp/support/products/technicalspecs/w01-jp.htm[Huawei Speed Wi-FI NEXT W01](以下W01)を使う接続サービスに乗り換えることにしました

自宅では24時間Linuxサーバー(現在はUbuntu Server 14.04 LTS)を稼動させていて、インターネットとのゲートウェイはそのLinuxマシンが担当しています(このマシンはファイルサーバーでもあり、また過去にはkawauso.com自身であったこともあります)。 今回はゲートウェイの設定はそのままに、インターネットとの接続をW01へと置き換えます。

さてLinuxサーバーにW01をつなげるわけですが、その接続方法は大きくわけると次の3つになりました。

  • クレードルを使ってネットワークケーブルで接続する

  • USBで接続する

  • ブリッジモードにしてUSBで接続する

この記事では上記3つの接続方法を順番に見ていくことにしましょう。 なお参考のために、つなげた結果のネットワークが全体としてどのようになるかネットワーク図で示しておきます。

localnetwork

クレードルを使ってネットワークケーブルで接続する

WiMAXのモデムの主流はいわゆるモバイルモデムで、W01もモバイルモデムであり、それゆえに通信インターフェースはUSBまたはWiFiとなっています。 そのかわりWiMAXのモバイルモデムは別途クレードルといわれる専用のスタンドが用意されていることが多く、クレードルからイーサネットのネットワークケーブルを使って接続できる場合もよくあります。 W01も別売の専用クレードルがありネットワークケーブルを用いてLinuxサーバーと接続し通信することができます。 この接続方法の場合、Linux側はつなげるネットワークインターフェースに対してDHCPクライアントを設定しておくだけでよいでしょう。

$ cat /etc/network/interfaces
...
auto eth1
iface eth1 inet dhcp
Note
W01のクレードルのUSB端子の方には注意が必要です。 ここは本体のUSB端子と違って通信に使うことができませんでした。 充電専用のようです。 最初、つないだのに通信できない理由がわからずハマりました。

USBで接続する

W01本体をUSBでLinuxに接続すると以下のように認識されました。

$ lsusb
Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 007 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 006 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 005 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 001 Device 011: ID 12d1:1f01 Huawei Technologies Co., Ltd.
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 004 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub

上記 Bus 001 Device 011: ID 12d1:1f01 Huawei Technologies Co., Ltd. と認識されてはいますが、実はこの状態ではモデムではなくCD-ROMドライブとして認識されています。 これはW01のUSBがWindowsやMacにつなげられることを想定されていて、その際まずCD-ROMとしてつながり(Windowsのオートランなどにより自動的に)デバイスドライバーがインストールされ、そのドライバーにより改めてモデムと認識されるという親切設計、Linuxにとっては迷惑設計^^;になっていることによるようです。

対処としてCD-ROMドライブからモデムにモードを切り換えるために usb-modeswitch パッケージを導入して設定します。

# aptitude install usb-modeswitch
# tar xzf /usr/share/usb_modeswitch/configPack.tar.gz 12d1:1f01
# mv 12d1:1f01 /etc/usb_modeswitch.d/

Linuxを再起動して再度見てみましょう。

$ lsusb
Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 007 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 006 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 005 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 001 Device 011: ID 12d1:14db Huawei Technologies Co., Ltd.
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 004 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub

以前 ‘ID 12d1:1f01′ だったところが ‘ID 12d1:14db’ になりました。 これでモデムとして認識されているはずです。 起動メッセージを確認してみましょう。

$ dmesg
...
[   14.141065] usb 1-1: USB disconnect, device number 2
[   14.521195] usb 1-1: new high-speed USB device number 3 using ehci-pci
[   14.660383] usb 1-1: New USB device found, idVendor=12d1, idProduct=14db
[   14.660398] usb 1-1: New USB device strings: Mfr=1, Product=2, SerialNumber=0
[   14.660406] usb 1-1: Product: HUAWEI_MOBILE
[   14.660413] usb 1-1: Manufacturer: HUAWEI_MOBILE
[   14.729942] cdc_ether 1-1:1.0 eth1: register 'cdc_ether' at usb-0000:00:12.2-1, CDC Ethernet Device, 58:1f:28:XX:XX:XX
[   14.731076] usbcore: registered new interface driver cdc_ether
...

無事にネットワークインターフェース eth1 に割り当てられたようです。 このようにUSB接続といっても Ethernet over USB である CDC や、以前の経験だと RNDIS などが用いられていて、Linuxにも普通にネットワークデバイスとして認識され接続されるようです。 怖れることないですね!

あとは前記の方法と同様にDHCPクライアントを設定しておけばよいでしょう。

ブリッジモードにしてUSBで接続する

W01には面白い機能としてブリッジモードというのがありました。 前記2つの方法で接続するとLinuxのネットワークインターフェースにはIPアドレスの `192.168.100.100/24′ あたりが割り当てられることと思います。 これはモデムとLinuxの(モデムのWi-Fiへ接続している機器があればそれらも含む)間にローカルネットワークが形成されていることを意味します。 それに対してブリッジモードはモデムの外側のネットワーク(プロバイダによってグローバルネットワーク)をそのまま内側へつなぎます。

実際にモデムのコントロール画面からブリッジモードに変更してLinuxにつないでみましょう。

$ ifconfig eth1
          ...
          inet addr:106.155.X.X  Bcast:106.155.X.X  Mask:255.255.255.255
          ...

(IPアドレスは部分的にXで伏せてあります) 直にグローバルアドレスが割り当てられています。 モデムのルーティング処理をはさまない分通信が早くなるようで、実験したところPINGの値などが1,2割改善するようです。

ただこれはインターネットに直につながっていますので、この設定する際はLinux側に事前にファイヤーウォールを構築しておくなどセキュリティ確保に十分配慮する必要があります。 そのような知識が無いうちはブリッジモードでつなぐことは非常に危険です。 またもしかしたらブリッジモードでない方がトータルで良い可能性も0ではありません(W01の方がルーターやDHCPクライアントとしてプロバイダーとの相性がよいなどなど)。

Note
ブリッジモードでは最初からモデムとして認識されるようですのでusb-modeswitchは不要になります。
Note
ブリッジモードではWifiとUSBを含め1つでも接続が成立した機器があればその他はつながらなくなる仕様のようです。 つまり何かのタイミングで既につなげたことのあるWifi機器が復活して先につながってしまうと、USBではつながらなくなってしまいます。 ブリッジモードを使う際は余計な機器の接続が復活することがないようそれらの設定を全て削除しておく必要があると思われます。

まとめ

現在のところ上記の3番目の方法で1週間ほど運用しています。 接続の安定性など今後いろいろ検証していきたいと思っています。 ではでは〜。

2 Responses to “Huawei WiMAX 2+モデムをLinuxで使う”

  1. Gentoo使い

    最近HuaweiのWimax端末契約したのですが、この記事非常に参考になりました。
    以前はNEC端末だったので勝手が違って困っていました。
    どうもありがとうございます。

Leave a Reply