Skip to content

v3.3.6 — Stable

Choose a tag to compare

@SalehGNUTUX SalehGNUTUX released this 08 Jun 20:58
· 3 commits to main since this release

✅ إصدار مستقرّ — Stable

تطوّرات كبيرة منذ v3.0.0:

  • 🎬 عنوان مخصّص للمقطع (vtitle-*) — 4 تأثيرات
  • 🎭 Chromakey للوسائط بـ YCbCr
  • 🖼️ Chromakey للشعار — يجعل الخلفيّة شفّافة بدون تعديل ملفّ
  • 🎥 فيديو تلاوة جاهز — للمقاطع المُحضَّرة مسبقاً بإزالة لون الخلفيّة (default أسود + presets)
  • 💾 نظام حفظ المشاريع .gtsqrm + حفظ تلقائي + close modal ثلاثيّ + missing assets modal
  • زرّ إعادة من البداية في المشغّل
  • 🔄 مزامنة التصدير: V1 + V2 يحترمان recvid (seekVideoToTime + skipReciter + bgBuffer replacement)
  • 📦 File Association .gtsqrm — نقر مزدوج يفتح GT-SQRM

البناء يدعم Linux x86_64: AppImage / DEB / RPM.


[3.3.6] — 2026-06-07

إصلاح تداخل الصوت في وضع recvid (نفس v0.7.5 لـGT-SIRM)

  1. startPlayer: إذا recvid-on مُفعَّل → pause bgAudioEl بدل play.
  2. V2 export: إذا recvid → decode S.recVidFile كـ AudioBuffer وتمريره كـ bgBuffer
    بدل bgAudio القديم.

النتيجة: recvid هو مصدر الصوت الوحيد عند تفعيله.

[3.3.5] — 2026-06-07

إصلاح: removeBlackBackground is not defined

drawRecitationVideo المنقولة من GT-SIRM تستخدم removeBlackBackground (alias قديم
موجود في GT-SIRM فقط). أُضيفت الـ alias هنا أيضاً.

[3.3.4] — 2026-06-07

مزامنة دوالّ recvid مع GT-SIRM + إلغاء autoFitCanvasToVideo

المشكلة

  • v3.3.3 أضافت autoFitCanvasToVideo التي تكسر FMT preset → معاينة وتصدير مشوَّهَين.
  • اختلافات تنسيقيّة في 9 دوالّ recvid بين GT-SQRM و GT-SIRM.

الحلّ

  • نُسخت 9 دوالّ بحرفيّة من GT-SIRM v0.7.3 إلى GT-SQRM:
    • drawRecitationVideo, onRecVidFile, removeRecVid
    • applyChromakeyToCanvas, removeBgColorFromRegion
    • getRecVidCanvas, getChromakeyCanvas, getLogoChromaCanvas, hexToRgb
  • التطابق 100% الآن (diff = 0 سطر لكلّ دالّة).
  • حُذفت autoFitCanvasToVideo نهائياً.
  • الكانفاس يبقى عند الـ FMT المختار + فيديو التلاوة يُرسم بداخله مع fit/scale.

[3.3.3] — 2026-06-07

ضبط أبعاد الكانفاس على نسبة فيديو التلاوة

autoFitCanvasToVideo(vw, vh) في onRecVidFile.onloadedmetadata:

  • إذا نسبة الفيديو ضمن 5% من preset → اختر الـ radio.
  • وإلّا اضبط cv.width/height مباشرةً + fitCanvas().
  • Toast بالحجم النهائيّ.

إصلاح: المعاينة كانت تأخذ حجم فيديو الخلفية بدل recvid.

[3.3.2] — 2026-06-07

↺ زرّ إعادة من البداية في المشغّل

  • زرّ restart-all-btn بجانب ⏮ ⏭ في شريط المشغّل (مطابق لـ GT-SIRM).
  • يُعيد إلى البداية: الآية الحاليّة → 0، صوت القارئ، الصوت المخصّص، فيديو الخلفية،
    قائمة فيديوهات الخلفية (إلى المقطع الأوّل)، وفيديو التلاوة الجاهز.
  • يحافظ على حالة التشغيل: إن كان playing → يستأنف بعد 60ms.

[3.3.1] — 2026-06-07

إصلاح تصدير recvid

حارس skipReciter جديد يمنع جلب صوت القارئ لشرائح recvid.
كان audioBuffers يجلب صوت آية 1 (~6s) ويستبدل manualDuration (90s)،
فيقصّ التصدير. الآن: ayaDurations[i] = manualDuration بدون fetch.
مُطبَّق في V1 + V2.

[3.3.0] — 2026-06-07

🎥 تنظيم قسم التلاوة + إصلاحات التصدير

نقل فيديو التلاوة لأعلى تبويب التلاوة + إلغاء تلقائيّ لمصادر القرآن

  • قسم 🎥 فيديو تلاوة جاهز أصبح في أعلى تبويب التلاوة.
  • مصادر القرآن (السورة + القارئ + التوقيت) مغلّفة في #quran-sources-wrap.
  • عند تفعيل recvid-on:
    • يُخفى الـwrap بالكامل تلقائياً.
    • stopRecitationAudio() يُوقف صوت القارئ.
    • _recGen++ يُلغي أيّ جلب صوت جارٍ.
    • مسح verses القرآن لتجنّب التداخل في التصدير.
  • عند إلغاء recvid-on:
    • يُظهر الـwrap.
    • يُعاد تحميل آيات السورة المختارة عبر onSurahChange.

إصلاح تصدير V2 الحتميّ (ffmpeg)

  • seekVideoToTime ينتظر seeked event قبل كلّ drawFrame(t).
  • timeout أمان 800ms.

إصلاح تصدير V1 الحيّ (MediaRecorder)

  • تشغيل recVidEl من 0 بعد بداية التصدير.
  • إيقافه في stopExportSources().

dirty tracking لرفع الملفّات

  • markProjectDirty() في onBgMedia/onBgAudio/addBgVidItem/onRecVidFile.