投稿者「mynote」のアーカイブ

Raspberry PiにVivaldiをインストールする方法

Raspberry PiでWebブラウザ「Vivaldi」を使いたい場合は次のような感じでインストールできます。

Vivaldiのインストール方法

1. Vivaldiの公式サイト(https://vivaldi.com/download/)から「Linux DEB ARM」のファイル(.deb)をダウンロードします。

2. aptコマンドを使ってVivaldiをインストールします。

$ sudo apt install vivaldi-stable_5.7.2921.65-1_armhf.deb

これでインストールは完了です。

メインメニューから[Internel] » [Vivaldi]もしくはターミナルからvivaldi [enter]で起動できます。

VivaldiでNetflixを使いたい場合

user agentを下記の文字列に変更することでNetflixが使えるようになるみたいです。

Mozilla/5.0 (X11; CrOS armv7l 10895.56.0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/79.0.3945.131 Safari/537.36

user agentはextension(User-Agent Switcher for Google Chromeなど)を使うか、もしくはコマンドラインから--user-agentオプションで変更できます。

$ vivaldi --user-agent="Mozilla/5.0 (X11; CrOS armv7l 10895.56.0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/79.0.3945.131 Safari/537.36"

リンク

Download Vivaldi | Vivaldi Browser
https://vivaldi.com/download/

Running Vivaldi on Raspberry Pi | Vivaldi Browser Help
https://help.vivaldi.com/desktop/install-update/raspberry-pi/

C#でoperator[]のオーバーロード

operator[]のオーバーロード

C#で自作クラスにoperator[]を追加したい場合は次のような感じで実装できます。

class Example
{
  int[] _ar = new int[10];                                                                       
  
  public int this[int i]
  {
    get => _ar[i];                                                                        
    set => _ar[i] = value;                                                                       
  }
}

Exampleクラスを使う方は次のような感じです。

var example = new Example();

example[2] = 345;

Debug.Log($"example[2] = {example[2]}");

実行結果

example[2] = 345

多次元配列

多次元配列のような感じで使いたい場合も次のような感じで実装できます。

class Example2
{
  int[,] _ar = new int[10, 10];

  public int this[int i, int j]
  {
    get => _ar[i, j];
    set => _ar[i, j] = value;
  }
}

Compiler Error CS0720

static classoperator[]を実装しようとするとCS0720というエラーになるようです。気を付けてください。

/* static */ class Example3
{
  public int this[int i]
  {
    get => 0;
  }
}

※配列の範囲外にアクセスしようとするとIndexOutOfRangeExceptionという例外が発生します。実際に使う場合は注意してください。

mplayerでDVD-Videoを扱うためのTIPS

Linuxで使える動画アプリmplayerに関するメモです。
Windowsバージョンもあります。詳細はリンクを参照してください。

DVD-Videoを再生する基本コマンド

単にDVD-Videoの再生したい場合

$ mplayer dvd://1

チャプター2から4のみ再生したい場合

$ mplayer dvd://1 -chapter 2-4

タイトル2を再生したい場合

$ mplayer dvd://2

メニューを使用したい場合

$ mplayer dvdnav://1 -mouse-movements                                                           

-mouse-movementsオプションを外した場合はキーボードのみの操作になります。

HDDにバックアップしたDVD-Videoの取り扱い

コピーガードのかかっていないDVD-Videoの場合

$ cp -r /mnt/dvd /path/to/directory
$ ls /path/to/directory
AUDIO_TS/  VIDEO_TS/

のような感じで普通のファイルと同様の手順でHDDにバックアップすることができます。

このバックアップしたファイルをDVD-Videoとして再生したい場合は-dvd-deviceオプションを使って次のようなコマンドを入力します。

$ mplayer dvd://1 -dvd-device /path/to/directory

DVD-Videoの内容をvobに変換

DVD-Videoの内容をvobファイルとしてdumpしたい場合は-dumpstream-dumpfileオプションを使って次のようなコマンドで出力できます。

$ mplayer dvd://1 -dumpstream -dumpfile dump.vob

-dumpstream-chapterオプションと併用できますので、例えばチャプターごとに分割したvobファイルを作成したい場合は

$ mplayer dvd://1 -chapter 1-1 -dumpstream -dumpfile chapter-1.vob
$ mplayer dvd://1 -chapter 2-2 -dumpstream -dumpfile chapter-2.vob

のような感じで出力できます。

ちなみに、収録されているチャプター数とかタイトル数などが不明な場合は-identifyオプションで調べることができます。

$ mplayer dvd://1 -identify

MPlayer homepage
http://www.mplayerhq.hu/

MPlayer & MEncoder Builds for Windows
https://mplayerwin.sourceforge.net/downloads.html