mieki256's diary



2023/12/07(木) [n年前の日記]

#1 [windows] Windows10の環境整備中

昨日、メインPCにWindows10 x64 22H2を再インストールしたので、アレコレをインストール中。

最低限のドライバをインストール :

あらかじめ HDD に残してあった、M/B GIGABYTE B450M S2H rev.1.0用のドライバと、ビデオカード NVIDIA GeForce GTX 1060 6GB用のドライバをインストールしていった。
  1. Chipsetドライバ mb_driver_597_chipset_3.10.22.706.zip をインストール。
  2. LANドライバ mb_driver_542_w10_10.056.0119.2022.zip をインストール。
  3. ビデオカードドライバ 546.17-desktop-win10-win11-64bit-international-dch-whql.exe をインストール。
  4. オーディオドライバ mb_driver_audio_realtek_6.0.9373.1.zip をインストール。

以前は、Realtek のオーディオドライバをインストールしようとした際、問題が起きた記憶があるのだけど…。

Realtekのオーディオドライバのインストーラは、既に入っているオーディオドライバをアンインストールしてからOSの再起動をして、そこでようやく新しいドライバをインストールしようとするのだけれど。OSを再起動すると、OSが持っているオーディオドライバが次回また読み込まれてしまって、Realtekのインストーラは「おや? オーディオドライバがあるぞ? これはアンインストールせねば」と、また古いドライバのアンインストール処理を始めて…。延々と、オーディオドライバのアンインストール、OS再起動、ドライバアンインストール、OS再起動、を繰り返していた記憶が…。

ただ、今回は、そういった変な状態にはならず、再起動後にすんなり処理が終わってくれた。

ドキュメントフォルダ等の移動 :

自分の環境は、ドキュメントフォルダやダウンロードフォルダ等を、C:\Users\ACCOUNTNAME\ 以下ではなく、D:\ 以下にしているので、そのあたり移動しないといけない。ただ、今まで使っていた D:\ の中でも、ドキュメントフォルダがドキュメントフォルダらしく認識されてしまっていて…。

とりあえず、別フォルダを作成して、今まで使ってた D:\ 内のドキュメントフォルダの中身を全部移動させてから、削除しようと試みた。所有者を、今回Windows10をインストールした際に設定したユーザに変更しておかないと、そのあたりの作業ができなかった。エクスプローラで該当フォルダを右クリック → プロパティ → セキュリティ → 詳細設定 → 所有者を変更、だっただろうか…。たしかそんな感じ。

ドキュメントフォルダやダウンロードフォルダの移動は、今現在の各フォルダを右クリック → プロパティ → 場所、を選んで、任意のフォルダを指定して「移動」、で行った気がする。

アプリを色々インストール :

2020/12頃に、Windows10の再インストール作業をしていたので、その頃のメモを頼りにしつつアレコレをインストールする予定。

_mieki256's diary - Windows10が起動しなくなった。
_mieki256's diary - Windows10の復旧中
_mieki256's diary - Windows10が起動しなくなったのでPerlを再インストール
_mieki256's diary - Windows10復旧作業中
_mieki256's diary - Windows10の復旧作業中

今回は、仮想CDドライブ関連のソフト、Alcohol 52% FE(Free Edition) や ImgDrive はインストールしないことを自分の中で肝に銘じておきたい…。このあたりをインストールすると、sptd2.sys (sptd.sys) というドライバがインストールされるのだけど、このドライバがWindows10の動作を不安定にさせてしまうのではないかと疑っているので…。このドライバ、後からアンインストールできないのだよな…。アンインストールを試みると、OSが起動しない状態になってしまう…。

環境変数を設定 :

ファイラーあふと、xyzzy だけでも動くように、環境変数を設定しておいた。環境変数の変更には、Rapid Environment Editor 9.2 build 937 を使用。

この Rapid Environment Editor、何故か起動するとエラーが出てしまうのだけど。上のほうにある、「情報の表示/非表示」をクリックして、下のほうに情報が表示されないようにしておくとエラーが出ないことに気づいた。

また、インストールしたフォルダに、rapidee.ini というファイルを作っておくと、ポータブルアプリとして動作してくれるらしい。

Webブラウザをインストール :

Firefox 120.0.0、GoogleChrome、Vivaldi をインストールしておいた。

Firefox の Profilesフォルダは丸々バックアップをしておいたので、新規インストールした環境で中身を上書きしたら、以前と同じような設定状況で動作してくれた。

CapsLockをCtrlにした :

CapsLock を Ctrl にした。Change key 1.50 を使用。

_「Change Key」非常駐型でフリーのキー配置変更ソフト - 窓の杜

管理者権限で実行しないと反映されないので注意。

今回は以下の設定にしておいた。
  • CapsLock → Ctrl
  • ScrollLock → CapsLock
これはこれで、ScrollLockキーを使おうとする時に困るけれど…。 *1 ScrollLockキーをどうしても使いたいときはソフトウェアキーボード(スクリーンキーボード)でどうにか誤魔化すことにする。

ググってみたら、今時は PowerToys を使っても、この手の変更はできるらしい。

*1: 例えば FL Studio などは ScrollLock キーを使ったりする。あるいは何かのゲームでも使ってたような記憶があるけど、タイトルを忘れた…。

#2 [windows][perl] Windows10にPerlをインストール

再インストールしたばかりの Windows10 x64 22H2 に、Strawverry Perl と ActivePerl をインストールしておいた。以前のメモに従って作業。

_mieki256's diary - Windows10が起動しなくなったのでPerlを再インストール

Strawverry Perl は、現行版らしい 5.38.0.1 をインストール。かつ、ポータブル版もインストールしておいた。以下の版を、D:\Perls\ 以下にインストール。
D:\Perls\aperl5.28.1.0000-x64-61d1e9f2\
D:\Perls\aperl5.8.9.827-x86-291969\
D:\Perls\strawberry\5.18.4.1-x64-portable\
D:\Perls\strawberry\5.38.0.1-x64\
D:\Perls\strawberry\5.38.0.1-x64-portable\

Win32::Clipboard もインストールしておいた。
cpan install Win32::Clipboard

2023/12/08追記 :

strawberry-perl-5.38.0.1-64bit.msi をインストールしていたけれど、使ってみたら妙な警告が表示されることに気づいた。

_Locale 'Korean_Korea.949' is unsupported, and may crash the interpreter. with perl 5.38.0.1 - Issue #119 - StrawberryPerl/Perl-Dist-Strawberry

>perl -v
Locale 'Japanese_Japan.932' is unsupported, and may crash the interpreter.

This is perl 5, version 38, subversion 0 (v5.38.0) built for MSWin32-x64-multi-thread

解決策がよく分からないので、5.38.0.1 64bit をアンインストールして、今まで使っていた 5.32.1.1 64bit (strawberry-perl-5.32.1.1-64bit.msi) をインストールし直した。

後々、IISの動作確認のために、HTML::Template も必要になりそう。以下でインストール。
cpan install HTML::Template

#3 [windows][python] Windows10にPythonをインストール

再インストールしたばかりの Windows10 x64 22H2 に Python をインストールしておいた。今回は D:\Python\ 以下に複数のバージョンをインストールしておく。
D:\Python\Python24
D:\Python\Python25
D:\Python\Python26
D:\Python\Python27
D:\Python\Python39-64
D:\Python\Python310-64

切り替えは、py.exe でやれそうな気もするけれど…。
> py -2.4 -V
Python 2.4.4

> py -2.5 --version
Python 2.5.4

> py -2.6 --version
Python 2.6.6

> py -2.7 --version
Python 2.7.18

> py -3.9 --version
Python 3.9.13

> py -3.10 --version
Python 3.10.10

手元の環境では pych.bat という batファイルを作って、環境変数 PATH の最初に各バージョンの Python のインストールフォルダを追加することでどうにかする場面が多かったりする。

モジュールのインストール :

モジュール(ライブラリパッケージ)もインストールしないと…。

あらかじめ以前の環境で以下を打って、各バージョンごとに一覧ファイルは作っておいた。
python -m pip freeze > requirements.txt

これを以下のように指定してやれば、一気にインストールしてくれる。
python -m pip install -r requirements.txt

けれど、その前にいくつか作業しておかないといけない。pip をアップデートしておくこと。加えて、setupttols や wheel をインストールしておくこと。特に wheel をインストールしておかないと、前述の作業時に、大量に警告が出る…。
python -m pip install pip -U
python -m pip install setuptools
python -m pip install wheel


更に、自分の環境のみの注意点をメモ。

Python 2.6、Python 2.7 用の pycairo 等は、pygtk-all-in-one を事前にインストールすることでインストールしておくこと。pip 経由ではインストールできない。
pygtk-all-in-one-2.24.2.win32-py2.6.msi
pygtk-all-in-one-2.24.2.win32-py2.7.msi

pygtk-all-in-one は、以下から入手できる。そのままクリックするとブラウザで内容が開かれてしまうので、右クリックしてリンクを保存を選ぶこと。

_Index of /binaries/win32/pygtk/2.24/


また、Python 2.7 には pywin32 もインストールしたけれど、pywin32-228.win32-py2.7.exe を入手して、実行してインストールした。

_Release Release 228 - mhammond/pywin32


Python 2.7用の wxPython は、wxPython-4.1.0-cp27-cp27m-win32.whl を使ってインストールした。


更に、PyOpenGL、PyOpenGL_accelerate については、必要なDLLが同梱済みの非公式版を入手してインストールした。
PyOpenGL-3.1.5-cp27-cp27m-win32.whl
PyOpenGL-3.1.6-cp39-cp39-win_amd64.whl
PyOpenGL-3.1.6-cp310-cp310-win_amd64.whl
PyOpenGL_accelerate-3.1.5-cp27-cp27m-win32.whl
PyOpenGL_accelerate-3.1.6-cp39-cp39-win_amd64.whl
PyOpenGL_accelerate-3.1.6-cp310-cp310-win_amd64.whl

_Archived: Python Extension Packages for Windows - Christoph Gohlke

ビルドツールのインストール :

モジュールをインストールしていく際に「ビルドするにはVisual C++が必要だよ」的なメッセージが表示されたので、よく分からないまま、Pythonのモジュールをビルドするためのツールまでインストールしてしまった。まあ、実際にはビルドする必要はなくて、.whl や .exe を入手してインストールすれば済んだのだけど、一応インストールしたビルド関連ツールについてメモ。

今回は以下の2つをインストールした。
  • Build Tools for Visual Studio 2019 (Visual Studio Build Tools 2019)
  • Microsoft Visual C++ Compiler for Python2.7

前者は以下を参考にして作業。

_python pip実行時に「error: Microsoft Visual C++ 14.0 is required. Get it with “Build Tools for Visual Studio”」が発生した場合の対処法 | mebee
_【python】pip installの際に「Microsoft Visual C++ 14.0 is required」が発生した場合の対応方法|Python Tech
_pip installしようとしたら"exit code1"、"Microsoft Visual C++ 14.0 is required"と表示された(Annoyの場合) #Python - Qiita

vs_buildtools__b5639786a9604ed4b9eafce75841bcf1.exe を入手して実行すると、Visual Studio Installer がインストールされて、そこから更に「C++によるデスクトップ開発」と「MSVC v140」にチェックを入れてインストールすることになった。

後者、Microsoft Visual C++ Compiler for Python2.7 は、Python 2.7 時代にモジュールをビルドするためのツール群らしいのだけど…。Python 2.7 はもうサポート終了しているせいか、Microsoftサイトの入手先は404になっていた。ただ、以下のやり取りの中で、Web Archive に残っているという話を見かけたので、そこから入手。ファイル名は VCForPython27.msi だった。

_c++ - Microsoft Compilers for Python 2.7..can't download it, what higher version should I use? - Stack Overflow

2022/12/07(水) [n年前の日記]

#1 [windows] Windows8.1をWindows10にアップグレードするアレコレを調べてた

Windows8.1のサポートが、2023/01/10に終了するそうで。某所の Windows8.1機をどうにかしないといかんだろうけど、Windows10にアップグレードできないのかなと気になったので調べてた。

某所の Windows8.1機は、DELL OptiPlex 3020 SFF。CPUは Intel Core i3-4160。第4世代。Windows11は、Intel CPU なら8000番台以降を要求するので、i3-4160 では当然動かない。もしOSをアップグレードするなら Windows10 にするしかない。


Windows11がサポートしてない古いCPUが載っているPCに、Windows11 をインストールして中古PCとして売ってる業者も居るらしい。しかし、その場合、Windows Update ができなくて詰むのだとか。中古PCの購入を検討してるなら、OSがWindows11になってないか、なっているならCPUの型番をチェックして対応してるかどうか把握しておかないと危ない。

待てよ? その場合でも、Windows11 が Home じゃなくて Pro なら、ダウングレード権で Windows10 を再インストールできるのだろうか…? でも、ググった感じではクリーンインストールするしかない模様。

Windows11の要求スペックが厳し過ぎるから、面倒なことになっている気がする…。

#2 [zatta] サッカーが鬱陶しかった

ここ2週間ばかり、ニュースを見ようとしてTVをつけるとサッカーサッカーサッカーで、実に鬱陶しかった。なんか状況がよく分からんけどそろそろサッカーが終わりっぽいらしいので、とりあえず良かった。本当にウンザリしてました。

特にNHKが最悪だった。これがもし民放なら、「こっちは無料で見せてもらってるわけだから、どうぞいくらでも好きにしてくださいな」「貴方達は商売優先でやってるのでしょうし、儲かる方向でご自由にどうぞ」って感じなのだけど。日本国民から受信料を強制的に取っていくNHKが朝から晩までサッカーサッカーやってんじゃねえよと。朝のニュースを見たくてチャンネル合わせたらそこから15分間延々サッカーの話題って…お前なあ…。他に流すべき情報がたくさんあるはずだろ。もっと満遍なく色んな種類の情報を流す義務がお前達にはあるだろうと。こういうアレな構成を平気でしてるようなら、もう受信料取るのやめろ。それでなくても各番組で要らない芸人をスタジオにずらりと並べてワイプでずっと表示という受信料の無駄遣いばかり目についてこっちはその都度ムカついてるのに。みたいな。

でもまあ、そもそも今時TVなんか見てるほうが間違ってるのかもしれない。若い人達は結構TV離れしていて、爺婆しかTV見ねえだろという話もあるし…。自分も結局は昭和生まれのおじさんだから、ついうっかりTVをつけてしまうのだよな…。最初からTVをつけなければムカムカせずに済むはずで。「TVなんか見てるほうが悪い」と言われてしまったら、たしかにそういう面はあるよな、とも。

それはともかく、受信料を徴収しなければ、この手のソレでイラつくことも無くなる気もする。「本来であれば独立した報道姿勢を確保するために受信料を取って云々は必要ではないか」と自分は思っているけど、NHKの民放化が進んでしまって、常にどこかに忖度してるような放送内容がチラホラ目に付く現状で、しかし相変わらず強制的に受信料を毟り取っていくわけで…。現状と合ってない制度になってしまっているよなと…。受信料を取らずに一民放としてやっていくか、あるいは、受信料で回していくのが相応しい、民放とは一線を画した特殊な局になることをしっかり意識するか、どちらかに舵を切ってほしい気もする。

何にせよ、これじゃNHKを壊すことを主張する政党だって出現するわなと納得してしまう数週間だった気がしました。とメモ。思考メモ。

こんなに長々と、ダラダラと愚痴るあたり、自分の中に何かがじわじわと溜まり続けてた数週間だったのだなと今頃になって認識。サッカーなんて滅びろ。いや、サッカーは悪くないのだよな。悪いのはNHKなわけで…。

2021/12/07(火) [n年前の日記]

#1 [python] Pythonでzipからファイルを取り出したい

Pythonを使って、zipファイルから任意のxmlファイルを取り出して処理をさせたい。

環境は、Windows10 x64 21H1 + Python 3.9.7 x64。

ググってみたところ、Python で zipファイルを扱うなら、zipfile というモジュールが使えるらしい。また、xml を扱うなら、xml.etree.ElementTree というモジュールを使えばいいらしい。

ということで、あちこちの解説記事からコピペして、以下のような感じになった。python 01_getziplist.py hoge.zip といった指定で動く。

_01_getziplist.py
import zipfile
import sys
import xml.etree.ElementTree as ET 

target = "manifest.xml"

# get input file name
if len(sys.argv) < 2:
    print("Usage: python ThisScript.py INFILE")
    sys.exit()
    
infile = sys.argv[1]
print("Input File : %s\n" % infile)

# Open zip
zipf = zipfile.ZipFile(infile)

# Get filenames
if True:
    # use .namelist()
    names = zipf.namelist()
else:
    # use .infolist()
    names = []
    for info in zipf.infolist():
        names.append(info.filename)

# print filenames
for fn in names:
    print(fn)
print()

if target in names:
    print("Found %s\n" % target)
else:
    print("Not found %s\n" % target)
    sys.exit()

# Read target file 
xmldata = zipf.read(target)
# print(xmldata)

# Parse xml
root = ET.fromstring(xmldata)

print("---- %s" % target)
ET.dump(root)
print()

for i in root.iter():
    print(i.tag, i.attrib, i.text)
print()

# get game tag
elem = root.find("game")
if elem is None:
    print("Not found <game> tag")
else:
    # get game tag text
    kind = elem.text
    
    if kind is None:
        print("<game></game>")
    elif kind == "":
        print("<game></game>")
    else:
        print("<game>%s</game>" % kind)

出力結果は以下。
> python 01_getziplist.py hogezip.zipmod
Input File : hogezip.zipmod

abdata/chara/
abdata/chara/hoge.unity3d
abdata/chara/thumb/
abdata/chara/thumb/hoge_thumb.unity3d
abdata/list/
abdata/list/characustom/
abdata/list/characustom/00/
abdata/list/characustom/00/hoge_list_ao_head_00.csv
manifest.xml

Found manifest.xml

---- manifest.xml
<manifest schema-ver="1">
        <guid>com.fuga.hoge</guid>
        <name>hogemod</name>
        <version>1.0.0</version>
        <author>fuga</author>
        <description>description</description>
        <website>https://example.com</website>
        <game>AI Girl</game>
</manifest>

manifest {'schema-ver': '1'}

guid {} com.fuga.hoge
name {} hogemod
version {} 1.0.0
author {} fuga
description {} description
website {} https://example.com
game {} AI Girl

<game>AI Girl</game>

これで、Pythonを使えば以下の処理ができることが分かった。

動機。 :

何故こんな処理をやりたいかというと…。某3Dゲームのmodファイルが、どのタイトル向けのmodなのかを知りたいなと。

某3Dゲームのmodは、拡張子が .zipmod で統一されているのだけど、実態は只のzipファイル。そのzipの中に、決まったファイル名でxmlファイルが1つ入っていて、そのxmlに、どのタイトル向けのmodなのか記述されていて…。某3Dゲームでそのmodを読み込んだ際、タイトルが一致すれば利用可、一致しなければ利用不可になるけれど、modを入手してインストールしたのに反映されなくて悩んだら別タイトル向けの指定がされていた、といった場面がたまにあって。

今までは、そのあたりを確認する際、以下の作業をしていたのだけど。
  1. ファイラー(あふ)で .zipmod を .zip にリネーム。
  2. ファイラーで .zip の中を覗く。
  3. xmlファイルがあることを確認して、内容を閲覧表示。
  4. タグ内容を把握。
  5. 問題がなければ .zip を .zipmod にリネームし直す。

しかし、この確認作業が地味に面倒臭い。そこで、.zipmod のファイルパスを渡したら、中からxmlを読み込んで特定のタグ情報だけ出力して終わる、という処理をスクリプトで書けたら、少しだけ楽にならないかと思った次第。

できれば、xml内の記述タイトルが違ってたら、zipを展開して、xmlファイルを書き換えて、またzipに圧縮して、.zipmod にリネーム、という処理までさせたいけれど…。そのあたりは今後の課題。

2020/12/07(月) [n年前の日記]

#1 [windows] Windows10復旧作業中

Windows10 x64 20H2 を再インストールする羽目になったので各種アプリをインストール中。


#2 [pc] 中古PCを検索

某所から DELL Optiplex GX270 が壊れたという連絡があったので中古PCが市場にないかググっているところ。もうほとんど無いな…。昔は大量に出回っていたらしいけど…。

M/Bなら多少見かけたけれど、果たして正常動作する個体なのかどうか…。

2019/12/07() [n年前の日記]

#1 [windows] Skiaのビルドでハマった

Windows10 x64 1903 上で、Aseprite というドットエディタをビルドできるのか気になったわけで。ただ、Aseprite は、Skia という描画ライブラリを必要とするようで。まずは Skia がビルドできないと話にならないなと試し始めたのだけど。

これが上手くいかない…。github上にある、公式のリポジトリを git clone してビルドしてみようとしたものの、エラーが続出。

困り果てて Aseprite の _aseprite/INSTALL.md を眺めてみたところ、そもそも Aseprite は、 _Aseprite 用の Skia を別途用意してたようで。かつ、aseprite-m71 という branch を入手してビルドする手順が書かれていて。

ということで、INSTALL.md に書かれた内容に従って Skia のビルドをしてみたところ、ビルドに成功。

その調子で、Aseprite-v1.2.16.2-Source.zip を入手してビルドしてみたところ、そちらもビルド成功した。とメモ。

build tools は必要なのだろうか。 :

C++関係の何かをビルドするだけなら、Visual Studio 2019 Community をインストールする必要はなく、Build Tools for Visual Studio 2019 をインストールすればよい、という話を見かけたので一応ソレもインストールしてみたのだけど。Windows のスタートメニューに、「Developer Command Prompt for VS 2019 (2)」のような感じで、「(2)」がついたショートカットファイルがいくつか作られて。

もしかして、Visual Studio 2019 Community をインストールした環境なら、Build Tools は不要なのだろうか…。よくわからん…。

2018/12/07(金) [n年前の日記]

#1 [pc][windows] 音声分析用ツール Praat を試用中

音声データの分析に使える、Praat というフリーソフトがあるらしいと知り、Windows10 x64上でインストールして使い方を確認しているところ。

_Praat - Wikipedia
_Praat: doing Phonetics by Computer
_Praat入門 - Akira Utsugi's web site (宇都木昭研究室)
_Praat 簡易マニュアル

wavファイルを読み込んで、ピッチ、フォルマント、スペクトラム等を検出することができるっぽい。

式を打ち込んでsin波形その他を作ったりすることもできるし、なんだか色んな事ができるようだなと…。

2017/12/07(木) [n年前の日記]

#1 [love2d] love2dのParticleSystemについて調べてたり

love2dのwikiを眺めていたら、ParticleSystem(パーティクルシステム)なる機能があることに気がついて。爆発エフェクトを作る際に便利かもしれないと思えてきたので、使い方について調べていたり。

_love.graphics.newParticleSystem (日本語) - LOVE
_ParticleSystem (日本語) - LOVE

紹介されてるサンプルを動かしてみたら、「もわ〜ん」な感じのパーティクルが出てきて、「これじゃ爆発には使えないのでは…」と思ったけれど。他のメソッドを呼んで色々設定してたら、もうちょっと勢いのある動きもつけられそうだと分かってきた。

とりあえず現時点で分かったことは…。

パーティクルエディタがあるらしい。 :

おそらくは love2d で実装されたパーティクルエディタがいつかあるらしい。パラメータを変えて動きを確認できる。

_Super Particle Editting and Rendering Machine - LOVE
_Super Particle Editting and Rendering Machine - Page 2 - LOVE

love2d 0.10.xで動く版は2ページ目の最後のあたりで公開されてる。ただ、setLinearDamping() (= 速度を減衰させる指定)はサポートしてない模様。

_emitor - Particle system editor - LOVE

love2d 0.10.2 でも動いたが、setSpread() (= 飛んでいく範囲を角度で指定)が無いので、全方向に飛んでいくようなパーティクルの動きは作りづらい。まあ、初速度が0の状態から加速していく動きなら作れるけど…。

_APE (Another Particle Editor) for LOVE2D - LOVE
_Monthly Update: April | Aeon of Sands

ape_v3.love が、love2d 0.10.2 でも動作した。setSpread()、setLinearDamping() もサポートしてる模様。爆発エフェクトに使えそうな動きも指定できた。

2016/12/07(水) [n年前の日記]

#1 [python] PySideでCGツール用のラバーバンドを書いてみる

PySideで、CGツール用のラバーバンドを試しに書いてみたり。選択範囲を作成する時に使うアレ。境界線をドラッグするとリサイズできる仕様をどうにか盛り込んでみた。

ソースが長くなってしまったので、Gist にアップロード。

_PySideでCGツール用ラバーバンドを試しに書いてみる - Gist

こんな感じになった。



処理もクラス分けもグチャグチャになってしまったので、そっくりそのまま何かに使えるソースではないけれど。一応どうにか実装できるみたいだよ、ぐらいのことは程度は実証できた、かなと。

処理の流れについてメモ。 :

ラバーバンド(選択範囲の境界線)が、存在する(表示されている)場合、領域を9分割して、マウスカーソルがどこにあるかを判断。その領域にマウスカーソルが乗ってたら、まずはマウスカーソル形状を変更。

pyside_rubberband_01.png

更に、マウスボタンが押された時に、マウスカーソルがラバーバンド上に乗っているなら、マウス座標の反対側にある座標を開始点に設定して、終了点のほうをドラッグで指定する処理に入る、みたいな感じ。

しかし、この仕様だと、選択範囲がめちゃくちゃ狭い・小さい時にはリサイズが上手くいかないことに気づいてしまったりもして。そのあたり、例えばGIMPの場合は、選択範囲がめちゃくちゃ狭い場合は境界線の外側にドラッグ可能な領域を用意する、てな仕様になっていて。なるほどうまいこと考えたもんだなと改めて感心したり。

ところで。選択範囲を作ってる途中で、ウインドウ外にマウスカーソルが移動すると、ウインドウ内の表示領域が自動で大きくなって開始点と終了点が QGraphicsView の返す座標値とずれてしまうことに気がついてしまって。そのあたりを解決しようとしているうちに、ソースがどんどんグチャグチャになってしまったという…。なかなか難しい。

それはともかく、もっとイイ感じのやり方があるんじゃないか、という気もするのだけど…。例えばウインドウのサイズ変更時はこういう操作仕様になってるのだから、ノウハウというか、プログラムの書き方としてある程度確立してたりするんじゃないの、とも思えるわけで…。

#2 [pc] GeForceドライバをアップデートしてみたけど

自分のメインPCには Geforce GTX 750 Ti が乗っているのだけど。GeForceドライバーの新しい版、376.19 が出たらしいのでアップデート作業を。

GeForce Experience 経由でアップグレードしようとしたら、カスタムインストールを選んだはずなのに「クリーンインストール」を尋ねるウインドウが出てこなくて。しかも最後に「インストールに失敗」と言われて。さすが、NVIDIA…。

仕方ないので、NVIDIAのサイトからドライバをダウンロードしてインストールし直し。

しかしコレ、クリーンインストールすると、GeForce Experience 初回起動時にHDD内からゲームを再度検索して30分ぐらい何もできなくなる…。最適化されそうなゲームなんて一本も持ってないのに。Visual Studio や FL Studio のインストールフォルダを検索してどうするんだ…。スキップできる仕様をつけてほしい…。

低負荷でデスクトップの録画ができるという旧ShadowPlay相当の機能をそのうち使ってみたいので、仕方なく GeForce Experience をインストールしてるのだけど、ドライバを更新するたびにこうして待たされるのが…。なんだか馬鹿馬鹿しいなと…。

2015/12/07(月) [n年前の日記]

#1 [nitijyou] 歯医者に行ってきた

土台をつけて、冠のための型を取った。詳細はGRPでメモ。

#2 [comic] 漫画を何冊か読んだ

妹から以下略。

「ふしぎの国のバード」(佐々大河著)、1巻を読んだ。 :

英国人冒険家の視点で明治時代の日本文化を紹介していく漫画作品。現代の日本人にとって明治時代は異国・異世界なわけだけど、それを英国人の視点経由で現代人向けにも翻訳していく、その基本設定・構成に感心させられたり。技有りというか一本というか。

と思ったけど、ググってみたら主人公は実在の人物だったのか…。てっきり創作されたキャラとばかり…。

それにしても、描くのが大変そう。しっかり資料集めをしないと描けないよな…。逆にいうと、作家の努力が作品のクオリティ向上に直結してるジャンルなわけで。天才であることは要求されず、努力家であることが要求される。そういう種類の作品ではないかと思えたり。

「辺獄のシュヴェスタ」(竹良実著)、1巻を読んだ。 :

キリスト教?の魔女狩りが盛んだった時期を舞台として…。何だろうなコレ。復讐劇? を描くのかな? ちょっと適切な説明文が思いつかず。シチュエーションが凄惨というか、絵が怖いというか、なんとなく「進撃の巨人」の美少女版かなと思ったり。

ググってみて、以下の記事に辿り着いたのだけど。

_【規格外新人】圧倒的歴史大作スタート!「月!スピ」新連載『辺獄のシュヴェスタ』の作者、竹良 実の受賞作『地の底の天上』を公開!【無料試し読み】 - コミスン(comic soon)

ああ…あの漫画を描いた先生の連載作品だったのか…。道理で鬼気迫るものがあるわけで…。これは将来が楽しみな…。

「累 -かさね-」(松浦だるま著)を読んだ。 :

何巻を読んだのかメモするのを忘れた。5巻6巻、だったのかな。相変わらず怖いけど続きが気になる漫画。どう話が転がっていくのだろう。

「阿・吽」(おかざき真里著)、1〜2巻を読んだ。 :

比叡山だかお坊さんだかそのあたりを描いた漫画。

おかざき先生って、こんな感じの作家さんになってしまったのか…。とにかくあっけなく人が死ぬ。どのキャラも「えっ」って感じで殺される。なんだか昔の富野アニメを見ている感覚。イデオンとかVガンダムとか、あのあたり。そうか…そういう作家さんなのか…。いやまあ、各キャラをここまで冷たく突き放す作風は、これはこれで。読んでいて「凄い…」としか言えないわけで。それに、ここまで虚しい光景を次々に見るからこそ主人公の思想だかなんだかが固まっていくということだろうから、どれも必要な描写なはずで。

2014/12/07() [n年前の日記]

#1 [nitijyou] 雪が降った

朝、窓を開けたら外は雪。とうとう降った。

午前中には溶けてしまった。助かった。

#2 [dxruby][cg_tools] SFontとはなんだったのか

SDL で利用できるビットマップフォントとして、SFont というフォント仕様があったのです。

横一列に必要な文字がずらりと並んでる画像で、文字と文字の隙間を示すために、画像の一番上のラインにピンク(RGB=(255,0,255))のドットが置かれている、てな仕様。

多色化したフォント画像をあらかじめ持てるという点で、ttf や bdf よりメリットがあって。まあ、サイズを自由に変更できないというデメリットもあるのですけど。ビットマップフォントだから当たり前だけど。

ふと。アレって今はどのくらい使われてるのかなと気になって、少しググってみたのですが。関連ツールを公開してたサイトは軒並み消滅。SFont画像を紹介してたページすら消滅。

SFontとはなんだったのか。てな気分に。

考えてみれば、今時のGPUと相性悪そうな仕様かも。たしか以前、Androidアプリを作ろうとした際、あるいは Unity を触った際に、「正方形のテクスチャにせよ」「256x256、512x512、1024x1024 等のキリのいいサイズのテクスチャにせよ」等の制限があったわけで。そんな中で、横方向にズキューンと伸びたテクスチャが混在してる状況を想像すれば…。そりゃハブられるよなと。

使われてる場面に遭遇。 :

もうちょっとググってたら、どうやら _Ren'Py という、Python + その他で書かれたビジュアルノベルゲーム用エンジンで SFont が使われているようで。

さらに、文字を羅列した画像からSFont画像に変換するツールが配布されてることを知り。

_simple-renpy-tools - A collection of tools written in Python for the Ren'Py Visual Novel Engine - Google Project Hosting

動作には Python と PIL (or _Pillow ) が必要。

make_sfont.py をDLして、
python make_sfont.py フォント元画像.png SFont画像.png
を実行すれば SFont画像を ―― 文字と文字の隙間を探してピンクのドットを打った画像を作ってくれました。ありがたや。

一応、フォント元画像(文字を羅列しただけの画像)の作成方法もメモ。例えば、 _SDL Font creation tools - SFont Maker (Internet Archive) からDLできる、render-sfont22.scm という Script-fu を使えば、GIMP上で新規に作成できます。ただし注意点がいくつか。
  • GIMP 1.2用、GIMP 2.2用があるので、GIMP 2.2用をDLすること。
  • メニュー登録のあたりを少し書き換える必要がありそう。
  • 試したところ、一発では作れなかった。文字と文字の間が詰まってしまって隙間が無くなる時がある。
ひとまず自分の場合、メニュー登録のあたりを以下のように設定。
(script-fu-register "script-fu-render-sfont"
                    _"Create SFont"
                    "Creates font for use with the SFont library"
                    "Mike Oliphant"
                    "Mike Oliphant"
                    "2004"
                    ""
                    SF-ADJUSTMENT _"Font Size (pixels)" '(28 2 1000 1 10 0 1)
                    SF-FONT       _"Font" "Sans"
                    SF-COLOR      _"Top Color" '(16 23 229)
                    SF-COLOR      _"Bottom Color" '(156 241 244)
                    SF-TOGGLE     _"Apply 3D effect" TRUE)

(script-fu-menu-register
 "script-fu-render-sfont"
 _"<Image>/File/New/Xtns/SFont"
 )
ファイル → 画像の生成 → Xtns → SFont → Create SFont で呼び出せるように修正。

もっとも、決まった文字列を隙間を空けて描画できれば、何を使ってもいいわけで。 _SFonts - simple-renpy-tools - Wiki や、 _SDL Font creation tools - SFont Maker (Internet Archive) によると、以下の文字が並んでればOKで。前述の Script-fu の場合、f g h i j のあたりが詰まってしまう時があるので、そのあたりに空白を入れて隙間を増やしてみたり。
 ! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? @ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z [ \ ] ^ _ ` a b c d e  f  g  h  i  j  k l m n o p q r s t u v w x y z { | } ~ 
これをコピペして、画像編集ソフトのテキストツールで描画して化粧すれば済む。グラデーションをつけたり、輪郭つけたり、影をつけたり。

しかしコレ、一発で作れたほうがいいのかな。でも、細かく修正したいときもあるだろうし。どうなんだろう。

ちなみに、ライセンス面で利用制限が少ない英字フォントは、OFL (SIL Open Font License)、CC0、Public Domain のキーワードを意識して探せば見つかると思います。例えば、 _Google Web Fonts で探したりとか。「Pop out」のアイコンをクリックするとフォントについての情報が表示されるので、そこに「SIL Open Font License」等が書いてあったりすれば問題無く使えるかなと。まあ、Google Web Fonts に利用制限が厳しいフォントは置いてないはずですが。

以下の記事も参考になるのかも。

_OFLの利用に関してSILに問い合わせてみました: ふくかどブログ

DXRubyでSFontを使う。 :

#3 [xyzzy] xyzzy上でキー一発でタブをスペース(空白)に変換したいのですが

こんな感じでいいのかな…?
;; ----------------------------------------
;; バッファ全体のタブをスペースに変換

(defun untabify-whole-buffer ()
  (interactive)
  (when
      (save-excursion
        (goto-char (point-min))
        (untabify (point-min) (point-max)))))

(set-function-bar-label #\C-F9 "タブ→空白")
(global-set-key #\C-F9 'untabify-whole-buffer)

#4 [cg_tools][gimp] GIMPとかPhotoshopとか遠近法とか自由な形とか

画像を囲む矩形の4点を移動して、変形させたいと思ったわけですよ。

GIMP の場合は、「遠近法」という変形機能があって。
test01.png

test01_gimp.png
こんな風に変形できる。

でも、遠近感・パースをつけずに変形したいときもあるよなと。平面的に変形させるというか。

GIMPのケージ変形はどうだろうと試したのですけど。
test01_gimp_2.png
曲がってしまうわけで。コレジャナイ。

そういや Photoshop の「自由な形に」という変形機能は、たしかパースをつけずに変形してたような。と思ったのですが、確認してみると…。
test01_pse.png
アレ? パースがついてる。いつからこの仕様になったんだ? いや、もしかすると元々こういう仕様で、自分が勘違いしてただけ、なのかしら。

何にせよ、GIMP も Photoshop も、矩形の4点を自由に動かして変形する機能はパースがつくのだなと今頃把握。

で。他のツールを調べていたら、どうやら _paint.net + _遠近風変形 なら平面的な変形ができそうで。遠近変形の設定を、「遠近〜」ではなく「台形〜」にする必要がありますが。
test01_pdn.png

_Quadrilateral Reshape Plugin もそれっぽいのですが、試したところ、明らかに矩形を三角形で割ってますと分かってしまう変形結果でよろしくなくて。せめて分割しようよ、初代プレステのゲーム以下かよ、みたいな。

それにしても、パースをつけずに変形させるほうが処理は簡単なはずなのに。どうして実装してる画像編集ソフトが見当たらないんだろう。まあ、こういう変形をさせたい場合、えてしてパースをつけて変形させたいと思うはずだ、などと思われてそうな気もしますが。たしかにそういう時がほとんどだけど、パースをつけずに変形させたいときもあるんだけどなあ。

2013/12/07() [n年前の日記]

#1 [anime] 「ログホライズン」、面白いな

NHK教育、というかETVで放映されてるアニメ、「ログホライズン」。今のところ一応どうにか毎週ぼんやり眺めてるのですが。結構面白いなと。

台詞の中に、 「適正価格」なんて単語が出てきて「おおぅ」と。見た目だけならフツーのファンタジーモノなのに、そんな単語がポーンと出てくるアニメなんて、これは珍しいなと。昔放送されてた「夢色パティシエール」の二期で、ちょっとソレに近いノリがあったな、ぐらいなもんで。

まあ、「夢色パティシエール」は途中で打ち切りっぽくなってしまいましたが…。あのノリを「もしドラ」にも期待してたんだけどな…。「もしドラ」は途中でケータイ小説みたいになっちゃって、個人的にはガックリでした…。最初のあたりで期待し過ぎちゃった…。 *1

さておき、ログホライズン。ラストのあたりで、主人公が、「ギルマス…ギルドマスター…ギルドのリーダー…」と口にするあたりに感心したり。主人公がギルマスという言葉の意味を噛みしめるシーンだと思うのですけど。おそらくは、NHK教育でアニメを見ているちびっ子達に、「ギルマスってのは、ギルドマスターの略なんだよ。ギルドマスターってのは、ギルドのリーダーという意味なんだ」と丁寧に説明している台詞でもあるのだろうと。さりげない気配りを忘れないアニメだなあ、と。

また、NPCについて語るシーンでは、上から見下ろした形のレイアウトで、八頭身の見た目はちゃんとしたキャラ達が、上下左右にのみ動くという画になっていて。これは昔のRPG画面を再現することで、そこに居るのがNPCであると示したカットなのだろうなと。お遊びで入れてるようでもありながら、映像による説明も込められてる気がして、面白い見せ方をするなあ、と。

けして派手ではなく、むしろ地味な作品だけど、あちこちで丁寧な作りをしてるよなあ、と感心する時があって。NHK教育で放送するに相応しい作品かもしれん、と、自分の中では好印象なのでした。
*1: まあ、よほど頭のいい作家さんじゃないと、ビジネス論(?)とドラマ性の融合なんてできないのでしょうし、仕方ないよなとも。あの組み合わせを思いついただけでも「一本!」なので、アレはアレで、とも思ってますが…。

#2 [anime] ルパン三世VS名探偵コナンを視聴

映画版の公開に合わせて、昨日放送されたようで。途中で放送に気づき、中盤以降はリアルタイムで見てましたが、今日は、HDDレコーダに録画していたソレを、最初から視聴したのでした。

やっぱり、面白いなあ…。結構カットされてたという話も見かけたけれど、それでも面白い…。キャラが登場するだけで、「キター!」と思える作品って珍しいよなと。

脚本も、各キャラの見せどころで苦労しながらもちゃんと上手いことまとめてる印象で。「さすがだ…素晴らしい…」と唸ってしまったシーンが多々。ツッコミどころと、なるほどと思わせる箇所の、量のバランスも取れてるような気が。

監督さんが、コナン、ルパンTVSPの両方に関わったことがある方、というのも上手く働いたのかなと。この監督さん、基本的にファミリー向けの作風が強過ぎて、個人的にはピンとこない監督さんだったのだけど。この作品に限っては、その作風がドンピシャで一致して実力を存分に発揮できてるような気がして、かなり好印象だったり。

神谷明氏が演じてるのであろう、 ルパンが変装した小五郎の演技も絶妙で。前回見た際もスゴイなと思ったけど、やっぱり何度見てもスゴイ…。

こういう作品を見ると、他にもコラボできないかなと妄想してしまうのだけど。基本的に一話完結モノ、時間が進まないタイプの作品じゃないと、この手のコラボはしにくいだろうと思えて、候補がさっぱり思い浮かばなかったり。一般的なコンテンツは、大きな話の流れがあるタイプばかりだし…。

キャラデザ・絵柄に関しては、この作品を通じて、セル画風になってしまえば意外と気にならなくなる、ということは分かったけれど。さすがに、キン肉マンと北斗の拳をコラボする、みたいなのは無理だろうし。比較的ジャンルが近い作品じゃないと厳しいのだろうなと。また、両方の知名度が無いと、コラボの効果も弱いだろうし。例えば「ゲゲゲ物語」等では、片方の知名度が圧倒的に足りないわけで…。

てなことを考えると、ルパンVSコナンという企画が生み出せたのは、まるで奇跡のようだなと。コラボの条件がここまで一致する両作品って、他にはちょっと思いつかない…。

再放送とは言え、イイもの見せていただきました。ありがたや。いやー、面白かった。この作品は素晴らしい。

#3 [zatta][pc][neta] モノを作る人はえてして人間としてどこかおかしいのが常、という話

昨日、「モノを作る人ってのは、えてして人間としてどこかおかしいのが常」という一文を書いちゃったのですけど。キーボードを叩きながら、「これは問題発言かもしれんなあ。怒る人が出てくるかもしれんよなあ。…でも、事実だし。書いちゃえ書いちゃえ」とやってしまいまして。

や、ホント、自分の中では、そういう印象なのです。モノを作る人ってのは、ちょっとおかしいです。人によって、どこがおかしいか、何がおかしいかは全然違ってくるので、分かりやすくおかしい人、分かりにくくおかしい人が居るとは思いますけど。

いくつか例を挙げれば分かるかなと…。

参考事例。 :

例えば、宮崎駿監督。世間一般では素晴らしい人物として認知されてる節もありますが、とんでもない誤解だよなと…。何せあの方、震災直後、まだ余震が続いてる状態でありながら、スタッフに対して「何が何でも会社に出てこい!」と怒鳴りつけた人ですから。あの緊急時にそういうことを言うのだから、まともじゃないです…。そりゃ奥さんが、息子のゴロー監督に、「アニメ業界には入らないで。私がどれだけお父さんに泣かされてきたことか」と涙ながらに訴えるわけですよ。…宮崎駿監督のそのあたりって、富野監督が言うところの、意識と身体が分離してしまった状態の一種、なのかなと思えてきたりもして。理念は分かるけど、こっちは身体とか命を持ってるんやで、みたいな。

その富野監督だって、ファミレスだか喫茶店だかで、キャラデザの方に対してオ○ンコ発言を叫んでしまったり。これもそこだけ見ると、おかしい人ですよ。もちろんそれだけ、自身の仕事に対して意識が集中してることの証明で、実に職人らしいエピソード、のような気もしますが。

故・手塚治虫先生だって、色んなエピソードがありますよね。〆切に追われて、トイレに行くと言ったまま逃亡したりとか。真夜中にチョコレート食べたいとごね始めて担当編集者が…、とか。それらエピソードだけで、漫画が描けちゃうぐらいに…。

また、コンピュータの世界では、 _リチャード・ストールマン という有名人がおりまして。GNUの提唱者、emacsを作った方、という認識でいいのでしょうかね…。この方も、何かあるたびに問題発言ばかり繰り返す方で。いや、ぶれてない故の発言なので、その内容は納得できるものばかりですけど。

発明王エジソンも、なんだか危ない。子供の頃、先生に「Why?」ばかり言い過ぎちゃって、学校に来るなと言われてしまって学校に通えなかった男、ですから…。いや、これは伝記で読んだソレなので、話を作ってんじゃないのと思わないでもないですが。まあ、エジソン関係のエピソードを探すとゴロゴロその手の話が出てくるので、やっぱりおかしい人だったのではないのかなと。

ということで。 :

他にも事例は多々あると思いますが。このように、モノづくりで何かに秀でた人というのは ―― いや、「表現者」という人種は、どこかしら、何かしら、おかしいのですよ。常識の枠を飛び越えた言動を時々見せてくれる傾向があるよなと。 *1

「モノづくり」「表現者」は、常識に囚われないからこそ、凡人では思いもつかないものを作り上げてみせる、てな面があるわけです。ある意味、「常識人」属性と「表現者」属性は、トレードオフではないのかなと。 *2

そんなわけで、何かを作ってみせた方は、基本的に、「どこかおかしい可能性が非常に高い人」として、最初から疑って見ておいたほうが無難だろうと。表現者の持つ常識と、こちら側の凡人が持つ常識は、結構大きくずれてる可能性がある。そのことで、後にトラブルが発生する可能性はある、と。

まあ、このあたり、漫画・アニメ・ゲーム・音楽・映画等々、娯楽コンテンツを楽しんでる方なら、「そういう面はあるよね」「天才って、別のところで、人として何かおかしいよね」と納得してくれそうな気もしているのですが。

人格者としても表現者としても優秀、なんて人はそうそう居ませんよね…。人間は神様じゃないんだから…。

故に日本語フリーフォントは時々危険。 :

ということで、昨日の記事内容を繰り返しますが。フリーフォント制作者様が、「宗教、アダルトで使うのは禁止」と言ってるときは、こっちは身構えておくべき、という話になるのでした。

何せ、フォントを一セット作るって、とんでもなく大変な作業なわけで…。とても凡人が出来る作業じゃない。しかし、仕事でやってるわけでもないのに、その作業を見事にやり遂げてみせて、しかも無償で使っていいよと公開してるわけで。これは良い意味で、おかしい方ですよ。<褒めてます。

その、何かおかしい方 ―― 凡人側の常識が通じない方が、「宗教、アダルト」と言ってるわけですから…。この定義は得体がしれない、正体不明の定義だぞ、後からどんな難癖つけられるか分からん、予測不能だ、と。「どう考えてもコレは宗教・アダルトじゃないだろう」と、こっち側が常識レベルで思っていても、あちらにはライセンス違反に見えてるかもしれないぞ、と。こちらの常識は通用しない。通用しないからこそ、目の前で、完成フォントが公開されているのです。

大体にして、インターネット黎明期の昔ならともかく、メジャーなライセンスが多々存在してる現在において、あえて独自ライセンスを掲げ続けているなんて、もうソレだけでトラップ臭が…。まともな人なら、今の時流に合わせて、メジャーなライセンスにさっさと切り替えてるはずなのです。しかし、変更しないということは、その独自ライセンスに、こちらが気付いてない何かが潜んでるんですよ…。おそらく、作者様の妙なこだわりの念が…。そこにうっかり触れたら爆発するんです…。

なので、そういうフリーフォントは使うのを避けておいた方が無難、と自分は思っているのでした。まあ、フォントに限った話ではないのですけど。フリーソフト等も、時々そういうトラップ臭が…。

まあ、「作者様に見つからなければ、問題にはならないし」てなノリでガンガン使っちゃうのもアリかもですけど。怒られたら「ゴメンテヘペロ」で済むかもしれないし。いや、済まないかもしれないけど。

*1: もちろん、表現者として優秀であっても、対人トラブルを全然起こさない方だってたくさん居ますけど。ただ、それは、人前で仮面を被るのが上手いからであって…。中身はやっぱり、どこかおかしいはずなんです。
*2: だからといって、ひたすら非常識な人間なら、必ず表現者として成功するわけではないあたりが、なんだか悲しいですけど。それはさておき。

#4 [dxruby][game] DXRubyで例の多関節を実験

今日もDXRubyを使って、動きを作ってみます。

今回のネタは、昔懐かしの、あの多関節を試してみようかなと。学生時代、ファミコン版でプレイしていて、必ずこの敵で何機か失ったことを思い出します。やられグセがつくと、なかなか抜け出せなくて…。

自分、この処理は、書いたことがないんですよね…。昔、隣で先輩が書いてるソレを見て、「スゴーイ。まさしくアレだー」と子供のように喜んでしまった記憶があります。さて、自分は上手く書けるだろうか…。少し不安。

とりあえず、できた…かな…と思います。こんな感じの動きで合ってますかね? 微妙に何か違う気もするけど…。
グルグル回る例のアレ
# ぐるぐる回る、あの多関節のテスト

require 'dxruby'

# ボディ部分のスプライト
class BodySpr < Sprite
  
  # 初期化処理
  def initialize(sx, sy, dist, ang, img)
    super
    @px, @py = sx, sy # 自身の座標格納用
    @cx, @cy = sx, sy # 円運動の中心座標
    @dist = dist # 円運動の半径
    @ang = ang # 円運動の角度
    self.image = img # 画像
    
    self.scale_x = 1.6 # 拡大縮小率
    self.scale_y = 1.6
  end

  attr_accessor :px, :py
  
  # 毎フレーム呼ばれる処理
  def update
    # 円運動をさせる
    rad = @ang * Math::PI / 180.0
    @px = @cx + @dist * Math.cos(rad)
    @py = @cy + @dist * Math.sin(rad)
    
    # 描画位置を設定
    self.x = @px - self.image.width / 2
    self.y = @py - self.image.height / 2
    
    @ang += 0.7
  end
end

# 腕関節一つ分のスプライト
class Arm < Sprite
  
  # 初期化処理
  def initialize(sx, sy, dist, ang, img, parent)
    super
    @px, @py = sx, sy
    @cx, @cy = sx, sy
    @parent = parent # 親を記録
    @dist = dist # 親からの距離
    @ang = ang # 自分の角度
    @angt = ang # 親と自分の角度を加算した角度
    self.image = img
    self.center_x = img.width # 回転描画の中心位置をずらす
  end

  attr_accessor :angt, :px, :py

  # 毎フレーム呼ばれる処理
  def update
    if @parent.instance_of?(BodySpr)
      # 親がボディ部分だった場合
      @ang += 1
      @angt = @ang
      self.angle = @angt
      bx = @parent.px
      by = @parent.py
    else
      # 親が腕部分だった場合
      @angt = @parent.angt + @ang # 親の角度+自分の角度を得る
      self.angle = @angt
      bx = @parent.px
      by = @parent.py
      
      @ang += 0.3 # 自分の角度を少しずつ増やしてく
      @ang = -60 if @ang > 60
    end
    
    # 自身の座標を算出
    rad = @angt * Math::PI / 180.0
    @px = bx + @dist * Math.cos(rad)
    @py = by + @dist * Math.sin(rad)
    
    # 描画位置を算出
    self.x = @px - self.image.width
    self.y = @py - self.image.height / 2
  end
end

# 画像読み込み
img = Image.load("arm.png")
imgbody = Image.load("ufo.png")

# ボディ部分の発生
cx = Window.width / 2
cy = Window.height / 2
body = BodySpr.new(cx, cy, 80, 0, imgbody)

# 腕の初期化処理
sprs = []
armmax = 4 # 腕の本数
jointmax = 12 # 関節数
dist = 22 # 関節の長さ

# 何本か腕を延ばす
armmax.times do |i|
  parent = nil
  
  # 腕一つにつき、n個スプライトを使う
  jointmax.times do |j|
    if j == 0
      # 腕の根元
      s = Arm.new(cx, cy, 32, i * (360 / armmax), img, body)
    else
      # 腕
      s = Arm.new(cx, cy, dist, 0, img, parent)
    end
    sprs.push(s) # リストに登録
    parent = s # 次の親として扱う
  end
end

# メインループ
Window.loop do
  break if Input.keyPush?(K_ESCAPE)

  body.update # ボディを移動
  Sprite.update(sprs) # 腕を移動
  
  Sprite.draw(sprs) # 腕を描画
  body.draw # ボディを描画
end
これまた長くなってしまいました。もっと短く、スッキリ書けないものか…。

一応ざっくりと説明を。

今回は、DXRubyの Spriteクラスを使ってみました。Spriteクラスを継承して、ボディ部分を担当するクラスと、腕関節一つ分を担当するクラスを作ったわけです。自分は、Rubyについては初心者なので、こういう書き方でいいのかよく分かってませんが。

腕関節には、誰が親なのか、覚えさせておきます。@parent がソレです。また、親からの距離、親の角度+自分の角度を使って、自分の位置も求めます。

図で描いたほうが分かりやすいですかね…。一応描いてみましたが…。
説明図
この、親、子、孫…という状態が、10個前後ほど、ずっと続いているわけです。

子は、親からの距離、親の角度+自分の持ってる角度で、自分の位置を決めます。図で言えば、小さい四角い点がソレですね。また、スプライト描画の回転中心位置を、この小さい四角の位置にしておけば、各関節が滑らかに繋がっているように見えるはずです。

ひょっとして、位置の求め方が分からない方が居たりするのかもしれないか…。距離と角度があれば、sin関数、cos関数を使って、位置を求めることができますよ。
x座標 = 距離 * cos(角度) + 親の位置 x
y座標 = 距離 * sin(角度) + 親の位置 y
ソース中では、 rad = @angt * Math::PI / 180.0 なんて行もありますけど。これは、度からラジアンへの変換をしています。というのも、プログラムを書く際の sin関数、cos関数は、えてして、度ではなくてラジアンを与えないといけないので…。

それにしても、Ruby って、度とラジアンの変換関数は無いのでしょうかね…? ググってみても、見つかりませんが。

さておき。

もしも、子供達全員が持っている角度が、0度だったら。この仕組みだと、どんな見た目になるでしょうか。…皆でピーンと、一直線になりますね。

子供達が持っている角度が、例えば10度だったら…。下の方に曲がっていく線になるはずです。逆に、全員が、-10度を持ってたら、上の方に曲がっていく線になるでしょう。

そして、子供達全員が持っている角度が、毎フレーム、少しずつ増えていったら…。線の曲がり具合が、時間と共に、グングン変わっていくはずです。

とまあ、こんな仕組みで、あのグルグルはできていたのではないかなあ、と思いますが、本当にコレで正解なのかどうか…。まあ、それらしく動いてるから、コレはコレでOKかなと。

長年、例のアレって、どうやって動いてたのかビミョーに気になっていたのですが。今回もどうにか実証(?)できたので、ちょっぴり嬉しいです。こんなにもお手軽に、実験を可能にしてくれる、DXRubyよ、ありがとう…。

とりあえず、画像とソースも置いときますね。Public Domain ってことで一つ。

_rolltaka.zip

おっと。書き忘れてた。一昨日の記事で、二足歩行の動きを試した際に、IKがどうとか書きましたが。今回のソレは、各関節が角度を持っていて、根元からの角度で位置決めをしていくわけですから…。概念としてはFKに近いのではないかと思います。もちろん、3Dでグリグリ動いちゃう今時のアレコレと比べると、原始的なものですが…。

#5 [pc][neta] Z80のXOR A

ここ数日、DXRubyを使って多関節がどうこうとか書いてますけど。

巷のゲームの画面の中では、3Dでグリグリとモデルが動くのが当たり前の、こんなゴイスな時代に…。こんなの書いてみて何の意味があるんだろうと不安になっていたりもするのです。けして、ドヤ顔で書いてたりはしないです…。

こういうのって、「Z80のXOR A」に近いかもと、チラッと思ってしまったりもするのです。

「Z80のXOR A」ってのは…。昔々、Z80という8bit CPU上で、アセンブラを使ってプログラムを書く際に、「AレジスタをクリアするならXOR Aがベスト」というノウハウがあったのですよ。Aレジスタをクリアする命令は色々あるけど、XOR Aは、命令実行クロック数が一番少ないので一番早く処理が終わる上に、1バイトで済む命令だから容量も食わないのです。以下のページが参考に…なりそうかな…。

_Ticalc Japan :: Z80アセンブラの小技

当時は役に立つノウハウだったけど、今ではさっぱり役に立たないノウハウですよね。コンピュータの世界って、そういう話がゴロゴロしてるわけですけど。

なので、ファミコンその他で動いてたプログラムの仕組みを解説するのって、実は「Z80のXOR A」を説明してるようなものではないか、と不安になるという。いや、たぶん、その不安は、かなり当たってる気がしますけど。

ただ、それでも、多関節のソレなどは、まだ応用が効くほうなのかなとも思えていて。

2Dで動かしてるモノを眺めてる分には、「こんな古いものを…父さん…酸素欠乏症にかかって…」てな感想にしかならないでしょうけど。 等々。

とまあ、そんな感じで、不安になりながらも、そういう理論武装(?)を頭に浮かべながら、その手の話を書いてたりするのでした。

同じモノを眺めていても、スルーしちゃう人と、何かを学び取ってしまう人って居るわけですし。もっとも、自分は前者なので、どんな情報に価値があるのか判断がつかないのですけど…。だったら、とにかくアウトプットしてみたほうがいいのかなと。

2012/12/07(金) [n年前の日記]

#1 [anime][neta][ore_xxxxx] 美少女キャラ化についての夢想妄想

ちと変な夢を見たのです。夢の中でアニメ雑誌を読んでたら、ガイナックスが新作アニメを、という記事があって。タイトルは「ヱクセリヲンG」。「トップをねらえ」に登場した、ヱクセリヲン等の宇宙戦艦、あるいはガンバスターを美少女キャラとしてデザインし直して、学園生活やバトルをさせますよ、みたいな。「さすがガイナックス。1つの作品で何度も儲けるのが上手い」と感心…

…したところで目が覚めたのですが。なんでこんな変な夢見たんだろうと首を傾げながら、ふと気づいたのです。「…アレ? ソレって、トップ2じゃん」と。いや、トップ2は見たことないんですけど。伝え聞いた感じではそういう設定…なんですよね? 違うのかな?

どうしてトップ2があんな感じの設定になったのか不思議だったのですけど。昨今流行りの美少女キャラ化を取り込んだだけの話だったのかと、今頃ようやく気付いた次第。なるほど、時代に合わせてアレンジとは、こういうことか…。

となると。これはEVAにも使えそうだなと。零号機、初号機、弐号機を美少女キャラにして、「ひだまりスケッチ」並みにほんわかふんわりな学園生活をさせる。…いや待て。なんかそういうのってどこぞの漫画雑誌でとうの昔に連載してそうな。自分が知らないだけで既にありそう。下手するとなかよしあたりで連載されていてもおかしくないぞ。「エヴァっこ!」とか「シ・ン・ク・ロ120%」とか、なんかそういうノリのタイトルで…。

逆はダメなのかな。例えば、カレカノをロボットアニメに…

…あー。エヴァ破の最後のあたりって、もしかしてソレだったのか。巨大ロボット同士が手を握り合って、私達、彼氏彼女に…。いや…そういうわけでは…ないよな…うん…。

全然関係ないけど「ヱクセリオンG」じゃなくて「エレクチオンG」というタイトルだと全然違うジャンルの作品になりそうだなと思いました。これを言いたいがために夢の話を書きました。

サンライズロボットアニメを美少女キャラ化。 :

サンライズアニメに登場するロボットも、美少女キャラにできないか…と思ったけれど、ガンダムはMS少女があったし、エルガイムも似た遊びを見た記憶が。おそらく、イデオン、ザブングル、ダンバインあたりも、一度はやられてそうな。

スコープドッグ、レイズナー。バイファム、ドラグナー。トライダーG7、ダイオージャ。勇者シリーズ。そのあたりも美少女キャラ化できないものか。

サンライズアニメ以外はどうだろう。国際映画社の、ブライガー。葦プロの、バルディオス、ゴーショーグン。東京ムービーの、ゴッドマーズ、鉄人28号。タツノコプロの、ゴールドライタン、ヤッターワン、マッハ号。

それを全部集めて、「スーパーロボット大戦萌え」とか「スーパーロボット大戦GIRL」とかそういう…。なんか既に1回ぐらいはそういうネタで作ってるんじゃないのかという気がしてきた。自分が知らないだけで。

カードゲームにするのはどうだろう。アニメに登場するメカを片っ端から美少女化。ラノベの表紙絵描いてる絵描きさんに発注するのも良さそうだけど。いっそ、美樹本絵の美少女バルキリー、安彦絵の美少女ジャイアントゴーグ、あきまん絵の美少女キングゲイナー、などの路線もなかなか…いや…どうなのかな…どうなんでしょう…。でも、なんだかそういう商品も既に存在してそうな気がしてきた。自分が知らないだけで。

楽器を美少女キャラ化。 :

楽器を…ってソレは初音ミクじゃん。

少女の姿をしていない少女キャラ。 :

ロボットその他を、美少女キャラの見た目にしたら、と妄想してきたけど。見た目はそのままで、中身を少女化、あるいは女性化する方向性もあるのだろうなと。そのへん今までどんなものがあったかなと、少し思い出そうとしてみたり。

エクセルサーガというアニメでは、「大宇宙の大いなる意思」というキャラが出ていた記憶が。女性の声で喋るキャラで、他のキャラと肉体関係を持ったり不倫したりしていた。見た目は宇宙なんだけど。…何を言ってるのかわからないと思うけど、見た目は宇宙でした。

美少女戦士セーラームーンの監督さんだった幾原監督は、シェルブリットという小説の中で、美少女宇宙戦艦という設定を出していた。見た目は巨大宇宙戦艦なんだけど、少女の人格を持っているという設定で。…コレ、考えてみたら、キャプテンハーロックのアルカディア号に似ている気も。宇宙海賊船アルカディア号には、ハーロックの戦友、トチローの人格だか意識だかが移植されてるという設定で。TVシリーズにはトチローの娘も出てくるのだけど、娘からすれば、海賊船が父ちゃんです、みたいな感じになるのですかね。

考えてみたら、EVAもソレなのか。巨大ロボットだけど中身母ちゃんです、みたいな感じらしいし。主人公とは人間らしい意志疎通がさっぱりできないから、本当にそうなのか分からないけど。

大林宣彦監督の「HOUSE」も、見たことないけどそういう感じの設定…なのかな? 大きな○○が女性そのものでした、みたいな。水木しげるの漫画にも、そういう設定の妖怪が出てきそうだけど。というか、アニメ版ゲゲゲの鬼太郎で、そういう妖怪を見たような記憶もあるような。…城を女性に喩える、みたいなソレと関係がありそうな気もしてきた。

少女じゃなくて少年だけど。千と千尋の神隠しに登場するハクも、そのあたりなのかな。いや、アレは少年にも変化しちゃうから、方向としては逆か…。自然の中にある巨大なモノを擬人化、なのだろうな。

動物の姿をしている少女キャラ。 :

モノではなく、動物をそのままの見た目で少女化・擬人化する方向もありそうだなと。…いや、獣少女を思い浮かべる人が多そうだけど。そっちじゃない方向で。

山ねずみ(ロッキーチャック)。蛙(けろっこデメタン)。蜂(みなしごハッチ、みつばちマーヤの冒険)。ネズミ(ガンバの冒険、アメリカ産の黒いネズミ)。犬(のらくろ)。猫(銀河鉄道の夜)。…そもそも、日本で作られたチョー古いアニメ、「くもとちゅうりっぷ」もその系統なのかな。

動物、爬虫類、虫、色々あるなと思ったけど。なんだか最近、そういう方向のアニメ作品は、ほとんど無くなってしまった気もします。見た目を人間にする方向なら山ほどあるけれど、そのまま二本足で立たせて人語を喋らせるに留める、てのはあまり無いような。

ああ、だけど、今でもまだ、パンやカツ丼が喋ってるから、そのへんは大丈夫だな…。彼等は動物ではないけれど、ノリは似たようなもんだし。あのノリが絶滅したわけではないのだな。

そういや、あのパン達の世界って、あらゆる食べ物が意志を持って人語を操るわけだけど。考えてみたら、犬だけは、犬の鳴き声そのままなんだよな…。

昔、誰かが、その点を気にしてた記憶が。ヤツがあの世界の特異点じゃないのか。あの世界の理を司ってるのはアイツじゃないのか。みたいなことを…。特異点って何なのか自分には分からんのですが。

ググってみたら、ヤツだけが例外であることを気にしてる人が結構居るみたいで。作者もそれなりに理由を述べてるけど、何かこう…。個人的には、ヤツが世界の黒幕説、を支持したい気もしたり。そのほうが、夢がある。何の夢だか知らんけど。

何にせよ、日本においては、身の回りのあらゆるモノが、人格を持って喋り出す可能性があるのかもしれないなあ、と思い至ったり。昔ならそういう設定は、神様だの妖怪だのとして語られたけど、今は漫画やアニメの中で…ということなのかしら。

殺人道具が美少女キャラ。 :

兵器や殺人道具が美少女キャラになってる設定もあるなと思ったり。

C3 - シーキューブは、 拷問器具が美少女キャラに。「うぽって」は、軍用銃が美少女キャラに。見たことないけど、戦闘機が美少女キャラのアニメもあるとどこかで聞いた記憶も。

個人的には、そのあたりの設定はちと引っ掛かるものが。いや、 拷問器具は現代にそうそうないし、戦闘機は元ネタのスケールが大き目なので現実感が乏しくて対象外なんですけど。銃は…ちょっと…。なんというか…フィクションではないものをフィクションとして捉えてるような気配が企画の根底にあるような気がして、そこが微妙に引っ掛かる…。上手く説明できないですが。

これがもし、日本国内でも軍用銃を持てるのが当たり前で、皆が結構持っている状態なら、身近な道具に対する愛着、もしくはブラックユーモアに満ちた設定としてアリかもしれないと思うんですが。しかし実際には、日本人は銃なんか持ってない。だけど、この世界に、銃は存在していて、場所によっては人命を奪っている。ガンダムのように、現存しないメカとは違う。銃はフィクションではない。フィクションではないのに、それを気軽にフィクションとして扱って、娯楽として見せる行為に、何か怖いモノを感じたりもして。

原爆の開発時、開発者は原爆それぞれに愛称をつけ、まるで擬人化でもしてるかのような扱いをしていた、という話を聞いた記憶があるのですけど。彼等は基本的に、自分達の頭の上にソレが落ちてくるとは思ってなかったはずで。自分達は落とす側で、落とされる側にはならない。彼等にとって、自分達が原爆を落とされる光景は、おそらくフィクションに近かったはず。フィクションだから笑って擬人化できたんじゃないか。これが自分達の生命を奪う展開もあり得るのだと強く認識してたら、それは本当に擬人化できたのだろうかと。…9・11前後のアメリカ内のノリの変化とも関係ありそうな話だと思いますけど。

「このアニメに出てくる種類の銃で、撃ち殺されてる人が、世界には居る…」と思ってしまうと、「こんな設定を見て笑っていてもいいのだろうか…」と不安に苛まれてしまう。やかんや鍋やトマトやキャベツじゃダメなのか。炊飯器や洗濯機やフィギュアやコンピュータじゃダメなのか。何が何でも現存する兵器・武器を美少女にしなきゃ作品にならなかったのか。別の何かでコレをできなかったのか。日本がこのネタ使っていいんだろうか。平和ボケした日本だから兵器をネタにしていいんだ、ではなくて、日本だからこそ違うモノをネタにして楽しませるんだ、という考え方だってアリだったりしないか。とかそんなアレコレを思ったりもして、さてどうなんだろうなと…。どうも上手く説明できないですが…。

まあ、その手の設定だけは、何か引っ掛かるという、それだけの話なんですが。

銃がそのまま登場する作品は全然気にならないのに、銃を擬人化した作品は何故不安になってくるのか、自分自身も実に不可解なんですけど。何かが境界線としてそこにあるんだけど、その正体が分からない…。

ひょっとして、キーワードは「神様」かな? 神様になってもいい物体と、神様になったら困る物体を、無意識に分けてるんですかね? わからんけど。

#2 [nitijyou] でかい地震

PM05:18頃、大きな地震。実際は何秒揺れたか分からないけど、体感では1分以上揺れてた感じで。津波警報も出た。

揺れが続いたとき、「またあのクラスか!?」と思った…。

数日前に、原発絡みの記事で、「まだまだデカイのが来るかもしれんのですよ。古文書にはそういう記録あるんだし」と書いてたけど。素人予想が実証されそうな気配…。まだまだ、この後も、来る可能性が。こんな程度じゃ済まないぜ…。古文書という、先祖の記録を信じるならば…。 *1

津波防災ビデオ映像をメモ。 :

某所で張られてたのでメモ。

_津波防災ビデオ(2007年制作)1/2 - YouTube

50cmの津波でもなめるんじゃねえ、てな映像。こういう映像・教育・知識は、絶対に一度はどこかで目にしておかないといかん気がします。日本に住んでる人間ならば。一度知れば、それだけでも効果絶大な知識だろうし。

「本物」と「余所者」。 :

「日本に住んでるなら見ておくべき」と書いたものの。昔だったら、海を見ることなく生涯を終えた日本人も居たのだろうなと。今は交通機関が発達したから、山奥に住んでても、海沿いまで出かけることがあり得るけれど。

そういった、山奥で暮らしてた人達が、海沿いにも移住し始めて、それで被害が、ということはないのだろうかと疑問が。代々海沿いで暮らしてながら、一族揃って津波をなめてるとか、ちとあり得ない気もするし。本当に海沿いで暮らしてきた人達ならば、どこかの時点で酷い目に遭って、だけどなんとか生き延びて、「津波は気をつけろ。アレはマジヤバいぞ」と子孫に言い伝えを残すのではないか。それが、まともな「家系」、まともな「一族」…そこに住んでた「本物」の人達、「本物」の海の男達、じゃないのかなと。わかりませんが。

海沿いに住んでるのに、父ちゃん母ちゃんが津波の知識を持ってないなら、その一家・一族は、たぶん「偽物」。少し前にその土地にやってきた「余所者」。故に、その土地で暮らし続けるためには ―― その土地で発生する事故を巧みに回避するためには、「本物」の一族と同じ知識を得るべく、これから努力を始めないといけない。何せ「本物」は、親戚や家族が何人も流されるという悲惨な体験の果てに、ようやく、生き残るための知識・ノウハウを得ているわけで。彼等と肩を並べるためには、よほどの努力が…

…と思いきや。嬉しいことに現代は、本やビデオやネットという便利なモノがあるわけで。「本物」の一族があんなに苦労して得た知識を、だらけた姿勢でポテチでも食いながらたった数分ビデオを眺めるだけでゲットだぜ! こりゃお得。美味し過ぎる。何かトラップでもあるんじゃないかと不安になるぐらいに旨い話。

ということで、機会があればその手の情報はどんどん見ておくべきだよなと。見れば見るほど、知れば知るほど、アナタはチョーお得ヨ。コレ見ない手はナイアルヨ。

てなことを思ったりして。何にでも当てはまることかもしれないけど。「学習の高速道路」でしたっけ? それとちょっとだけ重なりそうな話のような気も。…酷い目に遭った先輩達が、せっかく残してくれた記憶や知識があるのだから、役立てないと、なんだかもったいないような。

*1: まあ、古文書のソレは、周期や連動性が不明なので、あてになるのかよソレ、って感じですけど…。しかし、「こういうのが来てもおかしくないんだな。さて、どう対策しようか」てな予想には十分使える記録じゃないかなと。前に起きた地震は、ほぼ間違いなく、またそのうち来るわけだし。いつ来るかは分かんないけど。

2011/12/07(水) [n年前の日記]

#1 [pc] デフラグ中

Windows7 に PerfectDisk 体験版を入れて、ずっと様子を見ていたけれど。どうも Smart なんとかなる配置アルゴリズムのせいか、各ファイルが結構隙間を持った状態で配置されるような気がして。隙間が出来るとその部分に hiberfil.sys などが埋め込まれてしまい、HDDのあちこちに移動不可のファイルが散らばってしまう状態になっている、ような気がしたり。確証はないが。また、起動時その他でファイルアクセスを横取りしているようでもあり、OS起動時間がますます遅くなってる原因にもなってるような気もしたり。

ということで、PerfectDisk は購入しないことにした。Windows7 の初期設定状態とは相性が悪いんじゃないかと。まだ MyDefrag あたりを使って、ギッチギチに詰めたデフラグをしたほうがいいのかも、という気になってきた。

hiberfil.sys はメモリ内容を圧縮しつつHDDに保存するみたいなので、そのせいか断片化がとんでもないことになる。メモリ容量分を事前に専用領域として確保して、その中でやりくりするという作りにはできなかったんだろうか…。まあ、圧縮プログラムはえてして断片化を増長する作りのものが大半なので、HDDの空き容量を無駄に減らさないために圧縮を、と考えていくと断片化だらけになるのは仕方ないのかもしれないし、hiberfil.sys が利用される場面は、休止状態からの復帰と言う、そう頻繁に行われる処理ではないはずで、断片化によるパフォーマンス低下は比較的無視して構わない場面だろうから改善する意味もあまり見出せないと判断されて当然かも。

#2 [anime] 福島でも「けいおん!」第一期が放送され始めた

昔、いきなり二期から放送開始して、「一期はどうしたんだ。基本設定もキャラの性格も全然わかんねえよ」と愚痴を言いながら、それでも結構楽しんで観賞して、だがしかし、おそらく一期は永遠に福島では放送されないのであろうと諦めていたわけで。

なもんで、少し嬉しい反面、だったら一期から順に放送しておけばよかったのになんで今頃なんだよわけわかんねえ、という、微妙にもやもやした気持ちもあり。相変わらずスポンサーがついてない・提供テロップが出てこない状態での放送だけど、これは映画の宣伝みたいなものなんだろうか。

放送時間もちょっと気になる。どうしてBSデジタルでアニメをガンガン流してる時間帯にわざとぶつけてくるんだ…。まあ、BSデジタルではノイタミナが放送されている時間帯だから、「福島でもノイタミナ放送してるよね? 問題無いよね?」という判断かもしれないが。でも自分はBSデジタルのほうも録画しちゃっているのだけど…。NHKのMAGネットもそうだけど、地方にとっては貴重なアニメ関係番組を、どうしてぶつけ合ってお互いに潰し合いをするんだろう。ずらして放送すれば皆が幸せになれるのに。

それはそうと、RD-BZ710にDR録画したソレを見たところ、画質が気になった。SD画質映像を放送しているように見えるが、輪郭に市松模様のノイズらしきものが載っている。昔販売されていた、BT848/BT878使用のアナログキャプチャボードでキャプチャした際によく見かけていたあの奇妙なノイズ。これは RD-BZ710 に原因があるのか、それとも局から放送された段階で既にノイズが載っているのか。どうもよく分からない。

2010/12/07(火) [n年前の日記]

#1 [prog] Bazaarをインストールしてみたり

Windows XP Home SP3 に、バージョン管理ツール Bazaar をインストールして試用してみた。ちなみに、TortoiseSVN がインストール済みの環境。一応共存できているっぽい。

GitやMercurialも興味があるのだけど、日本語ファイル名を使うと問題が起きるとか、ログメッセージに日本語が使えないという問題があったりするらしいので、そのあたりちゃんと対応していると言われる Bazaar を。

試用してみた印象。想像していたよりも、はるかに使える状態のように見えた。素晴らしい。ありがたや。

ダウンロード。 :

_Download - Bazaar Version Control の「Windows」を選ぶと、 _WindowsDownloads - Bazaar Version Control に。2.2.1-3 (bzr-2.2.1-3-setup.exe) が現バージョンらしいけど。どうせなら新しいほうがいいだろうと、 _Bazaar project files : Bazaar に飛んで、bzr-2.3b3-1-setup.exe をDL。

後にコレは間違いだったと分かる。2.3b3-1 ではなく、2.2.1-3 を入れるべきだった。

インストール。 :

bzr-2.3b3-1-setup.exe を実行してインストールする。インストール時、TortoiseBZR (Tortoise Bazaar) は標準でチェックが外れているので、一緒にインストールするようチェックして進める。

インストール後、OSを再起動。タスクトレイに Tortoise Bazaar のアイコンが表示された。

エクスプローラ上で右クリックしたら、Bazaar 関連の項目が増えていた。かなりの部分が日本語化されている。素晴らしい。

初期設定等。 :

_Bazaar の使い方 - Noppi のおぼえがき を参考に作業。
bzr whoami "Your Name <email@example.com>"
を設定。
bzr whoami
で、設定できていることを確認。

エディタも念のために設定しておく。 Winキー+Rを押して、「ファイル名を指定して実行」のダイアログを表示。%AppData%\bazaar\2.0\ を入力してOKボタンをクリック。bazaar.conf というファイルがあるはずだから、エディタ等で開いて編集。自分の場合、xyzzy を使っているので、
editor = "C:\home\xyzzy\xyzzycli.exe"
みたいな感じに。

リポジトリを作成。 :

エクスプローラを起動。「今現在作成・作業をしているアプリ、の開発フォルダ」を選択して右クリック。コンテキストメニューの中から、「Bazaar 初期化」を選ぶ。設定ダイアログが表示される。今回はデフォルトのまま「OK」を押した。

「今現在作成・作業をしているアプリ、の開発フォルダ」の中に、 .bzr というフォルダが作成された。この中に、管理するための情報その他が入るのだろう。だから「なんだコレ? わけわかんねえ」とか言って消しちゃいけない。

Subversion を使っていた時は、リポジトリを入れるフォルダ(?)を、作業用フォルダとは別の場所に作成した記憶があるのだけど。Bazaar の場合は、作業用フォルダの中にリポジトリ相当のソレが出来るらしい。たぶん。

管理するファイルやフォルダを追加。 :

管理したいファイルやフォルダを選択して右クリック → Tortoise Bazaar → 追加、をすると、エクスプローラで見た際、それらファイルやフォルダのアイコンの上に「+」のマークがオーバーレイ表示される。が、 すぐに反映されない場合もあるので焦らない。

この段階では、「これらのファイルやフォルダを、これからバージョン管理したいと思っていますよ」的情報しか設定できてない。実際に、ファイルやフォルダの中身・内容を管理させているわけではない。それらをするには「コミット」が必要。

コミットする。 :

エクスプローラ上で右クリック → Bazaar コミット、を選択。

ファイルやフォルダのツリーリストが表示されるので、コミットしたいファイルやフォルダにチェックを入れる。「Message」欄には、今回のコミットは何を変更したのか等を記入しておく。そしてコミット。

ログを見てみる。 :

エクスプローラ上で右クリック → Tortoise Bazaar → 履歴、を選択。コミットの履歴が表示される。各行(=リビジョン)を選択すれば、どのファイルやフォルダをコミットしたのかが、右下部に表示される。更にそのリスト上で選択→右クリックすれば、差分を表示したり、ファイルの中身を表示したり等が出来る。また、リスト上で何も選択せず、左下の「差分」を押せば、複数のファイルの変更箇所がまとめて表示される。

ファイルを修正してコミットしてみる。 :

何か適当なファイルを少し修正してから、エクスプローラ上で右クリック → Bazaar コミット、を選択。

変更されたファイルがリストアップされているはずなので、コミットしたいファイルにチェックを入れて、コミットする。

履歴を表示してコミットできたことを確認。

差分表示等にWinMergeを使いたいのだけど。 :

_Plugins/qbzr - Bazaar Wiki
WinMerge なら diff に "C:/Program Files/WinMerge/WinMergeU.exe" と設定します。 merge に "C:/Program Files/WinMerge/WinMergeU.exe /e %t %b %o /o %r" と設定します。

Plugins/qbzr - Bazaar Wiki より

参考にして作業してみたのだけど上手くいかない。 bzr qconfig で行けるらしいのだが…エラーが出る…。

beta版だからかな、と思えてきたので、2.3b3-1 をアンインストールして、bzr-2.2.1-3-setup.exe を入れてみた。こっちだとエラーが出なかった。

bzr qlog で表示されるダイアログ?ウインドウ?の「差分」をクリックして表示されるのは、標準で入ってるソレで。alias等を設定して呼び出すにはコマンドラインからじゃないと無理っぽい? と思ったが、diff のタブを選んで設定したら WinMerge で表示できるようになった。

共用リポジトリをTortoise Bazaarで作成。 :

「Bazaar 初期化」を選んで表示されるダイアログで、「新規共有リポジトリを〜」を選べば、bzr init-repo で初期化してくれる模様。

共用リポジトリの下に trunk 等のフォルダを作成して、「Bazaar 初期化」を選んで、「新たな単体ツリーを〜」を選べば、bzr init で初期化してくれる。

ブランチの作り方はよく分からず。Bazaar Explorer を選択・起動して、trunk を選択して、右下のほうにある「ブランチ」を押して、「〜 parent location」と書いてあるところにチェックを入れれば、trunk を親としたブランチが作れることは分かったが、これを Tortoise Bazaar でやる方法がよく分からない。

ひとまず、フォルダ構成を以下のようにした。
ProjectName/  ← 共用リポジトリ(になるのだと思う)
 |
 +- (.bzr/)
 |
 +- trunk/    ← 親となるブランチ
 |   |
 |   +- (.bzr/)
 |   |
 |   +- src/
 |
 +- branches/   ← ブランチを入れておくフォルダ
     |
     +- 0.0.1/    ← ブランチ(0.0.1)
     |   |
     |   +- (.bzr/)
     |   |
     |   +- src/
     |
     +- 0.0.2/    ← ブランチ(0.0.2)
         |
         +- (.bzr/)
         |
         +- src/
「( .bzr/)」は隠しフォルダ。trunk にはメインの開発の流れ、かつ、最新版を入れるらしい。

参考ページ:
_CVS/Subversionを使ったバージョン管理(後編:SVNを使ったバージョン管理) - SourceForge.JP Magazine

2009/12/07(月) [n年前の日記]

#1 [prog] 携帯電話を圏外にするのに一苦労

圏外で通信しようとした場合に、通信エラー画面を表示しないといけないらしい。>その手のアプリ。ということで、圏外になってる状態を実現する必要が。

アルミホイルで携帯実機を巻くと圏外にできる、という情報はあるものの、試してみてもなかなか上手くは行かず。テキトーな箱を引っ張り出して、アルミホイルを3重に巻いてみたりしたけれど、アンテナ3本。ううむ。

結局、携帯本体をアルミホイルで巻いた時のほうが、圏外になりやすいことが判明。しかし、コツが掴めない。携帯実機のどのへんがアンテナ部分になっているのか、それだけでも判れば違うかもしれんが、何も情報がないわけで。うーん。

この手の検証作業を行うための、専用の箱は売られているらしい。が、値段が10万円以上する。厳しい。まあ、ほとんど需要がないだろうから、値段は高くなるわな。フツーに携帯使ってる分には、むしろ圏外になってる状態では困るわけで。

#2 [zatta] mixiを少し巡回

mixiに書き残していたメモを見る限り、2年半ほどアクセスしてなかったらしい…。

ここ2年分の友人達の日記に目を通したり。が、切羽詰まった作業もあるため、途中で切り上げ。…日記全文をメールで配信してくれる設定・仕様とかないのかな。htmlメールにして、広告貼りつけまくりでも構わないから。…自分で巡回アプリを作れという話でもあるのか。

2008/12/07() [n年前の日記]

#1 [windows] Windows XP の電源オプション項目が消えてしまった

なんでやねん。

_電源オプションの電源設定にて設定を保存できなくなる :

これだ。
[電源オプションのプロパティ] 上で、新たな電源設定を [名前をつけて保存] で保存する時に既に設定されている電源設定の名前と同じ名前で保存を繰り返すと、 [会社または自宅のデスク] [ポータブル/ラップトップ] 以外の電源設定が表示されなくなります。

電源オプションの電源設定にて設定を保存できなくなる より

[電源設定] のデフォルト設定と同じ名前で新しい電源設定を保存する場合、レジストリに新規キーが不完全な状態で生成されるため一部のデフォルト設定が表示されなくなります。

電源オプションの電源設定にて設定を保存できなくなる より

回避策

同名での保存をしない

新しい電源設定をすでに登録された名前で保存しようとした場合に、次のエラーメッセージが表示されます。

2 つのリビジョン レベルに互換性がないことを示します

このメッセージが表示された場合、速やかに [キャンセル] を押してください。誤って [OK] もしくは [適用] ボタンを押してしまった場合、以下の方法で回避できます。

不正なレジストリを削除

この操作を行う前に電源オプションのプロパティで、現在の電源設定を [会社または自宅のデスク] か [ポータブル/ラップトップ] に変更しておいてください。

1. [スタート] ボタンをクリックし、[ファイル名を指定して実行] をクリックします。
2. "regedit.exe" と入力し、[OK] をクリックしてレジストリエディタを起動します。
3. 以下のキーを検索します。
HKEY_CURRENT_USER\Control Panel\PowerCfg\PowerPolicies
4. Name や Description といった値を持たないキーを削除します。
5. レジストリエディタを終了します。 (コンピュータの再起動は必要ありません)

電源オプションの電源設定にて設定を保存できなくなる より

#2 [cg_tools] GIMP 2.6.3、ちょっとよくないところがあるな

Windows XP 上で最小化すると、メインウインドウは最小化するものの、ツールボックスが画面に残り続ける。うーん。

ツールボックスのタイトル部分で右クリックして最小化を選べば最小化できることに気づいた。タスクバーに格納されるわけではない・デスクトップの左下に小さくなって残るのが、ちょっと気になるけど。Linux環境で使うことを念頭に置いているソフトだから仕方ないのかなあ。まあ、以前の、全てのウインドウがタスクバーに並ぶ仕様よりは、まだマシ…なのかなあ。よくわからん。

#3 [iappli] マスター提出用バイナリを作成

月曜までにマスター提出相当版を一旦送れという指示が来たのでそのあたりの作業を。

2007/12/07(金) [n年前の日記]

#1 [nitijyou] HDDと変換コネクタとその他を探しに隣の市まで

自転車で。ドアスコープとクリスマスツリーのミラーボールも探しに。

ケーズデンキ、ケイヨーD2、ダイユーエイト、コジマ、ヨドバシカメラ、パソコン工房、を回ってきたけど、お目当てのものがない・送料手数料込みでも通販で買うほうが安かったりで、結局無駄骨というか無駄足というか。

最後のほうは足が動かなくなった。運動不足過ぎるというかなんというか。もうこりごり。

ケイヨーD2でgorillapodを購入。 :

_Joby - Innovate for Life - gorillapod
_JOBY「gorillapod」

1,980円だった。まさかホームセンター系に置いてあるとは思わなかった…。ヨドバシにも置いてあることを期待していたのだけど、ヨドバシにはビデオカメラ用の大きいタイプしかなかった。

350gまで乗せられる、と取扱説明書には書いてあったのだけど。250gの Canon PowerShot A300 を取り付けたら、なんだかジリジリとデジカメの向きが変わってしまう。もっと軽いデジカメを使うことを想定してるのかもしれない。ていうかこれでは若干虚偽の記述っぽいなぁ。>取扱説明書。まあ、机の上に置いたりする分には問題なさそうだけど。

ドアスコープを探したものの :

160度のものはともかく、180度のものはちょっと値段が予想より高かった。パッケージごしに覗いた感じでは、どうも画がボヤけるようでもあり。

2006/12/07(木) [n年前の日記]

#1 [nitijyou] HDD整理中というかデフラグ中

デフラグの速度はどうにかならんものか。HDDのヘッドが1つしかないから仕方ないのだろうか。

#2 [anime] NANA、コップの割れる回

ベッドのスプリング→苺のコップへの流れに感心。コップというアイテムに人間関係を重ねてるあたりも定番ではあるんだろうけど上手いなと。

「中出し」「外出し」等の書き文字? テロップ?が画面に映って笑ってしまった。どんなアニメなんだよ! つーかこれって一般向けアニメなんだろうか。深夜枠だから流せてるのかしら。

2005/12/07(水) [n年前の日記]

#1 [nitijyou] チラシの件で相手先にお邪魔してきた

メールで連絡が来てたので、PM6:00頃にお邪魔してきたり。サイト上のチラシ修正が2点、作成1点、Word or Excel での作成が1点。

帰宅後、簡単そうな修正作業だけは終わらせた。

次回行くときはCD-Rやチラシの原本等を持っていかないと。すっかり失念してた。

dl、dt、dd にcssを適用してテーブルを作るやり方がよくわからなかったり :

float:left; 等を使ってやってみたのだけど、IE と Mozilla Firefox で結果が違う。width や margin-left の設定すべき値が全然違うなぁ…。

dd の margin-top にマイナス値を設定する方法も試したけど、Mozilla Firefox や Opera はともかく、IEでは外側に存在するタグの表示領域がおかしくなってしまう。うーむ。

この記事へのツッコミ

Re: チラシの件で相手先にお邪魔してきた by Kuro    2005/12/13 22:09
ん… table を使えばいいのでは…じゃだめなんですかね。
Re: チラシの件で相手先にお邪魔してきた by mieki256    2005/12/14 09:45
> table を使えばいいのでは

それだ!

いや、cssを無効にしたときの文書構造をちゃんとさせておきたい、
とこだわってしまうもので、ついついtableは避けてしまいがちなのですが、
レイアウト優先であれば、
tableを使ったほうが早いし間違いがない、ですよね。

クライアント様(?)にはこだわりはないんだから、
table、使っちゃおうかなぁ…。なんとも判断に悩むところです。

#2 [nitijyou] プリンタのインクカートリッジを買ってきた

最近プリンタのインクが出てこない。自分で詰め替えたものだから、気泡等が入ってしまったのだろうか。あるいは、カートリッジのスポンジが劣化してしまってインク吸収具合がよろしくなくなってるとか。

ということで、K's電器で純正カートリッジを購入。EPSON PM-3000C 用。2個セットしか売ってなかった。3,000円近い値段。…高いなぁ。

次回、ヨドバシカメラあたりに行った際にでも、詰め替え用のインクを買ってくることにしよう。純正カートリッジしか使用してなかった頃は、クリーニングだけで1本消費してしまう状態がたまにあったわけで。その点、詰め替えインクなら多少は安く上がるかなと。

2004/12/07(火) [n年前の日記]

#1 [nitijyou] 親父さんが眼科に行くので一緒に同乗

今回は瞳孔を開く薬とやらをつけなかったそうで。結局オイラ自身は運転せず。親父さん自身が運転して帰ることに。

#2 [pc] DVD-Rドライブを購入

眼科の帰り、パソコン工房に寄って、購入。LG製GSA-4163B。バルク品。\12,800。ちょっと高いような気もするけど、送料や手数料を考えたら、このくらいになりそうだし。

#3 [pc] キーボードを購入

裏面を見る限りでは、Chiconyなる会社の製品っぽい。KB-9810 とある。\791。この値段なら、まあ、失敗しても。

店頭に置いてあった安いキーボードのほとんどは、カーソルキーのすぐ上にPOWERボタンやSLEEPボタンが配置されてるものばかり。選択肢が少ない…。

#4 [pc] 郡山安積町にあるというMacのソフトを売ってるらしいお店をようやく見つけました

システムブレインというお店。
_教えてもらった場所 に、ありました。
セブンイレブンと郡山消防署のすぐ近く
なるほどたしかに、セブンイレブンが目印ですな。

行ったときはシャッターが閉まってて、さては潰れてしまったかと思いましたが。<オイ。しばらくウロウロしてたらシャッターが開きました。時間的に、早く行き過ぎてただけみたい。ちゃんと営業してるようであります。

店内には入りませんでした。まだ開店時間じゃなさそうだったし。オイラ自身はMacを持ってない人ですし(爆) とりあえず、場所が判って満足。

#5 [mozilla] FirefoxにTBEを入れ直した

他の拡張機能では、設定が思ったようにできないわけで。やっぱりTBEが必要ナリ。他の拡張機能で代替してみても、軽快になった感触もなかったし。

#6 [cg_tools] Windows版 GIMP 2.0.5 + GAP 2.0.2 でDOS窓が開いてしまう件を調べてみたりしたけれど

Windows XP Home SP2 上で、GTK+ 2.4.10 + GIMP 2.0.5 + GAP 2.0.2 を使おうとしたのだけど。GAPのメニュー項目を呼び出すと、必ずDOS窓(? DOSウインドウ?)が開いてしまう。DOS窓上に、何かメッセージが表示されるわけでもなく。ただ、DOS窓が開く。気になる。

GIMP 1.2 も含めて、GIMP 2.0.5、GTK+ 2.4.10、GAP 2.0.2 をアンインストール。GIMP 1.2 は入れない状態で、GIMP 2.0.5 + GTK+ + GAP をインストールしてみたり。…症状変わらず。

現在の Windows版 GIMP 2.0.5 では、GAPは使えないものと考えたほうがいいのかしら。ただ、GAPの情報を検索してみても、全く見当たらないんだよなぁ…。さては自分の環境のみで起きてる不具合なのか。あるいは、Windows上でGAPを使う人は居ない=不具合報告が出ないのか。あるいは英語がダメダメな自分だから不具合回避の情報を見つけられないだけか。

いっそ、coLinuxでも入れて動かしてしまおうか>GIMP。

GIMP2.0.5のメニューが文字化けしてしまった :

アンインストール・再インストールをしていたら、いつのまにかメニューの文字が明朝体に。うーん。

2003/12/07() [n年前の日記]

#1 白い巨塔の原作本を読んだ

面白いけど、この世界が嫌になる。

12時間ひたすら読んで疲れたのでもう寝ます。

2002/12/07() [n年前の日記]

#1 ADSLの上りと下り

ADSLの上りと下りって、別々の周波数を使ってるから、同時に出来るだろうと思ってたんですが。
自分、勘違いしてるような気がしてきました。
ISDNは全二重だから同時に出来るけど、ADSLは半二重だから〜、とか見かけたんです。ということは…?

そのへんを解説してるページが無いか検索してみたんですが、
ADSLの上りと下りを同時に使った場合について、言及してるページが全く見つからないのです。
下りの速度、あるいは上りの速度を、それぞれ単独で測定して言及してるページは良く見かけるんですが。
もしかしてこのあたり、もの凄く初歩的な事?
いや、だったら尚更どこかで解説してるのでは。
たぶん、上り・下りを同時にしてる人ってメチャクチャ少ないんだろうな。

2001/12/07(金) [n年前の日記]

#1 肩が痛い

チラリ雪。


FAXソフトを使えるようにしたいとの相談を受け、車で外出。
送信は出来るようになったんだけど、受信が今一つ不明。
FMVって電源入れっぱなしじゃないとFAX受信できないのかな。
内蔵モデムにケーブル繋がせてしまったけど…
ISDNのTA+DSUでFAX送受信出来るんだろうか。
使ったこと無いからよくわかんないなぁ…


帰り、買い物してたら、右肩がピシッと。
それからずっと、首と肩が痛い。
車の運転で肩に力が入ってたせい?
あるいは、昨日のペン入れ作業の影響か…


寝てなかったので、帰ってきてから爆睡。

2000/12/07(木) [n年前の日記]

#1 謎のBIOS設定

「BIOS設定の『CPU Level 2 Cache ECC Check』を、『Disabled』にするといいかも」
との情報をいただき、詳細を知りたくてネットを検索。
…謎です。情報が混乱してる。
「通常は有効」「有効にすると遅くなるから無効」「ECCメモリが無いと効果無し」等…どれが正しいのやら。

他のBIOS設定もよくわからなくなってきてたり。
PNP OS InstalledはYesにするもんだと思ってたけど。
「WindowsXXは不完全なサポートしかしてない。よってNoにすべき」
という情報も見かけた。

とりあえず今のところは、各ソフトをサクサクとインストールできるぐらいの状態なんですが >メインマシン
ただ、いつまた突然不安定になるのか、それが怖い。
次に不安定になったら…CPUを元に戻そうか…

安定してる原因として考えられるのは…
1.Cache ECC〜を無効にしたから。
2.U-ATA/100対応ケーブルに交換したから。
3.拡張ボードを一つずつ認識させたから。
4.各ドライブへの電源の分配の仕方を変えたから。
…さてどれでしょう?

4番だったら怖い。
電源容量が足りてないってことだから。
使い方によっては、いつ不安定になっても不思議じゃない。

5.実は知らない間にCPU変換カードが抜けかかってたのを治してた。
…って可能性も否定できない。
悲しいかな、MS-6163とMS-6905Master(変換カード)は、ガッチリ固定できない形状になってるのであります。
同じメーカのパーツなのに、どういうことなんだ。
もしこれが原因だったなら…
CPU-FANという物理的に振動を作り出すパーツがいつも稼動してるわけだし、それによっていつ抜けかかってもおかしくない。

ガムテープでも張って固定してみようか。
現代科学技術の粋を集めたコンピュータが、最終的にはガムテープの存在により活躍できるという…
デジタルとアナログのたしかな融合の姿が今ココに。

…勘弁してくれ (TДT;)

1999/12/07(火) [n年前の日記]

#1 (NoTitle) H氏の掲示板に貼りつ...

H氏の掲示板に貼りつけるべく、キャプチャしてました。Photoshop上でバッチ処理のありがたさを噛み締めつつ切り抜きや画像連結した後、BMPとPNGで保存。
ところが。
Susieで表示を確認したところ事件発生。PNGの画像が異様に暗い。しかしPhotoshopで開くとBMP、PNG、どちらも同じ明るさ。さてこれは一体? てっきりPhotoshopのカラー設定を何か間違えているのだろうと色々調べたのですが、それらしい設定は見つからず。試しにBTJ32やPngSaverというBMP→PNG変換可能なフリーソフトでPNG作成してみたら、こちらだと両方同じ明るさに表示される。なんだ? 何が起きてるの?
で。
数時間ゴチャゴチャ試してわかったこと。
PNGはファイルにガンマ値を内包する事ができるのですが、BTJ32等では記録せず、Photoshopでは記録する、と。また私の環境でのSusie-PNG用プラグイン設定ではファイル内部にガンマ値があった場合それを反映して表示するような設定になっていた…そして直接の原因は、どうもSusieプラグインとPhotoshopでは、内包されたガンマ値の取得・算出の仕方が違っていること、らしいのです。さてどっちかバグっているのか。もしくはどちらもそれなりに正しい仕様なのか。謎です。
んで。
結局Susieプラグイン側を「ファイル内部のガンマ値は無視」に設定することで当面この件については考えないことにしましたーってわけにはいかないのですなコレが。万が一Photoshop側の仕様に問題ありならあちこちに被害が出そうです。例えばIE4、NN4以降のブラウザはPNGに対応しているらしいのですが、これらのブラウザがどういう解釈でガンマ値を扱っているのか、それによって今後の対応の仕方を変えていかなければならん、といった具合です。
つーか現状ではPhotoshopでPNG保存しなければすむ話ですな。怪しいデータはつけないに限る。当分PNG変換にはBTJ32、PngSvaerを使っていこうかなと思いつつ窓の外のチラチラ降る雪を眺めている今日この頃なのでしたマルチ萌え

以上、25 日分です。

過去ログ表示

Prev - 2024/04 - Next
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30

カテゴリで表示

検索機能は Namazu for hns で提供されています。(詳細指定/ヘルプ


注意: 現在使用の日記自動生成システムは Version 2.19.6 です。
公開されている日記自動生成システムは Version 2.19.5 です。

Powered by hns-2.19.6, HyperNikkiSystem Project