GT-SIRM v1.2.0 STABLE — مقاطع خَلفيّة مُتَقَدّمة + Undo/Redo + إصلاحات جَوهريّة
الحَمدُ لله الذي بنِعمته تَتِمّ الصالِحات.
هذا إصدار v1.2 مُهمّ يُضيف تَحَكُّماً واسِعاً بمقاطع الخَلفيّة المُتَعدّدة، ونِظام Undo/Redo، ويُصلِح 12+ عَطباً حَرِجاً كان أَغلَبها يَظهَر بَعد حَفظ/فَتح مَشروع.
✨ الميزات الجَديدة الرَئيسيّة
🎬 مقاطع الخَلفيّة — تَحَكُّم كامِل
- 👁️ إعماء (hidden) لكُلّ مَقطع — إخفاء مَقطع من playlist بدون حَذفه. زَرّ 👁️/👁️🗨️ في كُلّ صَفّ. المُعمّى يُتَخَطّى في المُعاينَة والتَصدير (فيديو + صَوت).
- ✂️ تَقليم لكُلّ مَقطع (per-clip trim) — تَحديد
startوendلكُلّ مَقطع مُنفَصِلاً بَدَل تَقليم عالميّ واحد. UI مُدمَج في السَطر مَع أَدوات كُلّ item. - 🎨 11 نَمط اِنتقال — fade / wipeleft / wiperight / slideleft / slideright / slideup / slidedown / circleopen / circleclose / radial / dissolve. اختيار عامّ لكُلّ playlist + اختيار مُنفَصِل لكُلّ مَقطع.
- 🌫️ نُعومة الحَواف — شَريط 0-100% لِتَنعيم حَواف الاِنتقالات الجيوميتريّة (wipe/slide/circle/radial) عبر gradient mask حَقيقيّ.
- 🌟 وَميض ذَهبيّ — تَتَبُّع بَصريّ لِلمَقطع بَعد ▲▼ مَع scroll تلقائيّ.
- 🖱️ نَقر عَلى صَفّ — تَنشيط المَقطع + تَحديث المُعاينَة + حاشية خَضراء عَلى النَشِط.
↩️↪️ نِظام Undo/Redo عامّ
- تَراجُع/إعادة لِإجراءات الـplaylist (حَذف، نَقل ▲▼)
- زَرّ ♻️ استعادة مَحذوف — يَبحَث في history عن آخر حَذف ويَتَراجَع عنه فَقَط
- اختِصارات:
Ctrl/Cmd + Z/Ctrl/Cmd + Y/Ctrl/Cmd + Shift + Z - Prototype قابِل لِلتَعميم عَلى أَقسام أُخرى في إصدارات قادِمة
🏷️ العلامة المائيّة
- توگل تَفعيل/تَعطيل — إخفاؤها دون مَسح النَصّ في الحَقل
- شَريط ارتفاع/انخفاض — رَفع/إنزال النَصّ عن الحافّة (يَعمَل لِلمَواضِع الأَربعة)
📝 النَصّ الحرّ
- توگل ذَكيّ — الإيقاف يُخفي دون مَسح النَصّ في الحَقل + التَفعيل يُعيده تلقائياً
💾 حَفظ/استعادة شامِل
- لَقطة كامِلة لِـS.verses تَتَجاوَز إعادة تَحميل الوَحدات — القُرآن/الحديث/النَصّ الحرّ/الأذكار/أسماء الله/الأدعية/الحِكَم تَعود بالضَبط كما تُرِكَت
- حالة الأَقسام (details) تَعود مَطويّة/مَفتوحة كما تُرِكَت
- تَرتيب المَقاطع + إعداداتها (trim/audio/hidden/transition) مَحفوظة وتُستَعاد بالضَبط
- مَسار استعادة awaited كامِلاً — لا setTimeouts → لا سِباقات
🐛 إصلاحات جَوهريّة (12+)
- 🔴 deterministic seek في تَصدير الويب — استبدال
playbackRate ×16(كان يَعمَل تَسريعاً مَرئيّاً وعَدَم تَزامُن crossfade) - 🔴 وَميض المَقطع القَديم بَعد crossfade — انتقال قَسريّ عند
remaining <= 0بدل انتظارended - 🔴 صَوت مَقطع خَلفيّة يَستَمِرّ عَلى طول الفيديو المُصَدَّر — الآن كُلّ مَقطع يَتوقّف صَوته عند نِهاية نَوبته
- 🔴 تَرتيب مقاطع الاستعادة عَشوائيّ —
addBgVidItemتَحوَّل إلى Promise مَعawaitتَتابُعيّ - 🔴 إعدادات المَقاطع تَضيع عند الاستعادة — الإعدادات تُطَبَّق عَلى item مُعاد بالضَبط
- 🔴 trim WebM لا يُحتَرَم في المُعاينَة —
getBgClipTrimEndيَستَخدِمvid.durationعند فَشَلitem.dur - 🔴 الصَوت لا يَعمَل بَعد استعادة المَشروع —
applyBgVidItemAudio+ فَكّ ترميزaudioBufferمُضافان - 🔴 restart يَبدأ من المَقطع النَشِط لا الأَوّل —
S.bgVidيُعاد إلىbgVidItems[0] - 🔴 resume يُعيد الآية لِلبِداية —
source.start(0, S.elapsed)بَدَلsource.start(0) - 🔴 free-text-on يُطَبَّق دائماً عند الاستعادة — الآن يَحتَرم قيمة التوگل المَحفوظة
- 🔴 trim deadlock في المُعاينَة — إزالة
timeupdatehandler المَعطوب - 🔴 حاشية خَضراء لا تَنتَقِل بَعد النَقر —
activateBgVidByIndexيَستَدعيrenderBgVidList() - 🔴 dropdown اِنتقال بحَواف حادّة — CSS مُحَدَّث + سَهم مُخَصَّص + سَطر واحد مَع أَدوات trim
📦 الحُزَم المُتاحة
| المِنَصّة | الحُزمة |
|---|---|
| Linux Universal | GT-SIRM-1.2.0.AppImage |
| Debian / Ubuntu / Mint | gt-sirm_1.2.0_amd64.deb |
| Fedora / RHEL / openSUSE | gt-sirm-1.2.0-2.x86_64.rpm |
| Android 6+ | GT-SIRM-1.2.0-debug.apk |
🧪 كَيف تُجَرِّب v1.2
- حَمِّل عِدّة مقاطع خَلفيّة (2 أَو أَكثر)
- جَرِّب:
- ✂️ تَقليم كُلّ مَقطع (مثلاً: 0.00 → 5.00)
- 👁️ إعماء مَقطع مُعَيَّن
- 🎞️ تَأثير مُنفَصِل لكُلّ مَقطع
- 🌫️ نُعومة الحَواف (50-80% تُعطي نَتيجة سِنيمائيّة)
- ↩️ حَذف مَقطع ثُمّ Ctrl+Z (يَعود)
- ♻️ استعادة مَحذوف مُباشَرةً
- اِحفَظ المَشروع (.gtsirm) وأَعِد فَتحه — يَجِب أن يَعود بالضَبط بكامل التَرتيب والإعدادات
GnuTux Short Islamic Reels Maker — لِخِدمة القرآن الكريم والسُنّة النَبويّة الشَريفة.
اللهمَّ تَقبَّل، وانفَع به الإسلام والمُسلمين.