モブ沢工房

プログラミングとかLinux関連(特にOSSのグラフィックツール関連)とかレトロゲームとか3Dプリンタやら日曜大工等、色々。

Ubuntu 18.04における液晶タブレットXP-Pen Artist 15.6の対応状況

Cintiq 13HDをいちいち持ち運ぶのに疲れ、実家用に買ってしまいました。 XP-Pen 液タブ 液晶ペンタブレット 15.6インチ バッテリフリースタイラス フルHD 筆圧8192レベル 6個エクスプレキー Artist15.6出版社/メーカー: XP-PENメディア: エレクトロニクスこ…

Xubuntu 16.04.4でkabylake Intel HD 620のログイン画面を改善する

安物マザボのためか、kabylakeであるにもかかわらず三画面できないため 現在、EIZO EV2436W + IIYAMA X2380HS + Cintiq 13HDを接続して、スクリプトでX2380HSとCintiqを切り替えて使用しています。 まぁこれはこれで使えるというか、こういう時にスクリプト…

Xubuntu 16.04.4 & HD Graphics 620でブラックアウト化現象

何が悪くなったのかわかりませんが、xorg.conf.d等いろいろいじっていたら、ログイン直後に3つのモニタすべてがブラックアウトして何も表示されない状態に…orz んでxorg.conf.dのファイルを戻したんですよ。 それでも治らないんですなぁ…一体何が…! やって…

Xubuntu 16.04.4でkabylake Intel HD 620を使用してみる

新しくA-DATAのSSD、SU650を購入したので、これをブートドライブにする…にしてもubuntu(xubuntu)18.04のリリースはまだだし、仮に出てもいきなり飛びつくのは経験上、アレ。 というわけで、実験的にとりあえず16.04.4を入れ(直し)、その最新カーネルでもっ…

SSDの寿命に関して再度

なにやらIntelからOptane 800pが出るとのことで 買おうかな〜と思って調べたら、TBWがなんか365TB?ぐらいしかないのですね。 3D XPointメモリは寿命1000倍と聞いていたのだけど、これだと5〜10倍程度なのでは?という。 うーむ。Optaneディスクを使ってもうt…

Xubuntu(Ubuntu+xfce)16.04でのトリプルモニタ環境の設定

Xubuntu 16.04 (≒Ubuntu + xfce) 、今までデュアルモニタ環境で快適に使っていましたが、実はコレ偶然の産物だった…という話。 前述のようにwacom cintiq13HDを導入したため、トリプルモニタ環境にしたのですね。ちなみにGPUはnvidiaのGeForce 750GTXです。 …

Gesturefyとevdevで作る快適3ボタンマウス環境

FirefoxのプラグインFiregestureが使えなくなったため、Gesturefyを導入しました。 これがまた、なかなか良い。 なお、ジェスチャー&ロッカージェスチャー*1は、現時点ではlinux/macにおいては、右ボタンが押下時にコンテキストメニューを発動するため、コ…

Blenderが起動しないように見えるとき(@トリプルモニタ環境)

遅ればせながら、あけおめことよろでございます。 さて私のPC環境は大きく変化し、Wacom cintiq13HDを導入したことでトリプルモニタ環境となりました。 ちょっと変則的ですが、正面と右にモニタを配置。これは今までと同じ。 次に、正面の下…つまり机の上にc…

SWIGオブジェクトから生のポインタを取り出すには

最近SWIGづいていますが… PythonのSWIG(SWIGのPythonか…?)ラッパーオブジェクトからポインタを取り出すにはどうすればいいのか? それも、自作のクラスオブジェクトでございます。 なんでこんなことをする必要があるのかというと、SWIG化クラス「foo」があ…

Gdk(pygi)でマウスカーソルを任意位置に動かすには

感動のあまりカキコ! 改造版mypaintのsizechangemode.pyから一部抜粋〜 def drag_start_cb(self, tdw, event): self._ensure_overlay_for_tdw(tdw) self._queue_draw_brush() # Storing original cursor position and some needed objects. dev = event.get…

SWIG関数にctypesからアクセス

ついでにこれも思いついたシリーズ。 すなわち例えば、SWIG側の内部にstaticで構造体ポインタのリストを持っておき。 idx = register_hogehoge(void *ptr)でそのリストに登録。 その後はidxを使って(OpenGLのテクスチャの名前みたいな感じで)、例えば draw_…

PythonでSWIGのC++関数中でGdkPixbufにアクセスしてみた

Pythonで作ったGdkPixbufを、SWIGのC++関数に送り込んでC++の中で最速描画ということを考えつきました。 さらに、そのpixbufはcairoから作ると、なお痛快でしょう。 と前々から思っていたのですが、遂に重い腰を上げて作ってみました。 そんなわけでそのサン…

Xubuntu 16.04でCintiq 13HDを自動設定するの巻

ついつい、勢いでwacomの液タブCintiq 13HDを買ってしまいました(^^; 旧モデルなのは、安いだけでなくLinuxで使うには何も考えなくて良くて都合が良いというメリットもあるのです。 どーでもよいのですがこの絵、tegaki_dtで頑張って書いてたらボタンの誤爆…

SWIG & python でundefined_symbolが出る時

何か超久々ですがとりあえず… とりあえず以下、例として、 Flagtileというクラスがあるとします python用のtestlib2モジュールに組み込まれます。 SWIG, g++ともコンパイルは問題なく通る C++内では普通に使えている しかし、SWIGでPythonモジュールに組み込…

PyGObject(PyGi)で「デフォルトのフォントサイズ」を取得する

PyGObject…でいいのでしょうか。PyGiなのか。未だによくわかりません。 とにかく新しい方のGtkのpythonバインディングで、コンボボックスのカスタムレンダラーで使うデフォルトのフォントサイズを取得したくなりました。 これはMyPaintにOpenCVのgrabCut関数…

SWIGとnumpyについて(ImportErrorとセグメンテーションフォールト)

何か「ハリーポッターと魔法のナントカ」みたいなタイトル… それはともかくSWIGとnumpyでハマってしまったので備忘録的にメモ。 現象としては hppでNO_IMPORT_ARRAYを定義して#include <numpy/arrayobject.h>すると、.pyファイルでSWIGモジュールをインポートした時点でimporterro</numpy/arrayobject.h>…

cgdbを用いてpython拡張モジュール(てか、mypaint)をデバッグする方法

これまた備忘録的に… 当然ながらgccとかg++はデバッグオプション(-g -O0) でビルド mypaintの場合はsconsを使っているため、SConstructに書いてあるようにdebugオプションを使う つまり、scons debug=true デバッグビルドができたらcgdb pythonとする b 関…

Python+SWIGでがんばってみた for mypaint (備忘録的)

MyPaintに塗りつぶし拡大ルーチンを設置すべく、Python+SWIGで頑張ってみますた!(`・ω・´) 結果は… 何とか動くようになった!?!? それで悩んだところを備忘録的に書いておこうと思います。 手こずったところ まずPyDict_SetItem()。これがキツかった。 …

PyGiで謎のワーニングに対処する

今試作中のMypaint向けスタンプツールでポップアップメニューをgladeで作るように変更しました (以前はコードから作ってたけど、見通しが悪いので) それでいろいろ試行錯誤した結果、Gtk.ActionGroupでアクションを作って、このアクションからcreate_menu_…

xubuntu 16.04でvim-jediをまともに入れました

昔使っていたvim-jedi…当時、ちょっと遅いこともあって今ひとつ使いづらいときもあったりして、次第に離れておりました。 しかしながら最近、ちょっとpycharmというIDEを入れてみたらあまりにも使いやすいため、これはvimも整備しておかねば…ということで再…

Xubuntu(というか、Thunar)でエプソンEP-802Aのネットワークドライブに簡単アクセス

長いタイトルに短い記事といきたかったのですが、なんか長くなってしまいました… 実家用の複合機エプソン EP-802AにはLinuxドライバもありますが、出来る限りドライバレスで生きていきたいワタクシですので、単体スキャナ機能を活かしたいわけです。 以前は…

本当に駄目なマウスだろうか?自分の使い方が悪いのでは?と思って足掻く & 中ボタンの凝った使い方

実は買ったのはこのマウスなのですが このマウス、微妙である。 (糞WiiUさんのブログ「 俺的糞ゲー処刑ブログ 」様の、真似w) 握り具合自体は悪くないのと、特に変な事をしていないので (一時期、Win8対応!とかいってサイドボタンから迷惑至極なキーコー…

M100rマウス故障→改造決行!

まぁ、またもクソマウスを買ってしまうという愚行を繰り返したこともありますが… M100rの右クリボタンがチャタるようになりました。 保証に出そうかな〜と思ってましたが、保証って送料はどうなってるんですかね。M100rの実売価格を考えると送料のほうが高く…

LinuxにおけるDualshock3(PS3) & DualShock4(PS4) とMednafen向け設定について

(正確にはDualshock3ではなくホリの「ホリパッド3ターボプラス」なのですが、DualShock4の方は正真正銘のPS4のDualShock4です。) このDS4をXubuntu 16.04のPCにUSBケーブルで差し込んだ所…(当たり前なのでしょうが)普通にジョイパッドとして認識しました…

mayu向けにsystemdのserviceを書いてみた件

考えてみると半年ぶりのエントリだったのか… 三ヶ月ぶりぐらいの気分でいたわけですが…恐ろしい時間の速さ。 どこぞの神父のスタンド攻撃でも喰らっているのでしょうか。それはともかくsystemdだ。 ubuntu 16.04ではsystemdになっているので、daemonも書き直…

PCのサウンド環境とオーディオ沼の恐怖

新マシン建造直前に、唐突にPCのサウンド周りを改良し始めました。 これは特に音質の改善を目論んだものではなく、単に3.5mmミニプラグの接触が時折悪くなりサウンドが出ない、片方のチャンネルが出ない…ということがよくあったため、接触を改善するにはいく…

新規skylakeマシンを建造しXubuntu 16.04.1をインストール & mayuをコンパイルできた!

Linuxに最新のデバイスは全く良くない… そんなふうに考えていた時期が 僕にもありました しかしながら、あまりにも32GBメモリが安いのでついつい、まぁ、どうせ将来的にはこれも古くなるんだし…的な発想で。 ASUSのH110M-A M.2とPentium G4500で作ってみまし…

MyPaintにPolyfilltoolを実装しています

MyPaint私家版にさらにPolyfilltoolを実装ッ!(途中) アイデアとしてはこうです。 「brushlibを弄ってポリゴンフィルを付けるのは面倒だが、pycairoで描いてそのサーフェスをgdk.pixbufに変換しさらにそれをmypaintのレイヤのメソッドload_surface_from_pix…

BeautifulSoup4で突然なんだかエスケープされるようになったので対処

あ…ありのまま 今 起こった事を話すぜ! 「おれは xml-rpcでfc2から取ってきた記事をbs4にかけたと 思ったら すべてのタグが&lt;とかでエスケープされていた」 な… 何を言っているのか わからねーと思うが おれも 何をされたのか わからなかった… というわ…

MyPaintのレイヤ切り替えを超高速化するたったひとつの冴えたやりかた

MyPaintにおいて、レイヤ切り替えはちょっともっさり。これがMyPaintの宿命だと思い込んでおりました。が… gui/stategroup.pyのStateクラスのクラス変数、autoleave_timeoutをデフォの0.8から0.1とかにするとめっちゃ高速化します。 これはまさかして…拘束具…