mieki256's diary



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

#1 [ubuntu][linux] SPTKを触っているところ

TIC-80の波形メモリ音源をもっと使いこなせないものかとヒントを探してググってるうちに、SPTK (Speech Signal Processing Toolkit)という、波形データを処理するツール群の存在を知り、試しに触ってみようかと。なんでも、波形データの中身をテキスト形式でダンプしたり、ピッチを検出したりすることができるらしい。

_SPTKの使い方 (1) インストール・波形描画・音声再生 - 人工知能に関する断創録
_Speech Signal Processing Toolkit (SPTK)
_SPTKというものを使ってみた - matobaの雑記

Ubuntu 18.04 LTS上でインストール。 :

とりあえず、VMware Player + Ubuntu 18.04 LTS 上でインストールしてみた。

Ubuntuの場合、sptk というパッケージが用意されていたので、導入は簡単だった。
$ sudo apt install sptk
$ sptk impulse -h

impulse - generate impulse sequence

...

SPTK: version 3.9
CVS Info: $Id: impulse.c,v 1.24 2015/12/14 01:14:16 uratec Exp $
現状では SPTK 3.9 がインストールされる模様。

巷の解説記事では、直接 impulse -h と打ち込んで動作確認している事例がほとんどだけど。Ubuntu の sptk パッケージは、sptkの後ろに実行したいコマンド名を追加して実行する状態で配布されているらしい。これは勝手な想像だけど、コマンド数が多いので、他のツール名と重複することを避けるためにそうしているのかな、と。

まあ、/usr/lib/sptk/bin/ 以下に各コマンドが入ってるっぽいので、面倒な時は PATH に設定してしまうのもありかもしれない。
export PATH=$PATH:/usr/lib/sptk/bin

xgrが動かない。 :

SPTK に同梱されている、波形をグラフ表示するツール、xgr が動かなかった。
$ gwave +s data.short | xgr
X Error of failed request:  BadName (named color or font does not exist)
  Major opcode of failed request:  45 (X_OpenFont)
  Serial number of failed request:  312
  Current serial number in output stream:  318
Broken pipe
Broken pipe
Broken pipe
Broken pipe
Broken pipe
Broken pipe
このツールだけは X Window を使うので、他の環境でも動かなかった事例がちょこちょこあるらしい。

エラーメッセージでググったら、どうもフォントが足りてない時に出るエラーっぽい…。

結論を先に書くと、以下を再インストールしたら動くようになった。
sudo apt --reinstall install xfonts-base xfonts-100dpi xfonts-75dpi xfonts-cyrillic

おそらく、何かしらのフォントをインストールしていく途中で、何かが壊れてしまっていた、と言うことだろうか…。

xgrを動かすために試行錯誤した際の記録。 :

以下のパッケージをインストールしてみたけれど、状況は改善しなかった。
sudo apt install xfonts-75dpi xfonts-100dpi
sudo apt install xfonts-75dpi-transcoded xfonts-100dpi-transcoded
sudo apt install x11-xfs-utils
sudo apt install xfonts-unifont
sudo apt install gsfonts-x11

xgr のソースファイル群を眺めてみたら、gcdata.h の中で以下の記述があった。ここで記述されているフォントの種類が必要になるのだろう…。
/*
* Fonts name
*/
#define FSymbol 9
static char *f_name[] = {
   "-adobe-courier-medium-r-normal-*-*-100-*-*-m-*-iso8859-1",
   "-adobe-courier-medium-r-normal-*-*-120-*-*-m-*-iso8859-1",
   "-adobe-courier-medium-r-normal-*-*-140-*-*-m-*-iso8859-1",
   "-adobe-courier-medium-r-normal-*-*-160-*-*-m-*-iso8859-1",
   "-adobe-courier-bold-r-normal-*-*-100-*-*-m-*-iso8859-1",
   "-adobe-courier-bold-r-normal-*-*-120-*-*-m-*-iso8859-1",
   "-adobe-courier-bold-r-normal-*-*-140-*-*-m-*-iso8859-1",
   "-adobe-courier-bold-r-normal-*-*-160-*-*-m-*-iso8859-1",
   "-adobe-symbol-medium-r-normal-*-*-80-*-*-p-*-adobe-fontspecific",
   "-adobe-symbol-medium-r-normal-*-*-100-*-*-p-*-adobe-fontspecific",
   "-adobe-symbol-medium-r-normal-*-*-120-*-*-p-*-adobe-fontspecific",
   "-adobe-symbol-medium-r-normal-*-*-140-*-*-p-*-adobe-fontspecific",
   "-adobe-symbol-medium-r-normal-*-*-160-*-*-p-*-adobe-fontspecific"
};

xfontsel & と打って、前述のフォント種類が選べるか確認してみたが、adobe なんたらというフォントは入ってないように見える。

xfonts とついてるパッケージを片っ端から入れてみたところ、xfontsel で、adobe なんたらというフォントは選べるようになった。が、相変わらず sptk の xgr はエラーを出す。再度 xfontsel で確認してみると、adobeなんたらについては、ptSz は 120 以外無いし、spc も m が無い。必要なフォント種類を満たしていなかった。

ダメ元で、xfonts-base その他を再インストールしてみたところ、xfontsel 上でも目的のフォント種類が選べるようになったし、xgr も動いてくれた…。

以下、関係ありそうなページ。

_UbuntuでPackageの再インストール | technote
_11.04 - How to install xorg-x11-fonts - Ask Ubuntu
_Ubuntu設定-3- - kshimo69のブログ

#2 [nitijyou] 日記をアップロード

気づいたら2018/10/30を最後に日記をアップロードしてなかったので、まとめてアップロードしておいた。とメモ。

2017/11/24(金) [n年前の日記]

#1 [lua][love2d] love2dで敵をたくさん出してみる

Luaでクラスを作る方法が分かってきたので love2d で実験。雑魚的相当のオブジェクトをたくさん出せそうかテスト。

こんな感じに。

enemys_test01_ss.gif

以下の環境で動かしてみたけれど、どちらも同じように動作した。

画像とソース。 :

使用画像は以下。License : CC0 / Public Domain ってことで。

_bg_640x480_02.png
_enemy02.png

ソースは以下。

_conf.lua
function love.conf(t)
  t.window.title = "Enemys Test01"
  t.window.width = 1280
  t.window.height = 720
  t.window.vsync = true
  -- t.window.fullscreen = true
  -- t.window.fullscreentype = "exclusive"
end

_main.lua
function love.load()
  -- init

  -- set filter
  love.graphics.setDefaultFilter("nearest", "nearest")

  scr_w = 640
  scr_h = 480
  canvas = love.graphics.newCanvas(scr_w, scr_h)

  -- get window width and height
  wdw_w, wdw_h = love.graphics.getDimensions()
  scr_scale = math.min((wdw_w / scr_w), (wdw_h / scr_h))
  scr_ofsx = (wdw_w - (scr_w * scr_scale)) / 2
  scr_ofsy = (wdw_h - (scr_h * scr_scale)) / 2

  -- load image
  bgimg = love.graphics.newImage("bg_640x480_02.png")
  enemy_img = love.graphics.newImage("enemy02.png")

  -- define enemy class
  Enemy = {}
  Enemy.new = function(x, y, dx, dy, xw, ang, angspd, img)
    local obj = {}
    obj.activate = true
    obj.x = x
    obj.y = y
    obj.dx = dx
    obj.dy = dy
    obj.bx = x
    obj.by = y
    obj.xw = xw
    obj.angle = ang
    obj.angspd = angspd
    obj.img = img
    obj.img_w = img:getWidth()
    obj.img_h = img:getHeight()
    setmetatable(obj, {__index = Enemy})
    return obj
  end

  Enemy.update = function(self, dt)
    if not self.activate then return end

    self.bx = self.bx + self.dx * dt
    self.y = self.y + self.dy * dt
    self.x = self.bx + self.xw * math.sin(math.rad(self.angle))
    self.angle = (self.angle + self.angspd * dt) % 360.0
    if self.y - self.img_h > scr_h then self.activate = false end
  end

  Enemy.draw = function(self)
    if not self.activate then return end

    local x = self.x - self.img_w / 2
    local y = self.y - self.img_h / 2
    local ang = math.rad(self.angle)
    local scale = 1.0
    local ox = self.img_w / 2
    local oy = self.img_h / 2
    love.graphics.draw(self.img, x, y, ang, scale, scale, ox, oy)
  end

  -- work
  enemys = {}
  born_timer = 0.0
  math.randomseed(0)

  -- framerate steady
  min_dt = 1 / 60
  next_time = love.timer.getTime()
end

function love.update(dt)
  -- update
  next_time = next_time + min_dt
  if dt > 1.0 then return end

  born_timer = born_timer + dt
  if born_timer >= 0.3 then
    -- enemy born
    born_timer = born_timer - 0.3
    x = math.random(scr_w)
    y = -32
    dx = 0
    dy = 40 + math.random(80)
    xw = 50
    ang = math.random(360)
    angspd = 240
    obj = Enemy.new(x, y, dx, dy, xw, ang, angspd, enemy_img)
    table.insert(enemys, obj)
  end

  -- move enemys
  for i, spr in ipairs(enemys) do
    spr:update(dt)
  end

  -- remove enemy
  local elen = #enemys
  for i=elen,1,-1 do
    if not enemys[i].activate then
      table.remove(enemys, i)
    end
  end
end

function love.draw()
  -- set canvas
  love.graphics.setCanvas(canvas)

  -- draw BG
  love.graphics.setColor(255, 255, 255)
  love.graphics.draw(bgimg, 0, 0)

  -- draw objects
  love.graphics.setColor(255, 255, 255)
  for i, spr in ipairs(enemys) do
    spr:draw()
  end

  -- unset canvas
  love.graphics.setCanvas()

  -- draw canvas to window
  love.graphics.setColor(255, 255, 255)
  love.graphics.draw(canvas, scr_ofsx, scr_ofsy, 0, scr_scale, scr_scale)

  love.graphics.print("FPS: "..tostring(love.timer.getFPS()), 10, 10)
  love.graphics.print("env: "..tostring(love.system.getOS()), 10, 40)
  love.graphics.print("enemys: "..tostring(#enemys), 10, 60)

  if love.system.getOS() == "Windows" then
    -- wait
    local cur_time = love.timer.getTime()
    if next_time <= cur_time then
      next_time = cur_time
    else
      love.timer.sleep(next_time - cur_time)
    end
  end
end

function love.keypressed(key, isrepeat)
  -- ESC to exit
  if key == "escape" then
    love.event.quit()
  end
end

画像とソースをテキトーな名前のフォルダに入れて、love フォルダ名、で実行。

少し解説。 :

上記のソースでは、Enemy というクラスを作って処理をしてる。以下の3つのメソッドを用意した。
  • クラス生成用メソッド Enemy.new
  • 座標更新処理用メソッド Enemy.update
  • 描画処理用メソッド Enemy.draw

Luaでクラスを作る際の書き方については、以下の解説ページが参考になった。

_Luaでオブジェクト指向(1)―基本はコロン記法とメタテーブル - Minecraftとタートルと僕
_blog/luaoo.md at master - kengonakajima/blog

色んな書き方があるっぽいけど…。
  • hoge.new の中で他のメソッドも書くやり方だと、インスタンスを作るたびにメソッドが別領域に作られてメモリの無駄遣いになる。
  • かといって setmetatable を使うと、メソッドは同じ領域を使うからメモリの面では助かるけど、メソッド名の検索が一々入るから処理速度は遅くなる。
さて、どっちがいいのだろうなと…。

2016/11/24(木) [n年前の日記]

#1 [python] PySideでアコーディオンっぽいソレを実験

アコーディオンっぽいウィジェットを実現してみたい。クリックすると中身が開いたり閉じたりするアレ。

あのUI、名前が分からんのだけど。とりあえず以下のページでもアコーディオンって言ってるし、それでいいのかな…。どうなんだろ…。

_モバイルデバイスにおけるアコーディオンUI - U-Site

こんな感じだろうか…。アニメーションは無いけれど。

_hide_widget_test.py
u"""
Widgetの表示・非表示ができるかどうかのテスト.

動作確認環境 : Windows10 x64 + Python 2.7.12 + PySide 1.2.4
"""

import sys
from PySide.QtCore import *  # NOQA
from PySide.QtGui import *   # NOQA


class AccordionWidget(QWidget):

    u"""アコーディオンモドキのカスタムウィジェット."""

    layout_changed = Signal()

    def __init__(self, title, parent=None):
        """init."""
        super(AccordionWidget, self).__init__(parent)
        self.title = title
        self.open_flag = True

        self.open_btn = QPushButton("", self)
        self.open_btn.setStyleSheet("text-align: left;")
        self.update_button_text()

        self.mainw = QLabel(self)
        self.mainw.setPixmap("./tmp_bg.png")

        l = QVBoxLayout(self)
        l.addWidget(self.open_btn)
        l.addWidget(self.mainw)
        self.setLayout(l)

        self.open_btn.clicked.connect(self.open_close_main_widget)

    def open_close_main_widget(self):
        u"""メインウィジェットを開いたり閉じたりする処理."""
        if self.open_flag:
            self.mainw.hide()
            self.open_flag = False
        else:
            self.mainw.show()
            self.open_flag = True
        self.update_button_text()
        # self.layout().update()
        self.updateGeometry()
        # self.update()
        self.layout_changed.emit()

    def update_button_text(self):
        u"""開閉ボタンのテキストを設定."""
        if self.open_flag:
            self.open_btn.setText(self.title)
        else:
            self.open_btn.setText(u"> " + self.title)


class TestQTabWidget(QWidget):

    u"""メインウインドウ相当."""

    def __init__(self, *argv, **keywords):
        """init."""
        super(TestQTabWidget, self).__init__(*argv, **keywords)

        page1 = AccordionWidget("page 1", self)
        page2 = AccordionWidget("page 2", self)
        page3 = AccordionWidget("page 3", self)

        l = QVBoxLayout()
        l.addWidget(page1)
        l.addWidget(page2)
        l.addWidget(page3)
        self.setLayout(l)

        page1.layout_changed.connect(self.changed_layout)
        page2.layout_changed.connect(self.changed_layout)
        page3.layout_changed.connect(self.changed_layout)

    def changed_layout(self):
        u"""レイアウトが変更された時に呼ばれる処理."""
        # レイアウトを再計算させるときは以下のように書くらしい
        self.layout().activate()
        self.resize(self.sizeHint())


if __name__ == '__main__':
    app = QApplication(sys.argv)
    w = TestQTabWidget()
    w.show()
    sys.exit(app.exec_())

hide_widget_test_ss01.gif


QWidget を非表示にするのは、hide()。表示するのは show() でいいらしい。ちなみに最初は show() の代わりに setVisible(True) を呼んでたけど、そっちでも表示できた。

ウィジェットを表示した時はウインドウが大きくなってくれるけど、隠した時は小さくなってくれなくて悩んだり。レイアウトの再計算が必要なのだろうけど。

レイアウトを再計算してウインドウをリサイズする方法は、 _PySide and Python Tips - The Art & Tech of Christian Akesson で紹介されてた。
layout.activate()
self.resize(self.sizeHint())
これで、現状に合わせてサイズ変更されるようになった。

ボタン内のテキストを左詰めで表示したい時は、スタイルシートで指定するようで。
self.open_btn.setStyleSheet("text-align: left;")
こんな感じでいいらしい。

ボタンに記号を表示したいのだけど。 :

中身を開いてる時と閉じてる時で、ボタン上に異なる記号を表示したいのだけど、何を表示すればしっくりくるのか悩んでしまったり。

右向き・下向きの三角を表示したほうが分かりやすいのだろうか…。でも、その手の記号を含んでいて、どのOSでも使えるフォントってあるのかな。無さそうな気もするけど。

あるいは、「[+}」「[-]」みたいなソレのほうが…。いや、ソレはちょっと見た目がダサいかな…。

フツーは何を表示するんだろう。そういえば、Webページ上のソレは、記号の類は何も表示してない場合が多いか。実は何も表示しなくてもユーザ側はおおよそ使い方が分かる…のかなあ。どうなんだろ。

#2 [pc] クロスプラットフォームで使える記号って何だろう

Windows、Linux、Macで、共通して使える記号って何だろうなと。記号と言うか、全角記号を含んだフォント、なのだろうけど。

「+」「-」「=」等の半角記号ならどのOSでも使えるだろうけど、三角記号等は全角フォントじゃないと使えないのではないかな…。となると、どのOSでも使える日本語フォントがあるのかどうか、という話になってしまいそうな。

と思ってググり始めたのだけど。もしかして、 _Webdings_Symbol なら、どのOSでも使えたりするのだろうか? 少なくとも Ubuntu は、Webdings がインストールできるみたいだし、Mac は Webdings を持ってるみたいだし。であれば、わざわざ日本語フォントを探さなくても済むのかな。

_Ubuntu で Microsoft 系のフォントをインストール : Serendip - Webデザイン・プログラミング
_わかばマークのMacの備忘録 : 絵文字フォント「Webdings」「Wingdings」

でも、例えば PySide (PyQt)等で、ボタンのテキストに複数のフォントを指定、とかできるのかな…。最初の1文字は Webdings で、その後の文字列は _Arial とか。どうなんだろ。

余談。今まで知らなかったけど、Webdings っていきなりキーボードから英数字や半角記号を打つだけで表示されるのだな…。

#3 [nitijyou] 某所に行ってきた

Windows7が動いてるDELL製PC、OptiPlex 3020 が起動しない、という相談を受けたので某所まで。朝から雪が降っていて自転車で行くのはちと無理そうだったので、親父さんの運転する車で送り届けてもらった。AM09:00-AM11:20まで作業。

症状をメモ。 :

DELL製PCの電源スイッチLEDが黄色で点滅して起動しない、という症状で。DELL製PCに共通して起きる症状らしいので、一応メモ。

_電源ボタンが黄色に点滅してパソコンが起動しない場合の対処方法 | Dell 日本
_電源ボタンが黄色く点灯、または点滅してパソコンが起動しない場合の対処方法 (ビデオ) | Dell 日本

上記ページでは、確認作業として以下が提示されていたので試してみたり。一応、一昨日の時点で、某所内のPC大臣が既に一通り試したはずだけど、「とにかく様子を見てくれ」と言われてしまったので、念のために自分も試したり。
  • 外付け機器を外してみて、症状が変わるか確認。
  • ケースを開けて、HDD、光学ドライブ、M/Bに接続されたケーブルを全部差し直して、症状が変わるか確認。
  • ボタン型電池を外して、数分放置してから入れ直して、症状が変わるか確認。
  • メモリを外して、差し直して、症状が変わるか確認。

ボタン型電池を外したり、メモリを差し直したりしてから、電源ケーブルを差したところ、BIOS画面が表示された。メッセージに従ってF5キーを押してハードウェアチェックをしてみたところ、十数分ほど色々なチェックが走って、結果は異常無し。メニューからReboot(再起動)を選んだら、Windowsが起動した。

しかし、Windowsをシャットダウンさせたら、また電源LEDが黄色の点滅状態に。

そこから先は電源スイッチを押しても無反応。某所に到着した時と同様、電源が入らない状態に戻ってしまった。ケース裏の電源部分についてるスイッチを押すと、押した時だけ電源裏面のLEDが緑に光るけど、スイッチを離すと消灯したまま。何も変化無し。

DELLのサポートに電話して状況を報告してみたら、黄色の点滅のパターンでどこがおかしいのか少しは判別できるとの話で。等間隔で点滅してるか、2回点滅して少し間があいて1回点滅を繰り返してるかを質問された。後者のパターンであることを報告。

すると、「ケーブルを外して電源スイッチを15〜20秒ほど押し続けると内部放電する。症状が変わるかもしれないから試してほしい」とアドバイスが。その通りにしてみたら、BIOS起動・Windows起動に進んだ。

サポートの方の話では、「内部放電をしてみて起動するとなると、再現性がある症状として扱えない」とのことで。内部放電しても電源が入らなければ完全に故障扱いになるらしいけど…。仮に故障してるとしたら電源ユニットの可能性が高い、とも話していた。推測だけど、黄色の点滅が、2回+間+1回、なら電源が故障、ということなのかなと。こちらの勝手な推測なので違ってるかもしれんけど。

修理費用は、保証期間が切れているPCなので…。
  • 訪問修理の場合、約55,000円。
  • DELLに送って修理するなら、約30,000円。
  • 部品だけ取り寄せて自分で修理するなら約18,000円。
との話。更に、今から部品を手配しても来週頭に発送できるかどうか、とのこと。

某所としてはすぐにでも直してほしいそうで。さあ、困った…。

その他の詳細についてはGRPでメモ。

電源部分についてるスイッチについて。 :

_デスクトップパソコンが起動しない場合のトラブルシューティング | Dell 日本 によると、PC背面の、電源部分についてるスイッチやLEDは、自己診断スイッチ・自己診断ランプ、らしい。押してる間、LEDが緑に光る状態が正常で、何か壊れたハードウェアがどこかに接続されている場合、押しても光らない…という感じに読めるのだけど、違うのかな。

関連ページをメモ。 :

_DELLのオレンジ点滅:パソコン診療所のブログ
DELL製品の電源ランプのオレンジ点滅は、電源関連の不具合(電解コンデンサのパンク、ファンの不良など)が多い。

DELLのオレンジ点滅:パソコン診療所のブログ より


_Dellのパソコンの電源ランプがオレンジ色で起動しない対処方法 | エクセル・アクセスでデータベース管理
1.後ろの電源コードを抜いてください。抜いても緑色のランプがついたままではありませんか?
2.後ろの電源コードを抜いたまま、電源ボタンを押してください。当然、電源ボタンを押しても電源は入りません。
3.後ろの緑のランプが消えているでしょ! これで、問題は解決しました。

Dellのパソコンの電源ランプがオレンジ色で起動しない対処方法 | エクセル・アクセスでデータベース管理 より

えっ…。点灯したままだと問題が発生してる状態、だったのか…。

_電源ボタンが黄色に点滅してパソコンが起動しない場合の対処方法 ( その他趣味 ) - ブログ版−桐のイベント道場 - Yahoo!ブログ
背面の電源コンセント横の黒いスイッチを押して、LEDが点灯しなければ、電源ユニットに問題があるのだという。

電源ボタンが黄色に点滅してパソコンが起動しない場合の対処方法 ( その他趣味 ) - ブログ版−桐のイベント道場 - Yahoo!ブログ より

なるほど…。自己診断ランプで電源自体に問題があることが分かる、と…。

_パソコンの電源が入らない、電源ランプが点灯せず起動しない場合の対処方法 ( その他趣味 ) - ブログ版−桐のイベント道場 - Yahoo!ブログ
webを調べると分かるが、 「パソコンの電源が入らない、電源ランプが点灯せず起動しない」という話題は結構メジャーだっ。 なんでも、静電気が悪さをするらしい。

パソコンの電源が入らない、電源ランプが点灯せず起動しない場合の対処方法 ( その他趣味 ) - ブログ版−桐のイベント道場 - Yahoo!ブログ より


_Dellのパソコンで電源ランプがオレンジ色に点灯して起動しなくなったら | パソコンサポート IT-hands@福井市
Dellのサポートセンターに問い合わせたところ 考えられる原因として、
原因1.本体が帯電している。(電気が残っている)
原因2.メモリが気温で膨張している。(抜き差しを試すと改善すること多い)
原因3.本体内部にほこりが溜まっている。
原因4.本体内に熱がこもっている。

Dellのパソコンで電源ランプがオレンジ色に点灯して起動しなくなったら | パソコンサポート IT-hands@福井市 より

放電を試すように言われたのは、そういう事情があるから、なのか…。 ロスでは DELL製PCでは日常茶飯事、と…。

_Dell OptiPlex 3020 - ミニタワー オーナーズマニュアル

LEDの点滅が、2回+間+1回なら、M/Bで障害が、と書いてあるな…。電源がアレなわけじゃないのか…?

#4 [anime][zatta] 「買い切り」型の後にくるもの

思考メモ。

大昔のTVゲームは、ゲームセンターに行かないと遊べなかった。100円を入れると自分が負けるまで遊べる。そういう形で提供されてた。そのうち、家庭用ゲーム機が発売されて、ゲームソフトを1本単位で「買い切り」をして遊べるようになった。

大昔の漫画は、貸本屋さんで借りないと読めなかった。そのうち、雑誌を売ったり、単行本を売ったりする形で漫画が普及し始めた。読者は、一冊単位で「買い切り」をして漫画を読めるようになった。

大昔のアニメは、映画館に行かないと見れなかった。料金を払って、映画館に入って、館内に居る間は視聴することができた。そのうち、TVが家庭に普及して、映画館に行かなくても毎週見れるようになったけど。録画機器が無かったから、そのアニメが放送されてる時間、TVの前に座ってないと見れなかった。さらにそのうち、ビデオデッキが発売されて、お金を持ってる人は1本単位でアニメ(が入ったビデオテープ)を「買い切り」して視聴できるようになった。そして今では、ビデオテープはBDやDVDに置き換わり、BDやDVDを売ることでアニメ業界が成立するようになった。

TVゲームと、漫画と、アニメ。どれも展開が似てるよなと。

そして、今、TVゲームはどうなっただろう。

今も、アーケードゲームは存在するし、家庭用ゲーム機向けにゲームソフトが販売されてたりするけれど。おそらく勢いがあるのは、オンラインゲームというか、スマホゲーというか、そのあたりだろうなと。

ということは、いずれアニメも…。

と安易に思ってしまったけれど、スマホゲーの場合は「サービス」として提供されてるわけで。しかも時々アップデートされたりするわけで。

アニメの場合は、サービス提供、という形ではないよなと。アップデートもされないし。

となると、TVゲームとはまた違う展開になるのだろうか。

オチはないです。漠然と、「どうなるのかなー」と思っただけで。

未来のアニメオタク・アニメマニアのスタイルはどうなってるんだろう。山ほど記録メディアを持っているタイプも残っているだろうけど、おそらくそれは主流のスタイルじゃなくて…。例えば、未来世界を舞台にした漫画・アニメ・ゲーム作品内に登場する、未来のアニメオタク像とは…。どういうスタイルになってるのかな…。

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

#1 [prog] Processing.jsのテスト

せっかく Processing 3.0.1 (Proce55ing) を触ったのだから何か書いてみようかと。こんなのとかどうだろう。



_jsdo.itでProcessingを動かす | @takatama_jp を参考にさせていただきました。ありがたや。

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

#1 [dxruby][spriter] Cubic Bezierとやらを実験

Spriter の補間曲線は3種類から選べるのだけど。 Cubic 曲線って何だろうとググってみたら、おそらくは Cubic Bezier、3次ベジェ曲線と呼ばれるものらしい。

3次ベジェ曲線は4つの制御点を必要とするけれど、Spriter の補間曲線設定画面を見る限り、以下のような値になってる予感。 c1, c2 だけが保存ファイルに記録されてたのは、それ以外の値は固定値だったから、てなことらしい。

ということで、DXRuby を使って3次ベジェ曲線を描いて検証。
cubic_ss.png

# cubic-bezier test

require 'dxruby'

def draw_cubic_bezier(x1, y1, x2, y2, x3, y3, x4, y4, col0, col1)
  ox, oy = x1, y1
  0.step(1.0, 0.05) do |t|
    tp = 1.0 - t
    a = t ** 3
    b = 3 * (t ** 2) * tp
    c = 3 * t * (tp ** 2)
    d = tp ** 3
    x = a * x4 + b * x3 + c * x2 + d * x1
    y = a * y4 + b * y3 + c * y2 + d * y1
    Window.drawLine(ox, oy, x, y, col0, 10)
    Window.drawBoxFill(x-1, y-1, x+1, y+1, col1, 20)
    ox, oy = x, y
  end
end

fnt = Font.new(14)
Window.loop do
  break if Input.keyPush?(K_ESCAPE)

  x1, y1 = 0, 0
  x4, y4 = (Window.width - 1), (Window.height - 1)

  r0 = (Input.mousePosX.to_f / Window.width)
  r1 = (Input.mousePosY.to_f / Window.height)
  x2, y2 = (Window.width * 0.333), Window.height * r0
  x3, y3 = (Window.width * 0.666), Window.height * r1

  0.step(1.0, 0.05) do |t|
    x = t * Window.width
    Window.drawLine(x, 0, x, Window.height, [64, 64, 64])
  end

  Window.drawBoxFill(x2 -2, y2 -2, x2 +2, y2 +2, C_RED)
  Window.drawBoxFill(x3 -2, y3 -2, x3 +2, y3 +2, C_RED)

  draw_cubic_bezier(x1, y1, x2, y2, x3, y3, x4, y4, C_BLUE, C_GREEN)

  Window.drawFont(4, 4, sprintf("CPU %4d %", Window.getLoad), fnt)
end
マウスカーソルを動かすと、中間にある2つの制御点の位置が変わる。

_3次ベジェ曲線の数式 を参考にさせてもらいました。ありがたや。

x座標値と t の値がずれるのかなと思ったけれど、見た目は同じっぽい。ということは、t を与えてy値だけを得て、その値を補間用の割合として使えそうかなと。x座標値は使わないし、y1 = 0、y4 = 1 なので、式も少し簡単にできそう。

#2 [cg_tools][dxruby][spriter] Spriterのデータをそこそこ再生できるようになった

DXRuby を使って、Spriter のデータをそこそこ再生できるようになった。位置変化と角度変化には対応できたので、先日作成した女の子画像がアニメする程度ならDXRubyのウインドウ内でも再現できてる状態。ただ、スケール変化には対応できてないので、そのあたりを追加してるところ。

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

#1 [anime] 聖闘士星矢Ω、氷河の活躍回を視聴

自分、最初の聖闘士星矢って、あまり熱心に見てたほうではないのですけど。今回、氷河が出てきて例のダンスを踊っただけで、「ダンスキター」と盛り上がってしまいました…。変だなあ。それほど熱心に見てなかった気もするんだけどなあ…。意外とハマってたほうなのかなあ…。

まあ、リアルタイムでハマってた人達からは、「薄い連中はお手軽でいいね」と嘲笑されそうですけど。でも、自分、薄くて良かったなと。おかげで、比較的、毎週それなりに楽しめてます。

なんだかこのへん、リメイク作品が素直に楽しめる視聴者側の濃度ってありそうだな、と思えてきたりもして。まあ、徹底的に濃くなれば、ガンダムオタクさんのように、全てが楽しめるようになるんでしょうけど。薄い人はそれなりに楽しめるし、めっちゃ濃い人もそれなりに楽しめる。けど、中途半端な濃さの人は楽しめない、みたいなところがあったりするのかなと。や、わかんないですけど。

作品全体に対する個人的な印象もこの際ついでにメモ。 :

この作品、最初の頃は、自分如きでも「コレジャナイ」感があって。まあ、今の子供達にも、聖闘士星矢というコンテンツの存在を伝えることぐらいはできるだろうから、これでもいいのかもなあ、てなことを思いながらぼんやり見てたんですけど。

しかし、ある時期から、モリモリと車田イズム(?)が積極的に盛り込まれる雰囲気になってきて。最近は、「そうだよそうだよ、この謎理論が星矢だよ」「いいよー、今の台詞、星矢っぽいよ」てなウキウキした気分になるシーンが多々あって、個人的には結構好印象なのでした。時々「ズシャア」も見れるし。「今週の車田飛び(車田落ち)、いただきました」みたいな。

まあ、どの回でも必ずそうなってるわけでもないのですが。各話担当の、脚本家さん・演出家さん次第でガラリと変わってしまう、そんな印象もありますし。考えてみれば、昔のノリと違っていても、要は面白い作品にさえなってればいいわけで。当時のアレコレを再現、てなあたりに拘らなくても、ですよね。

とは言え、せっかく車田作品が原作なのだから、車田作品に漂うスピリッツが感じ取れるソレじゃないと、なんだかもったいないですわな…。せめて、各スタッフさんの、「俺の中では、車田作品ってこんな感じ!」「こういう部分が好きだった!」みたいなのがチラチラ見えてるほうが面白くなりそうだよなと。

そういや、マニアな方々の間では、「今のは車田理論じゃなくて、ゆで理論だったぞ」みたいなシビアな評価がされちゃう場面もあるそうで…。自分は薄いから、そのへんの違いが今一つ分からないです…。少しググってみたけど、やっぱりよく分からない…。誰かかっちりと解説してくれないものか。無理か。ていうか解説されてもやっぱり自分には分からない予感。キン肉マンは、漫画もアニメも見てなかったもので…。

さておき。伝説の青銅聖闘士達が前面に出てきてからというもの、主人公達の影が予想通りちょっと薄くなりかけて、「このままでは…ガンダムSEED DESTINY状態に…ッ」と危惧したのですけど。そうならないよう、バランスを取り続けてるスタッフさんの苦労振りも興味深くて。話のあちこちに、主人公達の存在を思い出させる台詞を仕込んでみたり。青銅聖闘士達を引率の先生状態にしてみたり。「いやー、こりゃ苦労してるなー」と妙な部分に感情移入しながら見ております。

既存作のキャラを、新作上でも活躍させるという点では、まだ上手い作り ―― というか旧作に比較的敬意を払った作りのような気もします。少なくとも、同じ時間帯で以前放送してたデジモンよりは、上手にやれてる…ような気が。デジモンは…ねえ…。旧作をほとんど見てない自分でも、「これ、旧作ファンは怒るんじゃないの?」と思えたほどに、色々とテキトー過ぎた印象が…。しかし、シリーズディレクターさんが、旧作も担当してた方らしいあたりも、なんだかややこしく。本家だから気兼ねなく破壊もできる、みたいなところがあるのかしら。そういや平成ライダーも、ちょっぴりそんな感じかな…。

それにしても、一番の問題は…。肝心の子供達が見てくれてるのかどうか…。TVの前でちびっ子達が、「ペガサスリューセーケーン!」とかやってくれてたら嬉しいのですけど。

仮に、大人達が「コレジャナイ」と言ってても、子供さん達が楽しんで見ていたら、その作りが正解でしょう、と思うのですよね…。まあ、車田作品のソレって、今の子供さん達にも充分通用するんじゃないか、という気もするのですけど。ああいうのにビビッと来て「カッケー!」と思う、そんな時期って誰にでもあるよなと。なので、大人も懐かしがりながら、子供さんも喜ぶ、そんなアニメもたぶん作れるんじゃないか、と、楽観視をしてみたいのでした。車田作品には、その力があるはずだ! と、自分は思いたいのです。

この記事、無駄に長いな。フッ…少々熱くなりすぎたか…。

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

#1 [zatta] PPIが気になる

_「ピクセル密度」の意味、そして無意味 : ギズモード・ジャパン
_hirax.net::日本語を読むための「必要最低解像度」は少なくとも200PPI以上です
_本の虫: リーナス曰く「2560x1600がラップトップの標準になってるべきだろボケ」
_DPI Calculator / PPI Calculator

現状のディスプレイのほとんどは、解像度が全然足りてないのだなあ…。1920x1080なら10インチより小さくしないと…なのか…。

2011/11/24(木) [n年前の日記]

#1 [pc] A4tech X-718BK-JPの左ボタンがチャタリングを頻発するようになった

Amazonから届いて・使い始めて1週間しか経ってないのに…。

A4tech Xシリーズを買ったのはこれで3個目だけど、今までの2つはこんなに早くおかしくなったりはしなかったので、さすがにこれは初期不良の範疇ではないかと思うわけで。たぶん左ボタンに使ってるマイクロスイッチがたまたまダメダメなヤツだったのだろうと。

とりあえず、ユーレックスという会社が輸入販売元になっているので、サイト上から「さすがにこれは初期不良ですよね? 担当者名と初期不良だよというコメントを貰えればAmazonで交換手続きできるのでよろしく」と送信をしてみたり。

#2 [dtm] フリーのVSTiを色々インストール

Windows7 x64上にインストールしているけど、ある程度は動いてくれている模様。一部ホストを巻き込んで落ちるdllがあるようだけど。

Proteus VX というVSTiも入れてみたけど、最初に管理者権限でスタンドアローン版を起動する必要があるらしい。

Independence Free 2.5.4 もインストールしてみたけど、最初の起動時に音色が読み込めず。古い版と一緒に落としたライブラリではダメなのか? ライブラリもDLし直し。解凍したライブラリを、フォルダそのままで C:\Program Files (x86)\Yellow Tools Root Folder\image files\ 以下にコピーしたら読み込んでくれた。

2010/11/24(水) [n年前の日記]

#1 [nitijyou] 床屋に行ってきた

さすがにこんな頭で通夜や告別式には出れない…ので行ってきた。

帰りにグリーンモールに。 :

夕飯のおかず等を購入。

100円ショップで小さいLEDライトも購入。母方の実家は田畑の真ん中にあるので、夜、道には灯りが何もなく。昨日歩いた時に大変だったので、念のために。…携帯電話のカメラ機能に付随するライトで少しは代用できそうな気もするが。

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

#1 [anime] フレッシュプリキュア沖縄の回

松本理恵演出、スゲエ。作画も更にスゲエ。ノリノリだなあ。素晴らしい。

#2 [game][neta] プリキュアの必殺技を見ていて思ったのだけど

4人同時プレイで、タイミングを合わせて出せる必殺技仕様とかできんかな。いや、既に実装しているゲームはあると思うんだけど。

プレイヤーキャラがフィルタ?乗算器?になる仕様とか。キャラが魔法を発射→別キャラにぶつけて増幅→別キャラにぶつけて更に増幅→最後のキャラにぶつけてますます増幅→ボスキャラ瞬殺、みたいな。

一人でプレイするとクリアできないゲームになるか…。

2008/11/24(月) [n年前の日記]

#1 [iappli] 一昨日に届いたPS2用タイトルをプレイしてたんだけど

フリーズしちゃったよ…。

イベントが起きたときに画面表示モードがものすごい速さで切り替わって「これはバグか?」「それともこういう演出なのか?」と悩んだけど。コントローラの振動をONにしてるとそういう状態になることに気がついた。他のタイトルではそういう場面に遭遇したことはないんだけど。一体何が起きてるんだろう。…振動を有効にするための値をワークに書き込んだつもりが勢い余って画面表示切り替え用ボタンのワークにまで不定値を書き込んじゃってるとか? それともコントローラをアナログモードにすると振動時に画面表示モード切り替えボタンに微妙に値が入ってしまってその微妙な値の変化でトリガー入力されたものとしちゃってるとか。いや、PS2コントローラの仕様は全然知らんのでトンチンカンな推測かもしれんけど。

#2 [nitijyou] 電話でPCの相談を受けた

ことをメモ。詳細はGRPで記録。

#3 [pc] DVD-Rドライブが壊れてしまったっぽい

knoppix 5.3.1 DVD版を、DVD-Rに8倍速で焼こうとしたら、べリファイ時にエラー発生。最後のほうがほとんど正常に書き込めていないか、もしくは読み込めていない模様。別のDVD-Rに4倍速で書き込んだら、今度は問題は出なかった。…メディアは太陽誘電、かつ、8倍速対応と書いてあるんだけどな。不良メディアが入っていたのだろうか。あるいはドライブ GSA-4163B の寿命だろうか。最近、ボタンを押してもトレイが出てこなかったりもするし。なんだかドライブに問題があるような気がする。

次回買うなら、ソニーNECオプティアークのドライブかなあ…。親父さんPCに積んであるけど、GSA-4163Bで読めないDVDも読むことができているし。関連情報を調べたら、最近の製品は半年ぐらいで壊れた、てな情報も見かけたけど。うーん。

内蔵せずに、外付けのほうがいいだろうか。そうそう頻繁に使うものでもなくなってきているし。いや、OSインストール時などは、内蔵のほうが都合がいいよな…。

ATAPI接続(IDE接続)と、SATA接続、どちらがいいんだろう。どうも光学ドライブのSATA接続はトラブルが多いようでもあるけれど。しかし、ケーブルの取り回しと、それによるケース内の空調の改善を考えると、SATAにもメリットがありそうな感じもする。また、最新のM/Bは、IDEがついてないものがあったりもするらしいし。将来性を考えるとSATAなんだろうか。

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

#1 [pc] _HDDリーダー/ライター - ロジテック LHR-DS01SAU2

Y氏の日記で知った。先日ツッコミ欄で教えてもらった _裸族のお立ち台 CROSU2 と比べると、HDDがカートリッジに入った分、若干安心して使えそうではあるけれど。裸ではないので、HDDの熱がこもりそうな予感も。そのへんどうなんだろう…。

_裸族のお立ち台Hubプラス CROSU2H :

USBハブつきの製品も出ていたのか。

_HDDを立てて使える! センチュリー「裸族のお立ち台」 - 気になる! itemズ :

試用レポート記事。

#2 [windows] _コマンドプロンプトを使ってみよう! −バッチファイル−

echoで改行するには「echo.」とすれば良かったのか…。知らなかった…。

#3 [iappli] なんとかタイトル画面表示までは動くようになった

データ結合の各種スクリプト修正と、Javaソースのコンパイルエラー(?)を全部潰すのに半日。実際にデータ読み込み・展開ができるようにするところまでで半日。丸一日作業して、ようやく .gif を表示できるところまでは到達。さて、3D表示部分を組み込まないと…。つまり zip 解凍部分を追加しなきゃいけないわけで…。

最初、スクラッチパッドサイズをADF中で指定してなくて、動かんなーと悩んでた。トホホ。

スクラッチパッドサイズを概算するスクリプトを実行したが、そのままではうまくいかない。機種毎のサウンドデータ結合ファイルを、フォルダ別で入れるのではなく、ファイル名で分けることにしたので、修正が必要に。

2006/11/24(金) [n年前の日記]

#1 [comic] _Nana's Everyday Life ナナの生活 - 白いのと黒いのが出てくるアレ、じゃなくて猫耳四肢欠損少女の日々をほんわかした絵柄で描いた4コマ漫画

元ネタは知らんのだけど。最後まで読んでしまった。これはキツイ。しかしなんだか凄い。最初のあたりはアレだけど、中盤、#26あたりからラストにかけて、唸って(?)しまった。

クマのぬいぐるみを千切るあたり(#40-#50)や、穴を掘るあたり(#73-#76)。「となりのトトロ」を思い出してしまったり。妹が泣くシーンとか、姉が裸足のままトトロの元に駈けていくところとか、そのへんを。

_たまごまごごはん - 身体欠如少女の憂鬱〜サイボーグ化できない少女達〜 :

_ビッ子たん
_煩悩是道場 - 「ビッ子たん」に「どんな人も感じる」わけではない。
_(via はてなブックマーク - 煩悩是道場 - 「ビッ子たん」に「どんな人も感じる」わけではない。)

興味深い話。…程度を軽くすれば受け入れてしまう人が多いような気もしてきた。EVA1話の綾波とかも、一応そのへんじゃないのか、とか。

_これはエルフェンリートというマンガ(アニメにもなった)の2次創作コミック。 :

なるほど、元ネタはソレなのか。

作者さんは、外国の人らしい。やるなぁ。<何がだ。

「ナナ」の「穴を掘る」アクションから連想したのだけど。 :

素手で必死に穴を掘り続ける・土を掻き毟るようなアクションは、なにかこう、グッとくるものがあるような気がしてきた。

と思ったけど。そういや、あやかしあやしの1話でそういうシーンがあったなと。でも、あの作品の該当シーンを目にしても、特にコレと言って強烈な何かを自分は感じなくて。何故なんだろう。

何かにとりつかれたかのように、鬼気迫る形相で、狂ったように穴を掘り続ける少年。脚本レベルで想像すると、かなりの気味悪さ・居心地の悪さを感じそうなのだけど。でも、実際に映像化されたソレには、そんなパワーを感じなくて。…自分の脳内に思い浮かんだ映像と、件の作品の映像と、何が違うんだろう。前後に何か付随する・経過を伝える情報が必要なのか。何かが多いのか。それとも少ないのか。…どうもよくわからん。

2005/11/24(木) [n年前の日記]

#1 [xyzzy] xyzzyで行の複製

一旦、xyzzy 上で ActionScript を打ってから、それをコピペして Flash Creator に書いてるのだけど。xyzzy で打ち込んでるうちに、行の複製が欲しいなと思い始めたり。例えば、
 hogefugehage._x = hogex;
を、
 hogefugehage._x = hogex;
 hogefugehage._y = hogey;
にしたいときとか。

ネット中毒の自分なので、「xyzzy 行 複製」で検索して、 _実現してる方の記事 を見つけたのだけど。

ふと、xyzzy で何気なくシフトキーを押したら、F10 に「行複製」なる単語が。ガーン。今まで知らなかった…というか気づかなかった…。

なんだか siteinit.l に書いてあるみたいだから、もしかするとどこかで見かけてコピペしてそのまま失念してしまったのかもしれない。が、関数名でネット検索しても見当たらない。…とりあえず、siteinit.l の内容をコピペしてメモ。
;; --------------------------------------------------------------------
;; S-F10    行複製(即座に処理する)
(defun replica-line ()
  (interactive "*")
  (save-excursion
    (insert (buffer-substring (progn (goto-eol) (point))
                              (progn (goto-bol) (point))))
    (newline)))
(global-set-key #\S-F10 'replica-line)
(set-function-bar-label #\S-F10 "行複製")

;; --------------------------------------------------------------------
;; S-F7    行削除
(defun kill-whole-line ()
  (interactive)
  (kill-region (progn (goto-bol) (point)) (progn (forward-line 1) (goto-bol) (point))))
(global-set-key #\S-F7 'kill-whole-line)
(set-function-bar-label #\S-F7 "行削除")

;; --------------------------------------------------------------------
;; S-F8    行コピー
(defun copy-line-as-kill ()
  (interactive)
  (copy-region-as-kill (progn (goto-bol) (point))
                       (progn (goto-eol) (point))))
(global-set-key #\S-F8 'copy-line-as-kill)
(set-function-bar-label #\S-F8 "行コピー")

にしても、ファンクションキーは遠いな…。どこかのキーに割り当てたいところ。

少し調べてみたら、vi なら yyp らしい。そのへんに近いショートカットキーにしておいたほうがいいだろうか。emacs で同種の操作があるなら、それに合わせたほうがいいだろうけど、検索してみた限りでは見つからなかった。

前述の記事では、C-c c に割り当ててあるらしく。自分の環境のキー割り当て一覧を眺めたけれど、たしかにそこは空いてるように見え…あー、xml-mode で使ってるな。うーむ。

C-c Insert が空いてるみたいだから、そこに割り当ててみるかな…。
(global-set-key '(#\C-c #\Insert)  'replica-line)

カーソルキーから離れられない打ち込み方をしてるのもどうかと思うのだけど。>自分。たしかに効率悪いよなぁ。ホームポジションから離れることがなければ、楽になりそうな予感はあるのだけど。

む。連続して行複製したいときにちょっと面倒な。ファンクションキーでやったほうがいい場面もありそう。

全てのモードのキー割り当てを表示するlispがあったら便利かもしれない :

と思ったけどlispはわからんので手の出しようもなく。

_選択範囲をRubyで書いたフィルタにかける[xyzzy] :

検索してるうちに辿りついたけど元のサイトが消えてるみたいなので今のうちにコピペしてメモ。
(defun filter-region-menu (start end)
  (interactive "*r")
  "外部フィルタをメニュー選択できるfilter-region"
  (let (*filter-region-menu-alist* *filter-region-menu-cmd*)
    ; 外部フィルタのリスト
    (setq *filter-region-menu-alist*
          '(("ruby sort_r.rb")
            ("ruby html_dl.rb")
            ("sort")
            ))
    (setq *filter-region-menu-cmd*
          (completing-read "Command?: " *filter-region-menu-alist*))
    (if *filter-region-menu-cmd*
        (filter-region *filter-region-menu-cmd* start end))
    )
  )

_行セレクションを上下に移動(完成版) :

便利そう。selection が存在しないときは、1行のみの移動になるのか…。素晴らしい。

全然関係ないけど、S-C-Up、S-C-Down で、二つのウインドウをスクロールできたのだな。知らなかった。

#2 [windows] IME2003関係 - 確定のキーとか

確定するときに一々Enterに指を伸ばすのがしんどいなとふと思ったので、そのへんどうにかならんかなと。

ヘルプを見たら、Ctrl + M で確定できる、とあった。…が、急には指が動いてくれない。かえって打ち込む速度が遅くなってしまうような。

Ctrl+変換で、ショートカットメニューも表示されるらしい。知らなかった。

このへんも覚えていたら楽なんだろうな。が、なかなか覚えられるものでもなく。

何かと関連付けたら覚えられるだろうか。 とか。…なんかアホみたいだ。

この記事へのツッコミ

Re: IME2003関係 - 確定のキーとか by けいと    2005/11/26 22:07
私はキー1つ1つに意味を持たせるんじゃなくて
塊と並びのまとまりで覚えています。

いまさらいうまでもないあたりで…

カット、コピー、ペーストはXCVというキーの塊と並び。

これと同じでT UIOPが
半角英数、ひらがな、カタカナ、半角、全角英数、
GHがDEL、BSっていうことで。

私の場合、半角英数の入力はIMEを使わない=直接入力モード
なのでTは忘れて
UIOP=ひらがな、カタカナ、半角、全角
と覚えたほうがすわりがいいですけどね。
Re: IME2003関係 - 確定のキーとか by mieki256    2005/11/28 18:49
> T UIOP

あ! ホントだ。
そのへんのキーって、一列に並んでたのか…。
しかも、ホームポジションの一段上、でしたか。

> UIOP=ひらがな、カタカナ、半角、全角

お。なんとなくですが、そのほうが覚えやすそうな予感がします。
なるほどなぁ…。

#3 [flash] loadMovie() で表示したjpgやswfは duplicateMovieClip()で複製できない

自分、完全に考え違いをしてた。loadMovie() で読み込んだムービークリップも複製できるものとばかり思い込んでたわけで。トホ。なんでもかんでも外部swfにして、最初に読み込んで、必要になったら複製すれば問題ないや、と思ってたけど全然甘かった。

ライブラリの中のムービークリップを attachMovie() してタイムラインに置くにしても、あるいは、タイムライン上に既に存在するムービークリップを duplicateMovieClip() するにしても、どうやらリンケージ云々なるものが絡んでるらしく。loadMovie() で読んだswf等にはそれがない or ロードした時点で消滅するから、それでおそらく複製等はできないのだろう。たぶん。

さて、仮に、外部から読みたい jpg or swf が大量にあった場合、どうしたもんか。思いつく解決策は2つ。 前者は論外だよなぁ…。たとえば256枚の画像があったら、256回、「ファイルを開く」ダイアログを開いて、256回、手打ちで、連番リンケージ名をつけていかなければならない。無理。後で「やっぱり画像を差し替えようかなー」なんてことになったら、もう大変。

ということで、そういう場面では後者の方法でやるしかないんだろうなと想像したり。検索してみたけど、大体そういう方向に話は流れていくみたいだし。

loadMovie() に関して夢想 :

ファイル数が増えた場合、容量的にはたいしたことがなくても、逐一外部から読み込もうとするだろうから反応が遅くなるだろうと。それを考えると、何かしら、まとまった状態で読めたほうがいいのかもしれない。

巨大な画像を読み込んで、マスクを使って一部分だけ表示するとか。1フレーム1画像になってるswfムービーを読んで、本体swfから特定のフレームを指定して表示させるとか。

と思ったけれど、画面上で必要になるたびに、その巨大な、あるいは、やたらと長い、swfを読むわけにもいかない。万が一、キャッシュが利かなかったら大変なことに。

上手い方法は思いつかないなぁ…。

Flash Creator 1.6 は onEnterFrame を delete で消せない? :

本来なら、
mc.onEnterFrame = function () {
    delete this.onEnterFrame;
}
といった書き方ができるらしい のだけど。上手くいかない。いつまでも onEnterFrame が処理を続けてしまう。これまた Flash Creator の仕様 or バグかしら。海外の掲示板を覗いた限りでは、 _できるような感じで書かれてる ようなそうでもないような、うーん。

仕方ないので、本当は推奨されないらしいのだけど、
 this.onEnterFrame = null;
で代用。

_F-site | イベントハンドラメソッドはdeleteで消せ! :


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

#1 [digital] 親父さんからEOS Kiss Digital のcrwデータを貰った

Canon製デジカメのRAWデータ = crwファイル。実験用に、1つコピーさせてもらった。

SILKYPIXでも、gdcrawでも、読めました。

となると、FSTYLE-miniのRAWを読めない件は、やっぱりヘッダがついてないのが問題なのかしら。

#2 [pc] _九十九電気 バッテリーリフレッシュサービス

_ThinkPad760EL関連 のページを見た方から、バッテリーパックを再生してくれるサービスがあることをメールで教えてもらいました。thxであります。ということで件のページにも情報を追加。

_IBM製ノートPC対応機種リスト を眺めると、TP760ELはない模様。TP760ELのバッテリーパックに使われてる電池は、形状がちと特殊なので、たぶん代替の電池が今では入手不可なのだろうと勝手な想像を。

とはいえ、せっかくまだまだ動くノートPCなのだから、こういったサービスが行われることはありがたい話。ユーザがおっかなびっくり、バッテリーパックを分解しなくて済むし。

しかし、昔のノートPCの利用は、昨今さすがにスペック的に厳しくなりつつありますな。DOSベースで利用する等、ソフトウェア面で工夫をする必要がありそう。…Linuxを入れて、emacs、lynx、w3m専用マシンとして使う、なんてのはどうだらう。

#3 [mozilla] Firefox、放置しておくと重くなるな

タブを閉じてもメモリを開放しないバグがあるらしいけど。そのへん関係があったりするのかしら。

#4 [digital] _630万画素相当?の9980円デジカメ発売――エバーグリーン

エバーグリーンはこのほど、同社通販サイト「上海問屋」にて、有効300万画素、カメラ内部の独自ソフトウェア処理により630万画素相当を実現するというデジタルカメラ「Genius P611 Slim」を発売した。価格は9980円。
_コレ かな。

_G-Shot D610 というのもあるみたい。 _製品レビュー も。 _静止画サンプル を見る限り、値段のわりには悪くは無さそう。…電池の持ちはどうなんだろう。

この手の価格帯の商品は、絶対にオチがつきそうな予感。そこさえ判れば安心して買えるのだろうけど。

#5 [pc] _Gigabit Ethernet対応「玄箱」試用レビュー(Part1)

ふと疑問に思ったのだけど。こういったハードで、メモリが正常かどうかをテストするには、どうしたらいいんだろう。

#6 [comic] 鋼の錬金術師、最新刊を読んだ

9巻。部下の人達がカッコイイ。アニメ版ではこのカッコよさはなかったなぁ。

#7 [comic] LaLaを読んだ

巻頭の「ヴァンパイア騎士」がカッコよかった、気がする。

ていうか、「ヴァンパイア」とつくと何でもカッコイイ気がしてきた。例えば、「ヴァンパイア爺さん」とか。…前言撤回。

カレカノ、平和過ぎ。もっともココに繋げるための今までの展開だったのだろうけど。

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

#1 [pc][linux][plamo] Plamo Linuxをインストールしてみた

インストール作業そのものは日本語でメッセージが表示されるおかげでスルスルと進みあっけなく終了。楽チンだなぁ。

起動はした :

Debian の入ってるパーティションの後ろに、パーティションを作って入れてみた。8GB 以降なので起動しなかったらやだなと思ったけど grub を選んだら起動してくれた。 *1 さすがに最近はそのへん大丈夫なのですな。

grub.conf は /etc の中 :

インストール直後は Plamo しか起動できない状態。Win98 や Debian を起動できるように設定しようと思ったのだけど、/boot/grub/以下に grub.conf も menu.lst も見当たらない。探してみたら /etc の下に grub.conf があって困惑。もっとも、lilo.conf が /etc の下にあったりする事を考えれば、/etc/grub.conf の方が自然なのか。しかし /boot を別パーティションにした場合はどうなるのだろう。

NICが動かなかった :

_MELCO LGY-PCI-TXC *2 (sis900チップ)を使ってるので、/etc/rc.d/rc.modules に /sbin/modprobe sis900 と書いた。コンソールでも /sbin/modprobe sis900 と打ったけど、ping すら動かず。これでは knoppix と同じ。何がマズイのか。

再起動したらネットに繋がった。…そういうものなのか。Windowsみたいだ。NIC だけrestart(?)するコマンドとかないのかな。

X 起動時、mga_hal.o が無いと言われる :

ビデオカードは Matrox G400。Xの設定後、 *3 一般ユーザで startx と打ったら一応 X は起動。しかし、「mga_hal.o が無い」とエラーメッセージ。やはり Matrox のサイトからDLした mga.o , mga_hal.o を入れないとダメか。後で試してみよう。

変なクマがぶらぶら :

WM をデフォルトの AfterStep にしたら起動スプラッシュイメージが女子絵。 *4 更に画面左上でクマがぶらぶら。なんだコレ。怪し過ぎる。これが日本文化か(違。

jp106キーボード設定は Vine や Debian の方が上かも :

コンソール、kon、kterm、rxvt、vi、その他入力欄で、Deleteキーやカーソルキーの動作がバラバラ。もしかしてPlamoユーザはHHK等利用してる人が多くてこのへん気にしてないのかな。

contrib.isoって何に使うの? :

追加パッケージが入ってるCD、という認識でいいのかな。わからなかったのでどちらもDLしてRに焼いてしまった。自分はADSLだから「とりあえず両方落としとくか」で済むけど、ナローバンド環境の初心者が居る可能性を考えれば、iso置き場への誘導時に、事前に簡単な説明が欲しい気もした。

Mozillaでboldが表示されてる :

ありがたい。これが見たかった。

しかし、キーボード設定やその他がどうもしっくりこない。どうしたものか。やっぱり Debian でジタバタしてみた方がいいかな…。

*1: lilo でも問題ないのかもしれないけど。
*2: _ MELCO は BUFFALO で統一することになった らしいけど。
*3: root で xf86config を実行して /etc/X11/XF86Config を設定。
*4: どうも絵からDaisyArt95臭というかPixia臭がする。何故だろう。

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

#1 JBuilder7

Borland JBuilder7 Personal をインストール。 _

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

#1 ビックリ

Shade弄ってました。


K長さん、おめでとう〜 (´▽`)
って3日前の話ですけど。とにかくメデタイ。


ゴエモン新作の激萌えベクトル重視キャラデザを見て大仰天。
ある意味、まさにゴエモンインパクト。スゴイ…

2000/11/24(金) [n年前の日記]

#1 不安な歯医者

歯医者へ。
先日治療した歯の隣まで侵食されてた模様。
そこ、はるか以前に神経殺してたはずが。

思いっきりグリグリ。
激痛。
「根まで到達したのでもう大丈夫」と歯医者は言うけど。
今も痛い。
やっぱり変えた方がいい?

でも福島県ってどこもダメっぽい。
東京とかに比べると、新しい治療方法も勉強してないらしい。
妹も学生時代、県内での治療に問題が出て宇都宮で治したり。

なにせ、ウチの隣の市の大学では、歯医者の資格とる為の試験問題の漏洩やってたはず。
漏洩バレた後の合格率、ガクンと下がったそうで。
それヤバヤバ。

それ以前に虫歯にしたオイラが悪い。
ソコに患者側の弱みが。
だから強気に出るのか >歯医者

1999/11/24(水) [n年前の日記]

#1 (NoTitle)ビッグオー見ました。...

ビッグオー見ました。脚本の小中さんって色々上手いなあ、と。

アクセス解析のCGIが上手く動かないと思ったら原因がわかりました。フレームを利用してCGIを呼び出しているのですが、その方法を使った場合はNNとIEでHTTP_REFERERの値の返り方が違うのですな。NNだとフレームの中のCGIにまで参照元のURLが返ってくるのですが、IEの場合はフレームをセットしているHTMLのURLが返されてしまう、と。これではリンク元が全然戻ってこないわけです。簡単なスクリプトを書いて動作試験、確認しました。
さてどうしたもんか。
実はProHostingからのメールを読み返したところ、index.htmlの代りにindex.cgi , index.shtmlを置く事もできるそうなので、そうしてしまえばあっさり問題解決なのですが。後学の為にもう少し色々実験して見ようと思います。IMGタグを利用したCGI呼び出しも同様にRefererの返り方が違うのではないか、とかそのへんも気になりますし。
それにしても難しいもんですね。CGIって。というかブラウザの動作の違いが問題なのでしょうけど。

CGIの勉強中、会長さんからのアニメビデオを見てるのですが。なんかテープのラベルに書いてあるコメントを読んでて不安になってきました。会長さん大丈夫かな。無理しないでね。
あ。もう少しで送れそうです>d氏

以上、20 日分です。

過去ログ表示

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