Skip to content

Releases: SalehGNUTUX/GT-SIRM

GT-SIRM v1.2.0 STABLE — مقاطع خَلفيّة مُتَقَدّمة + Undo/Redo + إصلاحات جَوهريّة

Choose a tag to compare

@SalehGNUTUX SalehGNUTUX released this 14 Jul 16:42

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 في المُعاينَة — إزالة timeupdate handler المَعطوب
  • 🔴 حاشية خَضراء لا تَنتَقِل بَعد النَقر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

  1. حَمِّل عِدّة مقاطع خَلفيّة (2 أَو أَكثر)
  2. جَرِّب:
    • ✂️ تَقليم كُلّ مَقطع (مثلاً: 0.00 → 5.00)
    • 👁️ إعماء مَقطع مُعَيَّن
    • 🎞️ تَأثير مُنفَصِل لكُلّ مَقطع
    • 🌫️ نُعومة الحَواف (50-80% تُعطي نَتيجة سِنيمائيّة)
    • ↩️ حَذف مَقطع ثُمّ Ctrl+Z (يَعود)
    • ♻️ استعادة مَحذوف مُباشَرةً
  3. اِحفَظ المَشروع (.gtsirm) وأَعِد فَتحه — يَجِب أن يَعود بالضَبط بكامل التَرتيب والإعدادات

GnuTux Short Islamic Reels Maker — لِخِدمة القرآن الكريم والسُنّة النَبويّة الشَريفة.

اللهمَّ تَقبَّل، وانفَع به الإسلام والمُسلمين.

GT-SIRM v1.1.0 — النَصّ فَوق فيديو التِلاوة + إصلاحات مُشغّل + حَفظ تلقائيّ ذَكيّ

Choose a tag to compare

@SalehGNUTUX SalehGNUTUX released this 10 Jul 11:46

GT-SIRM v1.1.0 — النَصّ فَوق فيديو التِلاوة + إصلاحات مُشغّل + حَفظ تلقائيّ ذَكيّ

الحَمدُ لله الذي بنِعمته تَتمّ الصالِحات.

هذا إصدارٌ فَرعيٌّ يُضيف مَيزةً مُهمّة لِخِدمة القرآن الكريم والسُنّة، ويُصلِح ثَلاث مُشكلات في مُشغّل المُعاينة، ويُحسِّن نِظام الحَفظ.


✨ الميزة الرَئيسيّة — النَصّ فَوق فيديو التِلاوة الجاهز

كان فيديو التِلاوة الجاهز في v1.0 يَحلّ محلّ النَصّ كامِلاً. لكن فيديو المُقرئ قد لا يَحوي نَصّاً — فيَحتاج المُستخدم إظهار نَصّ القرآن أَو الحديث أَو النَصّ الحرّ فَوقه.

التوگل الجَديد "📝 إظهار النَصّ فَوق الفيديو" (داخل قسم "فيديو تلاوة جاهز"):

  • مُغلَق افتراضيّاً (تَوافُق خَلفيّ مع v1.0)
  • عند التفعيل: الآيات المُحمَّلة قبل الفيديو تَبقى، وتُوزَّع مُدّة الفيديو عليها بالتَساوي
  • يَعمل مع كُلّ الوَحدات: القرآن · الحديث · النَصّ الحرّ · الأذكار · أسماء الله الحُسنى · الأدعية · الحِكَم

✨ تَطبيق تَأثيرات المَشهد عَلى فيديو التِلاوة

كانت أنماط اللون (أبيض/أسود، دافئ، سيبيا…) والإضاءة/التَعتيم تَعمل عَلى الخَلفيّة فقط. الآن يُمكِن تَطبيقها عَلى فيديو التِلاوة نَفسه بشَكل مُستقلّ:

  • 🎨 طَبِّق أنماط اللون على فيديو التِلاوة
  • 💡 طَبِّق الإضاءة والتَعتيم على فيديو التِلاوة

إعادة تَرتيب رَسم recvid داخل خَطّ أنابيب المُرشِّحات (early/mid/late) — لا تَداخُل بَين تَحكّم الخَلفيّة وتَحكّم recvid.


🐛 إصلاحات مُشغّل فيديو التِلاوة

1. الإيقاف والاستئناف

كان الفيديو يَعود لِلبداية عند كُلّ إيقاف مؤقّت، فيَخرُج مِن المُزامَنة مع الصَوت والنَصّ.
الحلّ: pausePlayer يُوقِف فقط دون إعادة، و restartAll تُعيد صَراحةً.

2. التَنقّل بأزرار السابق/التالي

كانت الأزرار تُحرِّك النَصّ فقط دون فيديو التِلاوة.
الحلّ: دالّة جَديدة syncRecVidToCurrentAya() تَحسِب مَجموع تَوقيتات الآيات السابقة (getCumulativeAyaTime) بناءً عَلى S.ayaDurations والفَجَوات، ثُمَّ تَقفِز بالفيديو لِلمَوضِع المُطابِق.


💾 نِظام الحَفظ التلقائيّ الذَكيّ

السُلوك الجَديد

الحالة السُلوك
فَتح مَشروع مَحفوظ الحَفظ التلقائيّ فَعّال فَوراً عَلى نَفس المَلفّ
مَشروع جَديد (أوّل تَغيير) يُنَبَّه المُستخدم مَرّة واحدة بحِوار اختيار مَوضِع الحَفظ
بَعد الحَفظ الأَوّل حَفظات تلقائيّة صامِتة كُلّ N دَقيقة مع تنبيه صَغير
زَرّ 💾 يَدويّ حَفظ صامِت في نَفس المَلفّ (بلا حِوار) إن كان المَسار مَعروفاً

دَعم File System Access API لِلويب

Chrome/Edge على سَطح المكتب يَستَخدِمان showSaveFilePicker + createWritable لِلحَفظ الصامِت. Firefox و Android يَعتَمِدان عَلى localStorage backup مع تَنبيه بالضَغط عَلى 💾.


🔧 استعادة التَوقيت التَفصيليّ لِلشرائح

مَشاكل سابِقة: كانت S.freePerSlice تُحفَظ وتُستَرجَع، لكن غير مَرئيّة لأنّ S.verses تَبقى فارِغة بَعد الفَتح.

الحلّ: بَعد استعادة النَصّ الحرّ والمُصادر، اِستدعاء تلقائيّ لِـapplyFreeText() (بتأخير 400ms)، ثُمَّ إعادة تَعيين S.freePerSlice تَحسّباً لِسِباق داخل applyFreeText.


📦 الحُزَم المُتاحة

المِنَصّة الحُزمة
Linux Universal GT-SIRM-1.1.0.AppImage
Debian/Ubuntu gt-sirm_1.1.0_amd64.deb
Fedora/RHEL/openSUSE gt-sirm-1.1.0-2.x86_64.rpm
Android 6+ GT-SIRM-1.1.0-debug.apk

🧪 كَيف تُجَرِّب الميزة الجَديدة

  1. حَمِّل سورةً (مَثلاً الفاتحة) أَو أَدخِل نَصّاً حُرّاً
  2. اذهَب لِقسم "🎥 فيديو تلاوة جاهز" وفَعِّل التوگل
  3. فَعِّل "📝 إظهار النَصّ فَوق الفيديو"
  4. حَمِّل فيديو تِلاوة لِمُقرِئ
  5. اضغَط ▶ للتَشغيل — النَصّ يَظهر فَوق الفيديو مَع مُزامنة كامِلة
  6. جَرِّب أزرار السابق/التالي — الفيديو يَقفز لِلمَوضِع الصَحيح

GnuTux Short Islamic Reels Maker — لِخِدمة القرآن الكريم والسُنّة النَبويّة الشَريفة.

اللهمَّ تَقبَّل، وانفَع به الإسلام والمُسلمين.

v1.0.0 STABLE 🎉 — الإصدار المُستقرّ الأَوّل لـGT-SIRM

Choose a tag to compare

@SalehGNUTUX SalehGNUTUX released this 12 Jun 21:36

GT-SIRM v1.0.0 — Stable 🎉

بسم الله الرحمن الرحيم

اللهمَّ تَقبَّل، وانفع بنا الإسلام والمسلمين.

تَتويج 6 أَشهر من العَمل المُتواصِل — الإصدار المُستقرّ الأَوّل لـGT-SIRM. صانع ريلز إسلاميّة احترافيّ، مَفتوح المَصدر (GPLv3)، على ثَلاث منصّات.


📚 المحتوى الإسلاميّ الكامِل (6557 عُنصراً)

الوَحدة العَدد المَصدر
📖 القرآن الكَريم 114 سورة · 6236 آية api.alquran.cloud + everyayah
📜 الحَديث الشَريف 90 حَديثاً الأربعون النووية + رياض الصالحين
🕊️ الأذكار 267 ذكراً في 132 فئة حصن المسلم (بإذن المؤلِّف)
✨ أسماء الله الحُسنى 100 اسماً الترمذي + ابن القيّم + ابن عثيمين
🤲 الأدعية المأثورة 32 دعاءً في 5 فئات القرآن + الصحيحان
🌟 الحِكَم والمَواعظ 32 قولاً في 4 فئات السَلف بإسناد لقائله

كلّ وَحدة قابلة للتَفعيل/الإلغاء — لا فرض، لا حَشو.


🎙️ مَصادر الصَوت الخَمسة

  1. القُرّاء الحَقيقيّون — everyayah.com (لِتَلاوة القرآن)
  2. صَوت مُخصّص — استيراد ملفّ + تَنزيل عَبر yt-dlp (سَطح المكتب)
  3. فيديو تَلاوة جاهز (recvid) — استبدال كامِل
  4. تَسجيل الميكروفون — مع canvas ذَبذبات حيّة + استماع مُباشَر + مؤثّرات صَوتية
  5. 🤖 TTS تَجريبيّ — Google + eSpeak + API مُخصّص (للحَديث/الذكر/الدعاء — لا للقرآن)

🎨 المُحرّك البَصريّ والصَوتيّ

  • مُحرّك تَصدير حَتميّ — ffmpeg (Linux) + WebCodecs (Web) — إطار بإطار
  • 10 أنماط ظُهور الآيات — تَلاشي/انزلاق/تَكبير/سُقوط/صُعود/ضَبابيّ/توهّج/كلمة-بكلمة/مُختلط
  • 9 أنماط ألوان + 9 موجات صَوت + 13 مُؤثّراً بَصرياً + مؤثّرات صَوتية كاملة (Reverb + Echo + 3-band EQ)
  • 🎭 Chromakey بـYCbCr + spill suppression
  • 16 خَطّاً عَربيّاً مَحلّيّاً (يَعمل بدون إنترنت 100%)

🤫 الوَضع الصامت

ميزة شَرعيّة لمَن يَرفض الموسيقى أو الأصوات البَشريّة لتَلاوة القرآن في الفيديوهات. ريل احترافيّ بدون أيّ صَوت بَشريّ أو موسيقيّ — فَقط نَصّ + خَلفيّة (مَع أصوات طَبيعيّة اختياريّة كَالمَطر والرياح).


📁 إدارة المَشاريع

  • صيغة .gtsirm (JSON مع base64 dataURL ≤50MB)
  • حِفظ تلقائيّ + استرجاع المَصادر المَفقودة
  • مجلّد العَمل: ~/Documents/مجلد عمل ريلز إسلامية/ (8 مَجلّدات فَرعيّة)
  • توجيه ذَكيّ لتَنزيلات yt-dlp
  • kdialog/zenity للينُكس (تَجاوُز bug Electron+GTK)
  • ربط ملفّات .gtsirm بالبَرنامج (Desktop + Android)

📱 ثَلاث منصّات

النسخة الحُزَم المَنفعة
🐧 GNU/Linux AppImage + DEB + RPM Electron + ffmpeg + yt-dlp + جَميع الميزات
🌐 الويب (PWA) تَشغيل مُباشر Vanilla JS + WebCodecs + يَعمل بدون إنترنت 100%
📱 Android APK (debug + release) Capacitor 6 + أذونات كاملة + ربط .gtsirm

🆕 إضافات تَلميع v1.0

  • زرّ مُشاركة في "حول" + الإعدادات (Capacitor Share على Android)
  • مَنشور مُشاركة شامِل يَحوي كلّ الإحصائيّات والـhashtags
  • Single-click select-all على كلّ inputs
  • زرّا لصق + حذف على 28 حَقلاً (دالّة ذَكيّة تَفحَص الموجود وتُضيف الناقِص)
  • 🎨 Custom Color Picker — modal مَركَزيّ يَحلّ مُشكلة overflow في PWA/fullscreen
  • 📱 Splash Screens مع الشِعار — 10 ملفّات (5 كَثافات × portrait/landscape)
  • خُطوط مَحلّيّة كامِلاً بدون CDN (يَعمل بدون إنترنت)

📦 الحُزَم المَنشورة

الحزمة الحجم المنصّة
GT-SIRM-1.0.0.AppImage 174M لينُكس عام
gt-sirm_1.0.0_amd64.deb 131M Debian/Ubuntu/Mint
gt-sirm-1.0.0-2.x86_64.rpm 172M Fedora/openSUSE/RHEL
GT-SIRM-1.0.0-debug.apk 13M Android (مع splash screens)

🌙 إعلان النيّة والتبرّؤ

بُنِيَ هذا البَرنامجُ ابتغاءَ وجهِ الله الكريم، خِدمةً لكتابه العَزيز وسُنّة نبيِّه الأمين ﷺ، ونَشرَ الخيرِ بين عباده.

ونُعلِنُ تبرُّؤَنا أمام الله تعالى من كلِّ من اتّخذه ذَريعةً إلى ما يُسخِط الله سبحانه، أو سَبيلاً إلى ترويج باطلٍ أو نَشرِ معصيةٍ أو تشويهٍ لدين الله.

اللهمّ إنّا قد بلّغنا، اللهمّ فاشهد.


🛡️ الحَوكَمة

كلّ التَعديلات بـSalehGNUTUX <gnutux.arabic@gmail.com>. GPLv3.

شكر خاصّ: لكلّ من شاركَ بفِكرة أو اختبار أو دُعاء. شارك البَرنامج — الأجر مَوصول إن شاء الله.

🔗 الموقع · المُستودع · خارطة الطَريق

v0.14.0 — Beta: الوَضع الصامت + إصلاح ratio في الويب + زرّ مُشاركة

Choose a tag to compare

@SalehGNUTUX SalehGNUTUX released this 12 Jun 17:59

GT-SIRM v0.14.0 — Beta

🤫 الميزة الكُبرى: الوَضع الصامت

قسم جَديد في تَبويب التَلاوة لمَن يَرغب في صُنع ريلز إسلاميّة بدون أيّ صَوت بَشريّ أو موسيقيّ:

  • ✅ يَكتم آليّاً كلّ مَصادر الصَوت الرَئيسيّة (قَارئ، ميكروفون، TTS، فيديو تَلاوة جاهز)
  • ✅ slider مدّة الـreel (5-120 ثانية)
  • ✅ توگل السَماح بصَوت الخَلفيّة (مَطر/بَحر/رياح/طُيور)
  • ✅ مَنفعة شَرعيّة: لمَن يَرفض الموسيقى أو الأصوات البَشريّة لتَلاوة القرآن في الفيديوهات
  • ✅ مَناسب للحِكَم، الآيات التَأمّليّة، والمَقاطع البَصرية البَحتة

🔧 إصلاحات

نِسبة العَرض في الويب

كانت radio buttons لـ"نِسبة العَرض" في الإعدادات لا تُؤثّر على الـcanvas في النُسخة الويب. الآن تَعمل بنَفس كَفاءة سَطح المكتب — مَربوطة بـname="fmt" المُخفيّ.

beforeunload في الويب والـPWA

  • مَنطق beforeunload مُحدَّث لـChrome 119+ (e.preventDefault() قَبل e.returnValue، لا return string).
  • في PWA display:standalone + Android: beforeunload لا يَعمل أَصلاً → الآن F5/Ctrl+R يَفتح confirm مَركَزيّ لتَأكيد التَحديث.
  • مَنع تَكرار الـconfirm عَبر _refreshGuardArmed.

📤 زرّ مُشاركة التَطبيق

قسم جَديد في الإعدادات:

  • Web Share API على الهَواتف والمُتصفّحات الحَديثة
  • fallback لـclipboard على المُتصفّحات القَديمة
  • النَصّ المُشارَك يَحوي: عُنوان + تَعريف + رابط الموقع + رابط المُستودع

📦 الملفّات

الحزمة المنصّة
GT-SIRM-0.14.0.AppImage لينُكس عام
gt-sirm_0.14.0_amd64.deb Debian/Ubuntu/Mint
gt-sirm-0.14.0-2.x86_64.rpm Fedora/openSUSE/RHEL
GT-SIRM-0.14.0-debug.apk Android

🛡️ الحَوكَمة

كلّ التَعديلات بـSalehGNUTUX (gnutux.arabic@gmail.com). بُنيَ ابتغاءَ وَجه الله الكريم — اللهمَّ تَقبَّل.

v0.13.3 — Beta: إصلاحات حاسمة لـAndroid (أذونات + .gtsirm + زرّ الرُجوع)

Choose a tag to compare

@SalehGNUTUX SalehGNUTUX released this 11 Jun 22:31

GT-SIRM v0.13.3 — Beta

📱 إصلاحات حاسمة لنُسخة Android APK

1) أذونات كاملة في AndroidManifest.xml

كانت النُسخة السابِقة تَفتقد كلّ الأذونات الضَروريّة. الآن:

  • RECORD_AUDIO + MODIFY_AUDIO_SETTINGS — تَسجيل الميكروفون
  • READ/WRITE_EXTERNAL_STORAGE (Android 12 وأَقدم)
  • READ_MEDIA_AUDIO/VIDEO/IMAGES (Android 13+)
  • VIBRATE + ACCESS_NETWORK_STATE
  • <uses-feature microphone required="false"> (لا يَفشل التَثبيت على أجهزة بدون ميكروفون)

2) ربط ملفّات .gtsirm بالبَرنامج

الآن عند النَقر على ملفّ .gtsirm في مُدير الملفّات، يَظهَر GT-SIRM في قائمة "فتح بـ":

  • intent-filter لـACTION_VIEW مع pathPattern للـ.gtsirm
  • يَدعم file:// و content://
  • يَدعم MIME */* و application/json

3) زرّ الرُجوع لا يَخرج بدون تَأكيد

عَبر @capacitor/app plugin:

  • App.addListener('backButton') يَعرض مُربّع تَأكيد إن كان مَشروعك يَحوي تَعديلات غير مَحفوظة
  • خِيارات: 💾 احفظ ثُمَّ اخرُج / ⚠️ اخرُج بدون حِفظ / ↩️ إلغاء
  • نَفس تَجربة سَطح المكتب

4) فَتح ملفّ .gtsirm يَعمل من خارِج البَرنامج

  • App.addListener('appUrlOpen') يَستقبِل الـintent
  • App.getLaunchUrl() يَقرأ الـintent عند البَدء البارد
  • يَفتح المَشروع آليّاً عَبر Capacitor Filesystem

5) إعادة تَوليد الأَيقونات بَعد cap sync

  • build-apk.sh يَستَدعي gen-android-icons.py تلقائيّاً بَعد cap sync
  • يَمنع Capacitor من الكِتابة فَوق أَيقونات GT-SIRM بالافتراضيّة

📦 الملفّات

الحزمة المنصّة
GT-SIRM-0.13.3.AppImage لينُكس عام
gt-sirm_0.13.3_amd64.deb Debian/Ubuntu/Mint
gt-sirm-0.13.3-2.x86_64.rpm Fedora/openSUSE/RHEL
GT-SIRM-0.13.3-debug.apk Android (الويب)

🛡️ الحَوكَمة

كلّ التَعديلات بـSalehGNUTUX (gnutux.arabic@gmail.com). بُنيَ ابتغاءَ وَجه الله الكريم — اللهمَّ تَقبَّل.

v0.13.2 — Beta: مَزامنة TTS + خُطوط مَحلّيّة بدون CDN + أَيقونات Android كاملة

Choose a tag to compare

@SalehGNUTUX SalehGNUTUX released this 11 Jun 19:03

GT-SIRM v0.13.2 — Beta

🐛 ثَلاثة إصلاحات حاسمة

1) مَزامنة كاملة لإعدادات TTS بَين النُسختَين

نُسخة الويب كانت تَفتقد قسم إعدادات TTS في تَبويب الإعدادات. الآن مُتاح في كلتا النُسختَين:

  • ✅ توگل إظهار/إخفاء قسم TTS (افتراضيّاً مَخفيّ)
  • ✅ حُقول API المُخصّص (URL/Method/Body/Headers مع {text})
  • ✅ التَّحذير الشَرعيّ المَركَزيّ يَظهَر مَرّة لكلّ جَلسة
  • ✅ توگل "عَرض النَصّ في المعاينة" في tts-post

2) الخُطوط مَحلّيّة كاملاً (بدون CDN)

البَرنامج كان يَعتمد على Google Fonts CDN للخُطوط، مَا يَعني الحاجة للإنترنت. الآن:

  • ❌ حُذِف link rel="stylesheet" لـGoogle Fonts من كلتا النُسختَين
  • ❌ حُذِف من CSP في سَطح المكتب (connect-src, style-src, font-src)
  • ❌ حُذِف URL من sw.js OPTIONAL
  • ✅ كلّ الخُطوط (16 خَطّاً عَربيّاً) في fonts/ ومُحمَّلة عَبر loadLocalFonts
  • يَعمل بدون إنترنت 100٪

3) أَيقونات Android كاملة

البَرنامج كان يُثبَّت على الهاتف بدون شِعار لأنّ ic_launcher.png في android/res/ كانت أَيقونة Capacitor الافتراضيّة (3KB). الآن:

  • gen-android-icons.py يُولِّد جَميع الأَيقونات مِن GT-SIRM-icon-original.png (1024×1024)
  • ✅ لكلّ كَثافة (mdpi/hdpi/xhdpi/xxhdpi/xxxhdpi):
    • ic_launcher.png (مُربّع)
    • ic_launcher_round.png (دائريّ)
    • ic_launcher_foreground.png (Adaptive، 66% safe area)
  • ic_launcher_background.xml#040c08 (سِمة GT-SIRM الأَخضر الداكن)
  • ✅ الأَحجام صارت 61KB+ بَدل 3KB (دَليل أنّ اللوغو فِعليّاً مَوجود)

📦 الملفّات

الحزمة المنصّة
GT-SIRM-0.13.2.AppImage لينُكس عام
gt-sirm_0.13.2_amd64.deb Debian/Ubuntu/Mint
gt-sirm-0.13.2-2.x86_64.rpm Fedora/openSUSE/RHEL
GT-SIRM-0.13.2-debug.apk Android (الويب)

🛡️ الحَوكَمة

كلّ التَعديلات بـSalehGNUTUX (gnutux.arabic@gmail.com). بُنيَ ابتغاءَ وَجه الله الكريم — اللهمَّ تَقبَّل.

v0.13.1 — Beta: TTS تَجريبيّ + ⭐ وَحدات + بَدء على الإعدادات

Choose a tag to compare

@SalehGNUTUX SalehGNUTUX released this 11 Jun 18:32

GT-SIRM v0.13.1 — Beta

🤖 ميزة TTS تَجريبيّة — توليد القِراءة من النَصّ

⚠️ مُخصَّصة لقِراءة: الحَديث الشَريف، الأذكار، الأدعية، الحِكَم، والنُصوص الحُرّة فقط.
لا تُستَعمل أبداً لتَلاوة القرآن الكَريم — التَلاوة عبادة لها أَحكام تَجويد، استَخدِم القُرّاء الحَقيقيّين من قسم القرآن.

مُتعدّد المَصادر (مَفتوحة المَصدر/مَجّانيّة)

  • Google Translate TTS (سَحابيّ، مَوثوق) — صَوت أنثَوي + ذَكوريّ (pitch shift عَبر ffmpeg)
  • eSpeak-NG (مَفتوح المَصدر، مَحلّيّ، يَعمل بدون إنترنت) — يُكشَف تلقائيّاً إن كان مُثبَّتاً
  • API مُخصّص — قابل للضَبط في الإعدادات (URL + Method + Body + Headers مع {text})

حِماية المُستخدم

  • 🙈 مَخفيّة افتراضيّاً — يَجب تَفعيلها يدوياً من الإعدادات
  • ⚠️ تَحذير شَرعيّ مَركَزيّ يَظهَر مَرّة لكلّ جَلسة عند أوّل تَوليد
  • 🏷️ Label أَحمر "تَجريبيّة" في الإعدادات
  • 📺 توگل عَرض النَصّ في المعاينة عند الاعتماد

⭐ تَحسينات الواجهة

  • نَجمة ذَهبيّة "⭐ رَئيسيّ" بِجوار "وَحدات المحتوى" في الإعدادات لإبراز أَهمّيّتها
  • البَرنامج يَفتح تلقائيّاً على تَبويب الإعدادات بَدلاً من التَلاوة
  • إعادة تَرتيب تَبويب التَأثيرات: انتقالات الآيات + طبقة لونية للأَعلى، التَأثيرات البَصرية للأَسفل
  • إصلاحات نَصّيّة: استبدال "تَلاوة" بـ"قِراءة" في كلّ مُحتوى TTS

📦 الملفّات

الحزمة المنصّة
GT-SIRM-0.13.1.AppImage لينُكس عام
gt-sirm_0.13.1_amd64.deb Debian/Ubuntu/Mint
gt-sirm-0.13.1-2.x86_64.rpm Fedora/openSUSE/RHEL
GT-SIRM-0.13.1-debug.apk Android (الويب)

🛡️ الحَوكَمة

كلّ التَعديلات بـSalehGNUTUX (gnutux.arabic@gmail.com). بُنيَ ابتغاءَ وَجه الله الكريم — اللهمَّ تَقبَّل.

v0.13.0 — Beta: تَسجيل الميكروفون + مؤثّرات + تَجميد لكلّ شَريحة

Choose a tag to compare

@SalehGNUTUX SalehGNUTUX released this 11 Jun 12:33

GT-SIRM v0.13.0 — Beta

🎙️ الميزة الكُبرى: تَسجيل الميكروفون داخل البَرنامج

قسم جَديد "🎙️ تَسجيل الميكروفون" في تَبويب التَلاوة. سَجّل صَوتك مُباشرةً واستَخدِمه كتَلاوة دون مُغادرة البَرنامج.

المُميَّزات

  • getUserMedia مع echoCancellation + noiseSuppression + autoGainControl.
  • canvas ذَبذبات حيّة + level meter (gradient أخضر→أصفر→أحمر).
  • 🎧 الاستماع المُباشَر (toggle، افتراضيّاً OFF — استَخدِم سمّاعات الرَأس لتَجنّب feedback).
  • 🎛️ مؤثّرات على الاستماع المُباشر — اِسمَع الصَدى/EQ في الوَقت الحَقيقيّ.
  • تَسجيل / إيقاف مؤقّت / إيقاف مع عَدّاد زَمنيّ يَتجاهَل فَترات الـpause.
  • مَعاينة <audio controls> بَعد التَسجيل مع مَعلومات (المدّة/الحجم/النَوع).
  • 3 إجراءات بَعد التَسجيل:
    • اعتماد كتَلاوة — يَحقن المَلفّ في "صَوت مُخصّص" ويَستفيد من كلّ مَسارات FX/trim/sync.
    • 💾 حِفظ في مجلّد العَمل (سَطح المكتب) — يُكتَب لـrecordings/ عَبر IPC جَديد.
    • ⬇️ تَنزيل (الويب) — تَنزيل blob مُباشَر.
  • 🎛️ قسم مؤثّرات صَوتيّة مُخصّص داخل الميكروفون — 10 controls كاملة تَتزامن تلقائيّاً مع قسم "صَوت مُخصّص".

🔒 آليّة التَجميد لكلّ شَريحة

زرّ 🔓/🔒 بِجوار كلّ شَريحة في قائمة التَوقيت التَفصيليّ:

  • المُجمَّدة لا تَتَغيَّر مدّتها عند تَعديل شَرائح أخرى.
  • إعادة التَوزيع تَتمّ فقط على الشَرائح الحرّة غير المُجمَّدة.
  • مَزامنة الصَوت تَحترم المُجمَّدة (المُتَبقّي يُوزَّع على غير المُجمَّدة).

🐛 الإصلاحات

مَزامنة التَوقيت مع تَسجيلات WebM (حَرج)

MediaRecorder كان يُنتج blobs بدون duration metadata، فيُصبح audio.duration = Infinity ولا يَعمل التَوزيع التلقائيّ. أُضيف حلّ بحيلة الـseek في onBgAudio. يَعمل لكلّ تَسجيل ميكروفون أو تَنزيل yt-dlp بصيغة webm.

الحفظ التلقائيّ يُخفي تَنبيه "تَغييرات غَير محفوظة" (حَرج)

عند الحفظ التلقائيّ لـlocalStorage (لمَلفّ .gtsirm غير مُحدَّد)، كان يَمسح dirty flag — فيَنغلق البَرنامج بدون تَنبيه رَغم أنّ المُستخدم لم يَحفظ المَلفّ. الآن localStorage = "نُسخة احتياطيّة" فقط، والـdirty يَبقى مَرفوعاً حتى الحفظ الحَقيقيّ في .gtsirm.

زرّ "🎚️ ضبط توقيت كلّ شَريحة" يَفتح القسم تلقائيّاً

بَعد الانتقال إلى الأقسام القابلة للطيّ في v0.12.12، كان الزرّ يَنتقل لقسم مَطويّ. الآن يَفتح الـ<details> الحاوية أوّلاً ثُمَّ يَنتقل إليها سَلِساً.

📦 الملفّات

الحزمة الحجم المنصّة
GT-SIRM-0.13.0.AppImage ~174M لينُكس عام
gt-sirm_0.13.0_amd64.deb ~131M Debian/Ubuntu/Mint
gt-sirm-0.13.0-2.x86_64.rpm ~172M Fedora/openSUSE/RHEL
GT-SIRM-0.13.0-debug.apk ~11M Android (نُسخة الويب)

🛡️ الحَوكَمة

كلّ التَعديلات بـSalehGNUTUX (gnutux.arabic@gmail.com). بُنيَ ابتغاءَ وَجه الله الكريم — اللهمَّ تَقبَّل.

v0.12.12 — Beta: واجهة قابلة للطيّ بالكامل + APK

Choose a tag to compare

@SalehGNUTUX SalehGNUTUX released this 10 Jun 21:01

GT-SIRM v0.12.12 — Beta

✨ التَحديث الرَئيسيّ: واجهة قابلة للطيّ بالكامل

كلّ الأقسام في كلّ التَبويبات صارت قابلة للطيّ:

  • 🎤 التَلاوة: 12 قسم
  • 🎬 المَشهد: 8/7 أقسام
  • 📝 النصّ: 8 أقسام
  • 🔊 المَزج: 4 أقسام
  • ✨ المؤثّرات: 3 أقسام
  • 🎯 القَوالب: 1 قسم
  • 📦 الإصدار المُتعدّد (Batch): 3 أقسام (سَطح المَكتب فقط)
  • ⚙️ الإعدادات: 12/8 أقسام
  • ℹ️ حول: 2 قسم

أوّل قسم في كلّ تَبويب مَفتوح افتراضيّاً — يُمكنك طيّ ما لا تَحتاجه للتَركيز على ما تَعمل عليه.

🐛 الإصلاحات

  • إصلاح تَداخُل بُنيويّ في قسم "⏱️ توقيت تَفصيليّ" الذي كان يَطوي معه قسمَي "🎥 فيديو تَلاوة جاهز" و"⏱️ التَوقيت (لوحدة القرآن)" بسَبب فَقد </div> إغلاق في الـHTML الأصليّ.

📦 الملفّات

الحزمة المنصّة
GT-SIRM-0.12.12.AppImage لينُكس عام
gt-sirm_0.12.12_amd64.deb Debian / Ubuntu / Mint
gt-sirm-0.12.12-2.x86_64.rpm Fedora / openSUSE / RHEL
GT-SIRM-0.12.12-debug.apk Android (نُسخة الويب)

🛡️ الحَوكَمة

كلّ التَعديلات بـSalehGNUTUX (gnutux.arabic@gmail.com). بُنيَ ابتغاءَ وَجه الله الكريم — اللهمَّ تَقبَّل.

v0.12.11 — Beta: kdialog/zenity + إعدادات الويب قابلة للطيّ

Choose a tag to compare

@SalehGNUTUX SalehGNUTUX released this 10 Jun 18:31

GT-SIRM v0.12.11 — Beta

✨ المُميَّزات الجَديدة والإصلاحات

🎯 سطح المكتب — حلّ نهائيّ لـbug حوارات الرَفع

  • اعتماد kdialog على KDE/Plasma وzenity على GNOME/غيرها بدلاً من Electron dialog (الذي كان يَتجاهل المَسار الافتراضيّ على لينُكس ويَعود لآخر مجلّد).
  • تَرتيب الاختيار التلقائيّ حسب بيئة سطح المكتب.
  • الإلغاء يَخرج فَوراً بدون فَتح حوار ثانٍ (إصلاح bug ثلاث حوارات مُتتاليّة).
  • fallback آمن لـElectron dialog إن لم تَتوفّر أيّ أداة.

📁 مُعترِض رَفع الملفّات

  • listener مُزدوج على الـ<input> + parent .fu-area في capture phase.
  • pointer-events:none على الـinput يَمنع Chromium من فَتح الـnative picker.
  • يَعمل بشكل صَحيح في جميع أقسام الرَفع: خَلفيّة فيديو/صَوت/صورة، فيديو تَلاوة، صَوت مخصّص، شعار.

✏️ تَعديل القَوالب

  • زِرّ "تَعديل" يَنقل لتَبويب 🎬 المَشهد (السمات وأدوات المظهر) بدل التَلاوة.
  • تَراجع 5 ثوانٍ بعد الحَذف.
  • اِسم القالب قابل للتَعديل في البانر.

🌐 نُسخة الويب

  • تَبويب الإعدادات بالكامل قابل للطيّ عبر <details> (سَلوك مُطابق لسطح المكتب).
  • إعادة تَرتيب الأقسام لتَطابق سطح المكتب:
    نسبة العرض → قالب جاهز → جودة التَصدير → وحدات المحتوى → الحفظ التلقائي → الصوت → عَرض الأدوات → إعادة الضبط.
  • مَزامنة كاملة لنِظام القَوالب (تَطبيق-وَتَعديل + تَراجع).
  • Service Worker cache v54 لإجبار التَحديث.

📦 الملفّات

الحزمة المنصّة
GT-SIRM-0.12.11.AppImage لينُكس (يَعمل بدون تَثبيت)
gt-sirm_0.12.11_amd64.deb Debian / Ubuntu / Mint
gt-sirm-0.12.11-2.x86_64.rpm Fedora / openSUSE / RHEL

🛡️ الحَوكَمة

كلّ التَعديلات بـSalehGNUTUX (gnutux.arabic@gmail.com). بُنيَ ابتغاءَ وَجه الله الكريم — اللهمَّ تَقبَّل.