<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>2015/04/08 on Yano&#39;s digital garage</title>
    <link>https://www.bravotouring.com/~yano/archives/2015/04/08/</link>
    <description>Recent content in 2015/04/08 on Yano&#39;s digital garage</description>
    <generator>Hugo</generator>
    <language>en-us</language>
    <lastBuildDate>Wed, 08 Apr 2015 23:36:47 +0900</lastBuildDate>
    <atom:link href="https://www.bravotouring.com/~yano/archives/2015/04/08/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>MagicalFinder対応</title>
      <link>https://www.bravotouring.com/~yano/diary/it/20150408magicalfinder.htm</link>
      <pubDate>Wed, 08 Apr 2015 23:36:47 +0900</pubDate>
      <guid>https://www.bravotouring.com/~yano/diary/it/20150408magicalfinder.htm</guid>
      <description>&lt;p&gt;&lt;a href=&#34;https://www.bravotouring.com/~yano/diary/it/20150403magicalfinder.htm&#34;&gt;3日のMagical Finder対応&lt;/a&gt;改善。&lt;span class=&#34;Host&#34;&gt;LANDISK&lt;/span&gt;、&lt;span class=&#34;Host&#34;&gt;GT110b&lt;/span&gt;、&lt;span class=&#34;Host&#34;&gt;RockDiskNext&lt;/span&gt;の3ノード分のメッセージ送信を、クライアントからのUDP/51065トリガーに対してオンデマンドで繰り返すように改修。これをdaemon起動しておけばよさそうだ。&lt;/p&gt;&#xA;&lt;blockquote class=&#34;Log&#34;&gt;&#xA;yano@GT110b:~$ cat &lt;span class=&#34;Path&#34;&gt;~/MagicalFinder/mf_all_nas.py&lt;/span&gt;;&lt;br/&gt;&#xA;&lt;span class=&#34;Comment&#34;&gt;# -*- coding: utf-8 -*-&lt;/span&gt;&lt;br/&gt;&#xA;&lt;br/&gt;&#xA;import socket&lt;br/&gt;&#xA;import sys&lt;br/&gt;&#xA;&lt;br/&gt;&#xA;MAGICAL_PORT = 51065&lt;br/&gt;&#xA;&lt;br/&gt;&#xA;&lt;span class=&#34;Comment&#34;&gt;&#xA;###########################################################&lt;br/&gt;&#xA;# for GT110b (192.168.199.1)&lt;br/&gt;&#xA;###########################################################&lt;br/&gt;&#xA;&lt;/span&gt;&#xA;def make_GT110b():&lt;br/&gt;&#xA;&lt;br/&gt;&#xA;    payload = bytearray([0x07,0x4c,0x5f,0x11,0x67,0x00])&lt;br/&gt;&#xA;    payload.extend([0,0,0,0,0,0,0,0])&lt;br/&gt;&#xA;    payload.extend([192,168,199,1])                 &lt;span class=&#34;Comment&#34;&gt;# NAS ip address&lt;/span&gt;&lt;br/&gt;&#xA;    payload.extend([255,255,255,0])                 &lt;span class=&#34;Comment&#34;&gt;# subnetmask&lt;/span&gt;&lt;br/&gt;&#xA;    payload.extend([192,168,199,254])               &lt;span class=&#34;Comment&#34;&gt;# gateway&lt;/span&gt;&lt;br/&gt;&#xA;    payload.extend([0x00, 0x50])                    &lt;span class=&#34;Comment&#34;&gt;# length ?&lt;/span&gt;&lt;br/&gt;&#xA;    payload.extend([0x94,0xde,0x80,0xXX,0xYY,0xZZ]) &lt;span class=&#34;Comment&#34;&gt;# MAC address&lt;/span&gt;&lt;br/&gt;&#xA;    payload.extend(&#34;GT110b@BRAVOTOURING&#34;)&lt;br/&gt;&#xA;    payload.extend([0,0,0,0,0,0])&lt;br/&gt;&#xA;    payload.extend([0,0,0,0,0,0,0,0])&lt;br/&gt;&#xA;    payload.extend([0,0,0,0,0,0,0,0])&lt;br/&gt;&#xA;    payload.extend([0,0,0,0,0,0,0,0])&lt;br/&gt;&#xA;    payload.extend([0,0,0,0,0,0,0,0])&lt;br/&gt;&#xA;    payload.extend([0,0,0,0,0,0,0,0])&lt;br/&gt;&#xA;    payload.extend([0,0,0,0,0,0,0,0])&lt;br/&gt;&#xA;    payload.extend([0,0,0,0,0,0,0,0])&lt;br/&gt;&#xA;    payload.extend(&#34;IO-DATA&#34;)&lt;br/&gt;&#xA;    payload.extend([0,0,0,0,0,0,0,0,0,0])&lt;br/&gt;&#xA;    return payload;&lt;br/&gt;&#xA;&lt;br/&gt;&#xA;&lt;span class=&#34;Comment&#34;&gt;&#xA;###########################################################&lt;br/&gt;&#xA;# for LANDISK-AV (192.168.199.20)&lt;br/&gt;&#xA;###########################################################&lt;br/&gt;&#xA;&lt;/span&gt;&#xA;def make_LANDISK():&lt;br/&gt;&#xA;&lt;br/&gt;&#xA;    payload = bytearray([0x07,0x4c,0x5f,0x11,0x67,0x00])&lt;br/&gt;&#xA;    payload.extend([0,0,0,0,0,0,0,0])&lt;br/&gt;&#xA;    payload.extend([192,168,199,20])                &lt;span class=&#34;Comment&#34;&gt;# NAS ip address&lt;/span&gt;&lt;br/&gt;&#xA;    payload.extend([255,255,255,0])                 &lt;span class=&#34;Comment&#34;&gt;# subnetmask&lt;/span&gt;&lt;br/&gt;&#xA;    payload.extend([192,168,199,254])               &lt;span class=&#34;Comment&#34;&gt;# gateway&lt;/span&gt;&lt;br/&gt;&#xA;    payload.extend([0x00, 0x50])                    &lt;span class=&#34;Comment&#34;&gt;# length ?&lt;/span&gt;&lt;br/&gt;&#xA;    payload.extend([0x00,0xa0,0xb0,0xXX,0xYY,0xZZ]) &lt;span class=&#34;Comment&#34;&gt;# MAC address&lt;/span&gt;&lt;br/&gt;&#xA;    payload.extend(&#34;LANDISK@WORKGROUP&#34;)&lt;br/&gt;&#xA;    payload.extend([0,0,0,0,0,0,0,0])&lt;br/&gt;&#xA;    payload.extend([0,0,0,0,0,0,0,0])&lt;br/&gt;&#xA;    payload.extend([0,0,0,0,0,0,0,0])&lt;br/&gt;&#xA;    payload.extend([0,0,0,0,0,0,0,0])&lt;br/&gt;&#xA;    payload.extend([0,0,0,0,0,0,0,0])&lt;br/&gt;&#xA;    payload.extend([0,0,0,0,0,0,0,0])&lt;br/&gt;&#xA;    payload.extend([0,0,0,0,0,0,0,0])&lt;br/&gt;&#xA;    payload.extend([0,0,0,0,0,0,0,0])&lt;br/&gt;&#xA;    payload.extend(&#34;IO-DATA&#34;)&lt;br/&gt;&#xA;    payload.extend([0,0,0,0,0,0,0,0,0,0])&lt;br/&gt;&#xA;    return payload;&lt;br/&gt;&#xA;&lt;br/&gt;&#xA;&lt;span class=&#34;Comment&#34;&gt;&#xA;###########################################################&lt;br/&gt;&#xA;# for RDN021 (192.168.199.21)&lt;br/&gt;&#xA;###########################################################&lt;br/&gt;&#xA;&lt;/span&gt;&#xA;def make_RDN021():&lt;br/&gt;&#xA;&lt;br/&gt;&#xA;    payload = bytearray([0x07,0x4c,0x5f,0x11,0x67,0x00])&lt;br/&gt;&#xA;    payload.extend([0,0,0,0,0,0,0,0])&lt;br/&gt;&#xA;    payload.extend([192,168,199,21])                &lt;span class=&#34;Comment&#34;&gt;# NAS ip address&lt;/span&gt;&lt;br/&gt;&#xA;    payload.extend([255,255,255,0])                 &lt;span class=&#34;Comment&#34;&gt;# subnetmask&lt;/span&gt;&lt;br/&gt;&#xA;    payload.extend([192,168,199,254])               &lt;span class=&#34;Comment&#34;&gt;# gateway&lt;/span&gt;&lt;br/&gt;&#xA;    payload.extend([0x00, 0x50])                    &lt;span class=&#34;Comment&#34;&gt;# length ?&lt;/span&gt;&lt;br/&gt;&#xA;    payload.extend([0x00,0x01,0xd2,0xXX,0xYY,0xZZ]) &lt;span class=&#34;Comment&#34;&gt;# MAC address&lt;/span&gt;&lt;br/&gt;&#xA;    payload.extend(&#34;RDN021@BRAVOTOURING&#34;)&lt;br/&gt;&#xA;    payload.extend([0,0,0,0,0,0])&lt;br/&gt;&#xA;    payload.extend([0,0,0,0,0,0,0,0])&lt;br/&gt;&#xA;    payload.extend([0,0,0,0,0,0,0,0])&lt;br/&gt;&#xA;    payload.extend([0,0,0,0,0,0,0,0])&lt;br/&gt;&#xA;    payload.extend([0,0,0,0,0,0,0,0])&lt;br/&gt;&#xA;    payload.extend([0,0,0,0,0,0,0,0])&lt;br/&gt;&#xA;    payload.extend([0,0,0,0,0,0,0,0])&lt;br/&gt;&#xA;    payload.extend([0,0,0,0,0,0,0,0])&lt;br/&gt;&#xA;    payload.extend(&#34;IO-DATA&#34;)&lt;br/&gt;&#xA;    payload.extend([0,0,0,0,0,0,0,0,0,0])&lt;br/&gt;&#xA;    return payload;&lt;br/&gt;&#xA;&lt;br/&gt;&#xA;&lt;span class=&#34;Comment&#34;&gt;&#xA;#-------------------------------------------------------------------------&lt;br/&gt;&#xA;#   top of send_magical&lt;br/&gt;&#xA;#-------------------------------------------------------------------------&lt;br/&gt;&#xA;&lt;/span&gt;&#xA;def send_magical(sock):&lt;br/&gt;&#xA;&lt;br/&gt;&#xA;    dest_address = (&#39;255.255.255.255&#39;, MAGICAL_PORT)&lt;br/&gt;&#xA;&lt;span class=&#34;Comment&#34;&gt;#   print &gt;&gt;sys.stderr, &#39;send to %s port %s&#39; % dest_address&lt;/span&gt;&lt;br/&gt;&#xA;    sock.setsockopt(socket.SOL_SOCKET, socket.SO_BROADCAST, 1)&lt;br/&gt;&#xA;    sock.sendto(make_GT110b(), dest_address)&lt;br/&gt;&#xA;    sock.sendto(make_LANDISK(), dest_address)&lt;br/&gt;&#xA;    sock.sendto(make_RDN021(), dest_address)&lt;br/&gt;&#xA;&lt;br/&gt;&#xA;    return;&lt;br/&gt;&#xA;&lt;br/&gt;&#xA;&lt;span class=&#34;Comment&#34;&gt;&#xA;#-------------------------------------------------------------------------&lt;br/&gt;&#xA;#   top of main&lt;br/&gt;&#xA;#-------------------------------------------------------------------------&lt;br/&gt;&#xA;&lt;/span&gt;&#xA;def main():&lt;br/&gt;&#xA;&lt;br/&gt;&#xA;&lt;span class=&#34;Comment&#34;&gt;# Create a UDP/IP socket&lt;/span&gt;&lt;br/&gt;&#xA;    sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)&lt;br/&gt;&#xA;&lt;br/&gt;&#xA;&lt;span class=&#34;Comment&#34;&gt;# Bind the socket to the port&lt;/span&gt;&lt;br/&gt;&#xA;    server_address = (&#39;0.0.0.0&#39;, MAGICAL_PORT)&lt;br/&gt;&#xA;    print &gt;&gt;sys.stderr, &#39;starting up on %s port %s&#39; % server_address&lt;br/&gt;&#xA;    sock.bind(server_address)&lt;br/&gt;&#xA;&lt;br/&gt;&#xA;    while True:&lt;br/&gt;&#xA;        data, address = sock.recvfrom(4096)&lt;br/&gt;&#xA;        if 0 &lt; data.find(&#34;FROM-PC\x00&#34;) :&lt;br/&gt;&#xA;            send_magical(sock)&lt;br/&gt;&#xA;&lt;br/&gt;&#xA;&lt;span class=&#34;Comment&#34;&gt;&#xA;#-------------------------------------------------------------------------&lt;br/&gt;&#xA;#   end of main&lt;br/&gt;&#xA;#-------------------------------------------------------------------------&lt;br/&gt;&#xA;&lt;/span&gt;&#xA;&lt;br/&gt;&#xA;if __name__ == &#39;__main__&#39;:&lt;br/&gt;&#xA;    main()&lt;br/&gt;&#xA;&lt;br/&gt;&#xA;&lt;span class=&#34;Comment&#34;&gt;# vim:expandtab:ts=4&lt;/span&gt;&lt;br/&gt;&#xA;&lt;br/&gt;&#xA;yano@GT110b:~$ while true;do python &lt;span class=&#34;Path&#34;&gt;~/MagicalFinder/mf_all_nas.py&lt;/span&gt;; sleep 3;done&#xA;&lt;/blockquote&gt;&#xA;&lt;p class=&#34;Reference&#34;&gt;【参照】&#xA;&#x9;&lt;br/&gt;●AV Watch &lt;a href=&#34;http://av.watch.impress.co.jp/&#34;&gt;http://av.watch.impress.co.jp/&lt;/a&gt;&#xA;&lt;br/&gt;┣&lt;a href=&#34;http://av.watch.impress.co.jp/docs/news/20140409_643481.html&#34;&gt;アイ・オー、PC使わずCDをAndroidスマホにAACでリッピング「CDレコ」&lt;/a&gt; 2014年4月9日&#xA;&#x9;&lt;br/&gt;┣&lt;a href=&#34;http://av.watch.impress.co.jp/docs/news/20140701_655593.html&#34;&gt;CDをAndroidスマホに取り込めるアイ・オー「CDレコ」、FLACやCD書込に対応へ&lt;/a&gt; 2014年7月1日&#xA;&#x9;&lt;br/&gt;┣&lt;a href=&#34;http://av.watch.impress.co.jp/docs/news/20140722_658817.html&#34;&gt;AndroidスマホでCDリッピングの「CDレコ」が、FLACやCD書出対応&lt;/a&gt; 2014年7月22日&#xA;&#x9;&lt;br/&gt;┣&lt;a href=&#34;http://av.watch.impress.co.jp/docs/news/20140806_661089.html&#34;&gt;PC無しでiPhoneに音楽CDを取り込める「CDレコWi-Fi」&lt;/a&gt; 2014年8月6日&#xA;&#x9;&lt;br/&gt;┣&lt;a href=&#34;http://av.watch.impress.co.jp/docs/review/review/20140829_663935.html&#34;&gt;【レビュー】iPhoneで音楽CD取り込みが可能に! ノーPCライフがはかどる「CDレコ Wi-Fi」&lt;/a&gt; 2014年8月29日&#xA;&#x9;&lt;br/&gt;┣&lt;a href=&#34;http://av.watch.impress.co.jp/docs/news/20150109_683050.html&#34;&gt;スマホでCDリッピング「CDレコ Wi-Fi」で、iTunes楽曲再生や歌詞表示に対応&lt;/a&gt; 2015年1月9日&#xA;&#x9;&lt;br/&gt;┣&lt;a href=&#34;http://av.watch.impress.co.jp/docs/news/20150312_692108.html&#34;&gt;CDからNASに直接保存、PCレスCDリッピングの「CDレコ」がバージョンアップ&lt;/a&gt; 2015年3月12日&#xA;&#x9;&lt;br/&gt;┗&lt;a href=&#34;http://av.watch.impress.co.jp/docs/news/20150402_695821.html&#34;&gt;CDリッピングの「CDレコ」Androidアプリ、音楽再生と歌詞表示も可能に&lt;/a&gt; 2015年4月2日&#xA;&#x9;&lt;br/&gt;●IODATA アイ・オー・データ機器 &lt;a href=&#34;http://www.iodata.jp/&#34;&gt;http://www.iodata.jp/&lt;/a&gt;&#xA;&lt;br/&gt;┣&lt;a href=&#34;http://www.iodata.jp/product/storage/cd/cdri-w24ai/&#34;&gt;CDレコ Wi-Fi（CDRI-W24AI）&lt;/a&gt;&#xA;&lt;br/&gt;┣&lt;a href=&#34;http://www.iodata.jp/product/fun/pickup/cdreco/&#34;&gt;音楽CDを直接スマホやタブレットに取り込める「CDレコ」&lt;/a&gt;&#xA;&lt;br/&gt;┣&lt;a href=&#34;http://www.iodata.jp/news/2015/information/cdri-apps.htm&#34;&gt;「CDレコ」アプリのバージョンアップで音楽がもっと楽しくなる！ 音楽CDは全部NAS（ナス）に取り込んで、家族みんなでお気に入りを共有&lt;/a&gt; 2015年3月12日&#xA;&#x9;&lt;br/&gt;★&lt;a href=&#34;http://www.iodata.jp/product/storage/taiou/cdreco/&#34;&gt;「CDレコ」対応情報&lt;/a&gt; &gt;&gt; &lt;a href=&#34;http://www.iodata.jp/product/storage/taiou/cdreco/cdreco_app.htm&#34;&gt;「CDレコ」アプリ対応ドライブ・NAS&lt;/a&gt;&#xA;&lt;br/&gt;┣&lt;a href=&#34;http://www.iodata.jp/lib/product/h/3341.htm&#34;&gt;HVL1-G1.5T&lt;/a&gt;&#xA;&lt;br/&gt;┣&lt;a href=&#34;http://www.iodata.jp/lib/product/m/3022.htm&#34;&gt;MagicalFinder&lt;/a&gt;&#xA;&lt;br/&gt;┗&lt;a href=&#34;http://www.iodata.jp/support/qanda/&#34;&gt;Q&amp;A&lt;/a&gt; &gt;&gt; &lt;a href=&#34;http://www.iodata.jp/support/qanda/answer/s14487.htm&#34;&gt;「Magical Finder」で使用しているポート番号を教えてください。&lt;/a&gt;&#xA;&lt;br/&gt;●Python Wiki &lt;a href=&#34;https://wiki.python.org/&#34;&gt;https://wiki.python.org/&lt;/a&gt;&#xA;&lt;br/&gt;┗&lt;a href=&#34;https://wiki.python.org/moin/UdpCommunication&#34;&gt;UdpCommunication&lt;/a&gt;&#xA;&lt;br/&gt;●価格.com - 「買ってよかった」をすべてのひとに。 &lt;a href=&#34;http://kakaku.com/&#34;&gt;http://kakaku.com/&lt;/a&gt;&#xA;&lt;br/&gt;┗&lt;a href=&#34;http://kakaku.com/item/K0000682145/&#34;&gt;IODATA CDレコ Wi-Fi CDRI-W24AI 価格比較&lt;/a&gt;&#xA;&lt;br/&gt;●Amazon.co.jp &lt;a href=&#34;https://www.amazon.co.jp/exec/obidos/tg/browse/-/489986&#34;&gt;https://www.amazon.co.jp/&lt;/a&gt;&#xA;&lt;br/&gt;┗&lt;a href=&#34;https://www.amazon.co.jp/exec/obidos/ASIN/B00MG6CG4Y/yanosdigitalg-22/ref=nosim/&#34;&gt;I-O DATA iOS&amp;Android対応 音楽CD取り込みドライブ CDRI-W24AI&lt;/a&gt; &lt;span class=&#34;Price&#34;&gt;8,709円&lt;/span&gt;&#xA;&lt;/p&gt;</description>
    </item>
  </channel>
</rss>
