Posts Tagged ‘Windows7’

FLV and MP4 From Opera Cache for 10.50

久々に Windows 7 を使っております。

ところで Opera を 10.50 に上書きしたらステータスバーが何か変だった。
って表示倍率とか画像表示とか以前あったカスタムボタンは消してくれないのね!
2 つもいらないよ、右クリックメニューから「標準の状態に戻す」をやって正常に戻す。

それとキャッシュの位置なんだが

おいおい、いつのまにかサブディレクトリを作るようになったんかい!
しかも tmp といういらない拡張子まで付いていやがる。

ぱぇぽぃ2 ? Blog Archive ? Windows 7 FLV and MP4 From Opera Cache

コレをやるには書き換える必要があるな、ついでに .tmp を取っ払うように。

5#-*- coding:utf-8 -*-

"""
    opera_youtube.py
    flv and mp4 Copy from Opera Cache
    for Opera 10.50
"""

from System import *
from System.IO import *

FLV  = Text.Encoding.UTF8.GetBytes("FLV")
MP41 = Text.Encoding.UTF8.GetBytes("ftypisom")
MP42 = Text.Encoding.UTF8.GetBytes("ftypmp42")

# Cache Directory Name
local_dir = Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData)
cache_dir = local_dir + r"\Opera\Opera\cache"

# Copy Directory is Other
copy_dir = r"C:\Users\sasakima-nao\Documents\_temp"

def array_equals(a, b):
    """
        System.Array valus Equals Check Function
    """
    result = True
    n = len(a)
    for i in range(n):
        if a[i] != b[i]:
            result = False
            break
    return result

# Get Opera Cache Directrys
dirs = Directory.GetDirectories(cache_dir)
for dirc in dirs:
    files = Directory.GetFiles(dirc)
    for f in files:
        fs = FileStream(f, FileMode.Open)
        # FLV Check
        barray = Array.CreateInstance(Byte, 3)
        fs.Read(barray, 0, 3)
        #if FLV.Equals(barray) is no!
        if array_equals(FLV, barray):
            newfile = "%s\\%s.flv" % (copy_dir, Path.GetFileName(f)[:-4])
            File.Copy(f, newfile)
        # MPEG-4 Check
        fs.Seek(4, SeekOrigin.Begin)
        barray2 = Array.CreateInstance(Byte, 8)
        fs.Read(barray2, 0, 8)
        #if FLV.Equals(barray) is no!
        if array_equals(MP41, barray2) or array_equals(MP42, barray2):
            newfile = "%s\\%s.mp4" % (copy_dir, Path.GetFileName(f)[:-4])
            File.Copy(f, newfile)
        fs.Close()

よしよしコレなら上手くいく。
でもそういえばキャッシュからの移動って今年から違法になったんだっけ?
著作権違反でも何でもないではない可愛いヌコの動画とかでも関係あるんかいな…

というかよくよく使ってみたら 10.50 ってアホみたくレンダリングが早いわ。
Linux でも地味に Snapshot 版を使っているけど早く日本語入力に対応してくれい!

Windows 7 の csc.exe で遊んでみる

最近の Linux で GNOME ならばデフォルトで C# のコンパイルが可能。
Mono が入っている環境であれば必ず gmcs があるからである。

と以前書いたけど実は Windows 7 も可能だったりします。

C:\Windows\Microsoft.NET\Framework64\v2.0.50727

を Explorer で開いてみて、32bit の人は 64 を外してください。

csc.exe という C# コンパイラがあるのが解ります。
つまりコンパイルするファイルが一つであればこうやればいいわけです。
C# コードは BOM 付き UTF-8 で保存してくださいね。

フルパスを打ち込むのが面倒であればパスを通しておきましょう。
これで csc と打ち込むだけでパス指定しなくてもコンパイルが可能になる。

コマンドラインオプションのサンプルは MSDN にあります。
csc.exe を使用したコマンド ラインからのビルド

又、MSBuild を利用したコンパイルも普通に可能です。
幸い私は SeeMe をオープンソースにしているのでコイツで実験してみます。

SeeMe は現在 .NET Framework 3.5 でビルドしているので v3.5 の MSBuild.exe を使う。
コレに SeeMe4.sln というファイルを渡します。

なんかエラー?が出るけどしばらく待っていると SeeMe4.exe が出来上がってしまった。
SDK なんかインストールしないでもビルドできちゃうんですね、自分で驚いたよマジで。

MSDN に細かい解説が日本語であるけど手書きは少々辛いかも。
MSBuild

無償版 VC# が存在する今だけどこんな方法で何もインストールしないで遊べるよ。
開発環境をインストールだけやってプログラマー気取りの人を笑ってあげましょう。

実は .NET Framework 3.5 導入済みなら Windows 7 である必要は無いんですけど…
Vista より前てか XP では .NET が遅すぎて使わないだろうしやはり 7 を進めておくよ。
たった 1.2GB の CULV ノートでも快適に .NET が動きますので。

Windows 7 の PowerShell で遊んでみる

IronPython は楽しくて最高だけど Windows にデフォルトでは入っていない。
基本として OS デフォルト状態で動かせるアプリしか配布したくない私には少々問題だ。
アプリ配布で「まずコレを入れてくれ」ではアレほど馬鹿にしていた VB6 以前とカワンネ。

そうだ、Windows PowerShell という手があった。
Windows 7 ならデフォルトで入っているじゃないか。

地味に利用はしていたのだが、cd コマンドで移動して

rm *.zip

とかやって ZIP ファイルをまとめて削除したり kill コマンドを使ったりetc…
Linux と Windows を併用しているとソレが普通に、同じコマンド名が使えるところが嬉しい。
つか cmd.exe のコマンドなんてほとんど知らない…

しかし PowerShell はもっと強力で .NET がほぼフルで使えウインドウも造れるはず。
文法がイマイチ好きになれなかったけどもう少し突っ込んだ使い方をしてみよう。
検索すれば日本語での情報も IronPython よりは多い。

そういえば PowerShell では文字列のリダイレクトはどうなるのだろう?

echo あ > a.txt

は cmd.exe では当然のように Shift-JIS だが PowerShell では BOM 付き UTF-16LE に。

やっぱり文字列は UNICODE なのか、リダイレクトでは UTF-8 にはならないんだね。
リダイレクトするとUnicodeで出力されるとは… – もにっき
これだから内部と local が違う変態 OS は困る…

起動オプションは cmd.exe で以下を打ち込めば echo される。

powershell -?

ヘルプによると *.ps1 を読み込むにはフルパスか ./ 指定が必要。
まぁこれは bash でも同じなんだが、しかしやたら親切なエラー表示だなぁ。

PowerShell は通常 Multi Thread Apartment で起動する。
クリップボードとか STA(Single Thread Apartment) 属性が必要な場合は以下で起動。

powershell -sta

そうすると

[void] [Reflection.Assembly]::LoadWithPartialName("System.Windows.Forms")
[System.Windows.Forms.Clipboard]::SetDataObject("ほげ")

等ができる、-sta 指定しないとエラーになる、つまり WPF の利用なんかでも必須。
Windows PowerShell ISE から利用すれば自動で STA になるけど…

beep 音を鳴らす方法は何故か日本語で見つからなかった。

[console]::Beep()

音がショボイ、コッチのほうがいいかも

[System.Media.SystemSounds]::Beep.Play()

ここまでやって気が付いたけど…
*.ps1 ファイルを作ってもコンソールを出さないで利用する方法が無いみたい。
GUI を使うには物凄く向いていない、IronPython の代わりに使うのは無理かと。
やはりコイツはサーバー管理者向けですわ、まぁ何か思いついたら利用するべ。

よさげなサイト
PowerShell FAQ

こんなのもあるんだよね。
窓の杜 – 【NEWS】「PowerShell」v2の機能を拡張するモジュールパック「PowerShell Pack」が公開

Logicool Bluetooth Mouth

Aspire AS1410 をもっと便利に使いたい。

以前書いたが CULV ノート用に Bluetooth マウスを買った。
せっかくこのマシンには Bluetooth が標準装備なのでということで。
私は今まで Logicool 製マウスしか使ったことが無いので迷わずコレに決めた。

価格.com には再起動で Bluetooth 接続を認識しないとか見かけたがそんなことはなかった。
しかし正直買った直後このマウスを選んだのは失敗だと思った。

なんかやたらマウスカーソルの移動速度が早い、調節するとタッチパッドが逆に遅すぎる。
高速スクロール機能のせいでホイールクリックが使えない、今までと操作感が違う。
その高速スクロールのおかげでスクロールがやたら使いにくい。

せっかく買ったんだからなんとかしたい。
ということで今まで単に Bluetooth 認識させただけだったけどドライバーを入れてみた。
外付け CD-ROM はまだ手に入れていないので公式からダウンロードする。

Bluetooth® Mouse M555b

の「サポート」をクリック、Opera では中ボタンクリックしか認識しない…
するとダウンロードページへのリンクが見つかった。

mouse_driver

Windows 7 用はまだ無いの?まぁ Vista 用でいいだろう。

setpoint64bit

しっかり 64bit 用もあるね、ドライバーについては WOW64 とはいかないわけで。
64bit 用を落としてインストール、「テストされていない OS 」とか出るけど無視。
んでお約束の再起動、Bluetooth 認識のやり直しを行う必要があった。
Vista 用で問題なく動くようである、やはり Windows 7 は只の Vista 改ですね。

mouse_speed

おぉマウスのポインタスピードが別個で調節できるようになった。
タッチパッドは以前の速度に戻してと、それだけで一気に使いやすくなった。

他 SetPoint でマウス電池の残量も確認できる、高速スクロールの量も調節できる。
今更だがこういうドライバ統合ユーティリティは入れておくべきだ本当に。

ところで高速スクロールの件だが…
マウスホイールを強くクリックすればノッチ動作と切り替えできると今更知った。

Bluetooth® Mouse M555b

書いていないんですけど…
切り替えしてみたらホイールの不満はアッサリ解決、今まで何をやっていたのだ?
つまり普段はノッチ動作で使う、イザ高速に動かしたい時は切り替えすればいい。
なんだよ、そっちのほうが断然イイジャン!

ホイールクリックについては改めて考えるとそのほうが不自然だと今更思う。
デスクトップの Linux で使っているマウスもこのタイプに変えようかな?

つかマウスポインタ速度を遅くするとなんだか画面が広く感じるようになった。
やっぱり 11.6 型は画面が狭いなぁと思っていたけどそれはマウスのせいだった。
人間の感覚って我ながら本当にいいかげんです。

Windows 7 の Explorer で FTP は快適

Windows 7 を Linux の GNOME のように便利に使いたい。

既に EmEditor を導入し Gedit 風にカスタマイズしている。
Tab キーでスニペットが挿入できるようになった v9 は本当にありがたい。

IronPython を導入し Python と PyGtk の代わりに使っている。
普通の Python じゃとにかく何をやるにも別個モジュールが必要になってアホクサイ。

Linux で Python が糞便利な理由は全てディストリビューションのおかげ。
必要になりそうなモジュールを最初からまとめて入れてくれているからである。
IronPython なら .NET Framework が使えるから別の何かが必要になる場合はほぼ無い。
もう少し DLR の初期化が早ければなぁ…

次は Explorer をなるべく Nautilus のように使いたい。
Nautilus も Dolphin も本当に便利だ、なにより FTP 接続が簡単である。
Explorer は…と思っていたけど調べてみたら実は超簡単だった。

ここ (sakura) であれば

ftp://ユーザー名@wwwサーバー番号.sakura.ne.jp/www

をアドレスバーに打ち込むだけ、実は Vista でも同じ。
パスワードを保存も可能だけどセキュリティ面でやらないほうがいいかと。

ftp_login

パスワードを打ち込んで Enter すれば普通に接続完了。
後はそのままローカルのファイルのようにドラッグアンドドロップ可能。
右クリックメニューのプロパティからパーミッションも変更できるようだ。

ftp_setting

最ログインが必要になったら「ファイル」メニューから「ログイン方法」を選択。

ftp_relogin

それだけでは毎回打ち込みが必要で不便なので「お気に入り」に追加する。
「お気に入り」を右クリックして簡単に登録できます。

ftp_explorer

サーバー番号と実ユーザー名は一応塗りつぶしました。
これが何故か Vista ではできない、コピー動作になる…
以後はお気に入りからクリックするだけで簡単 FTP クライアントに。

もう Windows 7 では
「君もしかして FTP ソフトなんか入れているの?ププッw」
になってしまいました。

他 Windows 7 日本語版の Explorer はデフォルトで LHA の解凍が可能になった。
でも作成はできない、つか個人的には tar.gz に対応してほしい…

ついでに。
このスクリーンショット加工に mspaint.exe を使っているんだが意外に使いやすい!
PrtSc で mspaint に Ctrl+V で普通にスクリーンショットの大きさな画像ができる。
実際 Gimp も一部加工程度でしか使わないのでペイントソフトはコレで十分かな。

個人製作オンラインソフトの廃れ具合は加速するばかり…