﻿================================================================
  FunScript Studio
  TCode対応ストローカー用 波形ジェネレーター
================================================================

このたびは FunScript Studio をお買い上げいただき
ありがとうございます。

このソフトは、動画や既存の funscript ファイルを用意しなくても、
その場で新しい動きを生成して、TCode 対応デバイスを
直接動かすためのソフトです。


----------------------------------------------------------------
 1. 動作環境
----------------------------------------------------------------

  OS       : Windows 10 / 11 (64bit)
  空き容量 : 400MB 程度

  Python などの事前インストールは必要ありません。
  解凍してダブルクリックするだけで動きます。

  ※ デバイス本体は付属しません。


----------------------------------------------------------------
 1-2. 対応デバイス
----------------------------------------------------------------

接続方式は2種類あります。
アプリの「デバイス接続」でどちらかを選んでください。


■【1】OSR2 / SR6  (シリアル接続)

  TCode (v0.3) 対応の、COMポートでつながる機器です。

    ・OSR2 / OSR2+
    ・SR6
    ・SSR1
    ・FUN SR1 2.0
    ・その他、TCode ファームウェアを搭載し、
      PCに COMポートとして認識される機体

  USB / Bluetooth のどちらでも、Windows 上で
  COMポートとして見えていれば動作します。

  ▼ この方式なら回転軸 (R0/R1/R2) も使えます。
    ただし回転が動くのは SR6 などの多軸機のみです。
    OSR2 などの単軸機では上下ストロークだけが動きます
    (回転を設定しても無視されるだけで、不具合は起きません)。

  ▼ 準備するもの: 特にありません。
    デバイスをつないで「更新」→ COMポートを選ぶだけです。


■【2】The Handy  (Intiface 経由)

  The Handy など、Buttplug に対応した機器です。

  ▼ 準備するもの: Intiface Central (無料)

     https://intiface.com/central/

     1. 上記から Intiface Central をダウンロードして
        インストールします。
     2. Intiface Central を起動し、「Start Server」を押します。
     3. Intiface Central 側で The Handy を接続し、
        デバイスとして表示されている状態にします。
     4. 本アプリの「デバイス接続」で「The Handy」を選び、
        「更新」→ デバイスを選んで「接続」。

     ※ Intiface Central は起動したままにしておいてください。
       閉じると接続が切れます。

     ※ この手順はアプリの中でも確認できます。
       「デバイス接続」で「The Handy」を選んだあと、
       ポート欄の下に出る
       「Intiface Central とは? / 入手はこちら…」
       をクリックすると、手順の案内画面が開きます。
       案内画面の「入手ページを開く」ボタンから
       ダウンロードページへ直接移動できます。
       (デバイスが見つからなかったときは、
        この案内が自動で表示されます)

  ▼ この方式では上下ストロークのみ動作します。
    Buttplug の仕様上、回転軸は使えません。
    (回転軸タブにその旨が表示されます)

  ▼ Intiface が対応していれば、The Handy 以外の
    ストローク系デバイスでも動作する可能性があります。


■【補足】「Bluetoothでつないでいるのに出てこない」とき

  よくある勘違いなので補足します。
  方式の違いは USB か Bluetooth かではありません。

  接続には2つの層があります。

    (1) つなぎ方   … USB / Bluetooth / WiFi
    (2) 通じる言葉 … TCode / Buttplug など

  本アプリの【1】は (2) が TCode であることを求めています。
  (1) が USB でも Bluetooth でも構いません。

  OSR2 / SR6 の Bluetooth 接続は
  「Bluetooth SPP」という、無線でシリアルケーブルの代わりを
  する規格なので、Windows からは COMポートとして見えます。
  そのため USB と同じように TCode を送れます。

  一方 The Handy の Bluetooth は「Bluetooth LE」という別の
  規格で、COMポートにはなりません。さらに TCode という言葉
  自体を解釈しません。
  そのため Bluetooth でつながっていても【1】の一覧には
  出てこず、【2】の Intiface 経由が必要になります。

    OSR2 / SR6 (USB)       → COMポートになる    → 【1】
    OSR2 / SR6 (Bluetooth) → COMポートになる    → 【1】
    The Handy              → COMポートにならない → 【2】


■ ご確認のお願い

  お使いの機器・ファームウェア・接続環境によっては
  動作しない場合があります。
  ご購入前に必ず体験版で、接続と再生をお確かめください。

  ※ すべての機器での動作を保証するものではありません。


----------------------------------------------------------------
 2. インストール
----------------------------------------------------------------

【1】zip を解凍します

    ダウンロードした zip を、右クリック →「すべて展開」で
    解凍してください。

    ★重要★
    zip の中身を見るだけ (エクスプローラでzipを開いただけ) では
    正しく動きません。必ず「解凍」してからお使いください。

【2】置き場所を決めます

    解凍してできたフォルダは、どこに置いても構いません。
    (デスクトップ、ドキュメント、外付けドライブなど)

    ただし、以下の場所は Windows の保護がかかっていて
    設定が保存できないことがあるため避けてください。

      ・C:\Program Files の中
      ・C:\Windows の中

【3】以上で完了です

    インストール作業はありません。


----------------------------------------------------------------
 3. 起動方法
----------------------------------------------------------------

    フォルダの中の

        FunScriptStudio.exe

    をダブルクリックしてください。

    ※ 初回起動時、Windows から
      「WindowsによってPCが保護されました」
      と表示されることがあります。
      これは配布元の署名が無いソフト全般に出るもので、
      「詳細情報」→「実行」で起動できます。

    ※ ウイルス対策ソフトが反応することがあります。
      Python製アプリを exe 化したものによくある誤検知です。
      気になる場合は、購入前に体験版で同じ動作をご確認ください。

    ※ 同じフォルダにある _internal フォルダは
      アプリの動作に必要です。削除・移動しないでください。


----------------------------------------------------------------
 4. 基本の使い方 (3ステップ)
----------------------------------------------------------------

【1】生成する

    左側でパラメータを選び、「生成する」ボタンを押します。
    上のプレビュー (色の帯) に波形が表示されれば成功です。

    迷ったら「生成する」の右にあるサイコロボタン
    (おまかせ) を押してください。
    速さ・深さ・エフェクトを自動で決めてくれます。

【2】つなぐ

    デバイスの電源を入れ、PCと接続します。
    左下「デバイス接続」でCOMポートを選び、「接続」を押します。

    どのCOMポートか分からない場合は、
    「検出ポートを見る…」にマウスを乗せると一覧が出ます。
    Bluetooth 以外のポートが上に並びます。

    接続すると、デバイスは今いる位置から
    ゆっくり中央 (50) へ移動します。急には動きません。

【3】再生

    再生ボタン (▶) を押すと動き始めます。

    ・一時停止 (||) … その場で止め、押し直すと続きから
    ・停止 (■)      … 中央へゆっくり戻して終了


----------------------------------------------------------------
 5. 画面の説明
----------------------------------------------------------------

■ パラメータ (左サイドバー)

  再生時間 (分)
    生成する波形全体の長さ。

  最速時の1往復にかかる秒数
    いちばん速い時の1ストロークの秒数。小さいほど速い。

  最遅時の1往復にかかる秒数
    いちばん遅い時の1ストロークの秒数。

    ※ 波形はこの2つの間をゆっくり行き来します。
      差を大きくすると変化に富み、近づけると一定になります。

  上方向 振れ幅 / 下方向 振れ幅
    中心位置からどれだけ上/下へ動くか。

  中心位置 (0-100)
    動きの中心。0が上端、100が下端です。

■ 生成パターン

  シンプル      … 一定のリズム (周期はごく自然にゆらぎます)
  変化に富む    … 「深くゆっくり」「浅く高速」「グラインド」
                  「だんだん加速」などの区間が
                  20〜50秒ごとに自動で切り替わります

■ プレビュー (ヒートマップ)

  作った波形全体の速さを色で表しています。
    紫 = 遅い / ピンク = ふつう / オレンジ = 速い

  ・マウスを乗せる … その部分の波形を拡大表示
  ・クリック       … その時間へ移動 (シーク)
                    移動中もゆっくり動くので飛びません

■ いまの動き

  現在位置の前後10秒の波形と、いまデバイスがいる位置 (白い点)。

■ プリセット

  よく使う設定を保存できます。
  パラメータを変更すると「Standard (編集中)」のように表示され、
  元のプリセットから変わっていることが一目で分かります。
  「保存」で名前を付けて自分のプリセットにできます。


■ 表示言語 (日本語 / English)

  「動作設定」タブの一番下で切り替えられます。
  English に切り替えると、画面の文言がすべて英語になります。
  切り替えるとアプリが自動で再起動します
  (再生は止まり、設定は保存されます)。

  英語表示のときの見出しは Language / 表示言語 です。
  日本語に戻すときはそこから「日本語」を選んでください。

  ※ 初回起動時は Windows の言語設定に合わせて自動で決まります。


----------------------------------------------------------------
 6. エフェクト
----------------------------------------------------------------

すべて再生中に切り替えできます。
切り替えても動きが飛んだり暴れたりしません。

■ フェードイン
  再生開始からの数秒で、振れ幅を0から100%へ。
  いきなり大きく動かないための機能です。

■ じわじわ
  再生時間全体をかけて、振れ幅を開始%から終了%へ変化させます。
  例: 30% → 100% にすると、後半に向かって深くなります。

■ エッジング (じらし)
  設定した間隔ごとに、ふいに動きが止まります。
  止まっている間は回転軸も一緒に止まります。
  設定した秒数が過ぎると、ゆっくり再開します。

  ※ 間隔は「設定値 ±1/5」でランダムにゆらぎます。
    30秒に設定すると、24〜36秒のどこかで止まります。
    いつ止まるか読めないのが狙いです。

■ ランダム緩急
  速い区間と遅い区間がランダムに入れ替わります。

■ フィニッシュ (再生中のみ)
  ボタンを押すと、設定した秒数をかけて
  速度と振れ幅がなめらかに最大へ向かいます。
  もう一度押すと解除されます。

■ 「待って」ボタン (再生中のみ)
  いきそうだけど、まだいきたくない時に。
  押すと0.7秒かけて0.18倍速まで落ちます。
  ボタンが「戻す」に変わり、もう一度押すと
  2秒かけて元の速さに戻ります。


----------------------------------------------------------------
 7. 回転軸 (対応デバイスのみ)
----------------------------------------------------------------

「回転軸」タブで R0 / R1 / R2 を設定できます。

  連動 … 上下のストロークと同じ波形で動きます。
        「ずらし」で位相をずらすと、
        ひねりながら沈むような動きになります。

  独立 … 上下とは関係なく、自分の周期で回り続けます。
        「1往復(秒)」で速さを決めます。

  振れ幅を0にすると、その軸は動きません。
  非対応のデバイスでは、その軸のコマンドは無視されます。


----------------------------------------------------------------
 8. ファイルの保存と読み込み
----------------------------------------------------------------

■ 保存
  「保存先を選択…」でフォルダを指定し、「保存」を押すと
  .funscript ファイルとして書き出せます。
  他の再生ソフトでも利用できます。

■ 読み込み
  「読み込み」から .funscript を選ぶと、その内容を再生します。
  ウィンドウへのドラッグ&ドロップでも読み込めます。


----------------------------------------------------------------
 9. 困ったときは
----------------------------------------------------------------

■ 起動しない / 一瞬で閉じる

  フォルダの中に error.log ができていないか確認してください。
  できていれば、その内容を添えてご連絡ください。

  また、zip を「解凍」せずにそのまま実行していないか、
  _internal フォルダが一緒にあるかもご確認ください。

■ 「接続エラー」になる

  次の順に確認してください。

   1. 他のアプリ (MultiFunPlayer 等) が
      同じCOMポートを使っていないか
   2. このソフトがもう1つ起動したままになっていないか
      (タスクバー / タスクマネージャで確認)
   3. USB接続の場合 … ケーブルを挿し直す、デバイスを再起動する
   4. Bluetooth接続の場合 … Windowsの設定で一度切断し、
      接続し直す (デバイスの電源を入れ直すのも有効)

■ Bluetooth でつないでいるのに一覧に出てこない

  The Handy の場合は、Bluetooth でつながっていても
  【1】の COMポート一覧には出てきません (仕様です)。
  「The Handy」方式に切り替えてお使いください。
  理由は「1-2. 対応デバイス」の補足をご覧ください。

■ The Handy が見つからない / 接続できない

   1. Intiface Central が起動していて、
      「Start Server」が押された状態か
   2. Intiface Central の画面に The Handy が
      表示されているか (ここに出ていないとアプリからも見えません)
   3. The Handy の電源が入っているか
   4. 他のアプリ (MultiFunPlayer 等) が
      同じデバイスを掴んでいないか

  Intiface Central 側でデバイスが見えていれば、
  アプリの「更新」を押すと一覧に出ます。

■ The Handy で回転の設定が効かない

  仕様です。Buttplug 経由では上下ストロークのみ動作します。
  回転軸を使いたい場合は SR6 などの多軸機を
  シリアル接続でお使いください。

■ COMポートが一覧に出てこない

  デバイスの電源が入っているか確認し、
  「更新」ボタンを押してください。

  ▼ それでも出てこない場合: USBシリアルのドライバをご確認ください

    FUN SR1 2.0 をはじめ、多くの機体は USB-シリアル変換チップ
    (CH340 / CH341) を積んでいます。このドライバが入っていないと、
    ケーブルをつないでも Windows がCOMポートとして認識しません。

    確認のしかた:
      1. Windowsキー + X →「デバイスマネージャー」
      2.「ポート (COM と LPT)」を開く
         → ここに機体が出ていれば、ドライバは入っています
      3. 出ていない場合、「ほかのデバイス」や「不明なデバイス」に
         !マーク付きで出ていないか確認してください

    !マークが付いている場合は、CH340 / CH341 のドライバ
    (CH341SER) をインストールすると認識されるようになります。
    お使いの機体の販売元・製造元の案内に従って入手してください。

  ※ このドライバは本アプリの機能ではなく、Windowsが機体を
    認識するために必要なものです。MultiFunPlayer など他のソフトでも
    同じく必要になります。

■ 動きがカクカクする

  お使いのファームウェアが時間指定コマンドに
  対応していない可能性があります。
  以下の手順で、従来方式の送信に切り替えられます。

   1. FunScriptStudio.exe と同じフォルダに、
      「advanced.json」という名前のテキストファイルを作ります
      (メモ帳で新規作成し、その名前で保存してください)
   2. 中身に次の1行だけを書いて保存します

          {"STREAM_I_MS": 0}

   3. アプリを起動し直します

  これで従来方式での送信に切り替わります。
  元に戻したいときは advanced.json を削除してください。

■ The Handy の動きがカクカクする / 途切れる

  コマンドの送信間隔が機器に対して速すぎる可能性があります。
  上と同じ手順で advanced.json を作り、中身を

      {"BP_MIN_INTERVAL_MS": 50}

  としてお試しください (数値を大きくするほど間隔が空きます)。

■ Intiface のポート番号を変えている

  advanced.json に次のように書くと変更できます。

      {"BUTTPLUG_URL": "ws://127.0.0.1:12345"}

■ 動きが激しすぎる / 物足りない

  「上方向 振れ幅」「下方向 振れ幅」で大きさを、
  「最速時の1往復にかかる秒数」で速さを調整してください。
  画面右下の「再生速度」スライダーでも、
  再生中に全体の速さを変えられます。


----------------------------------------------------------------
 10. 安全にお使いいただくために
----------------------------------------------------------------

  ・初めて使うときは、必ず振れ幅を小さくして
    動きを確認してから本番でご使用ください。

  ・痛み、違和感、しびれを覚えた場合は、
    直ちに使用を中止してください。

  ・長時間の連続使用は避けてください。

  ・デバイス本体の取扱説明書に記載された
    使用条件・可動範囲を必ずお守りください。

  ・飲酒時や眠気のある状態でのご使用はお控えください。

  ・お子様の手の届かない場所に保管してください。


----------------------------------------------------------------
 11. 免責事項
----------------------------------------------------------------

  ・本ソフトウェアの使用によって生じたいかなる損害
    (機器の故障・破損、身体への影響、データの損失等) についても、
    作者は一切の責任を負いません。自己責任でご使用ください。

  ・すべての TCode 対応機器での動作を保証するものではありません。
    ご購入前に体験版での動作確認をお願いしております。

  ・本ソフトウェアの再配布、転売、改変物の配布は禁止します。

  ・本ソフトウェアの仕様は予告なく変更される場合があります。


----------------------------------------------------------------
 12. 同梱ファイル
----------------------------------------------------------------

  FunScriptStudio.exe   本体 (これをダブルクリック)
  _internal/            動作に必要なファイル一式
                        (削除・移動しないでください)
  README.txt            このファイル
  README_EN.txt         English version of this file

  ※ 初回起動後、以下が自動で作られます。
     last_config.json   前回の設定
     presets.json       保存したプリセット
     error.log          エラーが起きた場合のみ

  ※ advanced.json は必要な場合だけご自分で作るファイルです
     (「9. 困ったときは」を参照)


----------------------------------------------------------------
 13. 更新履歴
----------------------------------------------------------------

  v1.0.0  初版


----------------------------------------------------------------

  お問い合わせ: 【X:@LewdiaX9340】

================================================================
