()
| 1975 | } |
| 1976 | |
| 1977 | function openLibraryEditor() { |
| 1978 | closeFolderEditor(); |
| 1979 | closeLibraryEditor(); |
| 1980 | |
| 1981 | const overlay = document.createElement("div"); |
| 1982 | overlay.className = "library-editor-backdrop"; |
| 1983 | overlay.innerHTML = ` |
| 1984 | <div class="library-editor" role="dialog" aria-modal="true" aria-label="Settings"> |
| 1985 | <div class="library-editor-head"> |
| 1986 | <span>Settings</span> |
| 1987 | <button class="library-editor-close" type="button" aria-label="Close"> |
| 1988 | <svg viewBox="0 0 24 24" width="14" height="14" fill="none" stroke="currentColor" stroke-width="2" aria-hidden="true"><path d="M18 6 6 18M6 6l12 12"></path></svg> |
| 1989 | </button> |
| 1990 | </div> |
| 1991 | <div class="settings-tabs" role="tablist"> |
| 1992 | <button class="settings-tab active" type="button" data-tab="general" role="tab">General</button> |
| 1993 | <button class="settings-tab" type="button" data-tab="advanced" role="tab">Advanced</button> |
| 1994 | </div> |
| 1995 | <div class="settings-pane" data-pane="general"> |
| 1996 | <div class="settings-section"> |
| 1997 | <div class="settings-row"> |
| 1998 | <div class="settings-row-text"> |
| 1999 | <div class="settings-row-title">Max track length</div> |
| 2000 | <div class="settings-row-desc">Longest track accepted for processing, in minutes (max 20).</div> |
| 2001 | </div> |
| 2002 | <input type="text" class="settings-num-input set-max-duration" inputmode="numeric" maxlength="2" aria-label="Max track length in minutes" /> |
| 2003 | </div> |
| 2004 | </div> |
| 2005 | <div class="settings-section"> |
| 2006 | <div class="settings-row"> |
| 2007 | <div class="settings-row-text"> |
| 2008 | <div class="settings-row-title">MP4 video quality</div> |
| 2009 | <div class="settings-row-desc">Max resolution for MP4 export and YouTube video.</div> |
| 2010 | </div> |
| 2011 | <select class="settings-select set-video-height"> |
| 2012 | <option value="360">360p</option> |
| 2013 | <option value="480">480p</option> |
| 2014 | <option value="720">720p</option> |
| 2015 | <option value="1080">1080p</option> |
| 2016 | </select> |
| 2017 | </div> |
| 2018 | </div> |
| 2019 | </div> |
| 2020 | <div class="settings-pane hidden" data-pane="advanced"> |
| 2021 | ${networkSettingsHtml()} |
| 2022 | <div class="settings-section"> |
| 2023 | <div class="settings-row"> |
| 2024 | <div class="settings-row-text"> |
| 2025 | <div class="settings-row-title">Port</div> |
| 2026 | <div class="settings-row-desc">Port StemDeck runs on. Restart to apply.</div> |
| 2027 | </div> |
| 2028 | <input type="text" class="settings-num-input set-port" inputmode="numeric" maxlength="5" aria-label="Port" /> |
| 2029 | </div> |
| 2030 | </div> |
| 2031 | <div class="settings-subhead">Out of sync tracks</div> |
| 2032 | <div class="library-editor-table-wrap"> |
| 2033 | <table class="library-editor-table"> |
| 2034 | <thead><tr><th>Name</th><th>Source</th><th>Location</th></tr></thead> |
nothing calls this directly
no test coverage detected