mieki256's diary



2019/04/21() [n年前の日記]

#1 [ruby][rubysdl] Ruby/SDLをインストールしようとしてハマった

Windows10 x64 上で Ruby/SDL をインストールしようとして、ちょっとハマったのでメモ。

そもそも Ruby/SDL は、どのバージョンのRubyまで対応してるのか、そこからして分からない。手元に保存してあったファイルを確認してみたら、Ruby 1.8 / 1.9 用のファイルがあったので、おそらく Ruby 1.8 と 1.9 には対応しているのかなと。

とりあえず、Ruby 1.9 p551 i386-mingw32 を使って、インストールできるのか試みた。 _uru を使って Ruby のバージョンを切り替え。

gemでインストール。 :

Ruby 1.8 / 1.9 用の Ruby/SDL は、gem でも公開されてるらしい。

_rubysdl-mswin32-1.9 | RubyGems.org
_rubysdl-mswin32-1.8 | RubyGems.org

以下でインストール。
gem install rubysdl-mswin32-1.9

インストールされてるか確認。
> gem list | grep rubysdl

rubysdl-mswin32-1.9 (2.1.1.1)

しかし、これだけではインストールが終了しない。

gem インストール時に案内メッセージが表示されているけれど、Ruby 1.9インストールフォルダ\bin\ 以下に、install_rubysdl.bat というファイルが入っているので、コレを実行する。

install_rubysdl.bat

コレで Ruby/SDL が、Ruby 1.9上で使えるようになった。

zipを解凍してインストール。 :

上記の手順でインストールできた、と思ったが、甘かった。以前手元で保存していた、Ruby/SDL を使ったスクリプトを動かしてみると、mikmod.dll が見つからないと言ってくる。どうやら、.itファイル _(MODファイルフォーマット) を再生しようとして mikmod.dll を要求するけど、入ってない状態らしい。

Rubyインストールフォルダ内で探してみたけど、どうやら gem でインストールした場合は、mikmod.dll が同梱されていないようで。しかし、以下のファイルには入ってる模様。
  • rubysdl-2.1.1.1-mswin32-1.9.1-p243.zip
  • rubysdl-2.1.1.1-mswin32-1.8.7-p174.zip

しかし、上記のzipファイルは、RubyForge ( http://rubyforge.org/ ) なるサイトで公開されていたらしく…。その RubyForge は既に死んでいるわけで。これでは入手できない…。

Internet Archive で、公開されていたファイルの一覧を確認することぐらいはできるけど、zip も gem もダウンロードはできない。

_RubyForge: Ruby/SDL: Project Filelist

ググって探してみたら、 _Index of /rubyforge/rubysdl でミラーされているソレを見かけた。いくつかDLしてみたけど、手元のファイルと内容は同じだった。

(上記ページが消滅したら怖いので、念のためにバックアップを兼ねてココにも置いておこう…。 _[1]_[2]_[3] 。このあたり RubyGems.org に置けたりはしないのだろうか…。)

rubysdl-2.1.1.1-mswin32-1.9.1-p243.zip を解凍して、中に入って、以下を実行。
ruby install_rubysdl.rb

これで、Ruby/SDL の動作に必要な dll等が、Ruby1.9インストールフォルダ/bin/ 以下にコピーされた。mikmod.dll も入っている。

参考ページ。 :

#2 [rubysdl][ruby] Ruby/SDLでSFontが表示されなくてハマった

Ruby/SDL は SFont形式のビットマップフォントを描画できるはずなのだけど。

Windows10 x64 + Ruby 1.9.3 p661 mingw32 + rubysdl 2.1.1.1 で、SFont を描画しようとしても、png画像のSFontをそもそも開けないことに気が付いた。以下のようなエラーが出てしまう。
sfont.rb:69:in `open': Couldn't open font: font/verabd_sfont01_32col.png (SDL::Error)
        from sfont.rb:69:in `<main>'
おかしいな。手元のスクリプトを眺めた感じでは、昔は png の SFont をフツーに読み込めていたように見えるのだけど…。

Ruby/SDL が使われていた頃の Ruby のバージョンを調べてみたら、1.8 だった。ということは、Ruby 1.8 + Ruby/SDL なら動作が違ってくるのだろうか。

そして、Ruby/SDL は、2.0.0 から Ruby 1.9.x に対応したらしい。すると Ruby 1.8 には、Ruby/SDL 1.3.1 を使ったほうが、昔のスクリプトを動かす分にはヨサゲかもしれないなと。

試しに、Ruby 1.8.7 p330 mswin32 上で、rubysdl 1.3.1 (rubysdl-1.3.1-mswin32-1.8.6-p36.zip) をインストール。

それぞれで動作確認してみたところ、結果は以下のようになった。
RubyRuby/SDLload bmpload png
Ruby 1.8.7 p330 mswin32rubysdl 1.3.1PASSPASS
Ruby 1.9.3 p661 mingw32rubysdl 2.1.1.1PASSFAIL

つまり、SFont については、以下のような状態になる。
ただ、以下の記事によると、*NIX環境 + Ruby/SDL 2.2.0 なら、png の SFont も読み込めるっぽい。

_Ubuntu に Ruby/SDL を入れる - Marginalia

サンプルスクリプトと画像。 :

動作確認用にスクリプトを書いてみた。

※ 2019/04/22追記。サンプルとしては分かりづらかったので書き直した。

_sfont.rb
# Ruby/SDL birmap font (SFont) draw.
#
# ESC key : exit

require "sdl"

fontimg = "font/verabd_sfont01_32col.bmp"
#fontimg = "font/verabd_sfont01.png"

SDL.init( SDL::INIT_VIDEO )
screen = SDL::Screen.open(640, 480, 16, SDL::SWSURFACE)

fontflag = SDL::BMFont::TRANSPARENT | SDL::BMFont::SFONT
font = SDL::BMFont.open(fontimg, fontflag)

while true
  while event = SDL::Event2.poll
    case event
    when SDL::Event2::Quit
      exit
    when SDL::Event2::KeyDown
      case event.sym
      when SDL::Key::ESCAPE
        exit
      end
    end
  end

  screen.fill_rect(0, 0, 640, 480, [128, 128, 128])
  font.textout(screen, fontimg, 0, 0)
  x, y = 8, 64
  font.textout(screen, "SFont (BitMapFont) Testing..", x, y)

  screen.updateRect(0,0,0,0)
  sleep 0.016
end

_sfontex.rb
# Ruby/SDL birmap font (SFont) draw.
#
# usage: ruby sfont.rb [font_kind]
# RIGHT, LEFT : change font
# ESC : exit

require "sdl"

fontdir = "font/"
fontfiles = [
  "verabd_sfont01_32col.bmp",
  "verabd_sfont01_32col.png",
  "verabd_sfont01.png",
  "verabd_sfont02_width_fix.png",
  "sfont_mplus1m_m.png",
  "vlgothic_sfont01.png",
]

kind = ARGV.size > 0 ? ARGV[0].to_i : 0
if kind >= fontfiles.size
  puts "please input 0 - #{fontfiles.size - 1}"
  exit
end
fontfile = fontfiles[kind]
puts "font image : #{fontfile}"

SDL.init( SDL::INIT_VIDEO )
screen = SDL::Screen.open(640, 480, 16, SDL::SWSURFACE)

fontflag = SDL::BMFont::TRANSPARENT | SDL::BMFont::SFONT
font = SDL::BMFont.open(fontdir + fontfile, fontflag)

ang = 0

while true
  while event = SDL::Event2.poll
    case event
    when SDL::Event2::Quit
      exit
    when SDL::Event2::KeyDown
      font_reload = false
      case event.sym
      when SDL::Key::ESCAPE
        exit
      when SDL::Key::RIGHT
        kind = (kind + 1) % fontfiles.size
        font_reload = true
      when SDL::Key::LEFT
        kind = (kind - 1 + fontfiles.size) % fontfiles.size
        font_reload = true
      end
      if font_reload
        fontfile = fontfiles[kind]
        puts "font image : #{fontfile}"
        font = SDL::BMFont.open(fontdir + fontfile, fontflag)
      end
    end
  end

  screen.fill_rect(0, 0, 640, 480, [128, 128, 128])

  font.textout(screen, fontfile, 0, 0)
  y = 64.0 * Math.sin(ang * Math::PI / 180) + 128
  ang += 1
  font.textout(screen, "SFont (BitMapFont) Testing..", 8, y)

  screen.updateRect(0,0,0,0)
  sleep 0.016
end

sfontex.rb は、カーソルキーの左右で、SFontの種類を切り替えられる。ESC で終了。

使った SFont画像は以下。元にしたttfフォントはライセンス面で自由度が高いものを選んだ、はず。ファイル名を見ればフォント名も分かるかと。

_verabd_sfont01_32col.bmp
_verabd_sfont01_32col.png
_verabd_sfont01.png
_verabd_sfont02_width_fix.png
_sfont_mplus1m_m.png
_vlgothic_sfont01.png

一応、画像表示もしておくかな…。

verabd_sfont01_32col.png

verabd_sfont01.png

verabd_sfont02_width_fix.png

sfont_mplus1m_m.png

vlgothic_sfont01.png

動作時のスクリーンショット。 :

こんな感じに。

rubysdl_sfont_ss01.jpg

#3 [ruby][rubysdl] Ubuntu 18.04上で Ruby/SDL をインストール

Windows10 x64 + VMware Player 12.5.9 build 7535481上で、Ubuntu Linux 18.04 LTS を動かして、その上で Ruby/SDL をインストールしてみたり。

Ruby のバージョンは、ruby 2.5.1p57 (2018-03-29 revision 63029) [x86_64-linux-gnu] 。

gem でインストールする方法と、apt でインストールする方法がある。たぶん apt でインストールしたほうが楽、かもしれない。

必要なパッケージをインストール。 :

事前に、以下のパッケージをインストール。
sudo apt install libsdl2-2.0 libsdl-sge-dev
sudo apt install libsdl-image1.2-dev libsdl-gfx1.2-dev libsdl-mixer1.2-dev libsdl-sound1.2-dev libsdl-ttf2.0-dev

巷の解説記事を読むと前者だけでも良さそうな感じで書いてあったけど、後者も入れないとpng画像の読み込みその他がエラーになった。

gemでrubysdlをインストール。 :

sudo gem install rubysdl
$ gem list | grep sdl
rubysdl (2.2.0)
rubysdl 2.2.0 がインストールされた。

と、ここまで作業して気が付いた。Ubuntu の場合は ruby-sdl というパッケージが既に用意されているように見えるのだけど…。

aptでrubysdlをインストール。 :

gem で rubysdl をアンインストールしてから、apt でインストールしてみた。
sudo gem uninstall rubysdl
sudo apt install ruby-sdl
rubysdl 2.2.0 がインストールされた。手元のスクリプトも動いてる。こっちで良かったのか…。

参考ページ。 :

#4 [anime] 「クレヨンしんちゃん ガチンコ!逆襲のロボとーちゃん」を中途半端に視聴

戦隊の放送が終わった後で、「クレしん」の映像が流れ始めて、なんでこんな時間に流れてるのだろうと思いながら音声を消してBGVとして流しっぱなしにしてたのだけど。なんだか劇場版アニメのようでもあり、また、途中から妙な映像が出てきて興味が湧いて、音声も聞き始めたらどんどん画面に引き込まれ、結局最後まで見てしまった。

失敗した。こんなに面白い映画だったと知ってたら、最初からちゃんと見ておくのだった。大失敗。

脚本がとにかく秀逸。ググってみたら、中島かずき脚本だった。道理で…。監督は、シリーズと縁が深いらしい高橋渉氏。湯浅監督もコンテと作画で参加してたと後で知り、ますますちゃんと見ておくべきだったなと。本当に大失敗。

これぞまさしく、笑いあり、涙ありの映画だなと…。間違いなく名作。素晴らしい。最初からちゃんと見ておけばよかった。大失敗。

ロボットアニメ好きなら絶対に視聴すべき作品、かも。 :

そういえば、ロボット同士の戦闘シーンで目から鱗が落ちた。体の各部位を360度回転させられる設定を活用して、敵の攻撃を避けながら瞬時に反撃に転じる等の見せ方をしていたり、パーツの位置をずらせる故の奇妙な回避運動をしていたり。

自分が、人型ロボットという設定に対して、完全に固定観念を持ってしまっていた・思考停止していたことを気づかされた…。見た目は人型でも、どこがどのように動くのかによって、人間のソレとは全く異質なアクションシーンを描けるのだなと…。

ロボットアニメ好きなら、あるいは、ロボットアニメを作ってる方なら、戦闘シーンだけでも絶対に視聴すべきだなと。ポーズを決めてビーム発射とか、パースをつけて剣を構えるとか、そんなことばかりしていてはダメだよなと…。まあ、そのあたりは様式美だからアレだけど、他にも色んな見せ方はあるのだと意識ぐらいはしておかないと…。

2018/04/21() [n年前の日記]

#1 [pc] NASを設定

正月に弟が帰省した際に、NAS QNAP HS-210 を譲ってもらっていたのだけど、ずっと箱の中に入れたままだったのでセットアップしてみたり。

_HS-210 - ハードウェア仕様 - QNAP

3.5インチHDDを2台積める、横置き型のNAS。Hitachi製の2TB HDD を入れてある状態。

とりあえず、足元のMini-ITXキューブケースの上に置いてみたけど。QNAP HS-210 はファンレスのために、アルミ製の天板が放熱も兼ねているようで。手で触ってみた感じでは結構熱かったので、この上に何かしらは置けないなと。

ひとまず、LANケーブルとACアダプタを差してLANに参加させてみた。QNAP のサイトから、Qfinder Pro というアプリをDLしてメインPCにインストール。Qfinder Pro を起動すると、NAS のIPアドレスやMACアドレスを調べて表示してくれる。

ファームウェアを更新しないといかんようで。Qfinder Pro 上からの操作で、まず1回目の更新。体感で数十分かかった。その後、ブラウザでNASのIPアドレスにアクセスしてみたら、また新しいファームウェアに更新できると表示されて、そこからまた数十分かかってアップデート終了。

今回ひとまず、RAID1(ミラーリング構成)で使ってみることにした。

管理者としてログインした後、ユーザを追加することで、Windows PC等から NAS内のフォルダにアクセスできるようになるらしい。

QNAP製NASは、画像ファイルや音楽ファイルを管理できる機能等を、まるでアプリをインストールするかのような形で追加できるようで。また、Webサーバ等も動かせるらしい。まあ、ブラウザからアクセスして管理ページが表示されてる時点で、Webサーバは動いてるのだろうけど。

ひとまず、LAN上のストレージとして使えるように設定してみたけれど。起動やシャットダウンが、呆れるほど遅い…。指示を出してから5分ぐらいかかる…。ちょっとコレは…。まあ、常時電源を入れっぱなしにして使うことが前提なのだろうけど。

ウチの場合、常時電源が入ってる自宅サーバが既に居るから、NASの必要性があまり無いわけで…。起動が早ければ外付けHDD相当として使えたかもしれんけど、この起動の遅さでは…どうしたものか…。

2017/04/21(金) [n年前の日記]

#1 [gimp][python] Python-Fuのregister関数でハマった

GIMP の Python-Fu について実験していたのだけど。Python-FuスクリプトをGIMPのメニューに登録する際に使う register関数の指定の仕方でハマったり。

巷のサンプルを参考にして打ったつもりが、実行すると「3つの引数が要求されてるのに1つしかきてねえぞ」と延々怒られて。

原因は…。Python-Fuのregister関数には2種類の書き方があって、どちらの書き方にするかでパラメータの記述の仕方も変わってくる、ということを忘れていたせいだった。

以下は、古い書き方。
from gimpfu import *

def my_example_plugin_main(timg, tdrawable, msg):
    """main func."""
    gimp.message("Hello, World: " + msg)

register(
    "python_fu_FUNCTION_NAME",
    "Python-Fu example",
    "help",
    "Your name",
    "Your name",
    "2017/04/20",
    "<Image>/Filters/Languages/Python-Fu/Python-Fu example...",
    "RGB*",      # Alternately use RGB, RGB*, GRAY*, INDEXED etc.
    # params (type, name, description, default [, extra])
    [
        (PF_STRING, "msg", "Text string", 'Hello, world!')
    ],
    # return vals
    [],
    my_example_plugin_main  # function name
)

main()

以下は、新しい書き方。
from gimpfu import *

def my_example_plugin_main(timg, tdrawable, msg):
    """main func."""
    gimp.message("Hello, World: " + msg)

register(
    "python_fu_FUNCTION_NAME",
    "Python-Fu example",
    "help",
    "Your name",
    "Your name",
    "2017/04/20",
    "Python-Fu example...",
    "RGB*",      # Alternately use RGB, RGB*, GRAY*, INDEXED etc.
    # params (type, name, description, default [, extra])
    [
        (PF_IMAGE, "timg", "Input image", None),
        (PF_DRAWABLE, "tdrawable", "Input drawable", None),
        (PF_STRING, "msg", "Text string", 'Hello, world!')
    ],
    # return vals
    [],
    my_example_plugin_main,  # function name
    menu="<Image>/Filters/Languages/Python-Fu"
)

main()

古い書き方は、7つ目の引数で、メニューの登録位置を記述する。パラメータとして、画像(PF_IMAGE)、レイヤー(PF_DRAWABLE) を書かなくても、メイン処理をする関数が呼ばれた際に、自動でその2つが最初の引数として渡される。

新しい書き方は、一番最後に、メニューの登録位置を記述する。パラメータとして画像とレイヤーも含めておかないと、メイン処理をする関数に、画像、レイヤーが渡されない。

ていうかコレ、以前もハマって、メモしてた…。

_mieki256's diary - 画像を斜めにするGIMP-Pythonスクリプトを書いた
_mieki256's diary - GIMPのPython-fuについてメモ

古い書き方と新しい書き方がある、ということはかろうじて覚えてたけど、パラメータの記述も変わるということをすっかり忘れていた…。

ちなみに前回は以下の記事を読んで解決策が分かった模様。ありがたや。

_【Gimp】Pythonによるプラグイン開発 - プログラマーのメモ書き

#2 [gimp][python] GIMP + Python-Fuでcairoを使って描画するスクリプトの雛形を作成

GIMP + Python-Fu で、cairo(pycairo)を使ってアレコレ描画するスクリプト、の雛形を作成できたので、とりあえずアップロード。あくまで雛形なので、描画内容については全く意味がないソレだけど。

_mieki256/cairo_draw_example.py

gimp_pythonfu_cairo_ss.png

フィルター → Python-Fu → Cairo draw example を選べば、ランダムな位置と色で四角を描きまくる。

以下の環境で動作することを確認済み。
導入の仕方は、 _GIMPにプラグインをインストールする方法 | GIMP2の使い方 という記事が参考になるかと。ちなみに Linux の場合は、~/.gimp-2.8/plug-ins/ の中に該当ファイルをコピーすればOK。だと思う。たぶん。

さて、後は肝心の描画処理を書いていくだけ…。

懸念事項。 :

なんとなく思ったけど、まさか、次期バージョンの GIMP 2.10 では、pycairo が同梱されない状態になったり…しないよな…。

#3 [python] pysdl2をほんの少しだけ試用

Python関係のページをググって眺めてるうちに pysdl2 の単語が目に入って。

アレって今時はどうなってるんだろうと気になり始めたので、せめて導入だけでも試してみようかと。いや、以前も一度試したんですが、面倒臭かった記憶しか…。少しは変わってるのかな…。

ちなみに動作環境は Windows10 x64 + Python 2.7.13。

pysdl2についてざっくり説明。 :

pysdl2 ってのは…。Python で2Dゲームを作れる pygame というライブラリの後継になりそうだったけど今一つなれてないビミョーな扱いを受けてるライブラリで。

昔は「Pythonで2Dゲーム作るならpygame」てな空気があったのだけど。pygame は SDL を使っていて、その SDL は標準状態だとソフトウェアレンダリングだから描画が遅くて。 *1 何せ、全画面書き換えをすると30FPSすら出ないから _「書き換えが必要なところだけ覚えておいてそこだけ書き換えれば速くなるんだぜ! Dirty rectって言うんだぜ!」 てな感じのソレってPC-8801だのFM-7だのWindows3.1時代の話ですかと首を傾げるようなノウハウが公式サイトで語られ続けるほどに今となってはトホホなレベルのライブラリで。

後継ライブラリとして一時期は _pygame2てのが作られていたらしい のだけど。実装しなきゃいけない部分が多岐にわたって作者さんが途中で力尽きて、もうこういう pygame っぽい機能豊富でゴージャスなライブラリは作ってられませんわ開発停止しますわー、となったようで。

その代わり、SDL2の薄いラッパーを目指すぜ、シンプルにするぜ、最低限のことしかしないぜ、やりたいことがあったら自分で頑張って実装してくれよな、と方針が変わって pysdl2 が出てきたのだけど。

薄いラッパーだから、pygame と比べるとユーザ側でやることが増えて使い勝手が悪くなった上に、例えば Windows上で動かす際にはSDL2関係のDLLが必要なのだけど一部のバイナリが配布されてなくて「使いたい人はDLLを自分でビルドしてね」と平然と言われる始末。pygame に比べたら導入すら面倒臭いので、ほとんど誰もあえてわざわざコレを使おうとはしないし誰も使わないからユーザレベルのドキュメントもさっぱり増えないという状況に…。

てな感じの説明で合ってるんですかね? もし間違ってたら誰かツッコミ入れといてください。

pysdl2をインストール。 :

pysdl2自体のインストールは、DOS窓で以下を打つだけ。
pip install pysdl2
すんなりインストールできた。素晴らしい。

が、コレだけでは何もできない。SDL2関連のDLLが別途必要。ここからが…うう…。

SDL2関連のDLLを入手。 :

_Installing PySDL2 - PySDL2 0.9.5 documentation に必要なSDL2関連DLLが列挙されてる。以下から入手できる模様。

_Simple DirectMedia Layer - SDL version 2.0.5 (stable) から、SDL2-2.0.5-win32-*.zip をDL。32bit版と64bit版があるので使いたいほうを。

_SDL_image 2.0 から、SDL2_image-2.0.1-win32-*.zip をDL。

_SDL_mixer 2.0 から、SDL2_mixer-2.0.1-win32-*.zip をDL。

_SDL_ttf 2.0 から、SDL2_ttf-2.0.14-win32-*.zip をDL。

ちとウンザリしてきた…。

しかも、「 _SDL_gfx / SDL2_gfx - ferzkopp.net から SDL2_gfx が入手できるよ」と紹介されてるけど、この SDL2_gfx ってソースしか配布されてなくて。DLL、入ってない。英語圏の掲示板を眺めると、「SDL2_gfx.dll が見つからないんだけど、どこで入手できるの?」という質問に「自分でビルドしろ」と返される光景が何度も出現。pygame使って「ゲームプログラミング、たーのしー!」と思ったであろう初心者達を全力で噛み殺しに来てる…。さすがニシキヘビ…。

そもそもこの SDL2_gfx って、一体何ができるのか、そこからして分からない。オプションと言いつつも、pysdl2 の動作にそこそこ必要になるDLLなの? 別にそれほど必要じゃないの? どっちなの? 正体が分からない。

にしても、いくらなんでも誰もビルドしてないとかあり得ないのでは、とググってたら、 _Windows Binaries - nim-lang/sdl2 Wiki で公開してくれてる方を発見。現行のSDL2は2.0.5だけど、この版は SDL2 2.0.3 なのでちょっぴり古い、けど、手元の環境で試したところ SDL2_gfx.dll 自体は動くようで。ありがたや。

しかしコレ、DLLを入手していくだけでもウンザリするので…。32bit版のDLLを全部まとめて(バックアップも兼ねつつ)こっそりと _ココ に置いときますので面倒臭いなと思った人はどうぞ。「ちょ…おま…ソレ問題あるんじゃねえの?」と不安になった人は各ページを開いてコツコツと一つずつ入手していけば全く同じファイル群が入手できますからどうぞ正規の手順で入手してウンザリして「どこかにまとめて置いとけよ!」と憤っていただければと。自分は憤りました。 *2

DLLを呼び出せるように設定。 :

とりあえず、これで紹介されてるDLL群はあらかた入手できた。zipを解凍して、中に入ってたファイル群をどこか一つのフォルダにまとめて入れておく。重複してるファイルがあったら…タイムスタンプが新しいほうを入れとけばいいんじゃないかな…たぶん…自信無いけど…。

これだけでは、pysdl2 が、各DLLの居場所を知らないままだから呼び出せないので…。OSの環境変数に
PYSDL2_DLL_PATH
を追加して、それらDLLが入ってるフォルダを指定しておく。

環境を汚したくない場合は、DOS窓で
set PYSDL2_DLL_PATH=DLLが入ってるフォルダ
とでも打てば、それ以降は反映されるはず。DOS窓閉じれば設定消えるので次回も設定し直しですが。

あるいは、Pythonスクリプト側に書いていいなら、スクリプトの最初のほうで環境変数を追加すれば済むようで。 _公式ドキュメント でも、「 _os.environ を使えば環境変数を追加した状態にできるよ」と書いてある。

ここまでやれば、ようやく pysdl2 が使える状態に。

サンプルを動かす。 :

pysdl2 がインストールされていれば、Python2.7インストールフォルダ\Lib\site-packages\sdl2\examples\ の中にいくつかサンプルファイルが入ってるので、実行して動作確認ができる。

pong.py と gui.py は、ちょっと注意。例えば、
python pong.py
で動かすと、
> python pong.py
Using software rendering
と表示されて、「ここまで苦労したのに結局ソフトウェアレンダリングかよおお!? 一体何なんだよ、このクソライブラリいい!」と絶望的な気分になるのだけど。

ソースを眺めてみたら、オプションで切り替えられるようで。
> python pong.py -hardware
Using hardware acceleration
ちょっと焦りましたヨ。

たぶん、デフォルトでハードウェアアクセラレーションを有効にしておくと、環境によっては動作しないとかOSが落ちる等の事例があって、故にデフォルトは安全側に振ってあるのですかねえ…。SDLもそうだったし…。たしか昔のIntel製内蔵GPUがヤバかった…ような…。pygame に限らず、SDLを使ってた Ruby/SDL もコレが理由でパフォーマンスが出なかった記憶が…。

ところで、SDL2_gfx って何に使うのか分からなかった件ですが。

gfxdrawing.py を動かしてみたら、どうやら、線や四角や丸を半透明で描画できるDLLのようで。…正直イラネ。こんなもんのために散々ネットサーフィンさせられたのか。ふざけんな。嘘。言い過ぎました。状況によっては便利なDLLなんだろうけど、コレ、スクリーンショットがもうちょっとあれば正体が分かったんでしょうけど、「Graphics drawing primitives and other support functions wrapped up in an add-on」とスクリーンショット2枚だけでは、ちょっと…。もっと凄いブツが描画できる、pysdl2にはほぼ必須のDLLなのかと想像してしまった…。

まあ、現状、ドキュメントの類がほとんど無いから正体が分からないアレコレがあっても仕方ないですな…。

とりあえず、サンプルは動きました、ということで。しかし…相変わらず導入が面倒臭い…。これじゃ流行らないわ…。

余談。 :

_PythonGames - Python Wiki で、Pythonで使えるゲームライブラリが色々紹介されてるのでメモ。

個人的には pyglet に期待してたのですが、アレはOpenGLを使うので、AMD/ATI製GPU上では不具合が出たり *3 、Intel Atom の載ってるPCではスプライトすら出なかったりで。 *4 今はどうなんだろう…。

ググってたら、pygame_sdl2 てのもあるみたいですな。

_renpy/pygame_sdl2: Reimplementation of portions of the pygame API using SDL2.
_Pygame_SDL2 Documentation - pygame_sdl2 latest documentation

しかし、Nightly builds のダウンロード先が404という…。「もうすぐ公式リリースが _PyPI に登録できると思うよ」と書いてあるけど、まだ登録されてないっぽい…。

pygame_sdl2 とは別に、pygame-sdl2 てのもあるようで。これはpysdl2に被せた形っぽい。

_ShadowApex/pygame-sdl2: Drop-in SDL2 implementation of Pygame.

ただ、 _Pygame SDL2 : pygame のやり取りの中で、「pygame_sdl2 が出てきたから、もう pygame-sdl2 は作りません」と pygame-sdl2 の作者さんが書いてますな…。

*1: 「pygameの描画が遅いんですけど…」と質問すると「OpenGLと組み合わせて使え」と言われるのが若干定番な印象。
*2: ていうかホントはコレって pygame 使ってた頃のノリを考えたら pip install pysdl2 をしただけでひとまず全部入る状態が妥当じゃないのかよ何だこの状況てな感じで実は結構ムカムカしてるんですけど。SDL2_gfxのあたりでキレそうになりましたよ。や、ソースを公開してくれてるだけでも大変ありがたいのですが…。しかしpysdl2の使い方を勉強するだけでもこれからユーザに一苦労させるのは間違いないのにソレ以前の導入作業からしてコレでは話にならんだろと。こんなんでpygameの後継ライブラリになるとホントに思ってんのか、これじゃ普及するわけねえだろ何考えてんだ、みたいな。いやまあ、pysdl2 と DLL を分離することでSDL2が更新されるたびに pysdl2 も更新しなきゃみたいな状態を回避できるから負担が減ると踏んでこうしてるのかなと想像するのでそれもそれで分かるのですけど。とは言え開発負荷を下げた結果誰も使えないし使わないライブラリになりましたではそもそも何でコレ作ったのよとなるわけで。さりとて実現不可能な予定を立ててみてもそれもそれでアレですし。実際一回 pygame2 という形でポシャってますから。まあ、色々と難しい…。これではダメだが事情は分かる、事情は分かるんだがこれではダメだろう、みたいな。
*3: _mieki256's diary - pygletがダメなのかと思ったらどうやらRadeonが糞だったらしい話
_mieki256's diary - pyglet + Radeon で描画できない件について
*4: _mieki256's diary - タブレットPCで自作サンプルを動かしてもらった

2016/04/21(木) [n年前の日記]

#1 [comic] 「絶対可憐チルドレン」(椎名高志著)1〜11巻を読んだ

妹が以下略。内容は、エスパー少女3人組に主人公が振り回されててんやわんや、という説明で合ってるのだろうか。

考えてみたら、椎名高志先生の作品を読むのは初めて、のような気がする。実に少年サンデーに載ってそうな漫画作品で、フツーに面白いなと。

しかしコレ、現時点で45巻もあるのか…。随分と長く連載してるんだな…。

2015/04/21(火) [n年前の日記]

#1 [pc] Flash CS4、CS5を再インストール

ソフトをインストールしていく際に一番面倒なのがアクティベーション関係、と思っているのでひとまずAdobe関係のソフトを再インストールしようかと。

やっぱり Flash Player 関係でインストールエラーが出た。インストールされる Flash Player より新しい版が先に入っているとエラーが出るわけで…。

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

電動ではないほうの自転車で。PM02:30-PM03:30まで治療。次回は土曜日朝の予定。

今回は型取り作業とやら。型取りと言っても、実際には何か刺してグリグリするわ、キュンキュン削るわ、削るときに激痛が走るので麻酔を打つわで。

なんだか元の歯がめちゃくちゃ小さい形に削られてしまった。根元のあたりが虫歯になってたせいだろうけど、他に方法は無いのだろうか。今回も、ここまで歯を小さくするよ、的な説明が無い…。

自分の歯並びだか顎だかはおかしいらしくて、治療中、先生がずっと首を捻ってた。フツーの歯並びに多少は近づくようにすると言ってたけれど、遺伝子でそういう並びになってる上に、何十年もこの歯並びで食事をしてるのだから、元のおかしい形に近づけるのではいかんのだろうか…。

さておき、本歯ができる次回までは仮歯を被せておく、という状態に。

治療が終わって、自転車で帰ってる途中で痛み始めた。PM04:00頃にはかなりの痛みに。最初の治療時に貰ったロキソニン60mgとやらを2錠飲んだけど…。6〜8時間ほど間隔を空けて飲むように注意されたから、次に飲めるのはPM10:00頃…。

歯茎からずっと血が出続けているのだけど、もしかして仮歯を入れた段階で元々の歯が絶えず今までと違う方向に押される形になっていて、元の歯を支えてる歯茎が裂けそうになっているのでは。と思ったけどどうなんだろう。

そういえば今頃気が付いたけど。歯茎の状態について一切言及がないまま治療されてるな…。

以前通ったことがあるN歯科では、歯茎の状態が良くないまま歯の治療をすると治療中に歯茎が炎症をどんどん起こして結果的に歯の治療まで悪影響を与える、だからまずは歯茎を改善するために歯磨きの仕方を教えます、歯茎がちゃんとしてからじゃないと歯の治療に進むことはできません、みたいな説明を受けて、なるほどと思った記憶があるのだけど。もしかして、今、自分の身に起きてるのが、まさしくそのNGケースなのでは…。

2014/04/21(月) [n年前の日記]

#1 [windows][linux][ubuntu] VMware Player上でUbuntu 12.04LTSを再インストール

Windows7 x64 + VMware Player 上で Ubuntu 13.10 を起動したら「14.04が出たよ。アップデートしなよ」と表示されたので、試しにアップデートしてみたところ、途中でエラーが出てアップデート作業が止まってしまって。

Cinnamon 関係をごっそりアンインストールしてから試してみたらアップデートできたけど。調べてみたら、Ubuntu 14.04 日本語Remix版は、まだ出てなかったみたいで。なんでも、12.04の時も、「12.04.1が出るまで待ったほうがいい」と言われてたようで、不具合修正された版が出てきてから試したほうが良かったのかなと。要するに、自分、やっちまったかなと。

面倒臭くなったので、HDDイメージごと削除して、Ubuntu 12.04 LTS を再インストール。新自宅サーバ機にする予定のキューブ機も Ubuntu 12.04 LTS だから、VMware Player 上の Ubuntu もバージョンを合わせておいた方が、各種実験をしやすいかなと。

再インストール作業は、時間はかかったけどすんなり終わった。VMware Tools も、ちょっと前まではソースを修正しないとエラーが出ていたのだけど、VMwae Player 6.0.2 版のソレを入れたらすんなり動いてくれた。

#2 [hns][ubuntu] hnsってUbuntu上にインストールできるのだろうか

Ubuntu はデフォルトの文字コードが UTF-8 なのだけど…。hns は、eucjp を前提にして書かれてたような…。hns を Ubuntu にインストールできるのだろうか…?

標準状態では、Ubuntu には eucjp が使えるようにはなってないらしい。 _Ubuntuでja_JP.EUC-JPを使用する - World Wide Wonderful を参考にして作業。

古い hns って入手できないのかな。 :

ググってみたけど最終版 2.19.9 しか公開されてないようで。古い版は公開されてないのだろうか…。

手元で動いてる hns に対して、自分がどのあたりを修正したのか差分を取って把握したいと思ったのだけど、最終版では違いがあり過ぎて、もう何が何やら。せめて古い版を入手してソレと比較できればなんとかなりそうだけど、今はもう入手不可能っぽいし。修正をするたびに前の版を残しておくべきだったなあ…。失敗した。

.cgi や .pl をサーバにアップロードすれば動きます、みたいなツールではなくて、shell上でコマンド実行しないとインストールできない、みたいな仕組みだったりもするので、どうしたものか。 *1 とりあえず、仮想PC上で一旦インストール作業をしてみるか…。

*1: hns ではなく、hns-lite なら、一般的な cgi と同じ感覚でインストール作業ができるらしいですが。

#3 [anime] ガンダムビルドファイターズ最終回を視聴

最高の最終回。展開も作画も文句無しではなかったかと。コレは燃えるわ…。いやー、面白かった…。

ただ、子供さん達がこの作品をどう捉えているのか、そこが気になる…。「ガンダム、カッコイイ!」とか言いながら見てくれていたら、と願うのだけど。さて、どうなんだろう…。

#4 [anime] トッキュウジャー+鎧武TVSPを視聴

ようやく視聴。企画も、内容も、TVの前のチビッ子達は絶対喜んでそうだなと思えたり。しかも、映画版に出てくるのであろうキャラをチラリと見せるあたり、宣伝というか映画の試食版としてもしっかり機能したのではないかなと想像を。映画とTVシリーズを上手に連動させるあたりに感心というか。

と思ったのだけど。これはさぞかし映画版もヒットしたのかなとググってみたら…。うーん。なんか色々大変なのですな…。

でもまあ、チビッ子達がTVの前や映画館で目を輝かせてたら、そのやり方で正解ってことで。

2013/04/21() [n年前の日記]

#1 [nitijyou] 雪が積もってる

もうすぐ4月も終わろうとするこの時期に、雪が降って、しかも積もるとは…。どうなってんだ。

#2 [pc] Atom機で画面ガクガクなのは仕方ないらしい

各種ベンチマーク情報を調べてみたけど、Atom搭載機で画面がガクガクなのは、もう仕方ないらしい。GMA 950がそもそも話にならない性能のようで。

しかし、そう考えると、HSPなどは速度面で優秀なのだなあ…。おそらく60FPSは全然出てないのかもしれないけど、それでもまだ、一応アニメをしてるように見えるもんな…。いや、同じ処理をするソースを書いて比較したわけじゃないから、本当に速いのか分からんか。

#3 [prog] Ruby 1.9.3 をアップグレードした

1.9.3 p374 を 1.9.3 p392 にアップグレードした。環境は Windows7 x64。 _RubyInstaller for Windows を使用。

他のアレコレのインストールは、 _2012/10/24の日記 を参考に作業。

#4 [prog] Netbeans 7.3 上で Rubyの編集ができなくなってしまった

何時頃からそういう状態になっていたのか分からないのだけど、Netbeans 7.3 上で Rubyスクリプトの編集作業ができない状態になっていた。「.」を打つと補完が効くはずなのだけど、「お待ちください」と表示されたまま、Netbeans 全体が固まってしまう。

面倒臭くなってきたので、Netbeans をアンインストール。eclipse に乗り換えられないか、ちょっと試してみる。

#5 [prog] eclipseでETEEが動かない

eclipse 上で「更新」をしようとしたら、EGit がどうとかでエラーが。また、Rubyを編集可能になるという、Aptana Studio 3 を入れようとしたら、PyDev と衝突するからできんわと文句を言われた。環境は、Windows7 x64。

eclipse 4.2.2 が公開されてるらしいので、 _日本語化 Eclipse 4.2 Juno ジュノー | MergeDoc Project からDLして置き換えてしまうことにした。

以前は PyDev も入ってる Ultimate 版をインストールしたような記憶があるのだけど。今回は Java版を入れて、その後 Aptana Studio 3 をインストール。Aptana Studio 3 には、PyDev が入ってるっぽい。Python も Ruby も編集できるようになった、ように見えた。

しかし、Python スクリプトを編集するときは PyDevパースペクティブになるのに、Ruby スクリプトを編集するときは Webパースペクティブになる。なんで?

Aptana Studio とは別に、Ruby編集用プラグインもあるらしく。そちらもインストールしてみたけど、何がどう違ってくるのか分からん…。とりあえず、後者を入れると、 という違いがあるようで。

_2012/07/23の日記 を参考にプラグインを入れようとしたのだけど。 _Eclipse Text Editor Extensions (ETEE) 1.0.7 が動いてくれない。本来なら、右クリックした際に「フィルタ」だか「filter」だかその手の項目が増えるはずなのだけど。困った…これが動かないと、ソースの一部を整形する作業が面倒臭くなる…。

2012/04/21() [n年前の日記]

#1 [android] IdeaPad A1 のノイズが酷い

ヘッドフォンを接続して音を聞いたら、ノイズが酷くて途方に暮れた。「サー」「ヒョリロラ」「ヒュラリ」てな感じのノイズが聞こえる。

年齢的にも、今まで聞いていた音楽の趣味からしても、自分はかなり耳が悪くなってるはずなのだけど。それでも聞こえるということは、かなり酷い設計なのかもしれず。さすがLenovo製品。さすが中華パッド。かしら。…なんだか MZ-700 を思い出した。アレも画面を書き換えるたびに、「シャラッ」「シャラッ」「プイッ」「プイッ」てなノイズが電源のあたりから聞こえてきたっけ。

Bluetooth接続(?)で音を聞けば、デジタル的な伝送になるせいかノイズが少なくなるという話を見かけたが。レシーバ自身が「サー」「プチッ」というノイズを出すという話も見かけて、うーん。また、ワイヤレスで伝送するための処理が入る分、画面表示と音声にずれが生じて動画再生時に気になる人が居るかも、という話も見かけたりして。

本体スピーカから音を出す分には、ノイズらしい音は全く聞こえてこないのだけど。しかし、スピーカはモノラルだろうし、スピーカ特性からして音質もへったくれもないだろう。

さて、どうしたものか。Bluetoothレシーバを購入するほどの価値が、この製品にあるのかどうか。

#2 [android] FlashDevelopから実機端末には転送ができた

IdeaPad A1 と PC を USBケーブルで接続して試してみたり。

IdeaPad A1 を開発用として接続するにはUSBドライバーが必要らしい。Android機のスクリーンショットの撮り方を解説してる記事が参考になった。ありがたや。

_~Seventh Heaven~ : 「IdeaPad Tablet A1」 スクリーンショットの撮影方法
_Android(アンドロイド)で画面のハードコピーをとる方法 【画面キャプチャー】 | 某氏のたわごと NEXT
_初雪 - Google+ - Lenovo IdeaPad A1メモ。 DDMSが繋がって画面キャプチャ出来るようになりました

A1_USB_Driver_20110816.zip をDLして解凍。デバイスマネージャに「!」が出てたので右クリックして、ドライバーソフトウェアの更新。 windows\usb_driver\ を指定してドライバインストール。なのだろうか。

実機相手なら、FlashDevelop からAIRアプリがすんなり転送できる模様。
問題は、Androidエミュレータに対しては転送できないこと。なんでだろ。

2011/04/21(木) [n年前の日記]

#1 [pc] ファイル復元作業中

ファイナルデータ試供版は、復元できそうなファイルをリストアップするだけで、実際に復元はできないのだな。知らなかった。それでも、復元できそうなファイルが入ってることは確認できた。

フリーで復元できるソフトを探す。PhotoRecというソフトがオープンソースで開発・公開されているらしい。試してみたり。やはり何時間もかかったが、jpgやpng等は取り出せた。ちなみに、USB3.0接続の BUFFALO HD-LB2.0TU3 の中に保存した。

取り出せたファイルの中から不要なファイルを削除しようとしたが、とあるフォルダをエクスプローラで開こうとするとCPU使用率が100%になって何も出来なくなる。どうやら、壊れたmpgがあったのが原因らしい。サムネイルを作ろうとしてアクセスして、CPUが全開・パッと見はフリーズ状態になる模様。仕方なくリセット。

HDDにアクセス中にリセットボタンを押すものだから、chkdsk をかけるとエラーが出てくる。HD-LB2.0TU2 も、Cドライブも、chdsk /f ドライブ名: をかける羽目に。

chkdsk /f c: をかけた後、Windows起動時に色々なdllが呼び出せなくて、Google関係のソフトやら、Adobe関係のソフトやら、ガンガンとエラーダイアログを表示するのは何故なのだろうか。

2010/04/21(水) [n年前の日記]

#1 [nitijyou] 早く寝る

肩が痛いので早く寝る。

2009/04/21(火) [n年前の日記]

#1 [pc] 手元にLOAS製USB-HUBがあるんだけど

LOAS UH-194SL、というUSBハブなんだけど。UBS2.0対応なのか、未対応なのか、すっかり忘れてしまった。

LOAS のサイトで検索したが、商品情報が出てこない。過去に自社で販売した商品のスペックぐらいはサイトで公開しておくべき、と思うのだけどなあ。

#2 [pc] o氏の家にお邪魔してPC関連のアレコレを

午後、親父さんの車でo氏の家まで運んでもらった。行く途中で、Canonカメラ修理認定云々という看板を掲げているカメラ屋さんに寄り、親父さんがCanonの一眼レフデジカメの修理を頼んだり。どうもCCD、じゃなくてCMOSセンサ部分に、ダストとやらがついてしまってるとかで。閑話休題。

o氏が使ってるFMV ME5/657 にUSB2.0増設ボードをつけるべく、IO-DATA USB2-PCIL4 と BUFFALO IFC-USB2P5 を持っていった。少し雑談した後で、ケースを開けて増設。USB接続マウスを繋いだら反応してくれたので、一応刺さってるっぽい。それはともかく、とんでもなく遅い。>FMV。Duron 650MHz だもんな…。

o氏としては、この際新しいPCを購入したほうがいいという結論に至ったそうで。EPSON Direct の製品も購入候補にしていたけど、パソコン工房でも下見をしたいとのことで、氏の車で駅裏のパソコン工房まで。

パソコン工房に行ったら、 の商品が49,800円で置いてあった。氏と話をした際に想定していた予算やスペックと完全にピッタリだったため、氏がコレを購入。しかも、デモに使われていた、19インチワイド液晶(1680x1050) 16,000円の品も同時購入。いいのだろうか…。早まったのではないのか…。

設置後、ルータ RT-200KI に接続しながら、氏にセットアップ作業をしてもらった。今まで使ってたFMVに比べて嘘みたいな速さ。しかも、CPUクーラーに8cmファンらしきものがついてるせいなのか、とんでもなく動作音が静か。値段的にどうなのかはさておいても、今のところ、コレは良い買い物をしたのではないか、てな印象。

ルータに接続してあるのだから、旧PCと新PCでファイル共有設定をすれば共有フォルダが覗ける=引っ越し作業ができるだろう。と思いきや、お互いの共有フォルダどころか、PC名も見えない。コマンドプロンプトからIPアドレス直接指定でpingを打っても返事が無い。さてはルータが一般的なブロードバンドルータとして動いてないのではないか。

ルータのマニュアルその他を見せてもらおうとしたが、残念ながら部屋から発掘できず。ダメ元で、よくある http://192.168.1.1/ を開いたら、ユーザ名とパスワードを聞いてくる。が、氏は覚えてないし、メモも無い。なんでも、ADSLから光ファイバーに切り替えた際に、作業員の人がチャカチャカやって「ハイ繋がりましたこれでOKです」で帰ってしまったような気がする、との氏の言。いやー、まさか、そんなはずは…いくらNTTの下請け孫請けで仕事してるとは言え、そんなテキトーな対応するかなあ…? >作業員。

とりあえずPM07:30を過ぎてしまったので、氏に車で送ってもらうことに。途中でケーズデンキに立ち寄り、氏はUSB接続転送ケーブルを購入。最低限、これでファイルのコピーはできるはず。が、ルータの件は問題として残り続けるわけで…。ソレに関してはNTTに連絡して打開策を教えてもらうように、という話に。

#3 [pc] 親父さんの使ってたプリンタ Canon iP4500 がおかしくなった

プリンタヘッドに異常がある、と表示されるらしい。

色々作業手順その他を確認してみたら、どうも親父さん、インクタンク交換の際、毎回プリンタヘッド固定レバーを緩めて作業していたらしい…。それで何かの拍子に、ヘッドかどこかが壊れちゃったんだろうなあ。

とりあえず、親父さんは写真ばかり印刷してるので、顔料インク部分はほとんど使わないだろう、ということで自分の部屋で埃を被ってたiP4300を仮設置することに。このiP4300、顔料インク部分のヘッドは微妙に詰まってる or 壊れてるけど、カラー印刷部分はまったく問題なしの状態なわけで。自分の部屋は片付いたし、親父さんは使えるプリンタを入手できるしで、一石二鳥。

それにしても、iP4500を購入した時期がわからない。購入してから1年以上経過してなければ、保証期間内だけど…。

2008/04/21(月) [n年前の日記]

#1 [zatta] Cinderellaってなんだろう

twitterを眺めてたら名前が出てきて、なんだろうと。 Google検索してみたけどバンドの名前やら昔話やらそういうのが出てきて首を捻る。発言者の属性を考えるとたぶんコンピュータのソフト名もしくはプロジェクト名だろうと想像したのだけど。

今時Processingを知らない奴が居る云々という話も見かけて、「アレは名前がマズイのでは…。技術の世界ではよく使われる単語だから、以前検索したときは全然関係ないページばかり出てきたし。なもんで、proce55ingなんて呼び名をわざわざつける人まで出てくる始末だし」てなことを思ったけれど。昔と違って、今時はGoogle検索すると上位に出てくるのだな…。つまりはそれだけ、興味を持った人が多くなってきた、ということなんだろうか。って検索サイトの結果だけ見て判断するのも早計なんだけど。

_平面幾何ソフト「シンデレラ」 :

_Cinderella : Cinderella

これかな? …なんか違う予感も。

一般的な単語でソフト名をつけるのってどうなんだ。 :

先日試用してみた _Pencil もそうだけど。一般的な単語でソフト名をつけてしまう人種は、一体どういうロジックに基づいて、そういう名前をつけているんだろう。情報の海にあっさり沈んでしまうじゃないか…。まあ、そのへん言い始めると、X-Window とか Windows とか Word とかどうなのよ、という話にもなっていきそうだけど。

一般的な単語=浸透が早い筈、という予想をしてるのだろう、とは思うんだけど。検索時に困ってしまうというデメリットも鑑みた上で命名してるのだろうか。てな疑問も。

なんとなくだけど、

ジャイアン「この言葉、なかなかイイ感じじゃねえか。よし! これを俺様のソフト名としていただくぞ!」
スネオ「そんな無茶な…」
出木杉「ダメだよ、剛田くん。この言葉は皆で使ってるんだから、君だけのものにしてはいけない」
ジャイアン「そんなの俺の知ったこっちゃねえ! 俺がイイと思ったから俺のモノにするんだ! なんか文句あるか!?」

みたいなノリがそこにあるのかなと勝手な想像を。

#2 [nitijyou] 両親が旅行

お袋さんが、恩師とやらに会ってくるらしい。で、親父さんも、それにかこつけて(?)写真撮影をしてくるとの話で。帰ってくるのは水曜の夜の予定。

犬の散歩をしてきた。 :

いつもは親父さんがやっている、犬の散歩をやらないと…。

以前は自転車を使って散歩させていたけど。フィラリアで弱ってるはずなので、今回は歩きで。しかし、相変わらず紐をグイグイと引っ張る。>犬。コイツ、本当に弱ってるんだろうか…? いや、ゼエゼエと呼吸してる感じもするので、昔よりはアレなんだろうけど。

人間の歩行速度に合わせて歩くように躾たいのだけど。躾け方が判らない。10才近い年齢でもあるし、今からではもう遅いのだろうか。

#3 [nitijyou] 夜食の買い出しに

近所のスーパーまで自転車で。自転車の前後のカゴいっぱいに食料を買い込んできた。

#4 [iappli] 背景上の障害物も入れ替えるようにという要求が届いた

要求に対応すべく作業開始。

でも、ステージ選択画面の見た目が、easyとnormalで逆転するのでは…。なんだか妙な仕様追加要求が発生しそうだなあ。ちと不安。

2007/04/21() [n年前の日記]

#1 [prog] _Perl 5.8.x における日本語コード変換のメモ

作業用スクリプトを作成しようとしてハマった。binmode STDIN, ':bytes'; 等を指定してなんとかなった。

#2 [java][iaplli] ハッシュについて検索

_JAVA入門第1回:JAVA言語の基礎(連想配列:Hash)
_Hashtable

#3 [cg_tools] EDGE2ってやっぱり便利そうだな…

ドット絵を調べる・調整する際には、かなり便利な感が。やはり購入しよう…。ということでライセンス購入依頼メールを送信。

#4 [anime] やさいのようせいなるアニメを見た

TV番組表を見ていたらタイトル不明のアニメがあったので録画してたのだけど。どうやら、やさいのようせい、なるアニメだったらしい。

CGだよな、コレ…。しかし、手描き・鉛筆画・水彩風の仕上がり。どうやって作ってるんだろう。何にせよ、CGアニメはとうとうこんなレベルにまで達したのかと感心。

#5 [iappli] 結構進んだ

メモしていたタスクはほとんど終了。残すは PalettedImage での処理。ということで、eclipse で別プロジェクトを作って実験用のソースを書いてたのだけど。Palette の getEntry() で int を取ったところで悩んでしまった。RGB値が入ってるのだろうと思うのだが、どういう状態で入ってるのやら。機種依存だったりするのか?

ドキュメントを読む限りでは、どうも gif のパレット値がそのまま入ってる、ような感じも思える。ということは gif のソレを調べないとダメか…。

_GIFについて :

_GIF89aのすべて

わかんねえ。

#6 [anime] 英霊の守り人3話を見た

英霊じゃなくて精霊か。でもなんだか面白い入力ミスなのでそのままで。

前半は、戦闘シーンというか、格闘シーン。先週とはうって変わって動く動く動く。今後が不安になるぐらい動いてて驚いた。大丈夫かな。まあ、静の回と動の回で構成していくのだろうからなんとか…なるといいなぁ。

子供が溜め池に落ちた際の水面の動きが気になった。水面に…アレはなんというのだろう、水草? が浮いてるわけだけど。それが水面の波とともに動いていて。アレもCGなんだろうか。CGだよな。ストイックな自然現象の表現時において人間の手描きの労力を無駄に浪費せずに済むのは素晴らしいことのように思う。

_水生植物 :

ハス、だったか。

2006/04/21(金) [n年前の日記]

#1 [iappli] 雛形作成

足場objに乗ったりジャンプしたりするところまで作成。

足場に乗ったときに一旦沈んでから補正がかかるのが気になる。アタリチェックと補正の順番が変なのか…?

マップ上にスプライトを配置するツールってないものか。 :

敵の発生テーブルを作りたいのだけど。視覚的に配置できたほうがいいよなと。

少し検索してみたけど、それらしいツールは無かった。需要がないってことかな。2Dアクションゲーム・2Dシューティングゲームを作る人がまったく居ないことの証明。というわけではなくて皆隠してるだけ、だらうか。

ていうか、PCの世界ではそのへんX68Kの時代で終わってしまってる感も。…そういや昔、某所でX68Kを開発ツールに使ってるのを見て、「なんで未だにX68Kなのだ」と不思議に思ったけど。Windowsの世界には、その手のツールがほとんどまったく存在してなかった、という事情が。

GIMP で代用できないかな。レイヤーをバンバン複製して、移動して。たしかGIMPのレイヤーは、昔の Painter のフローターみたいな感じでデータを持ってるし。各レイヤーの位置座標を一覧として取得することさえできれば、MAP上にスプライトを配置するツールとしても流用できそうな予感。リソースの無駄遣いな気もするが、今もメンテナンスされてるツール上で作業できるのは、利点になりそうな。

Webページ作成ツールでも流用できるだろうか。Webページにも、レイヤーの概念があるし。皆に嫌われてたホームページビルダーのどこでも配置モードが、思わぬところで大活躍とか。有料なのがちょっとアレだけど。

#2 [nitijyou] Yahoo関係を色々登録

ウォレットとか、プレミアムとか、そのへんを。

プレミアム会員登録時に、ウォレットの支払い方法を確認しようとしたら、銀行口座振替の設定はされてない、と出てきた。ウォレットのトップページから辿っていくと銀行口座から支払うようになってるのだけど。…振替と引き落としは違うのか。こんがらがってきた。

ヤフオクの評価ってどこまで参考になるのやら。 :

評価をつけてる人達のHNが、えてして、[a-z]+[0-9]+、な感じで…。アレってほとんど自動生成じゃないのかと。

あ。自分のHNも、[a-z]+[0-9]+、だったわ。

[a-z]+ だけでアカウントを取ろうとすると、大体は取れないから…。それで後ろのほうに、数字がくっつく形に。という人が多いのかもしれん。

N506iでもいいぞと教えてもらった。 :

H氏から、N506iでの動作確認でも特に問題はない、とのメールが。マジすか。助かった。…でもベンチマーク結果を眺めると、N505i は N506i の半分の速度だったりするところもあったりして、ちと不安ではあるのですが。N506iでは処理が間に合っていても、N505iでは間に合わない、なんて場面もありそうな。

今現在も、N505iを使ってる人って、どれだけ居るのだらう。少ないようであれば、切り捨ててもOKそうだけど。…つーか、N506iSIIを買えるだけのお金を出すからユーのN505iをミーに売ってください、とお願いしたい気にもなってくる。…まあ、いいか。N506iでもOKという話が出たのだから、わざわざクソスペックのN505iを入手しなくてもいいだらう。明日、お店に行ってこよう。

Yahooプレミアム会員になった意味がなくなってしまったな。オークションの入札以外にメリットないし。>プレミアム会員。「プレミアム会員になると新宿の母の占いが〜」とか言われても困るだけだしなぁ。…ブリーフケースあたりを活用する方向で考えるか。

Yahoo!ジオシティーズって50MBの容量になってたのか。 :

プレミアム会員になったらホームページスペースの容量も増える、てな感じの特典はないものか。と思って調べたら、いつのまにやら無料でも50MBの容量になってたらしい。知らなかった。てっきり、相変わらず10MB程度しかないものとばかり。そうと知ってれば、あちこちの無料アカウントを取得して、コンテンツを分散するんじゃなかった。…と思ったが、どのみちcgiは動かせないからアレか。

お金を払うと300MBまで使えるらしい。

#3 [zatta] _水没シールを貼り替えて携帯電話の修理代を無料に!

となると、オークションに出てる携帯はトイレとかに落ちたやつ、と考えといたほうが良さそうだな…。水没シールに異常がなくても信用できない、と。

こうなってくると、「トイレに落としたけど動いてはいるみたい。でも、気分悪いし動かなくなるのが怖いから売る」と書いてあるモノのほうが安心して買えそうな。

2005/04/21(木) [n年前の日記]

#1 [vine][linux] ftpのログが延々と溜まってた

/etc/logrotate.d/proftpd に、/var/log/proftpd/access_log を rotate するように指定してたのだけど。proftpd のログファイル名が、/var/log/proftpd/access.log になってたわけで…。何をやってるんだ… >自分。

/etc/logrotate.d/proftpd を修正。access_log → access.log に。

#2 [linux][nitijyou] 自宅サーバがrebootしていて焦った

ログを見たら、何故かPM4:40頃に自宅サーバがrebootしていた痕跡が。さては中国の連中が攻撃を…。と焦ったのだけど。単に妹がrebootしてしまったらしい。 *1 本来、親父さんPCと自宅サーバを切替えるような構成はマズイよなぁ…。やはり自分の部屋に持ってこようかしら。うーん。
*1: 妹が、親父さんPCを使ってる最中、WinXPがハングアップ。Ctrl + Alt + Del で再起動したところ、実はCPU切替器が、親父さんPCと自宅サーバの画面を切替えていて…自宅サーバをrebootしてた、ということらしく。

この記事へのツッコミ

Re: 自宅サーバがrebootしていて焦った by otsune    2005/04/24 14:28
ctrl + alt +delを無効にすればいいのでは?
/procとかtty設定で出来る気が。
Re: 自宅サーバがrebootしていて焦った by mieki256    2005/04/24 21:11
> ctrl + alt +delを無効に

ああっ! そうか。そんな選択肢もあったとは…
thxです。早速調べてみるであります。なるほどなぁ…

#3 [nitijyou] レンタルしていたDVDを返してきた

わざわざメモるということは、普段それだけ外出してないということだったり。

今度は『キューティーハニー実写版』を借りてきた。 :

たしか、『CASSHERN』と同時期の公開だった記憶が…。こちらはそこそこ面白いという評判らしいので、期待。というか、ハニメーションに興味があるのですが。

ちなみに。棚を見る限り、『CASSHERN』は数枚置いてあったけど。全部が「貸し出し中」。『ハニー』のほうは、置いてる枚数自体、『CASSHERN』の1.5倍くらいだったけど。全部が「レンタルOK」状態。そのへんなんだか気になります。どういうことなのですかね。

ついでに、「DVDプレイヤーで遊べるゲーム」と称してるタイトルも1枚借りてきた。おそらく、メニューを選んでくだけで映像が出るとか、そんな感じなのかなと想像してるのだけど。どの程度ゲームらしく仕上げているのか、興味アリ。

運転免許証をコピーされたけど大丈夫だらうか :

せっかく外出したついでに、もう一つ、別のレンタルビデオ店の会員になってきた。が、入会の際、運転免許証をコピーされたわけで…。ちと不安。

2004/04/21(水) [n年前の日記]

#1 [pc] Webページ移動作業について教えに

複数サイト間でのWebページの移動の仕方がわからないとのことで相手先に教えに。寝てないので車の運転は怖く。かといって電車+徒歩は時間が自分で制御できないのが嫌。なので、自転車で行ってきた。時間はかかるし疲れるけど気は楽。走ってる間は寝ないし。出発AM9:00。相手先到着AM10:30。PM3:30まで教えた。帰り、コジマやらBOOK OFF等回って。帰宅PM7:00。その後爆睡。

フォルダの概念 :

コンテンツ内容別にフォルダで管理してくれてたら、フォルダを一つエクスプローラで移動してもらうだけで済んだのだけど。…気になるのは、相手の方が、フォルダとファイルを区別してなかったらしきこと。当然、全てのファイルはサイト管理フォルダのルートに同列で置かれてしまう。

「ファイルを作ってその中にファイルを入れるのですね」などと納得されてこちらが困惑。いいえ。違います。ファイルは、ファイルに入りません。 *1 ファイルが入るのは、フォルダです。 *2 会社の書類だって、全部同じ場所に置いたり入れたりはしないはず。会社別、個人別等で、バインダーなり何かなりに入れて分類してるはず。その分類に使うのが、フォルダです。と説明したけど判ってもらえたのだろうか。

その相手に限った話じゃない。ウチの親父さんもフォルダの概念はよく理解できてない(時期があった)。どうも初心者がPCのファイル管理を行うにあたっては、フォルダ(ディレクトリ)の概念は若干壁になってるんじゃないかという気がする。かといって階層化の概念がなければ膨大なファイルを全て同階層に置く事になって大変な事態を招くので、どこかで理解してもらわないと厳しいのだけど。…誰かが話してた、「ファイルを全部ぶっこんどいて後は検索でどうにか」という概念が実用化・普及すればそのあたりの状況もまた変わるのだろうけどなぁ。

ホームページビルダーでファイルをまとめる方法 :

該当ページへのリンクを解除する→該当ページと関連ファイルが未使用ファイルとしてリストアップされる→フォルダを新規作成→未使用ファイルを全選択して、新規作成したフォルダにD&Dして移動→フォルダの中にファイルがまとまる。

相手先に行って、作業について指示してた時に気づいた。最初からこれをメール等で指示しておけばよかった。

*1: 圧縮ファイルなら話は別だけど、今はそういう話をしてるわけじゃない。
*2: フォルダも、フォルダの中に入るのだけど、それを言うと「自分の中に自分が入る?」等の混乱を招きそうなのでヤバイなと思ったり。

#2 [comic] 昨日、妹から花ゆめを借りて読んだ

フルバが凄いことになってる。教育実習生が女子中学生にプロポーズしてる。いいのか。ロリコンじゃないか。美形ならロリコンでも許されるのか。許されるんだろうなぁ。…考えてみればセーラームーンのマモちゃんとやらもヤバイ。大学生なのに女子中学生に手を出してたっけ。美形ならなんでも許されるのか。許されるんだろうなぁ。

#3 [comic] 『本気のしるし』(星里もちる著)4巻

を入手。先輩、いいなぁ。要らない・捨てるなら俺にくれ。…架空のキャラを欲しがってどうするのだ>俺。

2003/04/21(月) [n年前の日記]

#1 自転車の無灯火は本当によく見かけるのですよ

_これは素晴らしい。 感動した。皆必ず習っていたのになぜこの方法に気づかなかったのだろう。やられた。

2002/04/21() [n年前の日記]

#1 まだPDF

_PDFが手書きできるとは知らなかった (爆)
もっとも、ハンドアセンブルとかそういうノリに近い気もするんで、できればやりたくないですが…

MS-Wordで、添付のClipArt読みこんでも、輪郭ネロネロ。なんだかな。


OpenOfficeをインストール。
日本語フォント利用時の問題はあるものの。それ以外はイイ感じ。
無料でここまで使えたら、MS-Office要らないんじゃ…


妹がこの日記を見ていたことが判明。
うかつなこと書けなくなりそう(汗
…まあ、今更、かなぁ。


念の為、ご報告。
自鯖のTOPページ、メンテナンス云々書いてありますが。
アレ、ダミーです。
一番下までスクロールさせればリンクがあるので、そこから辿ってください。
そのうち、もうちょいカッコイイTOPページを作りたいです。

2001/04/21() [n年前の日記]

#1 QuickTime Plugin

IE,MoonBrowserでPNGを単体表示してる際、画像保存できないからおかしいなと思ったら。
QuickTime Pluginが原因でした。コイツがPNG表示処理を横取りしてた。
IE5.5はPNG表示対応済みだっつーに、何を余計なことしてますかコイツは。

しかもオイラの環境では、QuickTimeとPNGの関連付け(?)を無効にする設定項目が表示されないときた。ウキー
いきなり4.0を入れたせいなんだろうか。
通常、「ブラウザ・プラグイン」なる設定項目があるらしいんだけど。

妙に腹立ったんでQuickTimeをアンインストール。
MSと同レベルの腐った仕様をユーザに押し付けやがって。
オイラのPCなんだから、オイラの好きなように設定・カスタマイズさせろや。ガー

あー、でもこれではmovファイルが見られん。
pluginを除外してインストールとか出来たっけかなぁ…


なんだかここ数日カルシウム不足かも。

2000/04/21(金) [n年前の日記]

#1 (NoTitle)外はかなり強い雨。出...

外はかなり強い雨。
出かけられないなァ。

弟から「FLASHってハートカクテルみたいな画面を作るの向いてるんじゃない?」と言われてなるほどと思ったリ。ああいうサッパリした絵柄、いいなァ。
登場人物に、「〜かナ」「〜だヨ」なんて感じで喋らせないとネ。
しかしどうして語尾がカタカナになるのかナ。不思議。

わたせせいぞうさんのカラー作品って、確か人物以外(背景とか)は印刷所への色指定(なのかな?)でやってるんでしたっけカ。
ああいった、領域を指定して均一な塗りやグラデーションの塗りをする、というのは、FLASHに限らずベクトルデータを扱うツール全般で得意とするところ、というか、今だとそもそも、そういうツールで版下を作ってたりするのかナ。そのへん、よくわかりませんガ。
何にしても、あの路線は結構イケそウ…
もっとも、ああいった「さわやか〜」で「ちょっとおしゃれ〜」な話やネタを作れるのかどうかが一番ネックになるでしょうけド… (^_^;)

弟が仙台に帰ったでス。
毎回、弟は車を自分で運転して帰ってくるのですが、費用的には新幹線等を使った場合と同じぐらいかかるそうデ。
新幹線利用のほうが精神的・肉体的には楽でしょうけど、自分で時間をコントロールできない(乗換え時間等が存在する)のがイヤで、とのこと。
その気持ちはよくわかるでス。オイラも隣の市まで、電車を使わずわざわざ自転車で行くのは、結局そこらへんの理由だシ <金がかからないというメリットも大きいのですガ。でも肉体的にはかなりシンドイのでそのへんは割に合わなイ…
一度、「自由」を体感してしまうと、元には戻れないですよネ。

新聞を読んでると、i-modeを取り巻く情勢がなんだか厳しくなってきているような気がしまス。
うーん、どうしよウ。
とか悩む前に、さっさと対応ページ作ってみるのもいいのでしょうけド。
とりあえず、オイラのHPなら、日記とBBSを対応ですネ。どちらもi-mode専用ページにせざるを得ませんけド。
日記は容量的に大きすぎるんで、1日毎に別ページ構成化、かナ。perlスクリプト書いて、今書いてるこのページから自動生成するようにしてみたいなァ。

試しに語尾をカタカナにしてみましタ。余計なトコロまでしてますけド。
雰囲気変わりましたかねェ…
…なんだかアブナイ人が書いた文章にしか見えないような気がしてきましたヨ (^_^;)

1999/04/21(水) [n年前の日記]

#1 (NoTitle)起きたらPM5:00。これ...

起きたらPM5:00。これじゃますます人生大逆走。(このフレーズなんか語呂がいいねぇ。)

「セングラ(センチメンタル・グラディウス。ウソ)」をちょっとプレイしてみました。なるほど、「女の子があらわれた!」「女の子は怪しい踊りを踊った!」「プレイヤーは混乱した!」ってゲームなんですね(違うか)。個人的には仙台の女の子が、もっと「りゅん」を多用してくれるのかワクワクドキドキ超期待してましたが、そうでもなかったのでマイナス10点。(←チンプ関係の読みすぎや。)

トレジャーの「レディアントなんちゃら」も、ちょっとプレイ。実は初めてゲーム画面を見るような気がする。おお、スゴイ。なんだかレイフォースとレイストームの中間みたいで、サターンにしちゃイイ感じ。…それにしても難しいにゃ。私にはクリアできそうに無いニャ(←これではセイラさんに「軟弱者!」と言われてしまうぞ)。 しかしあのキャラクターの絵が出てくるたび、なんだか背中のあたりが痒くなってくるのはなぜなんだろう。

以上、21 日分です。

過去ログ表示

Prev - 2019/12 - 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