Skip to content

Commit b5946b2

Browse files
vassbojzongkeryurividalmannyamorimjeremiahseun
authored
1.5.7 (#2839)
* Added back forceLogin - Fixed on B1Admin * Fixed clear background not working if no output screen exists * Updated languages * fix: improve split long verses with tolerance for balanced output (#2812) - Split long verses at punctuation near the center of the text for balanced slides - Search for punctuation (.,;:!?) within a tolerance window around the text center - Pick the punctuation closest to center for the most even split - Fall back to nearest space if no punctuation found in window - Prevent small trailing segments from being merged back when it would undo the split - Pass tolerance through to HTML text splitting path - Expand split sub-verse IDs (e.g. 10_1, 10_2) in activeVerses for slide generation - Add longVersesTolerance default to scriptureSettings * fix: Fix issue when searching for scripture using the split long verses (#2818) When using split long verses the scripture search does not take into account the verse splits. If you do a scripture search which includes the verses and then convert to a show the split long verses is not taken into account. The fix is to map the searched verses to the calculated split verses. * Moved create scripture shortcut #2822 * Scripture fix * Fallback to copy/paste when unable to move file #2823 * Fixing errors * Auto get project if none is opened * Tweaks * Fixed media replaced incorrectly #2779 * Fixed some replaced slide backgrounds not outputted #2807 * Faster slide loading * Slide media thumbnail is now the correct resolution - Fixed issue with thumbnail generation * Fixed thumbnail generation only doing one at a time - Fixed thumbnail generation stopping when failed once - Skip loading when failed * Media editor showing output resolution - Tweaks * Project media item thumbnail - Project items splitted by type * Drop import PPT file * Save imported project directly back to the file * Tweaks * Project item arrow - Project tweaks * Default template textbox now fits 8 lines perfectly * Fixed player * Project permission fixes * Fixed context menu sometimes clipping bottom * Fixed context menu sometimes clipping bottom * Fixed hostname already in use issue on macOS #1637 * Tweaks * Fixed drop position #2834 * Tweaks * Cloud fixes * Fixed thumbnail paths on macOS * Tweaks * Loop enabled title * Fixed specific outputs issue * Fixed infinite loop * Fixed StageShow media fit * Tweaks * Random number history as dynamic value #2813 * Action to mark project item as played #2752 * Set initial project name to an upcomming weekday date #2734 * Overlay actions #2665 * StageShow Dynamic Value Conditions #2624 - Fixed stage item issue * feat: Enhance Quick Search with Bible/Media support and categorization (#2790) * Enhance Quick Search with Bible/Media support and categorization - Update Quick Search UI to look like Mac Spotlight (wider, centered, headers). - Implement async search logic to handle Bible search. - Categorize results into Songs, Bible, Media, and Others. - Add Bible search functionality (Reference and Text search). - Add Media search functionality. - Implement trigger actions for Bible (opens Scripture tab) and Media (plays media). * feat: Enhance search index and quicksearch UI Add a fast inverted search index and Bible index for much faster lookups (buildSearchIndex, fastSearch, buildBibleIndex, fastBibleSearch). Introduce index invalidation (invalidateSearchIndex) when the text cache is loaded or saved so the index is rebuilt when data changes. Extend quicksearch features and UX: category filters (all, songs, bible, media, settings), highlighted token matches, glowing placeholder indicator, snippet previews for song lyrics and Bible verses, and improved transitions/styles. Integrate the index-based Bible search with a fallback to the existing library search; use local scripture cache and build an index when available. Update quicksearch API to accept category and raw search value, and adapt result generation to include descriptions and previews. Add a new translation key (main.search_anything). Small refactors and safety checks added to preserve behavior for small show lists by falling back to the original search logic. * Formatted code changes * QuickSearch: add hashtag filters and audio/overlays Replace the category picker with hashtag-based category detection in QuickSearch and update search behavior. Key changes: - UI: removed category bar and related styles; detect #hashtag (e.g. #shows, #audio, #overlays) and strip it from the query. - Categories: rename 'songs' -> 'shows' and add 'audio' and 'overlays' categories; wire audio playlists/streams and overlay results into quicksearch results and triggers. - Highlighting: prioritize exact phrase matches, then token-based highlighting (matches any word), with longer words matched first. - Media: add option to restrict media results to audio files and set appropriate icons for audio/media. - Bible/search index: bump behavior to support more results and finer-grained indexing (index shorter tokens, n-grams up to 5 words, search-term generation improvements) and add a Bible index version to force rebuilds when needed. - Minor: update en.json label ("song" -> "Shows"). These changes improve discoverability via keywords and broaden searchable content (audio/overlays) while refining ranking and highlighting. * Update QuickSearch.svelte * Fixes * Fixes --------- Co-authored-by: Kristoffer <kristoffervassbo@gmail.com> * Lock slides inside a show (#2825) * feat: add slide locking functionality to prevent edits and deletions * feat: implement slide locking checks for copy, paste, and cut actions * feat: add toggle lock functionality for slides and pass showId and slideId to Icons component * feat: add checks to skip locked slides in templates * feat: enhance slide locking checks in editors and clipboard actions * Fixes * Resolve conflict --------- Co-authored-by: Otoniel Pérez Velarde <otperez@domingoalonsogroup.com> Co-authored-by: Kristoffer <kristoffervassbo@gmail.com> * feat(transitions): fade through transition (#2837) * feat(transitions): add fade through feature Adds a toggle in the transition dialog to enable/disable "fade through", which avoids dipping into black during transitions * chore(transitions): add i18n for fade through I'm not sure whether this is correct way to do it * feat(transition): add explanation tooltip * Update * Fix --------- Co-authored-by: Kristoffer <kristoffervassbo@gmail.com> * Version update --------- Co-authored-by: Jeremy Zongker <jeremy@zongker.net> Co-authored-by: Yuri Vidal <yurividal@users.noreply.github.com> Co-authored-by: Emmanuel Mathi-Amorim <manny@amorim.ca> Co-authored-by: Jeremiah Oluwaseun Erinola <seunjeremiah@gmail.com> Co-authored-by: Otoniel Pérez Velarde <61138950+otonielpv@users.noreply.github.com> Co-authored-by: Otoniel Pérez Velarde <otperez@domingoalonsogroup.com> Co-authored-by: zabackary <137591653+zabackary@users.noreply.github.com>
1 parent fb6390b commit b5946b2

152 files changed

Lines changed: 3083 additions & 1130 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

package-lock.json

Lines changed: 2 additions & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "freeshow",
3-
"version": "1.5.7-beta.2",
3+
"version": "1.5.7",
44
"private": true,
55
"main": "build/electron/index.js",
66
"description": "Show song lyrics and more for free!",

public/lang/en.json

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -626,6 +626,7 @@
626626
"unlink_pco": "Unlink from Planning Center",
627627
"import": "Import",
628628
"export": "Export",
629+
"save_to_file": "Save to file",
629630
"import_calendar": "Import calendar",
630631
"imported": "Imported!",
631632
"duplicate": "Duplicate",
@@ -1499,7 +1500,8 @@
14991500
"blur": "Blur",
15001501
"scale": "Scale",
15011502
"spin": "Spin",
1502-
"slide": "Slide"
1503+
"slide": "Slide",
1504+
"fade_in_offset": "Fade in offset"
15031505
},
15041506
"easings": {
15051507
"linear": "Linear",

public/lang/en_GB.json

Lines changed: 17 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -378,6 +378,7 @@
378378
},
379379
"tabs": {
380380
"shows": "Shows",
381+
"shows_info": "A show is made up of slides; it can be a song, presentation, media, scripture, and more.",
381382
"media": "Media",
382383
"overlays": "Overlays",
383384
"audio": "Audio",
@@ -505,6 +506,8 @@
505506
"manage_tags": "Manage tags",
506507
"sync_categories": "Sync categories",
507508
"effect_items": "Effect items",
509+
"timeline": "Timeline",
510+
"timecode": "Timecode",
508511
"initialize": "Welcome to FreeShow",
509512
"unsaved": "Are you sure you want to quit?",
510513
"cancel": "Cancel",
@@ -612,6 +615,7 @@
612615
"recolor": "Change colour",
613616
"remove": "Remove",
614617
"remove_group": "Remove group from layout",
618+
"remove_group_short": "Remove group",
615619
"choose_group": "Choose group",
616620
"goto_group": "Go to group",
617621
"active_outputs": "Active outputs",
@@ -625,7 +629,9 @@
625629
"import_calendar": "Import calendar",
626630
"imported": "Imported!",
627631
"duplicate": "Duplicate",
632+
"duplicated": "Duplicated",
628633
"delete": "Delete",
634+
"delete_slide_short": "Delete slide",
629635
"delete_slide": "Delete slide from show",
630636
"delete_group": "Delete group",
631637
"delete_all": "Delete all",
@@ -638,7 +644,9 @@
638644
"redo": "Redo",
639645
"cut": "Cut",
640646
"copy": "Copy",
647+
"copied": "Copied",
641648
"paste": "Paste",
649+
"pasted": "Pasted",
642650
"pasteAndMatchStyle": "Paste And Match Style",
643651
"selectAll": "Select All",
644652
"remove_selection": "Remove selection",
@@ -834,15 +842,9 @@
834842
"seconds": "seconds",
835843
"empty": "empty"
836844
},
837-
"recording": {
838-
"remove": "Remove recording",
839-
"tip": "Record and replay the timings of slides. Sync with an audio track on the first slide.",
840-
"layout_changed": "Layout has changed since last recording!",
841-
"audio_synced": "Synced with audio!",
842-
"start": "Start slide recording",
843-
"action_play": "Play slide recording",
844-
"use_duration": "Use duration time",
845-
"use_duration_tip": "Use duration time instead of timestamp time"
845+
"timeline": {
846+
"toggle_timeline": "Toggle timeline",
847+
"start_time": "Start time"
846848
},
847849
"animate": {
848850
"change": "Change",
@@ -859,7 +861,6 @@
859861
"info": "Sync files to the cloud for backups or to access between multiple computers.",
860862
"enable": "Automatic sync on startup and close",
861863
"read_only": "Read-only",
862-
"media_folder": "Cloud media folder",
863864
"reconnect": "Reconnect",
864865
"sync": "Sync now",
865866
"change_team": "Change team",
@@ -1073,7 +1074,8 @@
10731074
"fahrenheit": "Fahrenheit",
10741075
"longRange": "Long range",
10751076
"media_item_tip": "Are you trying to use the media as a background?",
1076-
"convert_to_background": "Convert to background"
1077+
"convert_to_background": "Convert to background",
1078+
"convert_to_media_item": "Convert background to media item"
10771079
},
10781080
"items": {
10791081
"text": "Textbox",
@@ -1384,8 +1386,10 @@
13841386
"write": "Write",
13851387
"set_active": "Set as active",
13861388
"choose_profile": "Choose a profile",
1389+
"change_profile": "Change profile",
13871390
"choose_admin": "Only continue if you know what you are doing. Choose admin profile?",
1388-
"locked": "Your selected profile has restricted access to this!"
1391+
"locked": "Your selected profile has restricted access to this!",
1392+
"auto_open_last_used": "Auto open last used profile on startup"
13891393
},
13901394
"sort": {
13911395
"sort_by": "Sort by",
@@ -1437,6 +1441,7 @@
14371441
"verses_on_individual_lines": "Verses on individual lines",
14381442
"divide_long_verses": "Split long verses",
14391443
"split_long_verses_suffix": "Show letter suffix",
1444+
"tolerance": "Tolerance",
14401445
"version": "Show version",
14411446
"reference": "Show reference",
14421447
"split_reference": "Split reference",

public/lang/en_ZM.json

Lines changed: 17 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -378,6 +378,7 @@
378378
},
379379
"tabs": {
380380
"shows": "Shows",
381+
"shows_info": "A show is made up of slides; it can be a song, presentation, media, scripture, and more.",
381382
"media": "Media",
382383
"overlays": "Overlays",
383384
"audio": "Audio",
@@ -505,6 +506,8 @@
505506
"manage_tags": "Manage tags",
506507
"sync_categories": "Sync categories",
507508
"effect_items": "Effect items",
509+
"timeline": "Timeline",
510+
"timecode": "Timecode",
508511
"initialize": "Welcome to FreeShow",
509512
"unsaved": "Are you sure you want to quit?",
510513
"cancel": "Cancel",
@@ -612,6 +615,7 @@
612615
"recolor": "Change colour",
613616
"remove": "Remove",
614617
"remove_group": "Remove group from layout",
618+
"remove_group_short": "Remove group",
615619
"choose_group": "Choose group",
616620
"goto_group": "Go to group",
617621
"active_outputs": "Active outputs",
@@ -625,7 +629,9 @@
625629
"import_calendar": "Import calendar",
626630
"imported": "Imported!",
627631
"duplicate": "Duplicate",
632+
"duplicated": "Duplicated",
628633
"delete": "Delete",
634+
"delete_slide_short": "Delete slide",
629635
"delete_slide": "Delete slide from show",
630636
"delete_group": "Delete group",
631637
"delete_all": "Delete all",
@@ -638,7 +644,9 @@
638644
"redo": "Redo",
639645
"cut": "Cut",
640646
"copy": "Copy",
647+
"copied": "Copied",
641648
"paste": "Paste",
649+
"pasted": "Pasted",
642650
"pasteAndMatchStyle": "Paste And Match Style",
643651
"selectAll": "Select All",
644652
"remove_selection": "Remove selection",
@@ -834,15 +842,9 @@
834842
"seconds": "seconds",
835843
"empty": "empty"
836844
},
837-
"recording": {
838-
"remove": "Remove recording",
839-
"tip": "Record and replay the timings of slides. Sync with an audio track on the first slide.",
840-
"layout_changed": "Layout has changed since last recording!",
841-
"audio_synced": "Synced with audio!",
842-
"start": "Start slide recording",
843-
"action_play": "Play slide recording",
844-
"use_duration": "Use duration time",
845-
"use_duration_tip": "Use duration time instead of timestamp time"
845+
"timeline": {
846+
"toggle_timeline": "Toggle timeline",
847+
"start_time": "Start time"
846848
},
847849
"animate": {
848850
"change": "Change",
@@ -859,7 +861,6 @@
859861
"info": "Sync files to the cloud for backups or to access between multiple computers.",
860862
"enable": "Automatic sync on startup and close",
861863
"read_only": "Read-only",
862-
"media_folder": "Cloud media folder",
863864
"reconnect": "Reconnect",
864865
"sync": "Sync now",
865866
"change_team": "Change team",
@@ -1073,7 +1074,8 @@
10731074
"fahrenheit": "Fahrenheit",
10741075
"longRange": "Long range",
10751076
"media_item_tip": "Are you trying to use the media as a background?",
1076-
"convert_to_background": "Convert to background"
1077+
"convert_to_background": "Convert to background",
1078+
"convert_to_media_item": "Convert background to media item"
10771079
},
10781080
"items": {
10791081
"text": "Textbox",
@@ -1384,8 +1386,10 @@
13841386
"write": "Write",
13851387
"set_active": "Set as active",
13861388
"choose_profile": "Choose a profile",
1389+
"change_profile": "Change profile",
13871390
"choose_admin": "Only continue if you know what you are doing. Choose admin profile?",
1388-
"locked": "Your selected profile has restricted access to this!"
1391+
"locked": "Your selected profile has restricted access to this!",
1392+
"auto_open_last_used": "Auto open last used profile on startup"
13891393
},
13901394
"sort": {
13911395
"sort_by": "Sort by",
@@ -1437,6 +1441,7 @@
14371441
"verses_on_individual_lines": "Verses on individual lines",
14381442
"divide_long_verses": "Split long verses",
14391443
"split_long_verses_suffix": "Show letter suffix",
1444+
"tolerance": "Tolerance",
14401445
"version": "Show version",
14411446
"reference": "Show reference",
14421447
"split_reference": "Split reference",

public/lang/hu.json

Lines changed: 17 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -378,6 +378,7 @@
378378
},
379379
"tabs": {
380380
"shows": "Bemutatók",
381+
"shows_info": "A bemutató diákból áll; lehet dal, prezentáció, média, szentírás és még sok más.",
381382
"media": "Média",
382383
"overlays": "Átfedések",
383384
"audio": "Hang",
@@ -505,6 +506,8 @@
505506
"manage_tags": "Címkék kezelése",
506507
"sync_categories": "Kategóriák szinkronizálása",
507508
"effect_items": "Effektus elemek",
509+
"timeline": "Idővonal",
510+
"timecode": "Időjel",
508511
"initialize": "Üdvözöljük a FreeShow-ban",
509512
"unsaved": "Biztosan ki szeretne léptni?",
510513
"cancel": "Mégsem",
@@ -612,6 +615,7 @@
612615
"recolor": "Szín módosítása",
613616
"remove": "Eltávolítás",
614617
"remove_group": "Csoport eltávolítása az elrendezésből",
618+
"remove_group_short": "Csoport eltávolítása",
615619
"choose_group": "Csoport kiválasztása",
616620
"goto_group": "Ugrás a csoporthoz",
617621
"active_outputs": "Aktív kimenetek",
@@ -625,7 +629,9 @@
625629
"import_calendar": "Naptár importálása",
626630
"imported": "Importálva!",
627631
"duplicate": "Duplikálás",
632+
"duplicated": "Duplikált",
628633
"delete": "Törlés",
634+
"delete_slide_short": "Dia törlése",
629635
"delete_slide": "Dia törlése a bemutatóból",
630636
"delete_group": "Csoport törlése",
631637
"delete_all": "Összes törlése",
@@ -638,7 +644,9 @@
638644
"redo": "Ismét",
639645
"cut": "Kivágás",
640646
"copy": "Másolás",
647+
"copied": "Másolt",
641648
"paste": "Beillesztés",
649+
"pasted": "Beillesztett",
642650
"pasteAndMatchStyle": "Beillesztés és stílus egyeztetése",
643651
"selectAll": "Összes kijelölése",
644652
"remove_selection": "Kijelölés törlése",
@@ -834,15 +842,9 @@
834842
"seconds": "másodperc",
835843
"empty": "üres"
836844
},
837-
"recording": {
838-
"remove": "Felvétel eltávolítása",
839-
"tip": "Diák időzítésének rögzítése és lejátszása . Szinkronizálás az első dia hangsávjával.",
840-
"layout_changed": "Az elrendezés módosult az utolsó rögzítés óta!",
841-
"audio_synced": "Hanggal szinkronizálva!",
842-
"start": "Diarögzítés indítása",
843-
"action_play": "Diarögzítés lejátszása",
844-
"use_duration": "Időtartam alkalmazása",
845-
"use_duration_tip": "Időtartam alkalmazása az időbélyeg helyett"
845+
"timeline": {
846+
"toggle_timeline": "Idővonal átváltása",
847+
"start_time": "Idő indítása"
846848
},
847849
"animate": {
848850
"change": "Módosítás",
@@ -859,7 +861,6 @@
859861
"info": "Fájlok szinkronizálása a felhőbe biztonsági mentésként vagy több számítógép közötti hozzáférés érdekében.",
860862
"enable": "Automatikus szinkronizálás indításkor és bezáráskor",
861863
"read_only": "Csak olvasható",
862-
"media_folder": "Felhő médiamappa",
863864
"reconnect": "Újracsatlakozás",
864865
"sync": "Szinkronizálás most",
865866
"change_team": "Csapatváltás",
@@ -1073,7 +1074,8 @@
10731074
"fahrenheit": "Fahrenheit",
10741075
"longRange": "Hosszú távú",
10751076
"media_item_tip": "A médiát háttérként próbálja használni?",
1076-
"convert_to_background": "Konvertálás háttérnek"
1077+
"convert_to_background": "Konvertálás háttérnek",
1078+
"convert_to_media_item": "Háttér átalakítása médiaelemmé"
10771079
},
10781080
"items": {
10791081
"text": "Szövegdoboz",
@@ -1384,8 +1386,10 @@
13841386
"write": "Írás",
13851387
"set_active": "Beállítás aktívnak",
13861388
"choose_profile": "Profil kijelölése",
1389+
"change_profile": "Profil módosítása",
13871390
"choose_admin": "Csak akkor folytassa, ha tudja, mit csinál. Valóban az adminisztrátori profilt választja?",
1388-
"locked": "A kiválasztott profil korlátozott hozzáféréssel rendelkezik ehhez!"
1391+
"locked": "A kiválasztott profil korlátozott hozzáféréssel rendelkezik ehhez!",
1392+
"auto_open_last_used": "Utolsó használt profil automatikus megnyitása indításkor"
13891393
},
13901394
"sort": {
13911395
"sort_by": "Sorba rendezés",
@@ -1437,6 +1441,7 @@
14371441
"verses_on_individual_lines": "Versszakok az egyes sorokban",
14381442
"divide_long_verses": "Hosszú versszakok szétválasztása",
14391443
"split_long_verses_suffix": "Betű utótag megjelenítése",
1444+
"tolerance": "Tolerancia",
14401445
"version": "Verzió megjelenítése",
14411446
"reference": "Hivatkozás megjelenítése",
14421447
"split_reference": "Hivatkozás szétválasztása",

0 commit comments

Comments
 (0)