mieki256's diary



2024/01/11(木) [n年前の日記]

#1 [prog] C言語で宇宙飛行スクリーンセーバっぽい描画をするプログラムを書いてみた

_先日、 Python + PyOpenGL を使って、宇宙飛行スクリーンセーバ(ssstars.scr)っぽい描画をするスクリプトを書いたのだけど。ソレを、C言語 + OpenGL (+ freeglut) 用に移植してみた。

環境は、Windows10 x64 22H2 + MinGW (gcc 6.3.0) or MSYS2 MINGW64 (gcc 13.2.0) + freeglut 3.0.0 or 3.4.0-2。

ソースその他 :

ソースが長くなってしまったので、gist に置いておく。

_Like ssstars screensaver for C and OpenGL

一応ココにも置いておくけど…。

_01_ssstars_opengl.c
_Makefile.txt
_texture.h
_texture.png

stbライブラリ(stb_image.h) を使ってpngを読み込んでいるので、ビルドには stb_image.h も必要。入手して、.c と同じ階層に置く。

_stb/stb_image.h at master - nothings/stb
_nothings/stb: stb single-file public domain libraries for C/C++

ビルド :

Makefile も用意したので、MinGW (gcc 6.3.0) が使える状態で make と打てば、01_ssstars_opengl.exe が生成される。

実行結果 :

01_ssstars_opengl.exe を実行すると以下のような感じの見た目になる。

今回のポイント :

今回書いたプログラムのポイントは…。
  • exeファイルの中にpng画像を含めてみた。これで、画像を描画するプログラムも、exeファイル1つを配布するだけで済む。別途、画像ファイルまで配布しなくて良い。
  • メモリ上(exeファイル内)のpng画像バイナリを読み込んで OpenGLのテクスチャとして利用している。

exeファイルにpng画像を含めるあたりは、xxd を使って、バイナリファイルをC言語のヘッダファイルの状態に変換して、#include で .c に内包してしまうことで実現してる。

_xxdというコマンドがあることを知った - mieki256's diary

安直かもしれないけれど、確実と言えば確実かなと…。ただ、バイナリのファイルサイズが大き過ぎる場合は問題が出てくるかもしれない。その場合は objcopy を使うことになるのかも。

_objcopyについて調べていた - mieki256's diary

メモリ上のpng画像バイナリを読み込むあたりは、stbライブラリ(stb_image.h)を使用。

#2 [windows] WindowsUpdateが0x80070643エラーを出したので回復パーティションサイズを増やしてみた

Windows10 x64 22H2上で、WindowsUpdate が 0x80070643 エラーを延々出し続ける状態になってしまった。

ググってみたところ、回復パーティションのサイズが足りないと、件のエラーが出るらしい…。なんじゃそりゃ…。

_Windows Update KB5034441 0x80070643 エラー - FF11どらプリを心待ちにしている、わしの倉庫
_KB5034441が0x80070643エラーで失敗するとの不具合報告が多数。Windows10にて | ニッチなPCゲーマーの環境構築Z

なんともふざけた話だなと。と言うのも、自分、去年の年末、Windows10を再インストールしていて。その際、各パーティションサイズについては、Windows10のセットアップディスクに任せて、自動でサイズを切らせていたわけで…。

しかし、デフォルトでは回復パーティションのサイズが500MB+αぐらいしかなくて、「オイオイ。そのサイズで大丈夫か?」「たしか以前、回復パーティションのサイズが足りなくて不具合を起こしていた話を目にしたぞ?」と不安になったものの、「最新のセットアップディスクが『このサイズで十分ですよ』と処理しているのだから、まあこれでも大丈夫なのかなあ」とそのままにしてしまったわけで…。

やっぱりダメじゃねえか! ふざけんな! 「このサイズで十分ですよ」ってお前コレ全然足りてないやんけ! 案の定こんなトラブル起こしやがって! ムキー!

デフォルト状態でインストールするとこうして必ず不具合を起こすことになる、この状況はマズいよなあ。どうして最初から2GBぐらい確保するように修正しておかないのかなあ。一体何をやってるんだ、Microsoft。

それはともかく。このまま放置していてもずっとエラーを出し続けて、他の WindowsUpdate が処理されない状態に陥りそうな気がする…。回復パーティションサイズを増やす方法については、公式に記事が公開されてるらしいので、一応作業してみることにした。

手順をメモ :

作業手順は、以下の英文記事で紹介されているらしい。

_KB5028997: Instructions to manually resize your partition to install the WinRE update - Microsoft Support

DeepLで翻訳しながら作業を進めていった。

何をやっているのかをざっくり説明すると、以下のようなことをしているようだなと…。
  1. WinRE(回復パーティション)を無効にする。
  2. OSが入っているパーティション(Cドライブ)のサイズを少し縮小する。
  3. 回復パーティションを削除。
  4. 回復パーティションを再作成。この時、Cドライブを縮小した分、回復パーティションのサイズが増える。
  5. 回復パーティションをフォーマット。
  6. WinREを有効化。

注意点その1。上記の流れを見れば分かるように、Cドライブのすぐ後ろに回復パーティションがあることを前提にして作業している。もし、そういうパーティション構成になってなかったら、この作業はできない。まあ、回復パーティションの直前に、サイズを縮小できそうなパーティションがあれば、どうにか作業できるだろうけど…。

注意点その2。Cドライブは空き容量がそれなりにあること。空き容量がほとんど残ってなかったり、パーティションの後ろのほうに移動できないファイル等が存在しちゃってると、パーティションサイズを縮小できない。

注意点その3。この作業は、Windows10が通常モードで動いてる状態で行う。最初、「この手の怪しい作業はセーフモードで行ったほうが安全かなあ」とセーフモードで立ち上げて作業していったら、「セーフモードでこの操作はできないぞ」と拒否られてしまった。

ということで、前述の記事を引用、かつ、DeepLの翻訳結果も載せつつ、作業結果も一応メモしておきます。あくまで自分の場合はこうなったということで…。やってみて何かあっても自己責任ってことで。

1. Open a Command Prompt window (cmd) as admin.
1. 管理者としてコマンドプロンプトウィンドウ(cmd)を開く。

デスクトップ左下の検索欄に「cmd」と打ち込めば「コマンドプロンプト」というアイコンが出てくるので、右クリックして「管理者として実行」を選択。


2. To check the WinRE status, run "reagentc /info" .
2. WinREの状態を確認するには、reagentc /info を実行してください。

If the WinRE is installed, there should be a “Windows RE location” with a path to the WinRE directory.
WinREがインストールされていれば、"Windows RE location "にWinREディレクトリへのパスがあるはずです。

An example is,
例を挙げよう、

"Windows RE location: \\?\GLOBALROOT\device\harddisk0\partition4\Recovery\WindowsRE."

Here, the number after “harddisk” and “partition” is the index of the disk and partition WinRE is on.
ここで、"harddisk "と "partition "の後の数字は、WinREがあるディスクとパーティションのインデックスである。

以下はコマンドを打った際の結果。
>reagentc /info
Windows 回復環境 (Windows RE) およびシステム リセット構成
情報:

    Windows RE の状態:         Enabled
    Windows RE の場所:         \\?\GLOBALROOT\device\harddisk0\partition4\Recovery\WindowsRE
    ブート構成データ (BCD) ID: 73d26c46-9440-11ee-beb5-82ba171add91
    回復イメージの場所:
    回復イメージ インデックス: 0
    カスタム イメージの場所:
    カスタム イメージ インデックス: 0

REAGENTC.EXE: 操作は成功しました。

たしかに、「\\?\GLOBALROOT\device\harddisk0\partition4\Recovery\WindowsRE」という場所が表示された。harddisk 0、partition 4 の位置に WinRE があるようだなと…。


3. To disable the WinRE, run "reagentc /disable"
3. WinREを無効にするには、reagentc /disable を実行します。
>reagentc /disable
REAGENTC.EXE: 操作は成功しました。

>reagentc /info
Windows 回復環境 (Windows RE) およびシステム リセット構成
情報:

    Windows RE の状態:         Disabled
    Windows RE の場所:
    ブート構成データ (BCD) ID: 00000000-0000-0000-0000-000000000000
    回復イメージの場所:
    回復イメージ インデックス: 0
    カスタム イメージの場所:
    カスタム イメージ インデックス: 0

REAGENTC.EXE: 操作は成功しました。

WinREは無効になった模様。


4. Shrink the OS partition and prepare the disk for a new recovery partition.
4. OSパーティションを縮小し、新しいリカバリーパーティション用にディスクを準備する。

a. To shrink the OS, run "diskpart"
a. OSを縮小するには、diskpart を実行します。
>diskpart

Microsoft DiskPart バージョン 10.0.19041.3636

Copyright (C) Microsoft Corporation.
コンピューター: HOGEFUGA

DISKPART>

ディスクのパーティションを操作するツール、diskpart が起動。「DISKPART>」と表示して入力待ちの状態になった。


b. Run "list disk"
b. list disk を実行する。
DISKPART> list disk

  ディスク      状態           サイズ   空き   ダイナ GPT
  ###                                          ミック
  ------------  -------------  -------  -------  ---  ---
  ディスク 0    オンライン           476 GB  1024 KB        *
  ディスク 1    オンライン          1863 GB  1024 KB
  ディスク 2    オンライン           238 GB      0 B

自分のPCは、SSD、HDD、SSD の3つのストレージを繋いであるので、ディスクが3つリストアップされた。


c. To select the OS disk, run "sel disk<OS disk index>"
c. OSディスクを選択するには、"sel disk<OSディスクインデックス>" を実行します。

This should be the same disk index as WinRE.
これは WinRE と同じディスクインデックスでなければならない。
DISKPART> sel disk 0

ディスク 0 が選択されました。

DISKPART> list disk

  ディスク      状態           サイズ   空き   ダイナ GPT
  ###                                          ミック
  ------------  -------------  -------  -------  ---  ---
* ディスク 0    オンライン           476 GB  1024 KB        *
  ディスク 1    オンライン          1863 GB  1024 KB
  ディスク 2    オンライン           238 GB      0 B

「list disk」をしてみると、「ディスク 0」の左側に「*」が表示されている。「現在、ディスク0 が対象になってますよ」という記号なのだろう。この「*」が無かったら、一体どこのディスクを対象にして処理してるのか分からないのでちょっと怖い。


d. To check the partition under the OS disk and find the OS partition, run "list part"
d. OSディスク内のパーティションを確認し、OSパーティションを見つけるには、list part を実行します。
DISKPART> list part

  Partition ###  Type                Size     Offset
  -------------  ------------------  -------  -------
  Partition 1    システム               100 MB  1024 KB
  Partition 2    予約                  16 MB   101 MB
  Partition 3    プライマリ              476 GB   117 MB
  Partition 4    回復                 564 MB   476 GB

各パーティションのサイズからして、Partition 3 がCドライブ(OSが入ってるドライブ)で、Partition 4 が回復パーティションになっている。


e. To select the OS partition, run "sel part<OS partition index>"
e. OSパーティションを選択するには、sel part<OSパーティションインデックス> を実行します。
DISKPART> sel part 3

パーティション 3 が選択されました。

DISKPART> list part

  Partition ###  Type                Size     Offset
  -------------  ------------------  -------  -------
  Partition 1    システム               100 MB  1024 KB
  Partition 2    予約                  16 MB   101 MB
* Partition 3    プライマリ              476 GB   117 MB
  Partition 4    回復                 564 MB   476 GB

Cドライブを選択した。Partition 3 の左側に「*」が表示されている。「このパーティションが対象ですよ」ということだろう。


f. Run "shrink desired=250 minimum=250"
f. shrink desired=250 minimum=250 を実行する。

ここで、shrink というコマンドを使って、Cドライブのパーティションサイズを縮小する。元記事は 250MB ほどCドライブを縮小しているけれど、また似たような不具合に遭遇したら面倒臭いので、この際、回復パーティションを2GBぐらいにしてしまいたい。Cドライブを1500MBほど縮小して、その分を回復パーティションに回してやることにする。

DISKPART> shrink desired=1500 minimum=1500

ボリュームは、次の方法で正常に縮小されました: 1500 MB

SSDを対象にして処理をしたので、体感では数秒で処理が終わってくれた。HDDが対象の場合は…どのくらい時間がかかるのやら…。

余談。セーフモードでこの処理をすると、以下のように拒否られて、先に進めなくなる。Windows10を通常モードで立ち上げた状態で作業すること。
DISKPART> shrink desired=1500 minimum=1500

DiskPart にエラーが発生しました: このサービスはセーフ モードで開始できません
詳細については、システム イベント ログを参照してください。

DISKPART> exit

DiskPart を終了しています...


g. To select the WinRE partition, run "sel part<WinRE partition index>"
g. WinREパーティションを選択するには、sel part<WinREパーティションインデックス> を実行します。
DISKPART> list part

  Partition ###  Type                Size     Offset
  -------------  ------------------  -------  -------
  Partition 1    システム               100 MB  1024 KB
  Partition 2    予約                  16 MB   101 MB
* Partition 3    プライマリ              474 GB   117 MB
  Partition 4    回復                 564 MB   476 GB

DISKPART> sel part 4

パーティション 4 が選択されました。

DISKPART> list part

  Partition ###  Type                Size     Offset
  -------------  ------------------  -------  -------
  Partition 1    システム               100 MB  1024 KB
  Partition 2    予約                  16 MB   101 MB
  Partition 3    プライマリ              474 GB   117 MB
* Partition 4    回復                 564 MB   476 GB

回復パーティションを選択して、削除していく。回復パーティション (Partition 4) の左側に「*」が表示されている。たしかに選択しているぞ、と…。

ここで間違ってCドライブを選択したままだったりすると、Cドライブをまるっと削除することになるので注意。マジで注意。本当に注意。しっかり確認してから先に進もう。マジで。


h. To delete the WinRE partition, run "delete partition override"
h. WinREパーティションを削除するには、delete partition override を実行します。
DISKPART> delete partition override

DiskPart は選択されたパーティションを正常に削除しました。

DISKPART> list part

  Partition ###  Type                Size     Offset
  -------------  ------------------  -------  -------
  Partition 1    システム               100 MB  1024 KB
  Partition 2    予約                  16 MB   101 MB
  Partition 3    プライマリ              474 GB   117 MB

回復パーティションがまるっと全て消滅した。


5. Create a new recovery partition.
5. 新しい回復パーティションを作成する。

a. First, check if the disk partition style is a GUID Partition Table (GPT) or a Master Boot Record (MBR).
a. まず、ディスクのパーティションスタイルがGUIDパーティションテーブル(GPT)かマスターブートレコード(MBR)かを確認します。

To do that, run "list disk".
そのためには、list diskを実行する。

Check if there is an asterisk character (*) in the "Gpt" column.
"Gpt"列にアスタリスク文字(*)があるかチェックする。

If there is an asterisk character (*), then the drive is GPT.
アスタリスク文字(*)がある場合、ドライブはGPTです。

Otherwise, the drive is MBR.
そうでなければ、ドライブはMBRである。
DISKPART> list disk

  ディスク      状態           サイズ   空き   ダイナ GPT
  ###                                          ミック
  ------------  -------------  -------  -------  ---  ---
* ディスク 0    オンライン           476 GB  2065 MB        *
  ディスク 1    オンライン          1863 GB  1024 KB
  ディスク 2    オンライン           238 GB      0 B

表示がずれているけれど、「GPT」のあたりに「*」がついている。つまり、このディスクはGPTで管理されている。


i. If your disk is GPT,
i. ディスクが GPT の場合,

run "create partition primary id=de94bba4-06d1-4d40-a16a-bfd50179d6ac"
create partition primary id=de94bba4-06d1-4d40-a16a-bfd50179d6ac を実行して

followed by the command
というコマンドに続いて

"gpt attributes =0x8000000000000001"
DISKPART> create partition primary id=de94bba4-06d1-4d40-a16a-bfd50179d6ac

DiskPart は指定したパーティションの作成に成功しました。

DISKPART> gpt attributes =0x8000000000000001

選択された GPT パーティションに DiskPart で属性を割り当てました。

今回は GPT のディスクなので、上記のコマンドを打った。MBR の場合は別のコマンドを打つ。ちなみに、回復パーティションには、「de94bba4-06d1-4d40-a16a-bfd50179d6ac」というGUIDをセットする、という取り決めになっているらしい。何にせよ、回復パーティション用のパーティションを作成できた。


ii. If your disk is MBR, run "create partition primary id=27"
ii. ディスクがMBRの場合、create partition primary id=27 を実行する。

今回は、MBRのディスクじゃなかったので、この作業はしなかった。ディスクが MBR なら、このコマンドを打つ。らしい。


b. To format the partition, run 'format quick fs=ntfs label="Windows RE tools"'
b. パーティションをフォーマットするには、format quick fs=ntfs label="Windows RE tools" を実行します。
DISKPART> list part

  Partition ###  Type                Size     Offset
  -------------  ------------------  -------  -------
  Partition 1    システム               100 MB  1024 KB
  Partition 2    予約                  16 MB   101 MB
  Partition 3    プライマリ              474 GB   117 MB
* Partition 4    回復                2065 MB   474 GB

DISKPART> format quicks fs=ntfs label="Windows RE tools"

このコマンドに指定した引数は無効です。
このコマンド タイプの詳細については、「HELP FORMAT」と入力してください。

パーティションを作成しただけでは使えないので、フォーマットをかけるわけだけど。処理が拒否られて焦った。よくよく確認したら、quick と打つべきところを quicks と打っていた。DeepL の翻訳結果が、当初 quick を quicks に書き換えちゃっていたので…。自動翻訳はそういうことが起きたりするから気を付けないといけない。コマンドをコピペする時は、翻訳前の元記事からコピペすること。

DISKPART> FORMAT FS=NTFS LABEL="Windows RE tools" QUICK

  100% 完了しました

DiskPart は、ボリュームのフォーマットを完了しました。

回復パーティションを NTFS でフォーマットできた。


6. To confirm that the WinRE partition is created, run "list vol"
6. WinREパーティションが作成されたことを確認するには、list vol を実行します。
DISKPART> list vol

  Volume ###  Ltr Label        Fs    Type        Size     Status     Info
  ----------  --- -----------  ----  ----------  -------  ---------  --------
  Volume 0     R                       DVD-ROM         0 B  メディアなし
  Volume 1     C                NTFS   Partition    474 GB  正常         ブート
  Volume 2                      FAT32  Partition    100 MB  正常         システム
  Volume 4     D   DATADRV      NTFS   Partition   1863 GB  正常
  Volume 5     X   XDRV         NTFS   Partition    238 GB  正常
* Volume 6         Windows RE   NTFS   Partition   2065 MB  正常         非表示

Volume 6 に、Windows RE が割り当てられてる。パーティションサイズも2GBぐらいになっている。上手く行ってるように見える。


7. To exit from diskpart, run "exit"
7. diskpart を終了するには、exit を実行します。
DISKPART> exit

DiskPart を終了しています...

diskpart を抜けた。


8. To re-enable WinRE, run "reagentc /enable"
8. WinREを再度有効にするには、reagentc /enable を実行します。
>reagentc /enable
REAGENTC.EXE: 操作は成功しました。

WinREを有効にしたぞ、と。


9. To confirm where WinRE is installed, run "reagentc /info"
9. WinREがどこにインストールされているかを確認するには、reagentc /info を実行してください。
>reagentc /info
Windows 回復環境 (Windows RE) およびシステム リセット構成
情報:

    Windows RE の状態:         Enabled
    Windows RE の場所:         \\?\GLOBALROOT\device\harddisk0\partition4\Recovery\WindowsRE
    ブート構成データ (BCD) ID: c072bb99-b00d-11ee-a1fc-a01a7839d147
    回復イメージの場所:
    回復イメージ インデックス: 0
    カスタム イメージの場所:
    カスタム イメージ インデックス: 0

REAGENTC.EXE: 操作は成功しました。

元の状態になっているぞ、と。

これで、回復パーティションのサイズを増やすことができた。たぶん。


Note: If creation failed or you did not want to extend the WinRE partition,
注:作成に失敗した場合、またはWinREパーティションを拡張したくない場合、

run "reagentc /enable" to re-enable WinRE.
reagentc /enable を実行し、WinREを再有効化する。

途中で元の状態に戻したくなった時は、reagentc /enable を打って、WinRE を有効にすればいい。実際、セーフモードで作業して失敗した時は、以下を打って元に戻したりもした。
>reagentc /enable
REAGENTC.EXE: 操作は成功しました。

>reagentc /info
Windows 回復環境 (Windows RE) およびシステム リセット構成
情報:

    Windows RE の状態:         Enabled
    Windows RE の場所:         \\?\GLOBALROOT\device\harddisk0\partition4\Recovery\WindowsRE
    ブート構成データ (BCD) ID: c072bb97-b00d-11ee-a1fc-a01a7839d147
    回復イメージの場所:
    回復イメージ インデックス: 0
    カスタム イメージの場所:
    カスタム イメージ インデックス: 0

REAGENTC.EXE: 操作は成功しました。

さておき、この作業をしたメインPC上では、件の WindowsUpdateエラーが解消された。これでなんとかなったかもしれない…。

余談。この状況はヤバい :

一応作業できたっぽいので一安心したけれど。どう考えてもこんな作業、そのへんの一般的なWindows10ユーザができるとは思えないのですが…。少なくともウチの親父さんはこんな作業を絶対にできない…。

間違って作業したらOSがまるっと削除されたりするから、この状況はとてもヤバい気がする…。

2024/01/12追記 :

Windows10 x64 22H2をインストールしてあるサブPCでも、WindowsUpdateで同じエラーが出て、回復パーティションサイズも同じように500MB+αしかなかったので、同じ作業をして回復パーティションサイズを2GBにしてみた。

サブPCのディスクはGPTじゃなくてMBRだったけど、件の記事通りにMBR用のコマンドを打ったら回復パーティションを再作成することができた。

WindowsUpdateのエラーも出なくなった。少なくとも自分の環境では、回復パーティションサイズが足りないことが原因で件のエラーが出ていたようだなと…。

2023/01/11(水) [n年前の日記]

#1 [pc] お袋さん用のノートPCをメンテナンス中

Windows8.1のサポート期間が、昨日、2023/01/10 で終了してしまったので、Windows8.1 64bit がインストールされているお袋さん用の旧ノートPC、FUJITSU LIFEBOOK AH33/J FMVA33JW1 をどうにかしないといけないなと。

Windows XP や Windows Vista がインストールされている手持ちのノートPC(Lenovo IdeaPad S10-2, Gateway M-2408j)については、Ubuntu Linux や Linux Mint をインストールして今でも使えるようにしているので、今回の Windows8.1機にも Linux をインストールしてどうにかしたい。ただ、せっかく Windows8.1がインストールされていることだし、Windows10 にアップグレードできるのか、できるとしたらどういう作業手順になるのか確認しておきたい。

そんなわけで久々に電源を入れてみたのだけど、Windows Update は失敗するし、起動直後はディスク使用率が何故か100%になるし、ディスクのクリーンアップを選んでみてもずっと処理をしていて30分以上待たされるし…。今日中にアップグレード作業にとりかかるのはちょっと難しそうな気配。

2022/01/11(火) [n年前の日記]

#1 [linux] Debian上でLXDEを試用

MX Linux や antiX が比較的軽量なディストリビューションということは分かったけれど、そもそもベースとなってる Debian はどうなのだろうと気になってきた。Windows10 + VMware Player 上で動かしてる Debian に LXDE をインストールして様子を見てみた。

環境は Windows10 x64 21H2 + VMware Player 16.1.2 build-17966106。ゲストOSは、Debian Linux 11 bullseye。

メモリの使用量を調べてみたけど…。Debian + LXDE なら 248MB使用。Debian + Xfce なら 380MB使用。

Xfce を利用している場合でも512MBを超えないのか…。手持ちのネットブック機でも2GBはメモリが載っているので、LXDE でも Xfce でも、どっちを使っても問題なさそう。

ちなみに、antiX + IceWM の場合は、起動直後は 200MB を超えてない状態だった。RAM 512MB のPCで動かす場合は、antiX は魅力的かもしれない。

ついでに LXQt もインストールしてメモリの使用量を確認。起動直後で 321MB だった。LXDEより多いけど、Xfceより少ないようだなと…。

lightdmが表示されない状態になった。 :

Debian上では、sudo tasksel で LXDE をインストールした。しかし、そのせいなのか、あるいはその前からおかしかったのか分からんけれど、ディスプレイマネージャ(ログイン画面を表示してくれるプログラム)の lightdm の画面が表示されない状態になってしまった。OSを再起動しても、画面が真っ暗なまま止まってしまう。

Ctrl + Alt + F2 等を叩いてコンソールを表示して復旧作業をしようとしても、そのうち不規則な時間間隔で、画面が真っ暗になってしまう。おそらく、lightdm が画面を表示しようとして、何度もリトライしてるのではないか…。

そういえば、元々、自動ログインを有効にした状態で起動していたので、lightdm の画面が表示されるかどうか確認してなかった気がする…。

仕方ないので、一旦自動ログインを有効にして ―― /etc/lightdm/lightdm.conf の autologin-user=xxxx の行を有効にして、Xfce が起動する状態にしてから、sudo apt install gdm3 で gdm3 をインストール。ディスプレイマネージャは gdm3 にしてみた。

gdm3 なら、ログイン画面が表示された。

その後、lightdm.conf 内の [Seat:*] の下に、greeter-session=lightdm-gtk-greeter を追記して、かつ、sudo dpkg-recongiure lightdm で lightdm を標準のディスプレイマネージャとして選んだら、今度は lightdm の画面が表示される状態になった。ただ、初回のパスワード入力が必ずエラーになる…。「認証に失敗しました」と表示されてしまう。

以下のページを参考に、[LightDM] の中に logind-check-graphical=true を追記したけど、変化無し。

_LightDMが起動しない | 見よう見まねのブログ
_LightDM - ArchWiki

よく分からないので、gdm3 を使っておくことにした。sudo dpkg-reconfigure gdm3 で gdm3 に変更。

#2 [linux] Ubuntu上の仮想PCでantiX等をインストール

普段、仮想PC上で各種OSをインストールして試用する時は、Windows10を動かしてるメインPC上で作業しているのだけど、OSを1つインストールするたびに、数十GBほどHDD容量を使っていくので、空き容量が厳しくなってきた。ここは一つ、HDDの空き容量がまだ全然残っている、サブPC + Ubuntu Linux機でその手の作業ができたら安心できそうだなと。

そんなわけで、Ubuntu Linux 20.04 LTS上で VirtualBox を起動して、その上で antiX 21 や MX Linux 21 をインストールしていたのだけど。どうも Windows10 x64 21H2 + VMware Player 上で動かしているときより、はるかに動作が遅い。ゲストOS上で sudo apt upgrade をすると延々待たされる…。

試しに、Ubuntu Linux 20.04 LTS + VMware Player 15 で同じことをしてみたら…。こちらは圧倒的に早い…。サクサクと処理が進む…。

ググってみた感じでは、どうやらHDDアクセスが VirtualBox は遅いようで。一応、以下のような話も見かけたけれど、試してないので実際のところは分からず。
ただ、Vmware も、カーネルを再構築する手間がありそうで…。実際、以前インストールしたソレを起動しようとしたら、再ビルドが始まってしまった。

遅いけど手軽に使える VirtualBox、速いけど少し面倒なところがある VMware、という感じなのだろうか。分からんけど。

2021/01/11(月) [n年前の日記]

#1 [emacs] Emacs 27.1 を設定中

Windows10 x64 20H2上で、Emacs 27.1 を設定中。26.3 と比べて色々な関数が削除されているようで、init.el の修正が必要らしくてハマっているところ。

フォント指定。 :

Emacs 27.1 では、フォントを設定する set-default-font が削除されてしまったらしい。元々、26.3 の時点でも削除予定だったらしいけど…。

Emacs 26.3 までは以下のようなフォント設定ができていた。英数字は Consolas、日本語文字は MeiryoKe_Console を使う指定になってる。
(set-default-font "Consolas-14")

(dolist (target '(jisx0201
                  latin-jisx0201
                  japanese-jisx0208
                  japanese-jisx0208-1978
                  japanese-jisx0212
                  japanese-jisx0213-1
                  japanese-jisx0213-2
                  japanese-jisx0213-a
                  japanese-jisx0213.2004-1
                  katakana-sjis
                  katakana-jisx0201
                  cp932-2-byte
                  cp932
                  (#x3040 . #x309f)
                  (#x30a0 . #x30ff)
                  (#xff00 . #xffef)
                  (#x0370 . #x03ff)))
  (set-fontset-font (frame-parameter nil 'font) target
                    (font-spec :family "MeiryoKe_Console")))

(setq face-font-rescale-alist '(("MeiryoKe_Console" . 1.08)))
;; (setq face-font-rescale-alist '(("MeiryoKe_Console" . 1.12)))

しかし、この指定は、Emacs 27.1 ではエラーになってしまう。

一応、HackGen というフォントを使ってフォント変更することはできたものの…。
;; Emacs 27.1 は set-default-font が使えない
;; (set-default-font "Consolas-12")

;; (set-frame-font "Consolas-12")
;; (set-face-attribute 'default nil :family "Consolas" :height 130)

;; (setq default-frame-alist
;;       (append (list
;;                '(font . "hackgen-14"))
;;               default-frame-alist))

(add-to-list 'default-frame-alist '(font . "Hackgen-14"))

;; 等幅、可変幅フォントの設定
;; (set-face-attribute 'default nil :family "HackGen" :height 130)
(set-face-attribute 'default nil :family "HackGen")
;; (set-face-attribute 'fixed-pitch    nil :family "HackGen")
;; (set-face-attribute 'variable-pitch nil :family "Meiryo")

(set-face-font 'font-lock-comment-face       "HackGen-14")
(set-face-font 'font-lock-string-face        "HackGen-14")
(set-face-font 'font-lock-keyword-face       "HackGen-14")
(set-face-font 'font-lock-builtin-face       "HackGen-14")
(set-face-font 'font-lock-function-name-face "HackGen-14")
(set-face-font 'font-lock-variable-name-face "HackGen-14")
(set-face-font 'font-lock-type-face          "HackGen-14")
(set-face-font 'font-lock-constant-face      "HackGen-14")
(set-face-font 'font-lock-warning-face       "HackGen-14")

(dolist (target '(jisx0201
                  latin-jisx0201
                  japanese-jisx0208
                  japanese-jisx0208-1978
                  japanese-jisx0212
                  japanese-jisx0213-1
                  japanese-jisx0213-2
                  japanese-jisx0213-a
                  japanese-jisx0213.2004-1
                  katakana-sjis
                  katakana-jisx0201
                  cp932-2-byte
                  cp932
                  (#x3040 . #x309f)
                  (#x30a0 . #x30ff)
                  (#xff00 . #xffef)
                  (#x0370 . #x03ff)))
  (set-fontset-font (frame-parameter nil 'font) target
                    (font-spec :family "MeiryoKe_Console")))

(setq face-font-rescale-alist '(("MeiryoKe_Console" . 1.08)))
;; (setq face-font-rescale-alist '(("MeiryoKe_Console" . 1.12)))

この状態では、日本語文字は別フォントを使う、という指定ができてなくて…。例えば HackGen を Consolas に変えると、日本語文字がMSゴシックになってしまう。

色々試してたら、ごっそりコメントアウトすることで日本語文字が MeiryoKe_Console になってくれた。
;; Emacs 27.1 以上
;; Emacs 27.1 で set-default-font が廃止になった
;; (set-default-font "Consolas-14")
;; (set-face-attribute 'default nil :family "Consolas" :height 130)

;; (setq default-frame-alist
;;       (append (list
;;                '(font . "Consolas-14"))
;;               default-frame-alist))

;; (add-to-list 'default-frame-alist '(font . "Consolas-14"))

;; (set-face-attribute 'default nil :family "Consolas" :height 130)
(set-face-attribute 'default nil :family "Consolas" :height (* 14 10))

;; 等幅、可変幅フォントの設定
;; (set-face-attribute 'fixed-pitch    nil :family "Consolas")
;; (set-face-attribute 'variable-pitch nil :family "MeiryoKe_Console")

;; (set-face-font 'font-lock-comment-face       "Consolas-14")
;; (set-face-font 'font-lock-string-face        "Consolas-14")
;; (set-face-font 'font-lock-keyword-face       "Consolas-14")
;; (set-face-font 'font-lock-builtin-face       "Consolas-14")
;; (set-face-font 'font-lock-function-name-face "Consolas-14")
;; (set-face-font 'font-lock-variable-name-face "Consolas-14")
;; (set-face-font 'font-lock-type-face          "Consolas-14")
;; (set-face-font 'font-lock-constant-face      "Consolas-14")
;; (set-face-font 'font-lock-warning-face       "Consolas-14")

(dolist (target '(jisx0201
                  latin-jisx0201
                  japanese-jisx0208
                  japanese-jisx0208-1978
                  japanese-jisx0212
                  japanese-jisx0213-1
                  japanese-jisx0213-2
                  japanese-jisx0213-a
                  japanese-jisx0213.2004-1
                  katakana-sjis
                  katakana-jisx0201
                  cp932-2-byte
                  cp932
                  (#x3040 . #x309f)
                  (#x30a0 . #x30ff)
                  (#xff00 . #xffef)
                  (#x0370 . #x03ff)))
  (set-fontset-font (frame-parameter nil 'font) target
                    (font-spec :family "MeiryoKe_Console")))

(setq face-font-rescale-alist '(("MeiryoKe_Console" . 1.08)))
;; (setq face-font-rescale-alist '(("MeiryoKe_Console" . 1.12)))

ただ、この指定で正しいのかどうかさっぱり分からない…。

IME関係。 :

Emacs 26.3 までは、IME の on/off 状態に応じてカーソルの色を変えることができていたのだけど。
;; IME初期化
(w32-ime-initialize)
;; (require 'smart-ime)

(setq default-input-method "W32-IME")
(setq-default w32-ime-mode-line-state-indicator "[--]")
(setq w32-ime-mode-line-state-indicator-list '("[--]" "[あ]" "[--]"))

;; IMEのON/OFFでカーソルの色を変える
(set-cursor-color "black")
(add-hook 'w32-ime-on-hook (function (lambda () (set-cursor-color "red"))))
(add-hook 'w32-ime-off-hook (function (lambda () (set-cursor-color "black"))))

;; (add-hook 'input-method-activate-hook (function (lambda () (set-cursor-color "green"))))
;; (add-hook 'input-method-inactivate-hook (function (lambda () (set-cursor-color "snow1"))))

;; (add-hook 'minibuffer-setup-hook
;;        (function (lambda ()
;;                    (if (fep-get-mode)
;;                        (set-cursor-color "red")
;;                      (set-cursor-color "black")))))

;; IME利用時のフォントについて指定(してるつもり)
(setq default-frame-alist
      (append
       '((ime-font . "MeiryoKe_Console-12"))
       default-frame-alist))

;; ミニバッファで日本語入力可にする. NTEmacs 23.3.92以降で有効、らしい
(defun w32-isearch-update ()
  (interactive)
  (isearch-update))
(define-key isearch-mode-map [compend] 'w32-isearch-update)
(define-key isearch-mode-map [kanji] 'isearch-toggle-input-method)

(add-hook 'isearch-mode-hook
          (lambda () (setq w32-ime-composition-window (minibuffer-window))))
(add-hook 'isearch-mode-end-hook
          (lambda () (setq w32-ime-composition-window nil)))

Emacs 27.1 では、そのあたりが動かないようで…。

仕方ないので、コメントアウト。
;; (add-hook 'w32-ime-on-hook (function (lambda () (set-cursor-color "red"))))
;; (add-hook 'w32-ime-off-hook (function (lambda () (set-cursor-color "black"))))

emacsclientw について :

gnuserv (gnuclientw) を使おうとすると Emacs 27.1 ではエラーになってしまうので、emacsclientw を使うように変更してみたのだけど。
(defvar run-unix (or (equal system-type 'gnu/linux)
                     (equal system-type 'usg-unix-v)))

(defvar run-w32 (and (null run-unix)
                     (or (equal system-type 'windows-nt)
                         (equal system-type 'ms-dos))))

(defvar is-26-before (> 26 emacs-major-version))
(defvar is-26-later (<= 26 emacs-major-version))
(defvar is-27-before (> 27 emacs-major-version))
(defvar is-27-later (<= 27 emacs-major-version))

(cond
 (run-w32
  ;; Windows

  (cond
   (is-26-before
    ;; gnuserv
    ;; SET GNUCLIENTW=-F
    ;; SET GNUDOITW=-F
    ;; SET EMACS=meadow
    ;; SET RUNEMACS=runemacs.exe
    (require 'gnuserv)
    ;; (add-hook 'emacs-startup-hook 'gnuserv-start)
    (gnuserv-start)
    (setq gnuserv-frame (selected-frame))
    )
   (is-26-later
    ;; emacsclientw
    (require 'server)
    (unless (server-running-p) (server-start))
    ;; (when (require 'server nil t) (server-start))
    ))

  ;; mouse cursor hide
  (setq w32-hide-mouse-on-key t)
  ;; (setq w32-hide-mouse-timeout 2000)
  ))

Emacs が起動してる状態なら、emacsclientw.exe を実行しても問題が起きないけれど。Emacs が起動してない状態で呼び出すと「サーバが起動してないよ」てなエラーを出して動いてくれない。

emacsclient や emacsclientw には、以下のオプションがあって…。
‘-a command’
‘--alternate-editor=command’
「Emacs と接続できない時はこのエディタを使え」という指定ができるっぽいので試してみたり。
(Emacsインストールフォルダ)\bin\emacsclientw.exe --alternate-editor=(Emacsインストールフォルダ)\bin\runemacs.exe ファイルパス

一応これで起動してくれたように見えているけど、本当に正しいのかどうか…。

巷の記事を眺めると -n -c をつけている場合が多いけど、それを試すとフォントが設定されてないウインドウが新しく開かれてしまう…。オプションの意味がよく分からん…。

2020/01/11() [n年前の日記]

#1 [emacs] Emacs 26.3が動くようになった

Windows10 x64 1909上で、Emacs 24.5 (NTEmacs) が動かなくなっていたので、せっかくだからと Emacs 26.3 64bit版を導入して設定ファイルを書き直していたのだけど。なんとか動く状態になってくれた。

以前の設定ファイルで動かなかった原因は…結局分からなかった。もしかすると、25.2用の設定を一部でうっかり書いてしまっていたせいかもしれないし、あるいは package関連のURLが変わってしまっていたのかもしれない、とは思っているけれど…。まあ、今回なんとか動く状態になってくれたからいいか、と。

今までは ~/.emacs から ~/.emacs.d/init.el を呼び出すようにしながら設定していたけれど。この際だから ~/.emacs は無くして、~/.emacs.d/init.el だけで設定するようにしてみた。

タスクバー上のアイコンが二重になる問題。 :

Windows上で NTEmacs をタスクバーに登録すると、アイコンが二重になってしまう。AppIDとやらを変更して対処。

_mieki256's diary - NTEmacs 24.4をインストール

runemacs.exe のショートカットファイルを作成して、
Win7AppId1.1.exe ショートカットファイル.lnk GNU.Emacs
を実行。そのショートカットファイルをタスクバーに追加。

anythingの導入でハマった。 :

今までは 2014/01/02頃に入手した anything を動かしていたけれど、この際だから現行バージョンを入れてみようとして、ちょっとハマった。

今現在、anything は GNU ELPA とやらには登録されてなくて、github に置いてある状態らしい。

_emacs-jp/anything

git を使って入手。
git clone https://github.com/emacs-jp/anything.git

これを ~/.emacs.d/anything/ として置いて、init.el 内で以下のように設定。

;; ----------------------------------------
;; anything

(add-to-list 'load-path "~/.emacs.d/anything/")
(add-to-list 'load-path "~/.emacs.d/anything/extensions/")
(add-to-list 'load-path "~/.emacs.d/anything/contrib/")
(require 'anything)
(require 'anything-config)
(require 'anything-complete)
(setq anything-sources (list
                        anything-c-source-buffers-list
                        ;; anything-c-source-buffers+
                        anything-c-source-recentf
                        anything-c-source-bookmarks
                        anything-c-source-files-in-current-dir+
                        anything-c-source-imenu
                        anything-c-source-file-name-history
                        anything-c-source-locate
                        anything-c-source-kill-ring
                        ))

(global-set-key (kbd "C-;") 'anything)

(define-key anything-map (kbd "C-p") 'anything-previous-line)
(define-key anything-map (kbd "C-n") 'anything-next-line)
(define-key anything-map (kbd "C-v") 'anything-next-source)
(define-key anything-map (kbd "M-v") 'anything-previous-source)

;; M-y で kill-ring を表示
(global-set-key "\M-y" 'anything-show-kill-ring)

(setq anything-enable-shortcuts 'prefix)
(define-key anything-map (kbd "@") 'anything-select-with-prefix-shortcut)

;; C-x b に anything-mini or anything-for-files を設定
(global-set-key (kbd "C-x b") 'anything-mini)

これで、C-; を叩くと、バッファ一覧や履歴一覧が表示されて、絞り込み検索ができるようになった。

しかし、以前は M-x を叩くとコマンド一覧の絞り込み検索ができたのに、新しい版ではできなくなった…。

古い版(2014/01/02頃に入手)に戻して、キー割り当てを確認。

C-;           anything
<execute>     anything-execute-extended-command
<menu>        anything-execute-extended-command
C-x b         anything-mini
C-x c         anything-command-map
M-x           anything-execute-extended-command
M-y           anything-show-kill-ring
C-x c SPC     anything-execute-anything-command
C-x c #       anything-emms
C-x c F       anything-select-xfont
C-x c a       anything-c-apropos
C-x c c       anything-colors
C-x c e       anything-c-etags-select
C-x c f       anything-for-files
C-x c i       anything-imenu
C-x c l       anything-locate
C-x c m       anything-man-woman
C-x c p       anything-list-emacs-process
C-x c r       anything-regexp
C-x c s       anything-surfraw
C-x c t       anything-top
C-x c w       anything-w3m-bookmarks
C-x c x       anything-firefox-bookmarks
C-x c C-,     anything-calcul-expression
C-x c C-:     anything-eval-expression-with-eldoc
C-x c <tab>    anything-lisp-completion-at-point
C-x c h g     anything-info-gnus
C-x c h i     anything-info-at-point
C-x c h r     anything-info-emacs
C-x c C-c C-b    anything-browse-code
C-x c C-c C-x    anything-c-run-external-command
C-x c C-c SPC    anything-all-mark-rings
C-x c C-c f    anything-recentf
C-x c C-c g    anything-google-suggest
C-x c M-x     anything-M-x
C-x c M-y     anything-show-kill-ring
C-x c M-s o    anything-occur
C-x c M-g s    anything-do-grep
C-x c C-x C-b    anything-buffers-list
C-x c C-x C-f    anything-find-files
C-x c C-x C-w    anything-write-file
C-x c C-x i    anything-insert-file
C-x c C-x r b    anything-c-pp-bookmarks
C-x c C-x r i    anything-register

基本的には、C-x c に続けて何かしらを打てば anything の何かしらの機能が使える、と思っておけばいいのだろうか…。

さておき、新版では、anything-execute-extended-command とやらが M-x に割り当てられてない、ということなのかなと。

以下の設定をしてみたら、新版でも M-x で一覧が検索できるようになった。

(global-set-key "\M-x" 'anything-execute-extended-command)

しかし、キー一覧を表示する M-x describe-bindings を実行しても、anything が働かない…。

ググってみたところ、その場合は descbinds-anything.el が必要になるっぽい。

_[Home] descbinds-anything.el

入手して、load-path の通ったどこかに置いて、以下を init.el に記述。
(require 'descbinds-anything)
(descbinds-anything-install)

2019/01/11(金) [n年前の日記]

#1 [pc] MZ-700のペーパークラフトを作れないか実験中

とりあえずベースになる箱はできた…ような気がする。本体下部とデータレコーダ・プリンタ部分を担当する箱を作って、その上から、キーボード+脇の出っ張りを再現する別の箱を被せる、みたいな感じ。上から被せるソレには穴を開けておいて、データレコーダ・プリンタ部分が顔を出すような状態にした。

脇の出っ張りの再現が、どうにも難しい…。固定することは諦めて、なんとなくそれっぽい形に折れていればいいだろう、という方針に切り替えた。

2018/01/11(木) [n年前の日記]

#1 [nitijyou] NEC製中古ノートPCのメンテナンスをまだやってたり

親父さんの友人が買った中古ノートPC、 NEC LL550/RG のメンテナンス作業をまだやっていたり。

工場出荷時に戻した。 :

MS-IME2007の言語バーが出ない問題は、結局解決できなかった。タスクスケジューラ上で MsCtfMonitor を手動で実行するとIMEの言語バーが表示されるものの、再起動すると出てこない。タスクスケジューラ上では MsCtfMonitor が「準備完了」のままで。誰かがログインしたタイミングで実行されるようにトリガが設定してあるように見えるのだけどなあ。他のタスクが正常実行できなくて、一緒にコケてるのかとあちこち眺めてみたけど原因が分からず。

言語バーが出てこないのは、さすがに色々困るだろう…。ということで工場出荷時に戻すことを検討し始めた。ただ、問題が。Microsoft Office 製品がプリインストールされてる機種なのに、中古ノートPCのせいか、セットアップCD-ROMもシリアルナンバーもついてない。つまり出荷時に戻すと MS Office もおそらく消えてしまう。

となると、
  • Office製品を使いたいがために、言語バーが出ない状態を我慢するか、
  • 言語バーを出すために、Office製品を諦めるか、
さてどっちを取るの、という話に。

まあ、後者だろう…。日本語入力時に色々困るのではあかんだろう。Officeどころじゃないだろう。

それに、MS Officeが無くてもLibreOfficeをインストールすれば、ユーザがExcel達人でもない限り、大体はなんとかなる。自分も親父さんもLibreOfficeを使っていて、それでなんとかなってるし。そもそも、プリインストールされてたのは Office 2007 だから、サポート期間も切れてるわけで。今からインストールしちゃいけない版だろう。

ということで、Cドライブだけ工場出荷時に戻した。 NEC LL550/RG の場合、電源投入直後にNECの文字が見えたらF11を連打すると、いつもと違う起動画面が出て、数分後にメニューが出てくる。そこから作業を行える。

体感で30分〜1時間ぐらいで出荷時に書き戻されるが、ユーザアカウントを作成してログイン後、プリインストールのアプリを次々にインストール、再起動、インストールを繰り返して、これまた体感で2時間ぐらいかかった。何の処理をしてるのか分からないあたりがツライ。いや、「○○をインストールしてます」と一応出てくるけど。その画面が、数分程度そのまま表示されっぱなしだったりするわけで。HDDのアクセスLEDが激しく光ってるから仕方なく待ったけど、アクセスLEDの存在に気付かない初心者さん、しかも気が短い人なら、「止まったのか?」と電源OFFして再投入するんじゃないかなあ。

他に行った作業をメモ。 :

  • zipの解凍ツール(Explzh)をインストール。
  • NECのサイトからドライバやアプリのアップデータを入手してインストール。zip配布のものもあるので解凍ツールが必要。と思ったけど、Windowsの標準機能でイケそうな気もしてきた。
  • ソニー製デジカメのアプリをCD-ROM経由でインストール。
  • LibreOffice 5.4.4 x86(32bit版) + 組み込みヘルプをインストール。ただ、何故か公式サイトから組み込みヘルプがなかなか落ちてこなくて。仕方なくtorrentを利用してDLした。
  • Windows Vista SP1 が入ってたので、Vista SP2 x86(32bit版)をインストール。
アップデータファイル群はDドライブに入れておいたので、また再セットアップする時も使えるだろう…。

夕食後に作業を始めて、夜中の1時頃に終わった感じ。

2017/01/11(水) [n年前の日記]

#1 [anime][neta] 妖怪マスタープリキュアってどうだろう

寝ていたら夢の中で「妖怪マスタープリキュア」なる名称が出てきて。目が覚めてからぼんやりとバカ妄想。

どんなプリキュアなんだろう…。タイトルからして、おそらく、ゲゲゲの鬼太郎、ポケモン、デジモン、妖怪ウォッチあたりをごちゃ混ぜにして、見た目だけはプリキュア風にしたソレ、になるんだろうか。女児ウケしそうな可愛らしい妖怪デザインを揃えて、若干のペット感覚を備えながらわらわらと登場させる、みたいな。

妖怪キャラをたくさん出せるから、玩具展開もやりやすい、かもしれない。コレクションさせる方向で売り出せるよなと。本編中では、妖怪達を個別の能力をもったサポートキャラとして扱ってもいいし。プリキュアに異なる能力を憑依させるアイテム扱いにしてもいいし。

日常風景も描きやすいかも。
「うわあ! 遅刻遅刻! 一反木綿ちゃん、学校まで乗せてって!」
「んもう。仕方ないなあモメン」
…これはアリかも。

「お願い! 砂かけばばあちゃん! アイツの目を潰して!」
「っしゃあ! まかせろッスナー!」
…これはちょっとエグイからプリキュア的にアウトな気が。

「『こなきじじい』ってなんだか古臭くて呼びづらいなあ。そうだ! 今日からあなたのあだ名はナッキーね! こなきじじいだからナッキー!」
「えっ…それちょっとワシのイメージが…」
「ええー。いいじゃんナッキー。カワイイじゃんカワイイじゃん」
「カ、カワイイ…? ワシってカワイイのかのう…ウヘヘヘ」
「何赤くなっとるんじゃ。この色ボケじじいが」と砂かけばばあがツッコミを。

どんな妖怪にも妙ちくりんなあだ名を無理矢理にでも必ずつけていく。それが彼女のスタイル。画面を見て感化された女児達が、水木しげる先生の描いたこなきじじいの絵を見ても「あ! ナッキーだ!」と叫んでくれたらしめたもの。

猫娘は…。たぶん主人公とめちゃくちゃ相性がいいだろうなあ。女子トークをガンガンできるし。親友ポジションに置いてもまったく不自然さは無い。どころか、猫娘もプリキュア、てな設定にしてしまってもOKなぐらいかも。

そこまで来たら、鬼太郎を出したいよな…。女児向けだから、アニメ版や漫画版じゃなくて、実写版に近い頭身でデザインするとして。敵に洗脳されて中ボスになってる鬼太郎。仮面をつけて正体を隠してるのに、あの髪型、ファッション、下駄の音で、視聴者には「コイツ、どう見てもアイツじゃねえか」「彼は一体何鬼太郎さんなんだろう」とバレバレ。

いや、最初から正体を隠さないほうがいいのかな…。鬼太郎が敵側に取られてしまって困ってしまった妖怪達が、古の妖怪「ぷりきゅあ」を呼び出して力を借りようとするのだけど、その召喚儀式の場にたまたま偶然出くわしてしまった主人公が、出現した「ぷりきゅあ」に憑依されてしまって…とかなんとか。要はウルトラマンですな。

番組の終わりのあたりで、鬼太郎の洗脳を解くことに成功するだろうけど。イケメン鬼太郎に抱きついてわんわんと泣き出す美少女猫娘。それを見て主人公も「よかったね…ネコちゃん…」ともらい泣き。そこからは、鬼太郎とプリキュアの共闘が見られそうだなと…。鬼太郎が「今だっ! プリキュアッ!」と叫ぶと、プリキュアが「ハイッ!」と答えて必殺技を。子供の頃に鬼太郎を見ていたお父さんお母さん世代にとっては胸熱な展開ではあるまいか。まあ、コレってタキシード仮面が「今だ! セーラームーン!」と叫ぶとセーラームーンが「ハイッ!」と答えるアレですね。

戦いが終わって役目を果たした妖怪「ぷりきゅあ」は主人公の体から抜けてしまうけど、そうなると主人公は妖怪達の姿が見えなくなってしまう。悲しい別れの場面、なんだけど、「たとえ目には見えなくても、いつも貴方の周りに居るんだよ」「その証拠に、ほら…ね?」的な「となりのトトロ」っぽいソレをどうやって映像で伝えるのか、そこはもう脚本家・演出家さんの腕の見せ所ですよ。おそらく、余韻が残る、とても綺麗なラストになるんじゃないのかなあ…。

などとバカ妄想したけれど。プリキュアと和風設定の組み合わせってソレどうなのと言われそうだし。イチゴショートケーキ味噌味とか、納豆カルボナーラとか、そんなゲゲボ感が…。 *1 そもそも、「古の妖怪『ぷりきゅあ』」は…かなりマズい気がする…。

玩具メーカ側も、妖怪ネタは妖怪ウォッチでやってるからプリキュアでやらなくていいよ別方向で商品展開しようよ、と言い出しそうだし。

水木プロからどういう形で許可を取ればいいのか、そこらへんも問題だろうし。仮に許可を取れたとしても、万が一にも原作が「東堂いづみ、水木しげる」の連名になってしまったら権利面で扱いづらい作品になるから東映としてはやりたくないだろうと。

つまり、どう考えても公式ではこういう方向のプリキュアはやらないだろうなーと思えるわけで。誰か同人誌等でこういうのを描いてくれないものか。

まあ、バカ妄想というか寝言です。

和風プリキュアと言えば。 :

「和風プリキュア」で、ふと思い出したけど。もしかして、「装神少女まとい」は、そこらへんを狙っていたのだろうか…。

*1: いや、納豆カルボナーラは意外とイケるらしいですが…。

2016/01/11(月) [n年前の日記]

#1 [dxruby][dxrubyws] DXRubyWSを試してみる

自作キャラグラエディタを書いてる際、「これがもし、DXRubyWS を使っていたら、もう少し楽に書けるのだろうか…」と気になってきたわけで。ということで、少し触ってみて雰囲気だけでも掴んでみようかなと。

DXRubyWS って何だ? …Ruby + DXRuby を使って、GUIアプリを書けるようにするためのライブラリ、という説明でいいのでしょうか。ちょっと違う気もするけど。

初心者向けに、入門記事っぽくなるように、少し細かくメモっていきますよ、と。いや、自分がそもそも初心者だけど。

環境構築その1。 :

DXRubyWS は、以下から入手。

_mirichi/DXRubyWS

右上のほうに「Download ZIP」というボタンがあるのでクリック。DXRubyWS-master.zip をDL(ダウンロード)。

ちなみに、そのうち DXRubyWSの開発が進んで、どの時期の版か分からなくなると困るので、DXRubyWS-master_20160111.zip てな感じに日付を入れてリネームしておくことにする。

さて。DXRubyWS の readme.md には、 「DXRuby1.5.16dev用」 と書いてある。どうやら、動かすためには DXRuby 1.5 開発版(dev版)が必要らしい。

DXRuby開発版(dev版)は、以下から入手できる。

_DXRuby プロジェクトWiki - ファイル置き場

現在公開されてるのは、DXRuby 1.5.19dev (Ruby 2.1.0, 32bit用)。上記ページ内の該当リンクをクリックすれば、dxruby1519dev-mswin32-ruby21.zip をDLできる。

もし、Ruby 2.1 をインストール済みで、かつ、常用してる環境なら…。dxruby1519dev-mswin32-ruby21.zip を解凍後、中に入ってる install.rb を実行するだけで DXRuby dev版のインストールは終了して、DXRubyWS を動かせる状態にできる。

が、しかし。

環境構築の続き。複数のRubyバージョンを共存させる。 :

自分は普段、Ruby 2.0.0 + DXRuby 1.4.2 を使っていて。

DXRuby 1.5.19dev は、Ruby 2.1 用なので、Ruby 2.0.0 を常用してる自分の環境ではインストールできない。

なので、Ruby 2.1 もインストールして、Ruby 2.0.0 と共存させることにする。

以下から、Ruby 2.1 Windows版を ―― rubyinstaller-2.1.7.exe をDLして実行してインストールする。

_Downloads - RubyInstaller for Windows

注意点としては…。
  • Ruby 2.0.0 とは違う場所を指定してインストールする。Ruby 2.0.0と共存させたいので。
  • 「Rubyの実行ファイルへ環境変数PATHを設定する」「.rbと.rbwファイルをRubyに関連付ける」のチェックは外す。普段は Ruby 2.1 ではなく、Ruby 2.0.0 を使いたいため。

Ruby 2.0.0 と 2.1 の切り替えは、pik か uru を使う。以下の記事を参考にして、インストール方法や使い方を把握。

_pikの替わりにuru〜windowsで複数バージョンのrubyを切り替える〜 - Qiita
_Windows7にRubyInstaller+Pikで複数バージョンのRuby環境を整える - ひろうぃんの雑記

ところで、pik や uru を使って Ruby のバージョンを切り替えた時は、Rubyスクリプト(.rb) をいきなり実行せず、
ruby hoge.rb
といった形で実行しないといけない。.rb をいきなり実行すると、常用してる Ruby のほうが使われてしまうので。

とりあえず、これで Ruby 2.1 を使えるようになったはず。pik か uru で、Ruby 2.1 に切り替えて、Ruby のバージョンを確認。ruby --version で確認できる。ruby 2.1.7p400 と表示されたら、Ruby 2.1 に切り替えができてる。

DXRuby dev版を、ruby install.rb を実行してインストール。

インストールされた DXRuby のバージョンを、irb上で確認してみる。

irb は、Rubyを対話的に入力して実行するためのツール。…「対話的」って、どゆこと? インタラクティブってこと。(命令を伝えたら)その場で反応が返ってくるものを、「対話的」とか「インタラクティブ」と呼んだりします。たぶん。
> irb
irb(main):001:0> require 'dxruby'
=> true
irb(main):002:0> DXRuby::VERSION
=> "1.5.19dev"
irb(main):003:0> exit
DXRuby::VERSION には、"1.5.19dev" が入ってたので、ちゃんと DXRuby dev版がインストールできていることが分かる。

と、ここまでメモったところで気が付いた。DXRubyWS の readme.md には「DXRuby1.5.16dev用」と書いてある…。DXRuby 1.5.19dev、じゃなくて、1.5.16dev…。

_DXRuby プロジェクトWiki - ファイル置き場 には、DXRuby1.5.16dev ruby2.0.0(32bit)用があるわけで。

つまり、Ruby 2.0.0 を使ってるなら、1.5.16dev をインストールすれば DXRubyWS を使えた可能性が。わざわざ Ruby 2.1 までインストールする必要は無かったのかもしれない…。

まあ、何かしらで Ruby 2.1 が必要になる時もあるだろうから、各バージョンを共存させといても別にいいよな。などと嘯いて自分を納得させるのでした。

DXRubyWSのサンプルを動かしてみる。 :

DXRubyWS-master.zip を解凍すると、sampleフォルダが入ってる。中に入って、一通り動かしてみる。

ruby minsample.rb
minsample_ss.png
色んなウィジェット(GUI部品/コントロール)が出てきた。
  • ボタン
  • ラベル
  • テキストボックス
  • ドロップダウンリスト
  • チェックボックス
  • ラジオボタン
  • リストボックス
  • リストビュー
少なくとも、これだけのウィジェット種類が、用意されているのだな…。

各ウインドウは、位置変更のみならず、サイズ変更もできる。サイズ変更に追随しないレイアウトと、サイズ変更に追随するレイアウトが実現できているらしい。

ただし、一番大元の、背景色が黒のウインドウは、サイズ変更ができなかった…。

DXRubyを使ったスクリプトも、ウインドウサイズを変更すると中の描画がおかしくなる時があるので、DXRubyWSも似たような制限があるのかもしれない。が、それってつまり、デスクトップサイズに合わせてウインドウサイズを変更できない、作業しやすいウインドウサイズに変更できないということで、GUIアプリを作る場合は少々厳しい場面が出てくるような気もするのだけど、今はそのあたり考えないことにする。


ruby rubima.rb
rubima_ss.png
ウインドウの中で、おそらくは60FPSのゲームが動いてる…。敵オブジェクトをクリックすると、そのオブジェクトが選択されて、右側のウインドウ内に敵の情報(HP)が表示される。自爆ボタンを押すと選択中の敵が爆発して画面から消えたので、ゲーム内のオブジェクトに対して外部から制御ができるよ、というデモなのかもしれない。


ruby rubima3.rb
rubima3_ss.png
ウインドウの中でゲームを動かしながら、BGの表示位置を別ウインドウ内に表示できている。しかも、タイルチップを選んで、真ん中のウインドウ内でBGマップに書き込むと、ゲーム内のBG表示もソレに合わせて変化する。

ゲームを動かしながら、リアルタイムでその見た目を変更できてしまうあたり、凄いというか、面白いというか。Unityも、ここまではできなかったような気がする。…と言っても、Unityは、GUIでかなりの設定・指定ができるあたりが売りだろうから、比べるのもおかしい気がするけど。提供してる便利さが、そもそも違うというか。


ruby soundblock.rb
soundblock_ss.png
音の波形っぽいものが出てきた。Playボタンを押すと音が鳴る。スライダー、スピンボタン(スピンボックス?)が表示されていて、それぞれを変更してからPlayボタンを押すと音が変化することが分かる。

ソース内には、「簡易FM音源」と書いてあった。FM音源…懐かしい…。いや、今もDTMの世界ではフツーに現役ですが。


ruby splitcontainertest.rb
splitcontainertest_ss.png
もしかすると、コンテナを実現できているというデモだろうか…。「パネルE」と書かれてる部分はグループボックス? ラベル付パネル? なのかもしれない。パネルの中に、複数のウィジェットを配置できますよ、ということなのかな。


ruby statuswindow.rb
statuswindow_ss.png
これは何のデモか分からなかった…。


ruby tabtest.rb
tabtest_ss.png
タブの表示ができていて、かつ、スクロールバーもついていて中身をスクロールできる。


ruby test_autolayout.rb
test_autolayout_ss.png
各ウインドウのサイズを変更すると、中のウィジェットのサイズもソレに合わせて追随する。自動レイアウトのデモだろうか。


てなわけで、既に色々なウィジェットが使えそうなことが伝わってきた。

長くなってきたので、続きは別記事に分けて書こう…。

#2 [dxruby][dxrubyws] DXRubyWSのチュートリアル文書に従って試してみる

DXRubyWS を解凍すると、中に doc フォルダが入っていて、そこに説明文書が置いてある。

_tutorial01.txt と、 _tutorial02.txt が、チュートリアル文書(= 使用方法や機能を解説する教材のようなもの)らしい。

まずは、tutorial01.txt を写経して動作確認してみることにする。

ちなみに、スクリプトの置き場所は、libフォルダと同じ階層。
place.png

最も簡単なコード。 :

_tuto01.rb
require_relative './lib/dxrubyws'

Window.loop do
  WS.update
end
tuto01.png
真っ黒な画面が表示された。

要するに、DXRubyWS を使いたい時は、
  • 最初のほうに、「require_relative './lib/dxrubyws'」と書いておく。
  • 最後のほうで、「Window.loop do」「WS.update」「end」と書いておく。
としておけばいいんだよ、ってことなんだろう…。

マウスに反応させてみる。 :

_tuto02.rb
require_relative './lib/dxrubyws'

font = Font.new(32)

WS.desktop.add_handler(:mouse_push) do
  # マウスボタンが押されたら(「:mouse_push」のシグナルが来たら)…
  
  # 画面に「click!」と表示する
  Window.draw_font(0, 0, "click!", font)
end

Window.loop do
  WS.update
end
tuto02.gif
マウスボタンを押すと、画面に「click!」と表示された。たしかに、マウスに反応している。

DXRubyWS は、 _イベントドリブン で書いていく、らしい。…イベントドリブンって何だ? 何かのイベントが起きた時、そのイベントに対応した処理をするよ、ってこと。

例えば、このサンプルの場合は、「マウスボタンが押された」というイベントが発生したら、「画面に文字を描画する」という処理をしろや、と、WS.desktop.add_handler 〜 end のあたりで設定してある。だから、マウスボタンを押すと、画面に「click!」と表示されたわけで。

もし、イベントドリブンでは無い書き方をするとしたら…。例えば DXRuby で同じ処理を書くとしたら、たぶんこうなる。

_tuto02_b.rb
require 'dxruby'

font = Font.new(32)

Window.loop do
  
  # マウスボタンが押されたか、毎フレームチェックし続けて
  if Input.mousePush?(M_LBUTTON)
    # ボタンが押されてたら、画面に「click!」と表示する
    Window.draw_font(0, 0, "click!", font)
  end
  
end
毎フレーム、毎フレーム、「マウスボタンが押されたか?」「マウスボタンが押されたか?」と、飽きもせず、毎回毎回、延々と監視し続けて、もし押されてたら…という感じになる。

まあ、おそらく内部的には、イベントドリブンとやらも似たようなことを ―― 何かしらをずっと監視し続けて、とかやってると思うのだけど。プログラムを書く人間様としては、「○○が起きた時に、○○せよ」てな感覚でソースを書いていったほうが分かりやすいところがあるので、イベントドリブンなる概念があるのだろうな、などと想像してみたり。人間様が分かるように、面倒臭いところを上手に隠して、分かりやすいところだけ提供するってのは、プログラミングにおいては大事。

コントロールを作って、マウスで動かす。 :

コントロールって何だ? GUI部品、ウィジェットのこと。ボタンとか、ラベルとか、チェックボックスとか、そういうGUI部品を、ウィジェットとかコントロールとか呼んだりする、のだと思います。たぶん。ちょっと自信ないけど。

tuto03.rb
require_relative './lib/dxrubyws'

control = WS::WSControl.new(200, 100, 100, 100)
control.image = Image.new(100, 100, C_WHITE)
WS.desktop.add_control(control)

Window.loop do
  WS.update
end
tuto03.png
画面の真ん中に、白い何かが表示された。たぶん、この白い何かが、コントロール、なんだろう。

このサンブルの場合、
  • WS::WSControl.new() でコントロールを作って、
  • Image.new() で真っ白な画像を作り、ソレをコントロールが持ってる画像として設定して
  • WS.desktop.add_control() で、画面に登録。
しているのだろうな…。

このコントロールを、マウスで動かしてみる。

_tuto03_b.rb
require_relative './lib/dxrubyws'

control = WS::WSControl.new(200, 100, 100, 100)
control.image = Image.new(100, 100, C_WHITE)

control.extend WS::Draggable
control.add_handler(:drag_move) do |obj, dx, dy|
  control.x += dx
  control.y += dy
end

WS.desktop.add_control(control)

Window.loop do
  WS.update
end
tuto03_b.gif
白い画像を、マウスドラッグで移動できるようになった。

そろそろ分からなくなってきた。以下が追加された部分。
control.extend WS::Draggable
control.add_handler(:drag_move) do |obj, dx, dy|
  control.x += dx
  control.y += dy
end
tutorial01.txt によると…。control.extend WS::Draggable てのが、サポートモジュールとやらを使う指定っぽい。名前からしてマウスドラッグ関係の何かなんだろうな。

:drag_move というシグナルが来たら(イベントが発生したら)、マウスカーソルの移動量を得られるから、それをコントロールの座標値に加算してやることで、コントロールの表示位置が変更できている、のだろう。

ドラッガブル豆腐クラスを作る。 :

tutorial01.txt によると、この後、「ドラッガブル豆腐クラス」とやらを作ってみるよ、てことになってるのですが。ここで問題発生。

ちなみに、豆腐って何? …DXRubyでは、例の白い画像を「豆腐」と呼んでることが多くて。要するに、「ドラッガブル豆腐」=「マウスでドラッグできる白い画像」、なんだと思います。たぶん。

_tuto04.rb
require_relative './lib/dxrubyws'

module WS
  class DraggableTofu < WSControl
    include Draggable

    def initialize(x, y, width, height)
      super
      self.image = Image.new(width, height, C_WHITE)
      self.add_handler(:drag_move, self.method(:on_drag_move))
    end

    def on_drag_move(obj, dx, dy)
      self.x += dx
      self.y += dy
    end
  end
end

tofu = WS::DraggableTofu.new(200, 100, 100, 100)
WS.desktop.add_control(tofu)

Window.loop do
  WS.update
end

動かしてみたら、エラーが。
> ruby tuto04.rb

tuto04.rb:17:in `on_drag_move': wrong number of arguments (2 for 3) (ArgumentError)
        from C:/home/prg/ruby/test_dxruby/dxrubyws_test/lib/module.rb:132:in `on_mouse_move'
        from C:/home/prg/ruby/test_dxruby/dxrubyws_test/lib/core.rb:112:in `mouse_event_dispatch'
        from C:/home/prg/ruby/test_dxruby/dxrubyws_test/lib/dxrubyws.rb:118:in `update'
        from C:/home/prg/ruby/test_dxruby/dxrubyws_test/lib/dxrubyws.rb:165:in `update'
        from tuto04.rb:28:in `block in <main>'
        from tuto04.rb:27:in `loop'
        from tuto04.rb:27:in `<main>'
on_drag_move ってところで、何かを間違えてるっぽいけど…。

_Rubyのエラーメッセージwrong number of arguments (a for b)の意味 - Qiita によると、
tuto04.rb:17:in `on_drag_move': wrong number of arguments (2 for 3) (ArgumentError)
てのは、3つ引数が来るはずなのに、2つ来たよ、という意味なのかな…。

つまり、def on_drag_move(obj, dx, dy) は、obj, dx, dy の、3つの引数が書いてあるけど、この名前のメソッドは、本当は2つしか引数が無いはずやで? 間違えてるで? みたいな?

lib/module.rb を開いて、on_drag_move で検索してみたり。

    def on_drag_move(tx, ty)
      signal(:drag_move, tx, ty)
    end
うむ。引数は2つですね。なら、2つに修正すればいいのかな。

_tuto04_b.rb
require_relative './lib/dxrubyws'

module WS
  class DraggableTofu < WSControl
    include Draggable

    def initialize(x, y, width, height)
      super
      self.image = Image.new(width, height, C_WHITE)
      self.add_handler(:drag_move, self.method(:on_drag_move))
    end

    # def on_drag_move(obj, dx, dy)
    def on_drag_move(dx, dy)
      self.x += dx
      self.y += dy
    end
  end
end

tofu = WS::DraggableTofu.new(200, 100, 100, 100)
WS.desktop.add_control(tofu)

Window.loop do
  WS.update
end
tuto04_b.gif
動いた。豆腐をマウスでドラッグできてる。

要するに、こんな感じでコントロール(ウィジェット/GUI部品)を、クラスとして作って増やしていけますよ、ということなのかな…。

これで _tutorial01.txt の内容は一通り試せた。

_tutorial02.txt では標準GUIの使い方が説明されているらしい。明日、眺めてみることにしよう…。

2015/01/11() [n年前の日記]

#1 [nitijyou] 自転車で買い物に

夜食その他を買いにリオンドールまで電動自転車で。帰りは雪がガンガン降っていて、家に着いた時には雪だるま状態…。

2014/01/11() [n年前の日記]

#1 [blender] blenderとバングマッピングと白黒と凸凹

バンプマッピングなのかノーマルマップ(法線マップ)なのか分からないけど、画像を使って表面が凸凹してるように見せるソレを勉強中。

バンプマッピングは白黒の画像を使うらしい。ノーマルマップは、RGB画像を使うようで。とりあえず、設定してる様子をキャプチャ。

バンプマッピング

ノーマルマップ

レンダリング結果


白が凹で、黒が凸、てな記事を見かけたのだけど、実際試してみたら逆になったような…? 白いところが浮かび上がって、黒いところが凹んでるように見えるのだけど…。ちょっと自分の目に自信が無いです。使ってるのは blender 2.69 だけど、バージョンによって違うのかな?

気になってググってみたら、「白が凸、黒が凹」と書いてる人も居るし、「白が凹、黒が凸」と書いてる人も居るし…。一体どっちなんだろう。

もっとも、blenderの場合、Normalの値をマイナス値にすれば凸凹が反転するみたいなので、どっちでも見た目ヨサゲになればいいような気もする。ただ、他のレンダラーを使おうとする場合はハマるらしい。 _たまに更新されるblenderとかの記録: LuxRenderのディスプレイメントマップ によると、LuxRender は白が凸で固定されてるらしいので…。黒地に白で出っ張り部分を、と意識して描いたほうがいいような気もする。

ノーマルマップ画像の作成方法。 :

ノーマルマップの作成には、Photoshop Elements 8 + _NVIDIA Texture Tools for Adobe Photoshop を使用。NVIDIA Texture Tools のインストール先フォルダは、Photoshop Elements のインストールフォルダを指定すればいいらしい。

以下、参考ページ。

_【Blender】テクスチャマッピング:ノーマル(法線)マップとバンプマップの比較
_【その他】その他/フリーソフト:ノーマル(法線)マップ作成Photoshop用プラグイン
_アドビ フォトショップ用DDSプラグインの導入方法 [ 〜 覚書きメモ 〜 ]
_アドビ フォトショップ用DDSプラグイン導入方法 [ 〜 覚書きメモ 〜 ]

GIMP でもノーマルマップは作れるらしい。 _gimp-normalmap から、gimp-normalmap-win32-1.2.3.zip をDL、解凍。*.dll を、GIMPのインストールフォルダにコピー。*.exe を、ユーザフォルダ\plug-ins\ 以下にコピー。 とりあえず、Windows7 x64 + GIMP 2.8 Portable では動作した。

以下、参考ページ。

_GIMP normalmap pluginの導入方法 | 狭き桃
_模擬実験録(仮) Gimpで法線マップ作成
_【Lesson 夏休み編】GIMPでnormalmapを編集してみる | おいでよ♪Trenza Cafe "ORION"

#2 [cg_tools] 爆発生成ソフトDetonationの仕様がよく分からず

自作画像を読み込んで爆発画像を作ろうとしたら、「レイヤー0のFireでパレットが〜」なるエラーが。変だな…。パレット相当の画像と、爆発のチップは、同じ16色画像から切り出しているのに…。そもそも、Detonation はレイヤー1,2,3... と続くので、レイヤー0なんて無いような気もするのだけど。

Detonation のサンプルファイルからエクスポートした画像をEDGE2で修正してそのまま保存したら、エラーが出なかった。うーん。よくわからん。

2013/01/11(金) [n年前の日記]

#1 [pc] HDDを整理

デフラグに時間がかかってしょうがないので、Cドライブだけでも容量をできるだけ少なくしようと、フォルダサイズが大きいものだけDドライブに逃がすように作業したり。シンボリックリンクを使って、Dドライブ中にあるフォルダを、Cドライブにあるように見せかけた。

シンボリックリンクを使うなら、 _Link Shell Extension が便利。
  1. リンク元のフォルダを右クリックして「リンク元として選択」を選ぶ。
  2. リンク先を格納したいフォルダを開いて右クリック。「リンクを作成」→「シンボリックリンク」を選択。


とりあえず、以下のフォルダを移動。 ただ、VST が入っている C:\Program Files (x86)\Vstplugins\ をDドライブに移動したら、一部の VST が呼び出せなくなってしまった。どうも VST関係は移動できないっぽい。一部の VST が決め打ちで該当フォルダを指定して使ってる予感。

2012/01/11(水) [n年前の日記]

#1 [zatta][anime] 「ネタバレはよくない」という思い込みがよくないのかもしれない

自分の過去の日記をざっくり眺めたら、アニメの感想記事がまったく役に立たない情報になっていることに気付いた。各作品を見て何か感銘を受けたことだけは記録してあるが、どんなシーンを見て感銘を受けたのか、そこがほとんど書かれていないため、後から読んでも是非の判断が一切できない状態になっている。

シーン内容を書いていないのは、意識的にやっていたことだ。ネタバレが怖いのだ。いや、正確には、「ネタバレしやがって。この野郎」と閲覧者から叩かれるのが怖いのだ。だから、シーン内容を具体的に説明するような記事の書き方は、できるかぎり避けていたわけだが。

しかし、ここまで避けて書いてしまっては、記事を公開する意味すらない。「どう思ったか」だけが書かれていても、そこには価値が無い。

「何を見て」「どう思ったか」。最低限、その2つが具体的に書かれてなければ、後から読んで同意することもできないし、異論を唱えることもできない。「ネタバレはよくない」という思い込みに囚われ過ぎて、更によくない状態に陥っていたような気がする。

と、反省したことをメモ。

2011/01/11(火) [n年前の日記]

#1 [prog] MinGWとMSYSをインストールし直した

どうも特定バージョンより前のバージョンじゃないと作業ができないとの話が某所から届いたので、20101030版ではなく、5.1.3版をインストールし直し。
  1. プログラムの追加と削除から MinGW をアンインストール。…しただけでは C:\MinGW の中身が消えてくれなかった。あふwで C:\MinGW を削除。
  2. MinGW-5.1.3.exe を実行して C:\MinGW にインストール。一応fullで。
  3. MSYS-1.0.11.exe を実行して C:\msys\1.0 にインストール。
  4. コマンドプロンプトが開いて何か尋ねてくるので、y を。
  5. MinGW を持ってるかと聞いてくるので y を。場所を聞いてくるので C:/MinGW と入力。
  6. 環境変数 Path に、C:\MinGW\bin と C:\msys\1.0\bin を追加。

vi が入ってない。一応入れておく。
  1. vim-7.2-2-msys-1.0.13-bin.tar.lzma をDL。
  2. 中身を C:\msys\1.0\ 以下の bin と share にコピー。
vim を起動しようとしたら、「msys-intl-8.dllが見つからない」とエラーに。
を入手・解凍して、msys\1.0\ 以下にコピー。

再度 vim を実行したら、_vimrc が云々とエラー表示が。~/_vimrc が存在してた。どうも昔何かの拍子に作ったものが残っていたらしい。とりあえず該当ファイルをリネーム。

やっと動いてくれた。

こんなに面倒なことになるなら、最初からWindows用のVimを使ったほうが良かったかもしれず。

2010/01/11(月) [n年前の日記]

#1 [nitijyou] 従兄から頼まれた文書を作成

元々、PCで印刷されたかのような表を手渡されているわけで。たぶん元データがあると思うんだよな…。しかし、従兄は「俺、そういうの全然わかんないから。苦手だから」と繰り返すばかりで。仕方ないので打ち込み直した。が、想像してた以上に面倒。OCRの類を使うべきだったか…。いや、元文書が修正液で修正されまくりだから、打ち込み直すしか手がなかったか…。

2009/01/11() [n年前の日記]

#1 [python] Pythonを2.5.2から2.6.1に入れ替え

_Pixelman 3 - Final の .pyw を実行したら文字表示位置がおかしくて。もしかすると自分の環境にインストールしてる Pygame のバージョンが古いのかなと。この際だから 2.5.2 をアップグレードしようと思い立ち。

コントロールパネル→プログラムの追加と削除から、以下の項目をアンインストール。 以下のファイルをDL。実行してインストール。 とりあえず、それぞれのサンプルは動いてるっぽい。

#2 [movie] 「どろろ」実写映画版を鑑賞

TVで放映されていたので以下略。

こういう映像が日本でも作れるようになったのはいいことだなあ。でも、設定の割に何か今一つ…。

1時間近くカットされた放映、という話を見かけたり。…まあ、DVD販売 or レンタルのための体験版、みたいなソレなのかな。

#3 [movie] 「X-MEN ファイナルディシジョン」を鑑賞

どろろと同じ時間の放映だったので録画しておいたソレを鑑賞。

どろろよりはるかに面白いな…。何が違うんだろう。いや、シリーズ3作目だから話の作りその他も違うのだろうけど。

2008/01/11(金) [n年前の日記]

#1 [tv] 最近民放を見てないことに気がついた

アニメ番組等はHDDレコーダに録画して見てるのだけど、それ以外はまったく見てないような。>自分。

なんでだろ。と考えたら思い当たるものが。ホラー映画のCMのせいだな…。

自分、夜中にPCで作業をしながら、BGVとしてTVをつけっぱなしにしてることが多いのですが。数年前、民放で、ホラー映画のCMがガンガン流れていた時期があって。…夜中に、視界の隅で、怖い映像がいきなり流れ始めるわけですから、心の臓が止まりそうになるわけですよ。そんな場面があまりに多くて閉口してしまって、BGVとしてTVを流すときはチャンネルを必ずNHK関連にするようになってしまったのです。たぶん。

NHKばかり見ていると、だんだん感覚もずれてくるようで。民放の番組がどうもアホらしく思えてしまう…。芸能人の誰と誰がどうなっただの、守護霊がナントカで地獄に行くだの、そういう話は耐えられないみたいな。 *1

NHKもNHKでなんだかおかしいですが。最近、中国や韓国のニュースばかり流してて、見ていて首を捻るというか。実際に数えてはいないけど、1日の中で中韓のニュースが流れる回数をカウントしたら、たぶんとんでもない事実が露呈するのではないか、と想像してしまったり。…朝のニュース番組で、日本のニュースより先にアメリカのニュースが流れるのはまだ判るのだけど。どうして中韓のニュースが先に流れるのかしらん…。日本をどこに誘導しようとしてるのかなぁ。>NHK。
*1: や、民放も、知識習得・雑学習得ができる番組は面白いとは思うのですけど。ていうかNHKのバラエティ関係の番組も、実際作ってるのは下請け、かつ、その下請けは民放の番組も作ってるらしいので、実はレベルはあまり変わらないんじゃないかという気もしますが。

2007/01/11(木) [n年前の日記]

#1 [linux] .xinitrc関係を検索

_.xinitrcの設定

startx と xinit を読んだときで呼ばれるファイルが異なるらしい。なるほど…。となるとKDE起動時も違うファイルが読まれてる可能性がありそうな? わからんけど。

_デスクトップ環境 :

/usr/X11R6/bin/startkde というファイルがあるらしい。

_KDE よく尋ねられる質問 :

_インストール後の処理
あなたのホームディレクトリにある .xinitrc というファイルを編集し(まずはバックアップコピーを取ってください)、ウィンドウマネージャを呼び出しているように見える全ての行を削除し、かわりにstartkdeと書き込んでください。

インストール後の処理 より

_[knoppix:2727] Re: .xinitrcについて :

_起動アプリケーションの設定 .xinitrc
要するに、ランレベル=3でコンソールログインした場合にウィンドウマネージャを 起動するのがxinitrcの主たる役割。ランレベル=5でグラフィカルログインする場 合はログインマネージャ(kdm等)がこの役割を果たすので、xinitは実行されないと いうことだと思います。CDブートやFAT32ブートでは、ログインマネージャは実行さ れませんが、代わりに/etc/init.d/xsessionを実行しており、これがkdmでユーザ knoppixにログインする処理を模倣しているのだと思います。

[knoppix:2727] Re: .xinitrcについて より

/etc/init.d/xsessionからは、$HOME/.xsessionがあると、実行してくれるか もしれません。/etc/X11/Xsessionに「STARTUP=$HOME/.xsession」という処理がある からです。 $HOME/.xsessionが無い場合は、/usr/bin/x-session-managerが実行されるようで す。

[knoppix:2727] Re: .xinitrcについて より


_[ya-knoppix-jp-devel 328] Re: dpkg-divert
英語版をhdinstallし、~/.xsessionが置かれていることを前提に書くと、

/etc/init.d/kdm
-> ユーザログイン
-> /etc/kde3/kdm/Xsession
-> /etc/X11/Xsession
-> /etc/X11/Xsesion.d/50xfree86-common_determine-startup
( /etc/X11/Xsession.options に allow-user-xsession があること )
-> ~/.xsession
-> /usr/bin/x-session-manager
-> /etc/alternatives/x-sessionmanager
-> /usr/bin/kde3
-> /etc/kde3/debian/startkde
-> kdeでセッション起動

という風に流れます。

/etc/kde3/kdm/Xsessionの中から/etc/X11/Xsessionが 呼び出されるようになっていれば、あとは~/.xsessionが存在すればそれを 自動的に実行するようになっているということです。流れ的には煩雑ですが、 利用者がさわる必要のあるのは~/.xsessionだけになります。 ここで使用するXIMクライアントを指定してやればいいのです。

[ya-knoppix-jp-devel 328] Re: dpkg-divert より

なるほど。

~/.xsession を作ってタブレットボタンの入れ替えを書いてみた。…kdm に戻ってしまう。どうも ~/.xsession の中身をちゃんと書かないとダメらしい。とりあえず、~/.xsession は削除して、 /usr/bin/x-session-manager にタブレットボタンの入れ替え部分を書いてみた。全ユーザで上手く動いてるように見える。これでいいか。

_startxの軌跡 :

複雑だ…。

#2 [linux] konppix機でFDをフォーマット

最初に突っ込んだ FD がフォーマットできなくて悩む。Windwos機に持っていったら、そもそもそちらでもフォーマットできず。別のFDをWindows機でフォーマットして、knoppix機に持っていったら、問題なくフォーマットできた。最初のFD自体が不良品だったのだろうか。それとも knoppix機で最初にフォーマットをすると不良品になってしまうのだろうか。

k3bでCD-Rも焼けた。 :

なんだか B's Recoreder っぽい操作感覚だな…。>k3b。焼こうとするファイルがフツーのファイル名等であれば、とても簡単に焼ける。ような気がする。いや、妙なファイル名のファイルを焼こうとしてエラーが出たんだけど。zipで圧縮・ファイル名を短く・ファイル数を少なくしてから焼いたらスンナリ焼けた。

が、CD-RドライブからイジェクトされたCD-Rを、DVD-ROMドライブに放り込んだら、マウント時にフリーズしたかのように反応が返ってこなくなる。うーん。焼けたのはいいが、読めないのでは困る…。

knoppix再起動後、CD-Rドライブに入れたら、/etc/fstab や /etc/mtab にhddがないからマウントできないと言ってくる。それではとDVD-ROMドライブに入れたら今度はマウントされた。

  • DVD-ROMドライブと CD-Rドライブの2台を積んでいるのがマズイのだろうか。
  • それとも単に、DVD-ROMドライブ DSR-600H がヘボい・ファームウェア等にバグでもあるのだろうか。
  • あるいは kernel に渡すオプション(?)に、hdc=ide-cd だか hdc=ide-scsi だかを指定しないといかんのだろうか。
  • もしくは hdparm で CD-Rドライブや DVD-ROM ドライブの DMA を無効にしておいたほうがいいのか。<でもDVD-Videoの再生時に困ったことになりそうな…。
にんともかんとも。

どうせ DVD-Video なんかは PS2 で見るんだろうし。>子供たち。DVD-ROMドライブはOSインストール時専用として、M/B の BIOS で DVD-ROMドライブを無効にしておこうかしら。

#3 [linux] knoppix機でタブレットを動かした際の xorg.conf 該当部分をメモ

書いておかないと、忘れそう。>自分。
Section "ServerLayout"
    # (中略)
# PS/2 Mouse not detected
    # InputDevice    "Serial Mouse" "CorePointer"
        InputDevice    "USB Mouse" "CorePointer"
    InputDevice "stylus" "AlwaysCore"
    # InputDevice   "eraser" "AlwaysCore"
    InputDevice "cursor" "AlwaysCore"
EndSection

    # (中略)

# Section "InputDevice"
#   Identifier  "Serial Mouse"
#   Driver      "mouse"
#   Option      "Protocol" "Microsoft"
#   Option      "Device" "/dev/ttyS0"
#   Option      "Emulate3Buttons" "true"
#   Option      "Emulate3Timeout" "70"
#   Option      "SendCoreEvents"  "true"
# EndSection
 
Section "InputDevice"
    Identifier  "stylus"
        Driver      "wacom"
    Option      "Type" "stylus"
    Option      "Device" "/dev/ttyS0"
    # Option      "Tilt"      "on"
    # Option      "BaudRate"  "19200"
    # Option      "Threshold" "10"
    # Option      "Suppress" "6"
    Option      "Mode" "Absolute"
EndSection

# Section "InputDevice"
#         Identifier  "eraser"
#   Driver      "wacom"
#   Option      "Type" "eraser"
#   Option      "Device" "/dev/ttyS0"
#   Option      "Tilt"      "on"
#   Option      "BaudRate"  "19200"
#   # Option      "Threshold" "10"
#   Option      "Suppress" "6"
#   Option      "Mode" "Absolute"
# EndSection
 
Section "InputDevice"
    Identifier  "cursor"
    Driver      "wacom"
    Option      "Type" "cursor"
    Option      "Device" "/dev/ttyS0"
    # Option      "Tilt"      "on"
    # Option      "BaudRate"  "19200"
    # Option      "Threshold" "10"
    # Option      "Suppress" "6"
    Option      "Mode" "Absolute"
EndSection
シリアル接続のwacom製タブレットだけど、消しゴム機能がないぐらいに昔の製品 ―― KT-0405-R なる製品なので、試しに eraser はコメントアウトしてみた。

最初のうちは BaudRate を指定してたけど、Intuos じゃないと意味がないらしいという話も見かけたのでコメントアウト。Threshold も同様。Suppress は、指定しなければデフォルト値が使われるらしいので、これもコメントアウト。

#4 [nitijyou] ktのチラシページ作成

数日前にメールで .xls を貰ってたのだけど、knoppix機のセットアップ作業に注力し過ぎてそちらの作業がついおろそかに。気合いを入れて(?)作成。元々 .xls なので、料金表等は簡単に html化できたけど、相変わらずcss編集で時間がかかってしまった。とりあえずアップロードしてメールで知らせておいた。

#5 [iappli] 別の企画の話が来た

元になったソレを見たところ、作るのが楽しそう。期間的に厳しい気もするけど引き受ける方向で。ただ、送られてきた参考ソースを眺めてるうちに、なんだか早まってしまった気がしてきた。結構ソースの量があるな…。ゲームの中身ではなく、外枠を揃えるまでが、一番時間がかかるんだよな…。まあ、なんとかなるだろう。たぶん。

#6 [zatta] _ダイソーの157円ストップウォッチの精度を測る

気になる話。ダイソーで見かけて買おうと思ったけど、精度が正確ではない云々が書かれてて不安だったわけで。件のページの実験結果からすると、特にめちゃくちゃヒドイと言うわけではないらしい。…買ってこよう。

_徳永時計開発室 :


2006/01/11(水) [n年前の日記]

#1 [pc] MS IntelliMouse Optical を繋いでみた

IntelliPont 5.2 もインストール。

今まで使ってたロジクールマウスと比べて、中ボタンクリックが非常に軽い。グー。このくらい軽かったら、ホイールが中ボタンでもいいかなと思える。

ホイール回転時のカリカリ感が強くなったのはイマイチ。ほんのりカリッという感じだと嬉しかったのだけど。

ちょっとサイズが大き目かしら。でもまあ、昔気に入って使ってた A4tech WWW-11 よりは小さいので、なんとか慣れるだろうと予想。

マウスカーソル移動がちとストレス。ロジクールマウスはドライバ側の処理で、加速がかなり調整できるようになってたので、それに慣れてしまうとどうにも…。

なんだかカーソルが飛ぶ瞬間がある。どういうときに飛ぶのかよくわからないけど、これが光学式マウス特有のアレでしょうか。

自分、マウスを使うときは上にティッシュを乗せているのだけど。ホイールにティッシュが巻き込まれてしまった。ちと巻き込みやすいホイールの形状になってるらしい。<ってどんな形状やねん。

IntelliPoint 5.2 はアプリ別にマウスボタンの割り当てを変更できるのだな :

今まで X Wheel NT を入れてたけど、同様の機能がマウスドライバで使えるわけで。その点はありがたい。常駐ソフトを1つ減らすことができた。…ひょっとすると、使用リソースは増えてるのかもしれんけど。まあ、Win9x で使うわけじゃないから構わんか。

MSのサイトでユーザ登録をしたのだけど :

プロダクトIDの求め方がよくわからず。桁に合わせて位置を変えないといかんのだな。…って判るかい、んなもん。どうやらMSとしては、極力ユーザ登録をしてほしくないらしい。

ていうか、登録しても自分のユーザ情報の中に該当製品が出てこないのだけど、どうなってるのやら。ハードウェア製品情報はまた別の管理になってるのだろうか。…これが世界一のIT企業のデータ管理の実状であろうか。作り手すらわけがわからん状態になってしまいがちなもの。それがIT。とかそんなことをぼんやりと。

#2 [nitijyou] なんだか手が痛い

昨日、久々に歩き回ったことで、足が痛いのは判るのだけど。手が痛いのは謎。特に手・腕は酷使していないのに。と思ったが。もしかして、電車の吊革を久々に握ったせいだろうか。そこまで運動不足・弱体化してるとは思いたくないのだが、それぐらいしか思いつかない…。

2005/01/11(火) [n年前の日記]

#1 [game] _コーエーはアダルトソフトを認めている(webBCN)

なんとなく、粋な受け答えだなぁ、と思った。大人の艶笑落語という表現にも感心。なんかいいなぁ。そういう言葉。

#2 [zatta] _オレが考えたマンガ版「電車男」

_電車カンタービレ
『弁当を盗んで逃走するエルメス』で笑ってしまった。 *1
*1: 「なんじゃそりゃ」と思った方には、漫画『のだめカンタービレ』をオススメします。笑えます。

#3 [novel] マリ見て図書室の巻を読んだ

桜組以外はざっと読んだ。唸った。小説のみが持つ特性を活用して時間軸を錯綜させて一見loopのようでありながら螺旋を描く展開。これは映像化不可能。小説という形態でしか表現できない話。上手い。

2004/01/11() [n年前の日記]

#1 [pc] Y氏からケース+電源+M/B+CPU+メモリが届いた

親父さんのPCの不調をここで書いてたら、それを読んだY氏から、パーツ *1 を貰える事になったのであります。というわけで本日届きました。ありがとう!>Y氏。感謝感激ヒデキ感激であります<ヒデキって誰よ? というわけで動作したらお礼に名産物(?)を送る予定。

郵パックで送られてきたのだけど :

あんな大きいものを送れるとは知らなかった。配送料(?)は1,680円でしたが、この料金はもしかしてY氏の御家族のお力添え(?)故でありましょうか。ありがたや。

とりあえず箱から取り出して掃除をしたり :

前後のケースファン周辺は掃除機で、電源の内部とCPUファンの周りはエアダストクリーナーで。電源は、中を開いてシューシューやったので、結構綺麗になった。…さて、これからの作業は、手持ちのビデオカードと光学系ドライブを追加して、HDDとOS買ってきて動作可能にして、親父さんの使ってるアプリをインストールして、データを移して…先は長い。最後の2つが面倒臭そう。どうしてWinはフォルダ移動だけで作業が済みませんかのう。不便。

パーツの型番を忘れる前にメモ :

  • M/B ... ASUS P3V 4X REV. 1.02
  • CPU ... PentiumIII 800MHz
  • Memory ... 256MB x 2 (まだ未確認)
  • 電源 ... 250W
  • NIC ... Corega FEther PCI-TXS (RTL8139C)
  • SOUND CARD ... SOUND BLASTER Live! MODEL CT4830
う。電源容量が予想外。大丈夫だろうか。と思ったけど、電源容量&ドライブ数は自分のメインPCとほぼ同じになる予定なので、自分のメインPCが動いてる事を考えると問題はないか。何より、今現在の親父さんのPCの電源よりは新しいだろうから、まだ信頼できるはず。元々、親父さんのPCの不安要素はそこなのだし。交換する意味はある。

サウンドカードとNICがついてたんですが :

たしか話には無かったような。これってもしかして外し忘れだらうか。だとしたら、送り返したほうが良かですか? (・_・)? >Y氏。

*1: というよりほとんどベアボーン、いや、それ以上ではなかろうか。

この記事へのツッコミ

Re: Y氏からケース+電源+M/B+CPU+メモリが届いた by Y    2004/01/12 09:49
無事届いたようでなによりです♪
送料は最近宅配業者との競争でかなりの荷物も結構安かった
りしてますですね。
実は広島からだと遠距離なので数百円割高だったりします。
関東辺りまでだともっと安いみたいですね。

>250w
あれれ?
自分も正確に調べてなかったのですが、電源容量は250wでしたか?
買った時は300Wって表示だったんですけどやはりMAX300wだったの
でしょうか・・・(汗)
ウチでも一応あの電源でHDD×2、ドライブ×2でRADEON8500とPCIに
ボードを4枚装着して普通に動いてましたので問題ないかと・・・。

>サウンドカードとNICがついてたんですが
ゴメンなさい・・・
両方とも余ってたのと外すのが面倒でしたのでそのまま・・・(汗)

そしたら先日届いた例のPCにもサウンドとNICが付いたままでした(笑)
どこでも余ってるんだなぁ・・・と
最近のM/Bには標準装備のものですし。

それとHDDは120Gを1パーテーションでOSを入れてました。
ATA66だとその辺まではOKのようです。
Re: Y氏からケース+電源+M/B+CPU+メモリが届いた by mieki256    2004/01/13 18:07
> 自分も正確に調べてなかったのですが、電源容量は250wでしたか?

電源のラベルを読んだ限りでは、250W云々としか
書いてなかったであります…が、以前も別の電源のラベルを読み違えていた
前科があるのでちょっと自信無しであります(爆) といっても…

> ウチでも一応あの電源でHDD×2、ドライブ×2でRADEON8500とPCIに
> ボードを4枚装着して普通に動いてましたので問題ないかと・・・。

おお。こちらで予定してる構成も、それとほとんど同じであります。それに、
http://takaman.jp/psu_calc.html
電源電卓で計算したら余裕っち状態。問題ナッシングなはずなんであります。

> 両方とも余ってたのと外すのが面倒でしたのでそのまま・・・(汗)

ということは、戴いてしまってもよろしいのでせうか…?
それはありがたい話であります ( ̄ー ̄)ニヤリ

> それとHDDは120Gを1パーテーションでOSを入れてました。

パーティション分けは悩みますです。
システムとデータを分けたほうが、クラッシュ時にまだ状況は良いだろうか、
と思いつつ、どうせHDDがハード的に壊れたらどっちも消滅するのだし、とも…
悩むなぁ…うーむ…

#2 [nitijyou] 親父さんが写真展の準備をしてる

所属してる写真愛好会で、写真展を開くのだとか。たぶん _コレ かな。第14回光画会写真展ってやつ。1/14(水)〜1/18(日)まで、 _郡山市民文化センター の展示室で。

ナントカ展と聞くと大学時代に漫研で展示会やったのを思い出す :

自分達の代に作ったサークルだったからノウハウがなくてアレだった。歴史ある(?)他大学の漫研の展示会が若干ゴージャスに見えた記憶も。 *1 最初に立ち上げる人達は大変。頭が下がる。親父さんは少し楽かな。やり方が決まってるみたいだから。その代わり、卒業は無さそう。その代わりってのも変か。

光画といえば究極超人ですな :

読んだ事無いんだけど(爆) ふと。CGも仕組みからすれば光画じゃないのだろうかと。違うかな。それとも電画だろうか。

*1: いや、あまり違いは無かったかもしれない。

この記事へのツッコミ

光画といえば究極超人ですな by がんした    2004/01/13 06:57
むかし「光画部」、いま「げんしけん」。
http://www.amazon.co.jp/exec/obidos/ASIN/406321155X/249-8631907-0117149
Re: 光画といえば究極超人ですな by mieki256    2004/01/13 18:15
> むかし「光画部」、いま「げんしけん」。

「げんしけん」って何? と思ったけど、
略称として結構一般的なのですな。知らなかった。
http://www.stb.tsukuba.ac.jp/~gsk/
…「漫研」じゃなくて「げんしけん」にしとけば良かっただろうか。
そのほうが活動の幅は広がったかも。何でもアリっぽいもんなぁ。
Re: 光画といえば究極超人ですな by がんした    2004/01/15 07:24
>活動の幅
でも、やる事一緒なんだよね。同人誌刷ってコミケ徹夜して、文化祭では
模型作ったり自主制作映画上映したりセル画売ったり。
あとは、劇場公開作品を初日に見たくて、前日の土曜日の夕方から
徹夜で並ぶの、オールナイトニッポン聞きながら。
で、パンフレット買って、セル画貰って自宅に帰り着いて
幸福感につつまれつつニヤニヤしてると、家族から気味悪がられるのな。(わらい
Re: 光画といえば究極超人ですな by mieki256    2004/01/16 00:23
> でも、やる事一緒なんだよね。
あはは。たしかにそうかも。
でも、名称の醸し出すイメージ的には、なんかカッコイイダス>げんしけん。
Re: 光画といえば究極超人ですな by がんした    2004/01/16 07:15
そうだね、「よろずサークル」とか名乗るより全然イイ! (中身は一緒だが)

#3 [hns] namazu for hns の表記を追加

Namazuに対し尊敬の念を抱いてないと思われたら心外なので、hnsバージョン表記部分に Namazu for hns云々の表記も追加。…まあ、検索入力フォームの近辺に機能に関する解説情報を置くほうが、思考としては自然ではないかと思ったりもするんですが。結局ここにも、コンテンツ利用に関し慣れてるユーザと、初見(?)のユーザとの間で、必要とされる情報やレイアウトが異なる、という問題が存在しているのかも。

#4 [anime] _DIA BLOCK L-GAIM

もう20年前のデザインになるのか。でも、たしかに、今見てもカッコイイっスね。アレは。

この記事へのツッコミ

「重戦機」と書いて「ヘビーメタル」と読む。 by がんした    2004/01/15 07:13
それ以前の、何か長方形を組み合わしたよなデザインに比べ、
配管とフレーム剥き出し構造に、装甲カバーが付いたよな風貌は
垢抜けてたよなぁ。

でも、ヘビーメタルを代々受け継ぐ王朝ってのも大変だなぁ。
運搬に専用キャリアが要るし。
Re: 「重戦機」と書いて「ヘビーメタル」と読む。 by mieki256    2004/01/16 00:21
> 配管とフレーム剥き出し構造に、装甲カバーが付いたよな風貌は
> 垢抜けてたよなぁ。

内部まで意識してロボットをデザインしたのは、アレが初、なのでしょうかね。
富野作品は、あらゆる面で新境地を開拓してるなと感心する事しきり。
新しい血・若者の血を入れる事に、貪欲で、誠実でありますな。

#5 [rocket] _H2A失敗原因のブースター、フィリピン沖海底で確認

なんか見つけるの早くないですか? プロジェクトXにならないじゃないか<オイ。 _(from Masuda,Masashi's network engineering diary)

2003/01/11() [n年前の日記]

#1 熱中し過ぎ

自宅サーバ弄るのに夢中になり過ぎてSEED見るのすっかり忘れていてガックリ。

2002/01/11(金) [n年前の日記]

#1 レンダリング

レンダレンダ〜♪ _(以下略)


_鈴木裕氏って絵が描けたのか。
絵の値段もなんだか高そう。スゴイ人なんだなぁ…(溜息
でも、サンプル見て、
「Photoshopのフィルタ処理…?」
とか思っちゃった… <スイマセン、手間隙かけてるでしょうに…

で、フィルタ処理で思い出したのですが、 _窓の杜で紹介されてたコレ ってどうなんでせう。
使い方によっては、ゲームの背景とかに使えないですかね?
ってそれこそPhotoshopのフィルタで代用できそう(爆)
しかし、経験値アップする(かもしれない)ソフトってアイデアには一本取られたって感じです。


_MTV2000 …ホスィ…(笑)
「デジタルラインタイムベースコレクタ」って機能が気になります。
というのも…
ウチのキャプチャボード+ビデオデッキじゃ、昔取ったテープからキャプチャできないんで。
同期が取れなくて(?)、フレーム落ちしちゃうのです。
高級ビデオデッキ(正常な同期信号で信号出力してくれる)を導入、ぐらいしか解決策はないかなと思ってましたが…
(もしくはコピーガード解除装置の類を導入とか…ってもう売ってないはずだけど)
ボード側で対応できるならそれに越した事はないわけで。
や、金ないからそもそも買えないんですけどね…(爆)

#2 [cg_tools] レンダリング

レンダレンダ〜♪ レンダレンダレンダ〜アア〜♪
いやもう唄っちゃいますよ。

Shadeでレンダリングさせてるんですが、まだ終わりません。
コレ書いてる裏で、まだ計算中。

スキャンラインだと背景に激しくモアレが出てしまって(;´Д`)ウワーン
で、背景モデルのみ選んで、レイトレーシングでやり直ししてるのです。
モアレ除去を期待してオーバーサンプリング4x4にしてみたり。

非背景モデルに「#」(=レンダリング対象外にする記号)をつけて開始したんですが…
ひょっとして、データそのものをバッサリ削除して容量を小さくしてやれば、多少は結果が違ったのだろうか…
でももう怖くて止められない。
いざやってみて、処理時間変わらず、だったら泣いちゃう。

環境マッピング用に巨大なピクチャー画像を用意してるんですが…
それがマズイのかな。容量食うだろうし。
ラップマッピングで環境マッピングしてるかのように見せられれば、そういうの使わずに済みそうだけど。

このサイズ(945 x 1181 pixel)でこの処理時間ということは…
広告等での使用を目的にした画像や、アニメーションなんか計算した日にゃ… (>o<)ヒィ
昔に比べれば、驚異的なCPU速度になってるはずだけど。
ンGHz CPUとか、Dualのシステムとかを、皆さん欲しがるわけですね。

2001/01/11(木) [n年前の日記]

#1 諭吉

動作確認、朝の4時までかかった。
たった20枚なのに。
ペースアップの方法考えないとなぁ。

ドラマ「お前の諭吉が泣いている」をたまたま目にしたんですが。
痛いけど面白い。

麻生みこと、イケてるんだろうか?
オイラ自身は、嗜好性が人とずれてるんで、自信ないです(爆)
ネタの拾い方見てると、頭イイ作家だな、とは思うんですが。

OutlookExpressに溜まったメールを整理。
サブフォルダ作って移動してるだけなんですが。
複数のメールをテキストファイルでエクスポートって出来ないのかな。
それが出来ると管理が楽なんだけど。

整理してる途中、宛先不明のメルアドをいくつか発見。参った。
ってことで。
年賀メール届いてない方は、その旨連絡してくれると助かります。
せめてメルアドだけでもお互いに確認し合ういい機会でしょうし…
ってオイラがずさんな管理してただけなんですが。申し訳無い。

xyzzyなるエディタについて勉強中。
Emacsライクで、MeadowよりWindowsとの融合度合いが高いらしく。
少し触ってみたけど、結構イケル…
…のだけど、文書比較のやり方がわからない。
UNIXライクなツールを導入しないと使えないのかな。
よくわからんです。

2000/01/11(火) [n年前の日記]

#1 (NoTitle)年賀メール出しました...

年賀メール出しました。
一応アドレス帳にメールアドレスが記録されてる方にはほとんど送ったはずですが、もし「届いてないよ?」という方がいらっしゃいましたら、恐らくこちらでメールアドレスを紛失しているので、その際はメールを頂けると助かります。
あーそれとオイラの描いた年賀CGを見てみたい、なんて人がもしいましたらメールでも下さい。こちらからもメール出します <っているわけないじゃん、そんな奇特な人 (T▽T)
年賀葉書バージョンのほうは明日印刷して送ります。気持ち的には今すぐ印刷に取りかかりたいのですが、夜中に印刷すると隣の部屋から妹が「うるせー!寝らんねー!」と怒鳴り込んでくるんで (;^_^A  印刷音結構大きいですよね>EPSONプリンタ
ところで、年賀葉書用のデータはWordを使って作成してたのですが、なんだか画像ファイル(PNGフォーマット)を読むと色合いがおかしくなるんです。謎な明るさ補正がされて妙に画像が暗くなります。なんでだろ。

と、これを書いてる今この瞬間気がつきました!
PNGファイルに異常なガンマ値が記録されてるんだ! それをWordが読み取りガンマ補正をして結果おかしくなってるに違いない。このPNGファイル、Photoshopで別名保存したものですが、その際おかしなガンマ値を記録してるのです。きっとそうだ。そうとしか考えられない。
そう、以前ハンツ氏の掲示板にキャプチャ画像をハリコするため、PNGを介して作業してたときも同様の症状がでていたはず。あの時は表示確認に使用してたSusieプラグインの動作がおかしいのか、それともPhotoshopの動作がおかしいのか判断つきかねていましたが今回の件ではっきりしました。Photoshopが諸悪の根源。Susieプラグインは正常動作してたのです。
でもコレって5.5では修正されてるのかな?
いや、どうだろう。PNGなんて使う人まだあまりいないでしょうから修正されてない可能性あるかも。ガンマ値自体記録してないソフトも現状ではたくさんあることを考えると、ちょっと怪しい。
それとも実はPhotoshopで利用している色設定ファイル(?)との絡みなのかな。ちゃんと設定できればもしかして、っていってもそのへんPhotoshop用に合わせてしまうと他のCG系ツールの色がおかしくなってしまうし。Photoshopオンリーで作業する分には問題ないかもしれないけどそういうわけにはいかないですね。まいった。
うーん、これからはPhotoshopでの保存はPSDかBMPで保存することにします。それ以外は(少なくともオイラの環境では)信用できないッス。

ちなみにPhotoshopで保存するとおかしくなるフォーマットは他にもあって。例えばメジャーなjpeg。これもダメ。余計なデータ(サムネイル画像に関する情報?)がついてしまいます。おかげで他メーカーのHTML作成ソフトで画像サイズを正常取得できず困った記憶が。一応、ネットにはそれらの余計なデータを削除してしまうフリーソフトも出まわってますけど。
こういうのってWin版だけのバグなのかな? Macでは起きないとか? だったらヤダなぁ。

なんかこういうことでトラブっちゃうと、色管理がしっかりしてると言われてるMacがうらやましくなってきます。メリット・デメリットはあるとは思いますけど、でもいいよなぁ。
ああ、Mac欲しいデシュ <でも本体以外にMac版のCG系ツールも新規購入せねば、ですね。かなり高くつくな、ソレ。

以上、25 日分です。

過去ログ表示

Prev - 2024/05 - 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 31

カテゴリで表示

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


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

Powered by hns-2.19.6, HyperNikkiSystem Project