GT-SQRM v3.4.0 — مقاطع خَلفيّة مُتَقَدّمة + Undo/Redo + عَلامة مائيّة مُطَوَّرة
نَقل شامِل لِميزات GT-SIRM v1.2 إلى نَسختَي GT-SQRM (سَطح المكتب) و GT-SQR (الويب)، مَع إبقاء تَركيز البرنامَج عَلى القرآن.
🎬 مقاطع الخَلفيّة (playlist) — 12 تَحسيناً وإصلاحاً
- 👁️ إعماء (hidden) لِكُلّ مَقطع — يَبقى في القائمة، يُتَخَطّى في التَبديل والـcrossfade والتَصدير. زَرّ 👁️/👁️🗨️ في كُلّ صَفّ.
- ✂️ تَقليم لِكُلّ مَقطع (per-clip trim) — حَقلا "من/إلى" بجَنب كُلّ مَقطع + زَرّ ↺ إفراغ. يَعمَل في المُعاينَة والتَصدير عَبر ffmpeg xfade+trim.
- 🎨 11 نَمط اِنتقال — بَديل عن fade فَقط:
wipeleft,wiperight,slideleft,slideright,slideup,slidedown,circleopen,circleclose,radial,dissolve. عامّ + per-clip من dropdown في كُلّ صَفّ. نُعومة حَواف (feather) قابِلة للضَبط 0-100%. - ↩️ Undo/Redo عامّ — 30 إجراءً مَحفوظاً، أزرار في شَريط الأدوات، اختصارات
Ctrl+Z/Ctrl+Y/Ctrl+Shift+Z. - ♻️ استعادة آخر مَقطع مَحذوف — بضَغطة زَرّ.
- 🌟 وميض ذَهبيّ عِند النَقل — تَمييز بَصريّ + scroll إلى الصَفّ.
- 🖱️ نَقر عَلى صَفّ يُنَشِّط المُعاينَة — بَدون الحاجة لأَزرار.
- 🐛 Bug#4 —
switchToNextBgVidيُوقِف المَقطع القَديم بَعد التَبديل ويُعيد seek إلىtrimStart. - ✨ إصلاح الوَميض —
updateBgVidCrossfadeتَنتَقِل فَوراً عِندremaining <= 0بَدَل اِنتظارended. - 🔊 صَوت مُستَمِرّ —
mixAudioToBufferتُبقي كُلّ المَقاطع المَرئيّة في timeline. يُصلِح: صَوت مَقطع واحد كان يَتَوَقَّف قَبل نِهاية الفيديو المُصَدَّر. - 📥 استعادة تَتابُعيّة —
addBgVidItemيُعيد Promise + خيارsilent. الاستعادة تَستَخدِمawaitمَع تَطبيق الإعدادات مُباشَرَةً + فَكّ صَوت المَقطع لَو مُفَعَّلاً. - 🎬 WebM Infinity fix —
getBgClipTrimEndيَستَخدِمvid.durationالحَيّة لَو كانتitem.dur=0(WebM بمُدّةInfinity). - 🟢 حاشية خَضراء —
activateBgVidByIndexيُنَبِّهrenderBgVidListلِتَحديث المؤشِّر البَصريّ.
🔧 ffmpeg IPC (سَطح المكتب فَقَط)
extract-bg-framesيَقبَل:clipTrims,transition,clipTransitions.xfadeAt(i-1)— تَأثير الاِنتقال من المَقطع (i-1) إلى (i) يَستَخدِم إعداد المَقطع (i-1) إن حُدّد، وإلا العامّ.XFADE_SAFE— قائمة أَسماء xfade المَعروفة (يَحمي من قيمة مَجهولة تُفشِل ffmpeg).filter_complexيَستَخدِمtrim=start:end,setpts=PTS-STARTPTSقَبلscale/cropلِكُلّ مَقطع.
🏷️ العَلامة المائيّة
- توگل تَفعيل
#wm-on(اِفتراضيّاً مُفَعَّل — حِفاظاً عَلى السُلوك السابِق). - إزاحة رَأسيّة
#wm-y-offset(0-40%) مَع مُراعاة المَواضِع الأَربعة (br/bl/tr/tl).
⏯️ إصلاحات المُشَغِّل
playRecitationAudioيَبدأ منS.elapsed(يَدعَم استئناف من مَنتَصَف الآية).pausePlayerيُوقِفS.bgVidNextأَيضاً (كان يَستَمِرّ يَعمَل في الخَلفيّة).startPlayerيُشَغِّلS.bgVidNextأَيضاً لَو كان في مَنتَصَف الـcrossfade.restartAllيُعيد ضَبطS.bgVid+S.bgVidNext+S.bgVidFadeProgress+ preview src.
🗑️ إزالة سَلوك مُعطَّل
applyBgVidTrim— أُزيل مُراقِبtimeupdateالبُغَيان (كان يَقفِل المَقطع في وَضع playlist بَدَل الاِنتقال). الآنupdateBgVidCrossfadeتُدير الحُدود تلقائيّاً.
📥 التَحميل والتَنصيب
AppImage (يَعمَل عَلى كُلّ تَوزيعات Linux)
chmod +x GT-SQRM-3.4.0.AppImage
./GT-SQRM-3.4.0.AppImageDEB (Debian / Ubuntu / Mint)
sudo dpkg -i gt-sqrm_3.4.0_amd64.deb
sudo apt --fix-broken installRPM (Fedora / RHEL / openSUSE)
sudo dnf install ./gt-sqrm-3.4.0-2.x86_64.rpm
# أَو
sudo rpm -i gt-sqrm-3.4.0-2.x86_64.rpm
# أَو عَلى openSUSE
sudo zypper install ./gt-sqrm-3.4.0-2.x86_64.rpm🌐 النَسخة الويب
نَسخة GT-SQR الويب مُتاحة بنَفس التَحسينات عَلى: https://salehgnutux.github.io/GT-SQR/
الـService Worker cache تَمّ ترقيته gt-sqr-v17 → gt-sqr-v18 لِضَمان تَحديث الأُصول عَلى المُتَصَفِّحات المُخَبَّأة.
📚 مَراجِع
- CHANGELOG الكامِل: CHANGELOG.md
- الوَثيقة الأَصليّة لِـ v1.2: GT-SIRM
المُؤَلِّف: SalehGNUTUX · التَرخيص: GPLv2