open-index/open-npm huggingface dataset:
npm package: @ma2yama/opencv-js
Description: OpenCV built as WebAssembly for browsers and Node.js
Latest version: 4.12.0-beta.1

# @ma2yama/opencv-js

OpenCV を WebAssembly (WASM) 向けにビルドしたブラウザ・Node.js 向けパッケージです。WASM バイナリは JS ファイルに埋め込まれているため、`.wasm` ファイルの別途配置は不要です。

## インストール

```bash
npm install @ma2yama/opencv-js
```

## 使い方

`cv` はそのまま `Promise` として export されています。`await` で解決すると OpenCV オブジェクトが得られます。

### ブラウザ (スクリプトタグ)

```html
<script src="node_modules/@ma2yama/opencv-js/bin/opencv.js"></script>
<script type="module">
  const openCV = await cv;
  const mat = new openCV.Mat(100, 100, openCV.CV_8UC4);
  console.log(mat.rows); // 100
  mat.delete();
</script>
```

### TypeScript (Vite / バンドラー非推奨)

`opencv.js` は約 11MB あるため、バンドラーに通さず `<script src>` で直接ロードすることを推奨します。

```typescript
import type cvPromise from '@ma2yama/opencv-js';

type OpenCV = Awaited<typeof cvPromise>;

declare global {
  const cv: typeof cvPromise; // Promise<OpenCV>
}

const openCV: OpenCV = await cv;
const mat = new openCV.Mat(100, 100, openCV.CV_8UC4);
console.log(mat.rows); // 100
mat.delete();
```

### Node.js

```javascript
import { createRequire } from 'module';
const require = createRequire(import.meta.url);

const cv = await require('@ma2yama/opencv-js');
const mat = new cv.Mat(100, 100, cv.CV_8UC4);
console.log(mat.rows); // 100
mat.delete();
```

## 重要: メモリ管理

OpenCV.js は C++ ヒープメモリを使用します。`Mat` などの OpenCV オブジェクトを使い終わったら必ず `.delete()` を呼び出してください。

```javascript
const mat = new cv.Mat();
// ... 処理 ...
mat.delete(); // 必須
```

## 利用可能なモジュール

| モジュール | 主な API |
|-----------|---------|
| **core** | Mat, 算術演算, ビット演算 など |
| **imgproc** | cvtColor, GaussianBlur, Canny, goodFeaturesToTrack など |
| **objdetect** | CascadeClassifier |
| **features2d** | ORB, BFMatcher など |

## NPM への公開

### ログイン

```bash
npm login
```

### 公開

```bash
cd packages/opencv-js
npm publish
```

### バージョン更新

```bash
npm version patch   # パッチバージョンを上げる (例: 4.12.0 → 4.12.1)
npm version minor   # マイナーバージョンを上げる (例: 4.12.0 → 4.13.0)
npm version major   # メジャーバージョンを上げる (例: 4.12.0 → 5.0.0)
```

バージョンを更新してから `npm publish` を実行してください。

## ライセンス

Apache-2.0 — 詳細は [LICENSE](./LICENSE) を参照してください。

型定義は [@techstark/opencv-js](https://github.com/TechStark/opencv-js) (Apache-2.0) を元にしています。
npm package: @ma3-pro-plugins/ma3-pro-plugins-lib
Description: TSTL Library for grandMA3 plugins
Author: HEPi
Latest version: 0.5.1

# ma3-pro-plugins-lib

TypeScript Library for grandMA3 plugins

## Utils

- Logger
- DebugUtils: objToString() help printing objects (Like JSON.stringify()a)
- XMLUtils: XML parser
- FileUtils: Some convenience utils
- ImageLibraryUtils: create base64 images, install and import.
- ErrorHandlingUtils: catch error with full stack traceback
- CoroutineMutex: A Mutex implementation using coroutines. You might need it if you start using MA features that include mutli-threading like: MIDI Remotes, Custom Dialogs or Object hooks.
- MAVariables: A convenience wrapper of User Variable, Show variables, Plugin Variables. With json codec.
- ShowSingleton: Creates a singleton global object instance and limits access to it only from the current show.
- PluginInfo: Just a simple object to hold the info that the system provides about a plugin and pass it around.