-
-
-
+
diff --git a/assets/webconfig/i18n/he.json b/assets/webconfig/i18n/he.json
new file mode 100644
index 00000000..df977a15
--- /dev/null
+++ b/assets/webconfig/i18n/he.json
@@ -0,0 +1,155 @@
+{
+ "InfoDialog_access_text": "בהתאם לרמת ההגדרות תוכל להתאים אפשרויות נוספות או לקבל גישה לתכונות נוספות. רמת \"ברירת המחדל\" המומלצת היא.",
+ "InfoDialog_iswitch_text": "אם אתה מפעיל את Hyperion יותר מפעם אחת ברשת המקומית שלך, תוכל לעבור בין תצורות האינטרנט. בחר את המופע של Hyperion למטה והחלף!",
+ "InfoDialog_nostorage_text": "הדפדפן שלך אינו תומך ב-localStorage. לא ניתן לשמור הגדרת שפה מסוימת (חזרה ל'זיהוי אוטומטי') ורמת גישה (חזרה ל'ברירת מחדל'). קוסמים מסוימים עשויים להיות מוסתרים. אתה עדיין יכול להשתמש בממשק האינטרנט ללא בעיות נוספות",
+ "InfoDialog_nowrite_text": "Hyperion לא יכול לכתוב לקובץ התצורה הנטען הנוכחי שלך. אנא תקן את הרשאות הקובץ כדי להמשיך.",
+ "conf_colors_blackborder_intro": "דלג על פסים שחורים באשר הם. כל מצב משתמש באלגוריתם זיהוי אחר המכוון למצבים מיוחדים. תעלה את הסף אם זה לא עובד לך.",
+ "conf_colors_color_intro": "צור פרופיל כיול אחד או יותר, התאם כל צבע, בהירות, ליניאריזציה ועוד.",
+ "conf_colors_smoothing_intro": "החלקה משטחת שינויי צבע/בהירות כדי להפחית הסחת דעת מעצבנת.",
+ "conf_effect_bgeff_intro": "הגדר אפקט/צבע רקע, המוצג בזמן \"בטלה\" של Hyperion. מתחיל תמיד בערוץ עדיפות 255.",
+ "conf_effect_fgeff_intro": "הגדר אפקט אתחול או צבע, שיוצג במהלך האתחול של Hyperion למשך הזמן שהוגדר.",
+ "conf_effect_path_intro": "טען אפקטים מהנתיבים המוגדרים. בנוסף, אתה יכול להשבית אפקטים בודדים לפי שם כדי להסתיר אותם מכל רשימות האפקטים.",
+ "conf_general_impexp_expbtn": "ייצא",
+ "conf_general_impexp_impbtn": "ייבא",
+ "conf_general_impexp_l1": "ייבא הגדרה על ידי בחירת קובץ הגדרות למטה ולחץ על \"ייבוא\".",
+ "conf_general_impexp_l2": "ייצא הגדרה על ידי בחירת קובץ הגדרות למטה ולחץ על \"ייצוא\".",
+ "conf_general_impexp_title": "תצורת ייבוא/ייצוא",
+ "conf_general_intro": "הגדרות בסיסיות סביב Hyperion ו-WebUI שאינן מתאימות לקטגוריה אחרת.",
+ "conf_general_label_title": "הגדרות כלליות",
+ "conf_grabber_fg_intro": "לכידת מסך היא לכידת המערכת המקומית שלך כמקור קלט, Hyperion מותקן על.",
+ "conf_grabber_v4l_intro": "לכידת USB היא התקן (לכידה) המחובר באמצעות USB המשמש להזנת תמונות מקור לעיבוד.",
+ "conf_helptable_expl": "הֶסבֵּר",
+ "conf_helptable_option": "אפשרות",
+ "conf_leds_contr_label_contrtype": "סוג בקר",
+ "conf_leds_device_intro": "Hyperion תומך בהרבה בקרים להעברת נתונים למכשיר היעד שלך. בחר בקר LED מתוך הרשימה הממוינת והגדר אותו. בחרנו את הגדרות ברירת המחדל הטובות ביותר עבור כל מכשיר.",
+ "conf_leds_layout_btn_checklist": "הצג רשימת בדיקה",
+ "conf_leds_layout_checkp1": "ה-LED השחור הוא ה-LED הראשון שלך, LED הראשון הוא הנקודה שבה אתה מזין את אות הנתונים שלך.",
+ "conf_leds_layout_checkp2": "הפריסה היא תמיד המראה הקדמי של הטלוויזיה שלך, לעולם לא התצוגה האחורית.",
+ "conf_leds_layout_checkp3": "ודא שהכיוון נכון. הנוריות האפורות מציינות את מספר LED 2 ו-3 כדי להמחיש את כיוון הנתונים.",
+ "conf_leds_layout_checkp4": "בחר פער: בכדי ליצור פער, התעלם ממנו תחילה כאשר אתה מגדיר עליון/תחתון/שמאל/ימין והגדר לאחר מכן את אורך הפער כדי להסיר כמות לדים. שנה את מיקום הפער עד שיתאים.",
+ "conf_leds_layout_frame": "פריסה קלאסית (מסגרת LED)",
+ "conf_leds_layout_generatedconf": "תצורת LED שנוצרה/נוכחית",
+ "conf_leds_layout_intro": "אתה גם צריך פריסת LED, המשקפת את עמדות LED שלך. הפריסה הקלאסית היא מסגרת הטלוויזיה המשמשת בדרך כלל, אך אנו תומכים גם ביצירת מטריצות LED (קירות LED). התצוגה על פריסה זו היא תמיד מחזית הטלוויזיה שלך.",
+ "conf_leds_layout_matrix": "פריסת מטריצה (קיר LED)",
+ "conf_leds_layout_textf1": "שדה טקסט זה מציג כברירת מחדל את הפריסה הנטענת הנוכחית שלך וייחלף אם תיצור פריסה חדשה עם האפשרויות שלמעלה. לחלופין, תוכל לבצע עריכות נוספות.",
+ "conf_leds_nav_label_ledcontroller": "בקר LED",
+ "conf_leds_nav_label_ledlayout": "פריסת LED",
+ "conf_leds_optgroup_network": "רשת",
+ "conf_logging_label_intro": "אזור לבדיקת הודעות יומן, תראה יותר או פחות מידע בהתאם לרמת הרישום שנקבעה.",
+ "conf_network_forw_intro": "העבר את כל הקלט להתקנה שנייה של Hyperion שניתן להניע עם בקר LED אחר",
+ "conf_network_proto_intro": "ה-PROTO-Port של כל המופעים של Hyperion, המשמש עבור זרמי תמונות (HyperionScreenCap, Kodi Addon, Android Hyperion Grabber, ...)",
+ "dashboard_alert_message_confedit": "תצורת ה-Hyperion שלך שונתה. כדי להחיל אותו, הפעל מחדש את Hyperion.",
+ "dashboard_alert_message_confedit_t": "התצורה השתנתה",
+ "dashboard_alert_message_confsave_success": "תצורת ה-Hyperion שלך נשמרה בהצלחה. השינויים שלך פעילים כעת.",
+ "dashboard_alert_message_confsave_success_t": "התצורה נשמרה",
+ "dashboard_componentbox_label_comp": "רְכִיב",
+ "dashboard_componentbox_label_status": "מצב",
+ "dashboard_componentbox_label_title": "מצב הרכיבים",
+ "dashboard_infobox_label_currenthyp": "גרסת ה-Hyperion שלך:",
+ "dashboard_infobox_label_instance": "למשל:",
+ "dashboard_infobox_label_latesthyp": "הגרסה האחרונה של Hyperion:",
+ "dashboard_infobox_label_platform": "פלטפורמה:",
+ "dashboard_infobox_label_ports": "יציאות",
+ "dashboard_infobox_label_smartacc": "גישה חכמה",
+ "dashboard_infobox_label_statush": "מצב ה-Hyperion:",
+ "dashboard_infobox_label_title": "מידע",
+ "dashboard_infobox_message_updatesuccess": "הינך מריץ את הגרסה האחרונה של Hyperion.",
+ "dashboard_infobox_message_updatewarning": "גרסה חדשה יותר של Hyperion זמינה! ($1)",
+ "dashboard_label_intro": "לוח המחוונים נותן לך סקירה מהירה על מצב ה- Hyperion",
+ "dashboard_newsbox_label_title": "בלוג ה-Hyperion",
+ "dashboard_newsbox_noconn": "לא ניתן להתחבר לשרת Hyperion כדי לאחזר את הפוסטים האחרונים, האם חיבור האינטרנט שלך תקין?",
+ "dashboard_newsbox_readmore": "קרא עוד",
+ "dashboard_newsbox_visitblog": "בקר ב-Hyperion בלוג ",
+ "edt_conf_color_brightnessComp_expl": "מפצה על הבדלי בהירות בין אדום ירוק כחול, ציאן מגנטה צהוב ולבן. 100 פירושו פיצוי מלא, 0 אין פיצוי",
+ "edt_conf_color_channelAdjustment_header_expl": "צור פרופילי צבע שניתן להקצות לרכיב מסוים. התאם צבע, גמא, בהירות, פיצוי ועוד.",
+ "edt_conf_v4l2_fpsSoftwareDecimation_expl": "כדי לחסוך במשאבים כל מסגרת n' תעובד בלבד. למשל. אם ה-grabber מוגדר ל-30fps עם אפשרות זו מוגדרת ל-5, התוצאה הסופית תהיה בסביבות 6fps",
+ "edt_conf_v4l2_signalDetection_expl": "אם מופעל, לכידת USB תושבת זמנית כאשר לא נמצא אות. זה יקרה כאשר התמונה תרד מתחת לערך הסף למשך תקופה של 4 שניות.",
+ "effectsconfigurator_label_intro": "צור מתוך האפקטים הבסיסיים אפקטים חדשים המותאמים לטעמך. בהתאם לאפקט יש אפשרויות כמו צבע, מהירות, כיוון ועוד.",
+ "general_access_advanced": "מתקדם",
+ "general_access_default": "ברירת מחדל",
+ "general_access_expert": "מומחה",
+ "general_btn_back": "חזור",
+ "general_btn_cancel": "בטל",
+ "general_btn_continue": "המשך",
+ "general_btn_iswitch": "החלף",
+ "general_btn_next": "הבא",
+ "general_btn_off": "כיבוי",
+ "general_btn_ok": "בסדר",
+ "general_btn_on": "הדלקה",
+ "general_btn_restarthyperion": "הפעל מחדש את Hyperion",
+ "general_btn_save": "שמור",
+ "general_btn_saveandreload": "שמור וטען מחדש",
+ "general_btn_yes": "כן",
+ "general_button_savesettings": "שמור הגדרות",
+ "general_col_blue": "כחול",
+ "general_col_green": "ירוק",
+ "general_col_red": "אדום",
+ "general_comp_BLACKBORDER": "Blackbar זיהוי",
+ "general_comp_BOBLIGHTSERVER": "שרת Boblight",
+ "general_comp_FLATBUFSERVER": "שרת ",
+ "general_comp_FORWARDER": "שילוח",
+ "general_comp_GRABBER": "לכידת מסך",
+ "general_comp_LEDDEVICE": "פלט LED",
+ "general_comp_PROTOSERVER": "שרת מאגר פרוטוקול",
+ "general_comp_SMOOTHING": "חלק",
+ "general_comp_V4L": "לכידת כניסת USB",
+ "general_country_de": "גרמניה",
+ "general_country_es": "ספרד",
+ "general_country_fr": "צרפת",
+ "general_country_it": "איטליה",
+ "general_country_nl": "הולנד",
+ "general_country_uk": "בריטניה",
+ "general_country_us": "ארצות הברית",
+ "general_speech_cs": "צ'כית",
+ "general_speech_de": "גרמנית",
+ "general_speech_en": "אנגלית",
+ "general_speech_es": "ספרדית",
+ "general_speech_it": "איטלקית",
+ "general_webui_title": "Hyperion - תצורת אינטרנט",
+ "general_wiki_moreto": "מידע נוסף על \"$1\" בוויקי שלנו",
+ "info_restart_contus": "אם אתה עדיין משוטט כאן לאחר 20 שניות ואין לך מושג למה, בבקשה פתח נושא חדש בפורום התמיכה שלנו...",
+ "main_ledsim_btn_togglelednumber": "מספר נורות LED",
+ "main_ledsim_btn_toggleleds": "הצג אורות",
+ "main_ledsim_btn_togglelivevideo": "וידאו חי",
+ "main_ledsim_text": "הדמיה חיה של צבעי LED ואפשרות הזרמת הווידאו הנוכחי של מכשיר הלכידה שלך.",
+ "main_ledsim_title": "חזותיות LED",
+ "main_menu_about_token": "אודות Hyperion",
+ "main_menu_colors_conf_token": "עיבוד תמונה",
+ "main_menu_dashboard_token": "לוּחַ מַחווָנִים",
+ "main_menu_effect_conf_token": "אפקטים",
+ "main_menu_effectsconfigurator_token": "הגדרת אפקטים",
+ "main_menu_general_conf_token": "כללי",
+ "main_menu_grabber_conf_token": "לכידת חומרה",
+ "main_menu_input_selection_token": "בחירת קלט",
+ "main_menu_leds_conf_token": "יצאת LED",
+ "main_menu_network_conf_token": "שירותי אינטרנט",
+ "main_menu_remotecontrol_token": "שלט רחוק",
+ "main_menu_support_token": "תמיכה",
+ "main_menu_system_token": "מערכת",
+ "main_menu_update_token": "עדכון",
+ "main_menu_webconfig_token": "תצורת אינטרנט",
+ "remote_input_intro": "Hyperion משתמש במערכת עדיפות לבחירת מקור. לכל מה שתגדירו יש עדיפות (אפקט/צבע/צילום מסך/לכידת USB ומקורות רשת). כברירת מחדל, Hyperion בוחר מקורות בהתאם לעדיפות (המספר הנמוך ביותר משקף את המקור הפעיל הנוכחי). כעת יש לך הזדמנות לבחור מקורות בעצמך. $1",
+ "support_label_intro": "Hyperion היא תוכנה חינמית ללא מטרות רווח. צוות קטן עובד על זה וזו הסיבה שאנחנו צריכים את התמיכה הקבועה שלכם.",
+ "update_label_intro": "סקירה כללית על כל גרסאות Hyperion הזמינות. בנוסף, תוכל לעדכן או לשדרג לאחור את הגרסה שלך של Hyperion מתי שתרצה. ממוין מהחדש להכי ישן",
+ "wiz_atmoorb_desc2": "כעת בחר אילו כדורים יש להוסיף. המיקום מקצה את המנורה למיקום מסוים ב\"תמונה\" שלך. מנורות מושבתות לא יתווספו. לזיהוי מנורות בודדות לחץ על הכפתור בצד ימין.",
+ "wiz_atmoorb_intro1": "אשף זה מגדיר את Hyperion עבור AtmoOrbs. התכונות הן הזיהוי האוטומטי של AtmoOrb, הגדרת כל אור למיקום ספציפי בתמונה שלך או השבתה וביצוע אופטימיזציה של הגדרות Hyperion באופן אוטומטי! אז בקיצור: כל מה שאתה צריך זה כמה קליקים וסיימת!",
+ "wiz_cc_adjustgamma": "גמא: מה שאתה צריך לעשות הוא, להתאים את רמות הגמא של כל ערוץ עד שתהיה לך אותה כמות נתפסת של כל ערוץ. רמז: ניטרלי הוא 1.0! לדוגמה, אם האפור שלך קצת אדמדם, זה אומר שאתה צריך להגדיל את הגמא האדום כדי להפחית את כמות האדום (ככל שיותר גמא, כך פחות צבע).",
+ "wiz_cc_adjustit": "התאם את ה-\"$1\" שלך עד שתסתדר עם זה. שימו לב: ככל שתתרחקו מערך ברירת המחדל, ספקטרום הצבעים יהיה מוגבל (גם עבור כל הצבעים שביניהם). תלוי בקול הטלוויזיה/LED",
+ "wiz_cc_backlight": "בנוסף, אתה יכול להגדיר תאורה אחורית כדי למיין \"צבעים רעים\" באזורים כמעט כהים או אם אתה לא אוהב את המעבר בין צבע לכבוי במהלך הצפייה. בנוסף אתה יכול להגדיר אם צריך להיות בו קצת צבע או רק לבן. זה מושבת במצב \"כבוי\", \"צבע\" ו\"אפקט\".",
+ "wiz_cc_intro1": "אשף זה ידריך אותך בכיול ה-LED שלך. אם אתה משתמש בקודי, ניתן לשלוח את תמונות הכיול וסרטוני הווידאו ישירות אליו. תנאי מוקדם: עליך להפעיל את \"אפשר שליטה מרחוק מיישומים במערכות אחרות\" בקודי.
לחלופין, ייתכן שתרצה להוריד את הקבצים האלה בעצמך ולהציג אותם כשהאשף יבקש ממך להתאים את ההגדרה.",
+ "wiz_cc_kodidiscon": "Kodi לא נמצא, המשך ללא תמיכת Kodi (אנא בדוק אם שלט רחוק על ידי מערכות אחרות מופעלת).",
+ "wiz_cc_summary": "מסקנה של ההגדרות שלך. במהלך הפעלת וידאו, תוכל לשנות או לבדוק שוב ערכים. אם סיימת, לחץ על שמור.",
+ "wiz_cololight_intro1": "אשף זה מגדיר את Hyperion עבור מערכת Cololight. התכונות הן הזיהוי האוטומטי של Cololight וכוונון את הגדרות Hyperion באופן אוטומטי! בקיצור: כל מה שאתה צריך זה כמה קליקים וסיימת!
הערה: במקרה של Cololight Strip, ייתכן שיהיה עליך לתקן ידנית את ספירת ה-LED ואת הפריסה.",
+ "wiz_hue_desc1": "1. Hyperion מחפש אוטומטית עבור Hue-Bridge, במקרה שהוא לא יכול למצוא אחד, עליך לספק את שם המארח או כתובת ה-IP וללחוץ על כפתור הטעינה מחדש. \n2. ספק מזהה משתמש, אם אין לך צור אחד חדש.",
+ "wiz_hue_desc2": "3. כעת בחרו אילו מנורות יש להוסיף. המיקום מקצה את המנורה למיקום מסוים ב\"תמונה\" שלך. מנורות מושבתות לא יתווספו. לזיהוי מנורות בודדות לחץ על הכפתור בצד ימין",
+ "wiz_hue_e_desc1": "1. Hyperion מחפש אוטומטית עבור Hue-Bridge, במקרה שהוא לא יכול למצוא אחד, עליך לספק את שם המארח או כתובת ה-IP וללחוץ על כפתור הטעינה מחדש.
2. ספק מזהה משתמש ומפתח הלקוח, אם אין לך את שניהם, צור חדשים.",
+ "wiz_hue_e_desc3": "4. בחר באיזה מיקום המנורה המתאימה צריכה להיות \"בתמונה\". בחירה מראש של העמדה נעשתה בהתבסס על המיקומים המוגדרים של האורות בקבוצת הבידור. זו רק המלצה וניתן להתאים אישית לפי הרצון. לכן אתה יכול להדגיש אותם בקצרה על ידי לחיצה על הכפתור הימני כדי לשפר את הבחירה.",
+ "wiz_hue_e_intro1": "אשף זה מגדיר את Hyperion עבור מערכת Philips Hue Entertainment הידועה. התכונות הן: זיהוי אוטומטי של Hue Bridge, יצירת מפתחות משתמש ולקוח, בחירת קבוצת בידור, הגדרת אורות קבוצה למיקום ספציפי בתמונה שלך ואופטימיזציה של הגדרות Hyperion באופן אוטומטי! אז בקיצור: כל מה שאתה צריך זה כמה קליקים וסיימת!",
+ "wiz_hue_failure_user": "המשתמש לא נמצא, צור אחד חדש עם הכפתור למטה או הזן מזהה משתמש חוקי ולחץ על הסמל \"טען מחדש\".",
+ "wiz_hue_intro1": "אשף זה מגדיר את Hyperion עבור מערכת Philips Hue הידועה. התכונות הן זיהוי אוטומטי של Hue Bridge, יצירת משתמש, הגדר כל אור גוון למיקום מסוים בתמונה שלך או השבת אותו וכוונו את הגדרות Hyperion באופן אוטומטי! אז בקיצור: כל מה שאתה צריך זה כמה קליקים וסיימת!",
+ "wiz_rgb_expl": "נקודת הצבע מחליפה כל x שניות את הצבע (אדום, ירוק), ובאותו הזמן גם נוריות ה-LED שלך מחליפות את הצבע. ענה על השאלות בתחתית כדי לבדוק/לתקן את סדר הביטים שלך.",
+ "wiz_rgb_intro1": "אשף זה ידריך אותך בתהליך מציאת סדר הצבעים הנכון עבור הלדים שלך. לחץ על המשך כדי להתחיל.",
+ "wiz_rgb_intro2": "מתי אתה צריך את האשף הזה? דוגמה: אתה קובע את הצבע האדום, אבל אתה מקבל ירוק או כחול. אתה יכול גם להשתמש בו עבור תצורה ראשונה.",
+ "wiz_yeelight_desc2": "כעת בחר אילו מנורות יש להוסיף. המיקום מקצה את המנורה למיקום מסוים ב\"תמונה\" שלך. מנורות מושבתות לא יתווספו. לזיהוי מנורות בודדות לחץ על הכפתור בצד ימין.",
+ "wiz_yeelight_intro1": "אשף זה מגדיר את Hyperion עבור מערכת Yeelight. התכונות הן הזיהוי האוטומטי של Yeelighs, הגדרת כל אור למיקום מסוים בתמונה שלך או להשבית אותו ולכוון את הגדרות Hyperion באופן אוטומטי! אז בקיצור: כל מה שאתה צריך זה כמה קליקים וסיימת!"
+}
\ No newline at end of file
diff --git a/assets/webconfig/js/languages.js b/assets/webconfig/js/languages.js
index 21ecf191..b417b55b 100644
--- a/assets/webconfig/js/languages.js
+++ b/assets/webconfig/js/languages.js
@@ -1,6 +1,6 @@
var storedLang;
-var availLang = ['ca', 'cs', 'da', 'de', 'el', 'en', 'es', 'fr', 'hu', 'it', 'ja', 'nl', 'nb', 'pl', 'pt', 'ro', 'sv', 'vi', 'ru', 'tr', 'zh-CN'];
-var availLangText = ['Català', 'Čeština', 'Dansk', 'Deutsch', 'Ελληνική', 'English', 'Español', 'Français', 'Magyar', 'Italiano', '日本語', 'Nederlands', 'Norsk Bokmål', 'Polski', 'Português', 'Română', 'Svenska', 'Tiếng Việt', 'русский', 'Türkçe', '汉语'];
+var availLang = ['ca', 'cs', 'da', 'de', 'el', 'en', 'es', 'fr', 'he', 'hu', 'it', 'ja', 'nl', 'nb', 'pl', 'pt', 'ro', 'sv', 'vi', 'ru', 'tr', 'zh-CN'];
+var availLangText = ['Català', 'Čeština', 'Dansk', 'Deutsch', 'Ελληνική', 'English', 'Español', 'Français', 'עִברִית' ,'Magyar', 'Italiano', '日本語', 'Nederlands', 'Norsk Bokmål', 'Polski', 'Português', 'Română', 'Svenska', 'Tiếng Việt', 'русский', 'Türkçe', '汉语'];
//$.i18n.debug = true;
diff --git a/bin/scripts/install_pr.sh b/bin/scripts/install_pr.sh
index bab790a0..1f654f23 100755
--- a/bin/scripts/install_pr.sh
+++ b/bin/scripts/install_pr.sh
@@ -12,6 +12,8 @@ hasPython3=$?
type python > /dev/null 2> /dev/null
hasPython2=$?
+BASE_PATH='.';
+
if [[ "${hasWget}" -ne 0 ]] && [[ "${hasCurl}" -ne 0 ]]; then
echo '---> Critical Error: wget or curl required to download pull request artifacts'
exit 1
@@ -171,20 +173,20 @@ fi
# Download packed PR artifact
echo "---> Downloading the Pull Request #$pr_number"
if [ $hasCurl -eq 0 ]; then
- curl -skH "Authorization: token ${PR_TOKEN}" -o $HOME/temp.zip -L --get $archive_download_url
+ curl -skH "Authorization: token ${PR_TOKEN}" -o $BASE_PATH/temp.zip -L --get $archive_download_url
elif [ $hasWget -eq 0 ]; then
echo "wget"
- wget --quiet --header="Authorization: token ${PR_TOKEN}" -O $HOME/temp.zip $archive_download_url
+ wget --quiet --header="Authorization: token ${PR_TOKEN}" -O $BASE_PATH/temp.zip $archive_download_url
fi
# Create new folder & extract PR artifact
echo "---> Extracting packed Artifact"
-mkdir -p $HOME/hyperion_pr$pr_number
-unzip -p $HOME/temp.zip | tar --strip-components=2 -C $HOME/hyperion_pr$pr_number share/hyperion/ -xz
+mkdir -p $BASE_PATH/hyperion_pr$pr_number
+unzip -p $BASE_PATH/temp.zip | tar --strip-components=2 -C $BASE_PATH/hyperion_pr$pr_number share/hyperion/ -xz
# Delete PR artifact
echo '---> Remove temporary files'
-rm $HOME/temp.zip 2>/dev/null
+rm $BASE_PATH/temp.zip 2>/dev/null
# Create the startup script
echo '---> Create startup script'
@@ -209,7 +211,7 @@ if [[ ! -z ${CURRENT_SERVICE} ]]; then
fi
fi'""
-TARGET_CONFIGDIR="$HOME/hyperion_pr$pr_number/config"
+TARGET_CONFIGDIR="$BASE_PATH/config"
if [[ ! -z ${CONFIGDIR} ]]; then
STARTUP_SCRIPT+="
@@ -221,19 +223,19 @@ fi
STARTUP_SCRIPT+="
# Start PR artifact
-cd $HOME/hyperion_pr$pr_number
+cd $BASE_PATH/hyperion_pr$pr_number
./bin/hyperiond -d -u $TARGET_CONFIGDIR"
# Place startup script
-echo "$STARTUP_SCRIPT" > $HOME/hyperion_pr$pr_number/$pr_number.sh
+echo "$STARTUP_SCRIPT" > $BASE_PATH/hyperion_pr$pr_number/$pr_number.sh
# Set the executen bit
-chmod +x -R $HOME/hyperion_pr$pr_number/$pr_number.sh
+chmod +x -R $BASE_PATH/hyperion_pr$pr_number/$pr_number.sh
echo "*******************************************************************************"
echo "Download finished!"
$REBOOTMESSAGE
-echo "You can test the pull request with this command: ~/hyperion_pr$pr_number/$pr_number.sh"
-echo "Remove the test installation with: rm -R ~/hyperion_pr$pr_number"
+echo "You can test the pull request with this command: $BASE_PATH/hyperion_pr$pr_number/$pr_number.sh"
+echo "Remove the test installation with: rm -R $BASE_PATH/hyperion_pr$pr_number"
echo "Feedback is welcome at https://github.com/hyperion-project/hyperion.ng/pull/$pr_number"
echo "*******************************************************************************"
diff --git a/effects/matrix.json b/effects/matrix.json
index 2a2f295c..55c42c24 100644
--- a/effects/matrix.json
+++ b/effects/matrix.json
@@ -11,6 +11,6 @@
"grayscale": false,
"imageSource": "file",
"reverse": false,
- "file": "matrix.gif"
+ "file": ":matrix.gif"
}
}
diff --git a/libsrc/grabber/video/v4l2/V4L2Grabber.cpp b/libsrc/grabber/video/v4l2/V4L2Grabber.cpp
index a0caa19d..8f504464 100644
--- a/libsrc/grabber/video/v4l2/V4L2Grabber.cpp
+++ b/libsrc/grabber/video/v4l2/V4L2Grabber.cpp
@@ -1290,11 +1290,11 @@ QJsonArray V4L2Grabber::discover(const QJsonObject& params)
format["format"] = pixelFormatToString(encodingFormat);
QMap
, QSet> combined = QMap, QSet>();
- for (auto enc : input.value().encodingFormats.values(encodingFormat))
+ for (const auto &enc : input.value().encodingFormats.values(encodingFormat))
{
std::pair width_height{enc.width, enc.height};
auto &com = combined[width_height];
- for (auto framerate : qAsConst(enc.framerates))
+ for (auto framerate : enc.framerates)
{
com.insert(framerate);
}
@@ -1326,7 +1326,7 @@ QJsonArray V4L2Grabber::discover(const QJsonObject& params)
device["video_inputs"] = video_inputs;
QJsonObject controls, controls_default;
- for (const auto &control : qAsConst(_deviceControls[device_property.key()]))
+ for (const auto &control : std::as_const(_deviceControls[device_property.key()]))
{
QJsonObject property;
property["minValue"] = control.minValue;
diff --git a/libsrc/leddevice/dev_net/LedDevicePhilipsHue.cpp b/libsrc/leddevice/dev_net/LedDevicePhilipsHue.cpp
index d4d75e9f..14f9c39a 100644
--- a/libsrc/leddevice/dev_net/LedDevicePhilipsHue.cpp
+++ b/libsrc/leddevice/dev_net/LedDevicePhilipsHue.cpp
@@ -446,11 +446,11 @@ bool LedDevicePhilipsHueBridge::checkApiError(const QJsonDocument &response, boo
QJsonObject obj = response.object();
if (obj.contains(API_ERRORS))
{
- QJsonArray errorList = obj.value(API_ERRORS).toArray();
+ const QJsonArray errorList = obj.value(API_ERRORS).toArray();
if (!errorList.isEmpty())
{
QStringList errors;
- for (const QJsonValue &error : qAsConst(errorList))
+ for (const QJsonValue &error : errorList)
{
QString errorString = error.toObject()[API_ERROR_DESCRIPTION].toString();
if (!errorString.contains("may not have effect"))
@@ -909,9 +909,9 @@ void LedDevicePhilipsHueBridge::setDevicesMap(const QJsonDocument &doc)
if (_useApiV2)
{
- QJsonArray devices = doc.array();
+ const QJsonArray devices = doc.array();
- for (const QJsonValue &device : qAsConst(devices))
+ for (const QJsonValue &device : devices)
{
QString deviceId = device.toObject().value("id").toString();
_devicesMap.insert(deviceId, device.toObject());
@@ -925,9 +925,9 @@ void LedDevicePhilipsHueBridge::setLightsMap(const QJsonDocument &doc)
if (_useApiV2)
{
- QJsonArray lights = doc.array();
+ const QJsonArray lights = doc.array();
- for (const QJsonValue &light : qAsConst(lights))
+ for (const QJsonValue &light : lights)
{
QString lightId = light.toObject().value("id").toString();
_lightsMap.insert(lightId, light.toObject());
@@ -965,9 +965,9 @@ void LedDevicePhilipsHueBridge::setGroupMap(const QJsonDocument &doc)
_groupsMap.clear();
if (_useApiV2)
{
- QJsonArray groups = doc.array();
+ const QJsonArray groups = doc.array();
- for (const QJsonValue &group : qAsConst(groups))
+ for (const QJsonValue &group : groups)
{
QString groupId = group.toObject().value("id").toString();
_groupsMap.insert(groupId, group.toObject());
@@ -995,9 +995,9 @@ void LedDevicePhilipsHueBridge::setEntertainmentSrvMap(const QJsonDocument &doc)
if (_useApiV2)
{
- QJsonArray entertainmentSrvs = doc.array();
+ const QJsonArray entertainmentSrvs = doc.array();
- for (const QJsonValue &entertainmentSrv : qAsConst(entertainmentSrvs))
+ for (const QJsonValue &entertainmentSrv : entertainmentSrvs)
{
QString entertainmentSrvId = entertainmentSrv.toObject().value("id").toString();
_entertainmentMap.insert(entertainmentSrvId, entertainmentSrv.toObject());
@@ -1093,8 +1093,8 @@ QStringList LedDevicePhilipsHueBridge::getGroupLights(const QString& groupId) co
{
if (_useApiV2)
{
- QJsonArray lightServices = group.value( API_LIGHT_SERVICES ).toArray();
- for (const QJsonValue &light : qAsConst(lightServices))
+ const QJsonArray lightServices = group.value( API_LIGHT_SERVICES ).toArray();
+ for (const QJsonValue &light : lightServices)
{
groupLights.append( light.toObject().value(API_RID).toString());
}
@@ -1140,7 +1140,7 @@ QJsonObject LedDevicePhilipsHueBridge::getEntertainmentSrvDetails(const QString&
DebugIf( verbose, _log, "getEntertainmentSrvDetails [%s]", QSTRING_CSTR(deviceId) );
QJsonObject details;
- for (const QJsonObject& entertainmentSrv : qAsConst(_entertainmentMap))
+ for (const QJsonObject& entertainmentSrv : std::as_const(_entertainmentMap))
{
QJsonObject owner = entertainmentSrv[API_OWNER].toObject();
@@ -1933,7 +1933,7 @@ bool LedDevicePhilipsHue::updateLights(const QMap &map)
if(!_lightIds.empty())
{
_lights.reserve(static_cast(_lightIds.size()));
- for(const auto &id : qAsConst(_lightIds))
+ for(const auto &id : std::as_const(_lightIds))
{
if (map.contains(id))
{