REC Zulfikar Idris

Menjalankan Idris Back Media dari Source

💬 0 komentar

Terakhir dicek: 14 September 2026.

Panduan ini untuk menjalankan Idris Back Media langsung dari source code, bukan dari file release. Cara ini yang aku pakai sehari-hari selama mengembangkan aplikasinya.

Kebutuhan

  • Windows 64-bit. Aplikasi ini memakai WinForms dan WPF, jadi hanya jalan di Windows. Target build-nya x64.
  • .NET SDK 10 atau yang lebih baru. Proyeknya menargetkan net10.0-windows.
  • Terminal (PowerShell atau Windows Terminal). Visual Studio tidak wajib.

Cek SDK yang terpasang:

dotnet --list-sdks

Di komputerku terpasang SDK 10.0.203, 10.0.302, 10.0.401, dan 11.0.100-preview. Proyek ini tidak punya global.json, jadi dotnet otomatis memakai versi terbaru, yaitu 11 preview. Build tetap berjalan normal dengan versi itu.

Langkah

1. Buka terminal di folder proyek

Folder yang berisi file Idris Back Media.csproj.

2. Build

dotnet build

Hasilnya ada di:

bin\Debug\net10.0-windows\Idris Back Media.exe

3. Jalankan

dotnet run

dotnet run otomatis melakukan build dulu kalau ada perubahan, jadi langkah 2 bisa dilewati kalau hanya ingin membuka aplikasinya.

Jendela Timeline Editor Idris Back Media setelah dotnet run, dengan preview No Signal dan timeline kosong
Jendela yang muncul setelah dotnet run. Preview bertuliskan "No Signal" dan timeline kosong itu normal, karena belum ada media yang diimpor. Klik gambar untuk memperbesar.

Yang terjadi saat aplikasi dibuka

Sebelum jendela aplikasi muncul, aplikasi menjalankan test-nya sendiri lebih dulu:

  1. Subtitle invariants
  2. Volume envelope dan auto-duck
  3. Sinkronisasi TTS dengan subtitle
  4. Silence detector dan Auto Shorts
  5. Proposal dan producer Photo Storyboard
  6. Stress test

Hasilnya dicetak ke konsol, jadi jalankan lewat dotnet run dari terminal kalau ingin membacanya. Ini potongan baris ringkasannya dari output asli:

=== [TEST SUITE] v3.2c Auto-Subtitle Engine Invariants ===
[Test 4] Transkripsi selesai dalam 13,4s ...
=== ALL V3.2C INVARIANT TESTS PASSED CLEANLY (4/4) ===
=== ALL VOLUME ENVELOPE & AUTO-DUCK TESTS PASSED ===
=== ALL TTS SYNC TESTS PASSED ===
=== [TEST SUITE] Silence Detector & 9:16 Shorts Invariants ===
=== [TEST SUITE] Photo Storyboard Proposal & Producer Invariants ===
[TEST 1] Heavy Multitrack Insertion (200 Synthetic Clips)...
[TEST 2] High-Frequency Undo/Redo Cycles (100 Command Operations)...
[TEST 3] Rapid Scrubbing & Speed Ramping Math (10,000 Evaluation Ticks)...
[TEST 4] Memory Leak & Garbage Collection Stability...

Jendela aplikasi baru muncul setelah semua test selesai. Salah satunya Test 4 subtitle, yang benar-benar mentranskripsi file suara contoh memakai Whisper. Di komputerku, test ini saja butuh 13,4 detik. Jadi kalau jendela belum muncul setelah beberapa detik, tunggu saja, aplikasinya tidak hang.

Kalau salah satu test gagal, muncul baris [ASSERTION FAILED] dan aplikasi tidak akan terbuka, karena test berjalan sebelum jendela dibuat. Baris [Test 4 WARNING] berbeda: itu hanya peringatan, dan aplikasi tetap terbuka.

dotnet test tidak dipakai di proyek ini. Tidak ada proyek test terpisah. Test-nya berupa kelas biasa yang dipanggil dari Program.Main. Untuk menjalankan satu test saja, beri komentar pada baris test lain di Program.cs untuk sementara.

Di mana setelan dan kunci API disimpan

%APPDATA%\Idris Back Media\api_settings.json

File ini menyimpan setelan dan kunci API. Dulu letaknya di sebelah file exe, di dalam folder hasil build. Akibatnya, dotnet clean atau menghapus folder bin ikut menghapus kunci API. Sekarang file itu dipindah ke %APPDATA%, jadi aman dari proses build.

Kalau file lama di sebelah exe masih ada, aplikasi memakai yang lebih baru dari keduanya.

Jangan pernah membagikan isi file ini, termasuk di screenshot.

ffmpeg

Beberapa fitur audio dan video butuh ffmpeg.exe. Aplikasi mencarinya berurutan di:

  1. folder yang sama dengan exe
  2. subfolder tools\ di sebelah exe
  3. folder bawaan Pinokio, misalnya C:\pinokio\bin\ffmpeg.exe
  4. folder-folder di PATH

Kalau Pinokio sudah terpasang, biasanya ffmpeg sudah otomatis ketemu.

Server AI tidak ikut menyala

Aplikasi hanya memeriksa apakah server lokal (TTS, ComfyUI, LM Studio, dan lainnya) sudah jalan. Aplikasi tidak menyalakannya sendiri. Kalau servernya belum jalan, muncul pesan seperti:

AllTalk TTS belum menyala. Silakan buka aplikasi Pinokio dan jalankan AllTalk secara manual terlebih dahulu.

Daftar server dan port-nya dibahas di panduan P2.

Kalau gagal

Error MSB3027: file is locked by "Idris Back Media"

Terjadi sungguhan saat panduan ini ditulis:

error MSB3027: Could not copy "obj\Debug\net10.0-windows\apphost.exe"
to "bin\Debug\net10.0-windows\Idris Back Media.exe". Exceeded retry count of 10. Failed.
The file is locked by: "Idris Back Media (47936)"

Sebabnya: aplikasinya masih terbuka, jadi file exe-nya terkunci dan tidak bisa ditimpa hasil build baru. Kodenya sendiri tidak bermasalah. Kompilasinya sudah lolos, yang gagal hanya langkah menyalin file.

Tutup aplikasi Idris Back Media, lalu jalankan dotnet build lagi.

Build gagal karena warning

Proyek ini memakai TreatWarningsAsErrors, jadi setiap warning dianggap error. Pengecualiannya hanya kode warning yang tercantum di NoWarn dalam file .csproj. Kalau build gagal setelah mengubah kode, baca kode warning-nya (misalnya CS0162) lalu perbaiki kodenya. Jangan buru-buru menambahkannya ke NoWarn.

Simpan project gagal dengan pesan "File tidak ditemukan"

Kemungkinan besar bukan bug aplikasi, tapi Controlled Folder Access milik Windows Defender yang memblokir penulisan ke folder seperti Videos. Cek dalam 10 detik:

Get-MpPreference | Select-Object EnableControlledFolderAccess

Kalau hasilnya 1, buka Windows Security → Virus & threat protection → Protection history. Blokirnya tercatat di sana. Karena Defender mengenali aplikasi dari file exe-nya, setiap build ulang bisa dianggap aplikasi baru dan perlu diizinkan lagi.

Ringkasan

dotnet --list-sdks     # pastikan ada SDK 10 atau lebih baru
dotnet build           # tutup aplikasinya dulu kalau sedang terbuka
dotnet run             # test jalan dulu, lalu jendela aplikasi muncul

Komentar