PSDTool Reference Manual 取扱説明書

  1. PSDTool とは?
    1. PSDTool 紹介動画
  2. 動作環境
  3. 機能の説明
    1. ファイルを開く前のオプション
    2. メイン画面
    3. レイヤーツリー画面 / シンプルビュー画面
    4. お気に入り編集画面
    5. フィルター編集画面
    6. シンプルビュー
  4. 読み込める PSD ファイル
    1. ZIP ファイルの読み込み
    2. ダイレクト読み込み
  5. 独自拡張機能
    1. ラジオボタン化「*」
    2. 強制表示化「!」
    3. 反転表示用レイヤー「:flipx」「:flipy」「:flipxy」
  6. PFV ファイルについて
  7. 変更履歴
  8. クレジット

PSDTool とは?

PSDTool のスクリーンショット

PSDTool は Photoshop 形式(*.psd または *.psb) のファイルをブラウザで読み込んでレイヤーの表示/非表示を切り替えたり、合成された画像に名前を付けて保存したりできるツールです。
読み込む PSD ファイルはサーバーには一切送信されず完全にブラウザだけで処理されるため、プライベートな用途にも使用できます。

このツールは「イラストを描く人がレイヤーの表示/非表示を切り替えた様々なパターンを PNG で書き出したものを配布する」といった時間の浪費と手間を減らすために、 また配布されているイラストを利用したい人がソフトウェアを何も用意しなくても最新のブラウザさえあれば PSD ファイルを扱えるようにすることを目的に作りました。

Photoshop 形式は sai、CLIP STUDIO PAINT、openCanvas、Krita、メディバンペイント、FireAlpaca など様々なペイントソフトで保存可能な共通の保存フォーマットです。
これを機に、是非 Photoshop 形式での配布を検討してみてください。

PSDTool 紹介用動画

PSDTool の使い方を紹介する動画があります。

立ち絵支援ツール PSDTool の使い方

動作環境

Microsoft Edge / Google Chrome / Mozilla Firefox 上でブラウザ画面サイズ 1024x600 以上を基準に動作確認しています。
Mac を持っていないので Apple Safari ではテストしていません。

ブラウザは常に最新版をお使いください。

Chrome で絵が出なくなったりする場合

chrome://flags/ をブラウザで開いて「アクセラレーションによる 2D キャンバス表示」を無効にしてみてください。
この設定によって症状が改善される場合があります。

機能の説明

  1. ファイルを開く前のオプション
  2. メイン画面
  3. レイヤーツリー画面 / シンプルビュー画面
  4. お気に入り編集画面
  5. フィルター編集画面

ファイルを開く前のオプション

ファイルを開く際に、いくつかのオプションが設定可能です。

自動トリミング

自動トリミングを有効にすると PSD ファイルに存在する全てのレイヤーを表示したとしても使われることがない、完全な余白のみを削ります。
ある瞬間に表示している内容でトリミングするわけではないので、「ウサギの耳」「翼」のように一部または全部の方向へ突出するようなレイヤーが存在する場合、その分の余白は常に確保されます。

自動トリミングの使用サンプル

上記サンプルでは、自動トリミングありの場合は左右はギリギリまでカットされ、上部は「左向き用・主線」レイヤーを表示するための余白が数ピクセルだけ残っています。

なお縮小する場合、縮小後のサイズを例えば 320px としても上記サンプルのように余白の有無によって画像の縮小率が変わってきます。 余白を上手く使って複数の PSD ファイル間で同程度のサイズ感になるよう整えられている場合などもあるため、自動トリミングの使用には注意が必要です。

独自拡張機能を無効化

独自拡張機能を無効化は PSDTool での使用を想定していない PSD ファイルを読む際に使う機能で、PSDTool が持つ独自拡張機能 が認識されないようにします。 レイヤー名が独自拡張機能と衝突してしまい、レイヤー表示切替のチェックボックスがラジオボタンになったり消えてしまっている場合に有用です。

メイン画面

ファイルを開くと画面には以下の様なインターフェイスが現れます。

PSDTool の画面上部にあるインターフェイスのスクリーンショット

1. タブ

レイヤーツリー画面お気に入り編集画面を切り替えるためのタブです。

2. レイヤーツリー

タブで「レイヤー」が選ばれている時はレイヤーツリー画面 / シンプルビュー画面、「お気に入り」が選ばれている時はお気に入り編集画面が表示されます。

3. 反転

⇄ を押すと左右、⇅ を押すと上下に画像を反転します。文字やアクセサリー、髪型や服の装飾などのように、反転すると問題がある場合もあるため使用には注意が必要ですが、PSD ファイル側で独自拡張機能を使って対策されている場合は正しく表示される場合もあります。

4. 縮小

読み込んだ画像が大きすぎる場合、ここで保存前に縮小することができます。 縦か横のどちらかの最大ピクセル数を指定すると、その大きさを超えないように必要に応じて縮小されます。この設定によって元のサイズより画像が拡大されることはありません。

5. PNG で保存

画像を通し番号付きで保存するための機能です。 スクリーンショットのように入力欄がそれぞれ「im5467479_」「0」の状態で「.png」ボタンを押すと「im5467479_0000.png」というファイル名で保存され、そのまま同じボタンを押す度に数字が足されていきます。

数字の入力欄を空欄にすることで、通し番号が付かない、ただの画像保存ボタンとしても利用可能です。

6. 合成結果プレビュー / お気に入りプレビュー

合成結果プレビューには現在のレイヤー選択状態が表示されます。

また、お気に入りを選択した時は一時的にお気に入りの内容を表示するお気に入りプレビューに変化します。 お気に入りプレビューモードはレイヤータブに切り替えたりすることで解除されます。

レイヤーツリー画面 / シンプルビュー画面

タブで「レイヤー」を選ぶとレイヤー表示構成の切り替えができるレイヤーツリー画面またはシンプルビュー画面が表示されます。
シンプルビュー画面を使うためにはお気に入りを適切に組み立てる必要があり、使用できない状態の時は「シンプルビューに切り替え」ボタンも表示されません。

レイヤーツリー画面のスクリーンショット

レイヤーツリー画面ではチェックボックスやラジオボタンの切り替えで、シンプルビュー画面ではセレクトボックスやスライダーによる切り替えによって、画像のレイヤー表示構成を変更することができます。

お気に入り編集画面

タブで「お気に入り」を選ぶとレイヤー表示構成の保存や読み込みができるお気に入り編集画面が表示されます。

お気に入り編集画面のスクリーンショット

作成したお気に入りはシングルクリックでプレビュー、ダブルクリックでレイヤー一覧に読み込むことができます。その他、Shift や Ctrl(Option) を押しながらクリックで複数選択や、ドラッグで項目の入れ替え、Ctrl(Option) を押しながらドラッグでコピーなどもできます。

現在のレイヤー表示をお気に入りに追加(Ctrl + B / Option + B)

現在レイヤータブで選択している構成をお気に入りに追加します。

ショートカットキーを使用するとレイヤータブを表示していてもお気に入りに追加することができます。

新規フォルダー(Ctrl + D / Option + D)

項目の整理に利用可能なフォルダーを追加します。

名前の変更(F2)

項目の名前を変更します。

削除

項目を削除します。削除の際には確認ダイアログはなく、元に戻す手段も用意されていないので気をつけて使用する必要があります。

一括フォルダー作成

複数のフォルダーを一気に作成するための機能です。フォルダー名を改行で区切って入力することで、効率的に複数のフォルダーを作成することができます。

一括名前変更

お気に入りの項目の名前を効率的に変更するための機能です。変更したい項目が複数ある場合、こちらを使うことで作業効率が改善されるかもしれません。

入力欄を空欄にして名前の変更をすると自動的に連続した番号で埋めていく機能もあり、ダイアログの下に桁数や開始番号を指定する設定項目があります。

シンプルビュー設定

シンプルビューに関する設定項目があるダイアログが表示されます。

シンプルビューが使えるお気に入りデータを読み込んだ時の動作

お気に入りを読み込んだ時に、シンプルビューが使える場合に振る舞いを変えることができます。

インポート

選ぶとダイアログが表示されます。

PFV ファイルをインポート

選択された PFV ファイルを読み込みます。

このダイアログを開かなくても、PSD ファイルを開く際に PFV ファイルも一緒にドラッグ&ドロップしたり、お気に入りタブ内のお気に入りツリーに PFV ファイルをドラッグ&ドロップすることで読み込むこともできます。できますが、マニュアルを読まない人は恐らく PFV ファイルを開くためにインポート内を探しに来ると思ったので、ここにも用意してある、というわけなんですよ。

最近使ったお気に入りからインポート

ブラウザに自動保存されたお気に入りからインポートします。手動でインポートしなくても PSD ファイルを読み込んだ時に、読むべき PFV ファイルが特になければこの中からひとつ自動的に読み込まれます。

青い項目は同じ画像から作成されたお気に入りで、読み込んで利用できることが期待できます。
白い項目は読み込んでも画像のレイヤー構造の違いにより利用できない可能性もありますが、PFV ファイルにエクスポートし直すことはできます。

ここに現れるデータはブラウザのデータ削除などにより意図しないタイミングで読めなくなる可能性があるため、重要なデータは別途保存しておくことを推奨します。

エクスポート

選ぶとダイアログが表示されます。

PFV ファイルをエクスポート

お気に入りの情報を PFV(Psdtool FaVorites) ファイルに書き出します。

書き出した PFV ファイルはあとで自分でインポートして使用したり、PFV ファイルを配布して他人に利用してもらうこともできます。

また PFV ファイルは UTF-8 のテキストファイルなので、テキストエディタで開いて直接編集することもできます。

PSD ファイル / PFV ファイル / テキストファイルの3つを ZIP ファイルに入れておき、解凍せずに直接 PSDTool で開くと全てを読み込むことができます。
この仕組みにより、ZIP ファイルを PSDTool で読み込むだけでおすすめのレイヤー表示構成を最初からお気に入りに読み込んだ状態にもできます。

画像を ZIP ファイルでエクスポート

お気に入りのすべての項目を PNG ファイルで ZIP ファイルに書き出すことができます。 書き出す際には現在の反転や縮小の設定が適用されます。

ZIP ファイルには PFV ファイルも一緒に書き出されており、これを読み込むことで左右反転や縮小率を変えて書き出し直したり、お気に入りに更に項目を追加したい場合などにも利用できます。

もし ZIP ファイルで書き出し可能な容量やファイル数を超過する場合は、自動的に ZIP64 フォーマットで書き出されます。

なお、この項目は右端の ▼ をクリックすることで更に詳細な書き出しオプションを選ぶことができます。

フィルタリングされた項目は残ったパーツのみを出力
通常のエクスポートではフィルタリングされたお気に入りは「お気に入りプレビュー」で表示される内容と同じもの(つまり「レイヤータブの選択状態」+「フィルタリングされたお気に入りの内容」)を出力しますが、こちらからエクスポートした場合は「フィルタリングされたお気に入りの内容」のみを出力します。
そのため、例えば目のパーツ以外をフィルタリングしているお気に入りは目のパーツのみが画像として出力されます。
シンプルビューの全パターンを ZIP ファイルでエクスポート

シンプルビューの組み合わせで表現可能な全ての構成を PNG ファイルで ZIP ファイルに書き出すことができます。書き出す際には現在の反転や縮小の設定が適用されます。

ただし、「目」を変えるためのセレクトボックスが複数ある場合のように、全てのスライダーが同じ位置にあっても最後に触った項目によって結果が異なるような構成は正しく出力されません。

もし ZIP ファイルで書き出し可能な容量やファイル数を超過する場合は、自動的に ZIP64 フォーマットで書き出されます。

このボタンを押す場合はサブメニューから書き出し構造を選択する必要があります。

パーツ名あり / 入れ子
例: キャラ名\眉-困り\目-にっこり\口-笑い.png
パーツ名あり / フラット
例: キャラ名_眉-困り_目-にっこり_口-笑い.png
パーツ名なし / 入れ子
例: キャラ名\困り\にっこり\笑い.png
パーツ名なし / フラット
例: キャラ名_困り_にっこり_笑い.png
Tiled Map Editor 用にエクスポート...

シンプルビューで表現できる画像データを Tiled Map Editor 用フォーマットでエクスポートするための設定ダイアログを新たに開きます。

通常の「シンプルビューの全パターンを ZIP ファイルでエクスポート」でエクスポートした場合に 1GB を超えるようなケースでも、この方式で出力すると数十MB程度にまで容量を縮めることができることがあります。
ただしこの出力方式は 16x16 のタイルチップが集められた PNG ファイルとタイルデータ定義ファイルの組み合わせで出力されるため、一般的な用途に使いやすい形式ではなく、Tiled Map Editor で読み込んだり、ゲーム開発用フレームワークなどで読み込むような用途に向いています。

JavaScript + HTML の形式で出力した場合には簡易的なシンプルビューとして使える HTML ファイルが付属しています。
zip ファイルをそのまま配布することで PSD ファイルを公開しないままで表現可能な組み合わせを確認できるようにしたり、 zip ファイルの中身を解凍して Web にアップロードしてオンラインで使えるようにしたり、ちょっとした用途に使うことができます。

レイヤー構造をテキストファイルでエクスポート

PSD ファイルのレイヤー構造をタブで整形された文字コード UTF-8 改行コード '\n' のテキストファイルとして、概ね以下の様な形で出力します。

!眉
	*(`・ω・´)
	*(´・ω・`)
	*普通
!くち
	*あー!
	*ふぇー
	*ムー
	*ワ
!目
	*つぶり
	*ぐるぐる
	*にっこり
	*通常
!下地
	*左向き用・主線
	*右向き用・主線

レイヤー名をテキストでコピーしたい場合など、レアケースで役に立ちます。

ラジオグループからお気に入りを自動生成(Shift + Ctrl + G / Shift + Option + G)

これはレイヤー一覧でラジオボタンをクリックした後にショートカットキーを押すことで使用可能な機能で、ラジオボタンで選択可能な項目の全てのパターンでお気に入りを自動生成します。

フィルター編集画面

フィルター編集画面のスクリーンショット

お気に入りで作成したフォルダーをダブルクリックすると、フィルター設定画面が現れます。

フィルター機能を有効にすると、お気に入りを読み込む際に現在のレイヤー表示に対しお気に入りを一部にだけ適用することができるようになります。

フィルター機能が有効になっているフォルダーはアイコンが から に変わり、そのフォルダー以下にあるお気に入りはチェックが入っているレイヤーの項目だけを読み込むように変わります。

使用例

上記の例では元々は眉、目、口がそれぞれ異なるお気に入りが、フィルターを指定することにより口だけの変化に変わる様子を示しています。
また、口以外は元々の状態を維持しようとするため、レイヤー一覧で他のパーツを変更すればその状態から口だけを変更をすることができます。

この例の場合は直接口レイヤーを切り替えることと本質的な違いがありませんが、例えば複数のパーツの切り替えが必要な服装や、口だけではなく表情全体など大きな単位でフィルターを有効にすると、現在の服装やポーズを維持したまま表情だけをお気に入りから読み込むような使い方ができます。

シンプルビュー

シンプルビューはレイヤーツリーでチェックボックスやラジオボタンを操作する代わりに、セレクトボックスやスライダーから項目を選んで組み合わせられる画面です。シンプルビューを有効化するためには、お気に入りにシンプルビュー用の項目を作成する必要があります。

シンプルビューを有効化する方法

シンプルビューを有効化する方法の解説

1. シンプルビューの起点となる親のフォルダーの名前の先頭に「*」半角アスタリスクをつける

このフォルダーの中がシンプルビュー表示用であることを指定します。

2. フィルター機能を使ってパーツ単位でお気に入りをまとめる

フォルダーを作り、その中にパーツを切り替えたお気に入りを一つ以上作成して、そのフォルダーでフィルター機能を有効化します。フィルター機能を有効化していない場合、シンプルビューの選択肢として現れません。

お気に入りの登録順はそのまま選択項目の順番として使用されます。また、選択項目内で一番上にある項目は一番最初にシンプルビューを開いた時のデフォルト項目として使用されます。

必要であればフォルダーはもっと階層を深くすることもできますが、深くなると利用する時の手間が増える可能性もあります。

3. レイヤータブに画面を切り替える

1 の手順が完了した時点で、レイヤータブに切り替えると「シンプルビューに切り替え」のボタンが表示されるようになります。
2 の手順が完了していれば、作成した項目がシンプルビューでの選択項目として現れるようになります。
なお、お気に入りを1つしか入れていないフォルダーがある場合、その項目はシンプルビュー上で変更できないためグレーアウト状態で表示されます。

シンプルビューを有効化した時のスクリーンショット

これが上記サンプルで作成したお気に入りのシンプルビュー表示例です。それぞれの各項目の一番上にあったものがデフォルトの表示項目として表示され、「体」に関してはお気に入りがひとつしか登録されていないためグレーアウトされています。

お気に入り内にシンプルビュー用の親フォルダーが複数ある場合、一番上の選択項目で選んで切り替えることができるようになります。

使用例

実際にシンプルビュー用のお気に入りデータを作成する例です。お気に入りデータの登録にはラジオグループからお気に入りを自動生成を使用していますが、使用しなくてもデータの作成は可能です。

読み込める PSD ファイル

PSDTool は「最大公約数的な PSD ファイル読み込みツール」というのを目標に開発しているため、Photoshop 以外のソフトでも頻繁に使われるであろう機能を優先的に実装しています。

ZIP ファイルの読み込み

ZIP ファイルに格納されている PSD ファイルは、ファイルを取り出さずにそのまま開くことができます。

ダイレクト読み込み

以下に示す条件のいずれかを満たすことで、PSDTool はあなたのサイトにあるファイルを読むことができます。
あなたのサイトに配置された配布用の ZIP ファイルをこの仕組みで直接開くこともできます。

独自拡張機能

PSD ファイルを作る際にレイヤー名に特定の記号を付けることで、レイヤーの表示/非表示の使い勝手を改善することができます。
これらの機能を使用しても画像編集ソフトで開く際には今まで通り使用でき、編集が不便になることはありません。
また、PSDTool で読み込む場合でもオプションから独自拡張機能を無効化することで、一般的なソフトと同じ状態で読み込むこともできます。

ラジオボタン化「*」

ラジオボタン化の使用例

レイヤー名の先頭に半角のアスタリスク「*」をつけると、選択項目がチェックボックスではなくラジオボタンになります。
ラジオボタンは親のグループレイヤー(画像例では「口」)に所属するようになります。

ラジオボタン内のレイヤーが複数表示されたまま PSD ファイルが保存されていた場合、その中で一番上のものがデフォルト表示されます。

強制表示化「!」

強制表示化の使用例

レイヤー名の先頭に半角のエクスクラメーションマーク「!」をつけると、選択項目からチェックボックスが消えます。
チェックボックスがない項目は表示状態になり、非表示にできなくなります。

強制表示設定にしたレイヤーを非表示にして PSD ファイルを保存しても、PSDTool で表示する際は強制的に表示状態になります。

反転レイヤー指定「:flipx」「:flipy」「:flipxy」

反転レイヤー指定の使用例

レイヤー名の最後に「:flipx」「:flipy」「:flipxy」のいずれかをつけると、そのレイヤーはそれぞれ左右反転、上下反転、上下左右反転をしている時にだけ使用するレイヤーとして扱われます。同じ階層内に「通常表示用のレイヤー」と「反転表示用のレイヤー」の2つのレイヤーを用意し、その名前を「通常用の名前」「通常用の名前:flipx」のようにすることで、この機能が有効化されます。

例えば「体」というレイヤーを「通常用」と「左右反転用」の2種類用意する場合、それぞれの名前を「体」「体:flipx」などのようにしておきます。正しく設定すると PSDTool で読み込んだ時にレイヤー一覧から「体:flipx」が消え、「体」レイヤーを表示している状態で左右反転すると「体:flipx」の内容で自動的に表示されます。

この機能はグループレイヤーで使うこともできますが、グループレイヤーで使う場合は「通常用のグループレイヤー」と「反転表示用のグループレイヤー」の中に含まれる子レイヤーの名前を完全に一致させておく必要があります。 一致していないレイヤーがある場合、その場所は正しく反転が適用されません。

PFV ファイルについて

PFV ファイルは PSDTool で登録したお気に入りの情報が格納された PSDTool 独自のファイル形式です。

ファイルの実態は BOM なし UTF-8、改行コード '\n' のテキストファイルで、概ね以下の構造になっています。

[PSDToolFavorites-v1]
root-name/お気に入り

//フォルダー名/お気に入り登録名
グループ1/レイヤー1
グループ2/*グループ3

//フォルダー名/空フォルダ~folder

まず固定のヘッダーとして必ずファイルの先頭から [PSDToolFavorites-v1] が現れ、行頭に // が現れるまではファイル全体に対する設定が続きます。// が現れたあとは次の // が現れるまでがそのお気に入りの設定です。

日本語で書かれている箇所は実際にはそれぞれが以下の JavaScript で示す URL エンコードの亜種によりエンコードされています。 テキストエディタによる編集を容易にするためエンコードされる文字種は絞られていますが、デコードには通常の URL デコーダーが使用できます。

function encode(s) {
   return s.replace(/[\x00-\x1f\x22\x25\x27\x2f\x5c\x7e\x7f]/g, function(m) {
      return '%' + ('0' + m[0].charCodeAt(0).toString(16)).slice(-2);
   });
}

ブックマーク内に空フォルダーがある場合にはそれを示すために // から始まる識別子は更に後ろに ~folder が付与される場合があります。
また、フィルターが有効になっているフォルダーがある場合は同じように ~filter が付与され、通常のお気に入りと同じ形式でフィルタリングしない項目が列挙されます。

例えば //グループ1/レイヤー1 を解析して階層ごとに取得したい場合、まず先頭2文字を捨ててから ~ の有無を検索し、ある場合はまず ~ で分割し、後ろが folder など既知の識別子であるか確認し、未知の識別子の場合は次の // まで読み飛ばすようにしてください。これを怠ると将来識別子が追加された際に正しく処理できなくなる可能性があります(やってても互換性が維持できるかはわかりませんが…)。

root-name にはお気に入りツリーの一番上の名前が保存されています。

レイヤー構造に関するデータは レイヤー1/レイヤー2/レイヤー3 のような形になっていて、この場合だと「レイヤー1」「レイヤー2」「レイヤー3」全てにチェックが入っていることを示しています。また、それぞれのレイヤー名は上記の同じ URL エンコードの亜種によりエンコードされています。

しかし稀に レイヤー1/レイヤー2\1/レイヤー3 のように \ バックスラッシュ(円記号)と数字が入っていることがあり、これは PSD ファイルで同じレイヤーの階層に同じ名前のレイヤーが複数あることを示しています。\ の後ろの数字はレイヤーの重ねあわせ順で、下から 0 から始まるインデックスで付与されていますが、0 の場合は省略されます。
この例の場合だと、レイヤー1 の子階層に レイヤー2 という名前のレイヤーが複数あり、レイヤー2\1 は下から数えて2番めの レイヤー2 です。
レイヤー名自体に \ が含まれている場合はエンコードによって %5c になっているため、\ の存在はデコード処理の前にチェックすることで見つけることができます。

変更履歴

2017-07-23
ソースコードの整理
縮小時に暗い色が劣化することがあったのを修正
2017-04-08
ソースコードの整理
エクスポート処理を最適化
画像縮小時に右端のデータが左端に回り込む問題を修正
画像縮小時にガンマ値を考慮するように改善
合成モード「通過」に関連する問題を修正
その他描画品質に関わるいくつかの問題を修正
UTF-16(BOMあり) のテキストファイルをサポート
※今回の変更により、一部のPSDファイル、特定の状況下、または縮小機能を使った場合などに以前とは描画結果が異なるケースがあります。現在こちらで把握できている範囲ではおかしかった部分が正常な挙動になった、または理想的な挙動に近づいたものしかありませんが、もしおかしくなってしまったものを発見した場合はトップページ右上にある「問い合わせ」からご連絡頂けると幸いです。
2016-08-31
PSD ファイルの読み込み速度を最適化
2016-08-30
シンプルビューの Tiled Map Editor 対応形式を追加
2016-08-29
PSDTool の使い方の文書を掲載
2016-08-11
マスクの位置がずれる問題を修正
ソースコードの整理
謝辞の追加
2016-07-30
メモリ使用量を削減
2016-07-20
文字コード検出処理を変更
4/19 から無効化されていた Web Worker 版 PSD ファイル読み込み処理を再度有効化
2016-07-19
PSD ファイルのつもりで PSB ファイルを公開する人をしばしば見かけるので PSB ファイルに対応
2016-05-29
フォルダーの合成モードが省略された時に正しく「通過」が選ばれなかったのを修正(thanks to @zephid_phantasm
合成モード「通過」の時はクリッピングマスクにしないように改善
透明度 100% 以外での合成モード「通過」やレイヤーマスク併用時の挙動などで、まだ問題あり
2016-05-07
クリッピングマスクの処理を改善
2016-05-06
クリッピングマスクの処理を改善
2016-05-01
ショートカットキーからのお気に入り追加での名前のデフォルト値を最後にチェックを入れたレイヤーの名前に変更
上下反転、左右反転で必要になるクリック数を削減
ZIP エクスポート機能で 4GB 以上のアーカイブは ZIP64 で書き出すように改善
シンプルビューの全パターンエクスポート機能を実装
バグ修正
2016-04-26
動画へのリンクを追加
2016-04-25
文字コード検出処理を変更
2016-04-22
バグ修正
2016-04-19
Chrome 50 で起こる問題を回避
2016-04-09
反転時に自動でレイヤーを切り替える独自拡張機能を追加
シンプルビュー機能を追加
デザインの調整
操作性の改善
2016-04-08
操作性の改善
2016-04-04
バグ修正
2016-04-01
バグ修正
操作性の改善
書き出しオプションの追加
2016-03-31
同じ階層に同じ名前のレイヤーが複数ある場合にお気に入りが使用できなかったのを修正
フィルター機能を追加
2016-03-22
バグ修正
2016-03-21
お気に入りの ZIP エクスポート機能で 500MB の容量上限を撤廃
2016-03-18
バグ修正
2016-03-17
バグ修正
2016-03-16
ファイル読み込みとキャンバス作成を並列化
2016-03-10
バグ修正
2016-03-06
お気に入り機能を追加
連番ダウンロードで番号の省略を可能にした
デザインの調整
ドキュメントを整理
左カラムの幅をドラッグで変えられるように
縮小と連番ダウンロードに全角数字を入れても認識するように
巨大な ZIP ファイル(1GB以上)からの読み込みに対応
2016-02-18
オプション「自動トリミング」「独自機能を無効化」を追加
2016-02-17
操作性の改善
バグ修正
2016-02-15
バグ修正
2016-02-07
バグ修正
2016-02-06
縮小のサイズ計算が誤っていたのを修正
ZIP ファイルを開いた時はテキストファイルを表示できる機能を追加
ダイレクト読み込み機能を追加
2016-02-05
ZIP 圧縮された PSD ファイルの読み込みに対応
2016-02-04
合成モード「通過(グループレイヤーのみ)」「通常」「比較(暗)」「乗算」「焼き込みカラー」「焼き込み(リニア)」「カラー比較(暗)」「比較(明)」「スクリーン」「覆い焼きカラー」「覆い焼き(リニア)」「カラー比較(明)」「オーバーレイ」「ソフトライト」「ハードライト」「ビビッドライト」「リニアライト」「ピンライト」「ハードミックス」「差の絶対値」「除外」「減算」「除算」「色相」「彩度」「カラー」「輝度」の実装を追加
2016-02-02
操作性の改善
2016-02-01
描画負荷の軽減
縮小処理中にUIが硬直しないように
2016-01-29
透過領域でアニメーション
縮小機能を追加
連番ダウンロード機能を追加
バグ修正
2016-01-28
合成モード「覆い焼き(リニア)」に対応
レイヤーマスク、ベクトルマスクに対応
バグ修正
2016-01-26
クリッピングマスクに対応
読み込み状況の進捗表示
バグ修正
2016-01-22
初版

クレジット

PSDTool は以下のオープンソースソフトウェア/ライブラリ/ソースコードを使用して開発されました。

The Go Programming Language
Copyright (c) 2009 The Go Authors. All rights reserved.

Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are
met:

   * Redistributions of source code must retain the above copyright
notice, this list of conditions and the following disclaimer.
   * Redistributions in binary form must reproduce the above
copyright notice, this list of conditions and the following disclaimer
in the documentation and/or other materials provided with the
distribution.
   * Neither the name of Google Inc. nor the names of its
contributors may be used to endorse or promote products derived from
this software without specific prior written permission.

THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
			
GopherJS - A compiler from Go to JavaScript
Copyright (c) 2013 Richard Musiol. All rights reserved.

Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are
met:

   * Redistributions of source code must retain the above copyright
notice, this list of conditions and the following disclaimer.
   * Redistributions in binary form must reproduce the above
copyright notice, this list of conditions and the following disclaimer
in the documentation and/or other materials provided with the
distribution.

THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
			
The Platinum Searcher
The MIT License (MIT)

Copyright (c) [2014] [the_platinum_searcher]

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
			
jQuery
Copyright jQuery Foundation and other contributors, https://jquery.org/

Permission is hereby granted, free of charge, to any person obtaining
a copy of this software and associated documentation files (the
"Software"), to deal in the Software without restriction, including
without limitation the rights to use, copy, modify, merge, publish,
distribute, sublicense, and/or sell copies of the Software, and to
permit persons to whom the Software is furnished to do so, subject to
the following conditions:

The above copyright notice and this permission notice shall be
included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
			
Bootstrap
The MIT License (MIT)

Copyright (c) 2011-2016 Twitter, Inc.

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in
all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
THE SOFTWARE.
			
FileSaver.js
Copyright © 2016 Eli Grey.

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
			
split-pane
Copyright (c) 2014 - 2016 Simon Hagström

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
			
Mousetrap
Copyright © 2012-2015 Craig Campbell.

                                 Apache License
                           Version 2.0, January 2004
                        http://www.apache.org/licenses/

   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION

   1. Definitions.

      "License" shall mean the terms and conditions for use, reproduction,
      and distribution as defined by Sections 1 through 9 of this document.

      "Licensor" shall mean the copyright owner or entity authorized by
      the copyright owner that is granting the License.

      "Legal Entity" shall mean the union of the acting entity and all
      other entities that control, are controlled by, or are under common
      control with that entity. For the purposes of this definition,
      "control" means (i) the power, direct or indirect, to cause the
      direction or management of such entity, whether by contract or
      otherwise, or (ii) ownership of fifty percent (50%) or more of the
      outstanding shares, or (iii) beneficial ownership of such entity.

      "You" (or "Your") shall mean an individual or Legal Entity
      exercising permissions granted by this License.

      "Source" form shall mean the preferred form for making modifications,
      including but not limited to software source code, documentation
      source, and configuration files.

      "Object" form shall mean any form resulting from mechanical
      transformation or translation of a Source form, including but
      not limited to compiled object code, generated documentation,
      and conversions to other media types.

      "Work" shall mean the work of authorship, whether in Source or
      Object form, made available under the License, as indicated by a
      copyright notice that is included in or attached to the work
      (an example is provided in the Appendix below).

      "Derivative Works" shall mean any work, whether in Source or Object
      form, that is based on (or derived from) the Work and for which the
      editorial revisions, annotations, elaborations, or other modifications
      represent, as a whole, an original work of authorship. For the purposes
      of this License, Derivative Works shall not include works that remain
      separable from, or merely link (or bind by name) to the interfaces of,
      the Work and Derivative Works thereof.

      "Contribution" shall mean any work of authorship, including
      the original version of the Work and any modifications or additions
      to that Work or Derivative Works thereof, that is intentionally
      submitted to Licensor for inclusion in the Work by the copyright owner
      or by an individual or Legal Entity authorized to submit on behalf of
      the copyright owner. For the purposes of this definition, "submitted"
      means any form of electronic, verbal, or written communication sent
      to the Licensor or its representatives, including but not limited to
      communication on electronic mailing lists, source code control systems,
      and issue tracking systems that are managed by, or on behalf of, the
      Licensor for the purpose of discussing and improving the Work, but
      excluding communication that is conspicuously marked or otherwise
      designated in writing by the copyright owner as "Not a Contribution."

      "Contributor" shall mean Licensor and any individual or Legal Entity
      on behalf of whom a Contribution has been received by Licensor and
      subsequently incorporated within the Work.

   2. Grant of Copyright License. Subject to the terms and conditions of
      this License, each Contributor hereby grants to You a perpetual,
      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
      copyright license to reproduce, prepare Derivative Works of,
      publicly display, publicly perform, sublicense, and distribute the
      Work and such Derivative Works in Source or Object form.

   3. Grant of Patent License. Subject to the terms and conditions of
      this License, each Contributor hereby grants to You a perpetual,
      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
      (except as stated in this section) patent license to make, have made,
      use, offer to sell, sell, import, and otherwise transfer the Work,
      where such license applies only to those patent claims licensable
      by such Contributor that are necessarily infringed by their
      Contribution(s) alone or by combination of their Contribution(s)
      with the Work to which such Contribution(s) was submitted. If You
      institute patent litigation against any entity (including a
      cross-claim or counterclaim in a lawsuit) alleging that the Work
      or a Contribution incorporated within the Work constitutes direct
      or contributory patent infringement, then any patent licenses
      granted to You under this License for that Work shall terminate
      as of the date such litigation is filed.

   4. Redistribution. You may reproduce and distribute copies of the
      Work or Derivative Works thereof in any medium, with or without
      modifications, and in Source or Object form, provided that You
      meet the following conditions:

      (a) You must give any other recipients of the Work or
          Derivative Works a copy of this License; and

      (b) You must cause any modified files to carry prominent notices
          stating that You changed the files; and

      (c) You must retain, in the Source form of any Derivative Works
          that You distribute, all copyright, patent, trademark, and
          attribution notices from the Source form of the Work,
          excluding those notices that do not pertain to any part of
          the Derivative Works; and

      (d) If the Work includes a "NOTICE" text file as part of its
          distribution, then any Derivative Works that You distribute must
          include a readable copy of the attribution notices contained
          within such NOTICE file, excluding those notices that do not
          pertain to any part of the Derivative Works, in at least one
          of the following places: within a NOTICE text file distributed
          as part of the Derivative Works; within the Source form or
          documentation, if provided along with the Derivative Works; or,
          within a display generated by the Derivative Works, if and
          wherever such third-party notices normally appear. The contents
          of the NOTICE file are for informational purposes only and
          do not modify the License. You may add Your own attribution
          notices within Derivative Works that You distribute, alongside
          or as an addendum to the NOTICE text from the Work, provided
          that such additional attribution notices cannot be construed
          as modifying the License.

      You may add Your own copyright statement to Your modifications and
      may provide additional or different license terms and conditions
      for use, reproduction, or distribution of Your modifications, or
      for any such Derivative Works as a whole, provided Your use,
      reproduction, and distribution of the Work otherwise complies with
      the conditions stated in this License.

   5. Submission of Contributions. Unless You explicitly state otherwise,
      any Contribution intentionally submitted for inclusion in the Work
      by You to the Licensor shall be under the terms and conditions of
      this License, without any additional terms or conditions.
      Notwithstanding the above, nothing herein shall supersede or modify
      the terms of any separate license agreement you may have executed
      with Licensor regarding such Contributions.

   6. Trademarks. This License does not grant permission to use the trade
      names, trademarks, service marks, or product names of the Licensor,
      except as required for reasonable and customary use in describing the
      origin of the Work and reproducing the content of the NOTICE file.

   7. Disclaimer of Warranty. Unless required by applicable law or
      agreed to in writing, Licensor provides the Work (and each
      Contributor provides its Contributions) on an "AS IS" BASIS,
      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
      implied, including, without limitation, any warranties or conditions
      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
      PARTICULAR PURPOSE. You are solely responsible for determining the
      appropriateness of using or redistributing the Work and assume any
      risks associated with Your exercise of permissions under this License.

   8. Limitation of Liability. In no event and under no legal theory,
      whether in tort (including negligence), contract, or otherwise,
      unless required by applicable law (such as deliberate and grossly
      negligent acts) or agreed to in writing, shall any Contributor be
      liable to You for damages, including any direct, indirect, special,
      incidental, or consequential damages of any character arising as a
      result of this License or out of the use or inability to use the
      Work (including but not limited to damages for loss of goodwill,
      work stoppage, computer failure or malfunction, or any and all
      other commercial damages or losses), even if such Contributor
      has been advised of the possibility of such damages.

   9. Accepting Warranty or Additional Liability. While redistributing
      the Work or Derivative Works thereof, You may choose to offer,
      and charge a fee for, acceptance of support, warranty, indemnity,
      or other liability obligations and/or rights consistent with this
      License. However, in accepting such obligations, You may act only
      on Your own behalf and on Your sole responsibility, not on behalf
      of any other Contributor, and only if You agree to indemnify,
      defend, and hold each Contributor harmless for any liability
      incurred by, or claims asserted against, such Contributor by reason
      of your accepting any such warranty or additional liability.

   END OF TERMS AND CONDITIONS
			
jsTree
Copyright (c) 2014 Ivan Bozhanov

Permission is hereby granted, free of charge, to any person
obtaining a copy of this software and associated documentation
files (the "Software"), to deal in the Software without
restriction, including without limitation the rights to use,
copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the
Software is furnished to do so, subject to the following
conditions:

The above copyright notice and this permission notice shall be
included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
OTHER DEALINGS IN THE SOFTWARE.
			
pako
(The MIT License)

Copyright (C) 2014-2016 by Vitaly Puzrin

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in
all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
THE SOFTWARE.
			
lz4-ts
Copyright (c) 2015, Pierre Curto
Copyright (c) 2016, oov
All rights reserved.

Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are met:

* Redistributions of source code must retain the above copyright notice, this
  list of conditions and the following disclaimer.

* Redistributions in binary form must reproduce the above copyright notice,
  this list of conditions and the following disclaimer in the documentation
  and/or other materials provided with the distribution.

* Neither the name of xxHash nor the names of its
  contributors may be used to endorse or promote products derived from
  this software without specific prior written permission.

THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
			
downscaler-ts
The MIT License (MIT)

Copyright (c) 2016 oov

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
			
Created by oov | Powered by GopherJS | Please use a modern browser | Please listen to my song