From 2978cd01275ff9e347c673a7e35546bfa54fc677 Mon Sep 17 00:00:00 2001 From: Dani John Date: Tue, 30 Nov 2021 17:00:52 +0530 Subject: [PATCH] web audio patch - Web wallpaper audio can be muted from Settings -> Audio -> Master volume -> 0 - "Play audio only when desktop is focused" now works with web wallpapers. - Better error message for stream wallpaper customize menu. - Updated WebView2 library. - Updated Spanish translation. Credit: Omar Pro Gamer --- .../livelywpf/Core/API/IpcMessage.cs | 10 ++ .../livelywpf/Core/API/IpcMessageConverter.cs | 1 + .../livelywpf/Core/Wallpapers/WebProcess.cs | 33 ++--- .../livelywpf/Properties/Resources.es.resx | 116 +++++++++--------- src/livelywpf/livelywpf/Systray.cs | 4 +- .../LivelyPropertiesView.xaml.cs | 14 ++- src/livelywpf/livelywpf/livelywpf.csproj | 4 +- 7 files changed, 90 insertions(+), 92 deletions(-) diff --git a/src/livelywpf/livelywpf/Core/API/IpcMessage.cs b/src/livelywpf/livelywpf/Core/API/IpcMessage.cs index c248f069..78305da2 100644 --- a/src/livelywpf/livelywpf/Core/API/IpcMessage.cs +++ b/src/livelywpf/livelywpf/Core/API/IpcMessage.cs @@ -18,6 +18,7 @@ public enum MessageType cmd_screenshot, cmd_suspend, cmd_resume, + cmd_volume, lsp_perfcntr, lsp_nowplaying, lp_slider, @@ -136,6 +137,15 @@ public LivelyResumeCmd() : base(MessageType.cmd_resume) } } + [Serializable] + public class LivelyVolumeCmd : IpcMessage + { + public int Volume { get; set; } + public LivelyVolumeCmd() : base(MessageType.cmd_volume) + { + } + } + [Serializable] public class LivelySystemInformation : IpcMessage { diff --git a/src/livelywpf/livelywpf/Core/API/IpcMessageConverter.cs b/src/livelywpf/livelywpf/Core/API/IpcMessageConverter.cs index 3dd46cf1..353e38e0 100644 --- a/src/livelywpf/livelywpf/Core/API/IpcMessageConverter.cs +++ b/src/livelywpf/livelywpf/Core/API/IpcMessageConverter.cs @@ -21,6 +21,7 @@ public override object ReadJson(JsonReader reader, Type objectType, object exist MessageType.cmd_screenshot => jo.ToObject(serializer), MessageType.cmd_suspend => jo.ToObject(serializer), MessageType.cmd_resume => jo.ToObject(serializer), + MessageType.cmd_volume => jo.ToObject(serializer), MessageType.lsp_perfcntr => jo.ToObject(serializer), MessageType.lsp_nowplaying => jo.ToObject(serializer), MessageType.lp_slider => jo.ToObject(serializer), diff --git a/src/livelywpf/livelywpf/Core/Wallpapers/WebProcess.cs b/src/livelywpf/livelywpf/Core/Wallpapers/WebProcess.cs index 0f3c4d40..9ab5d46e 100644 --- a/src/livelywpf/livelywpf/Core/Wallpapers/WebProcess.cs +++ b/src/livelywpf/livelywpf/Core/Wallpapers/WebProcess.cs @@ -19,7 +19,7 @@ namespace livelywpf.Core.Wallpapers public class WebProcess : IWallpaper { private static readonly NLog.Logger Logger = NLog.LogManager.GetCurrentClassLogger(); - private int cefD3DRenderingSubProcessPid;//, cefAudioSubProcessPid; + private int cefD3DRenderingSubProcessPid; private bool _initialized; public event EventHandler WindowInitialized; private static int globalCount; @@ -43,13 +43,17 @@ public class WebProcess : IWallpaper public WebProcess(string path, ILibraryModel model, ILivelyScreen display, string livelyPropertyPath, string debugPort, bool diskCache, int volume) { - LivelyPropertyCopyPath = livelyPropertyPath; + //Streams can also use browser.. + //TODO: Add support for livelyproperty video adjustments. + var isWeb = model.LivelyInfo.Type == WallpaperType.url || model.LivelyInfo.Type == WallpaperType.web || model.LivelyInfo.Type == WallpaperType.webaudio; + LivelyPropertyCopyPath = isWeb ? livelyPropertyPath : null; StringBuilder cmdArgs = new StringBuilder(); cmdArgs.Append(" --url " + "\"" + path + "\""); cmdArgs.Append(" --display " + "\"" + display + "\""); cmdArgs.Append(" --property " + "\"" + LivelyPropertyCopyPath + "\""); - cmdArgs.Append(" --volume " + volume); + //volume == 0, Cef is permanently muted and cannot be adjusted runtime + cmdArgs.Append(" --volume " + 100); cmdArgs.Append(" --geometry " + display.Bounds.Width + "x" + display.Bounds.Height); //--audio false Issue: https://github.com/commandlineparser/commandline/issues/702 cmdArgs.Append(model.LivelyInfo.Type == WallpaperType.webaudio ? " --audio true" : " "); @@ -285,17 +289,7 @@ public void Close() public void SetVolume(int volume) { - /* - try - { - if (Proc != null) - { - //VolumeMixer.SetApplicationVolume(Proc.Id, volume); - SetProcessAndChildrenVolume(Proc.Id, volume); - } - } - catch { } - */ + SendMessage(new LivelyVolumeCmd() { Volume = volume }); } public void SetMute(bool mute) @@ -303,17 +297,6 @@ public void SetMute(bool mute) //todo } - private void SetProcessAndChildrenVolume(int pid, int volume) - { - ManagementObjectSearcher searcher = new ManagementObjectSearcher("Select * From Win32_Process Where ParentProcessID=" + pid); - ManagementObjectCollection moc = searcher.Get(); - foreach (ManagementObject mo in moc) - { - SetProcessAndChildrenVolume(Convert.ToInt32(mo["ProcessID"]), volume); - } - VolumeMixer.SetApplicationVolume(Process.GetProcessById(pid).Id, volume); - } - private void KillProcessAndChildren(int pid) { ManagementObjectSearcher searcher = new ManagementObjectSearcher("Select * From Win32_Process Where ParentProcessID=" + pid); diff --git a/src/livelywpf/livelywpf/Properties/Resources.es.resx b/src/livelywpf/livelywpf/Properties/Resources.es.resx index 5a80b14d..a623c0dc 100644 --- a/src/livelywpf/livelywpf/Properties/Resources.es.resx +++ b/src/livelywpf/livelywpf/Properties/Resources.es.resx @@ -183,7 +183,7 @@ Deshabilita el modo de alto contraste e intente nuevamente. 2. Selecciona Propiedades 3. Selecciona Configuración avanzada del sistema 4. En la pestaña Rendimiento, selecciona Configuración -5. Habilita animar los elementos y controles de las ventanas +5. Habilita la opcion animar los elementos y controles de las ventanas 6. Aplica los cambios Si Windows 7 se acaba de configurar: ajusta para obtener la mejor apariencia y aplica los cambios. @@ -281,7 +281,7 @@ Si aún no funciona, cierra e inicia Lively nuevamente o reinicia Windows. Procesos en primer plano - Pausar fondos de pantalla + Pausar los fondos de pantalla Terminar @@ -308,7 +308,7 @@ Si aún no funciona, cierra e inicia Lively nuevamente o reinicia Windows. Establecer como fondo de pantalla - Mostrar en disco + Mostrar en el disco Fuente @@ -332,13 +332,13 @@ Si aún no funciona, cierra e inicia Lively nuevamente o reinicia Windows. Pequeño - Headless + Pesada (Para PC de Altos recursos - Lite + Lite (Para Pc de Bajos recursos - Normal + Normal (Para pc que tienen recursos decentes) ¡Actualización disponible! @@ -353,7 +353,7 @@ Si aún no funciona, cierra e inicia Lively nuevamente o reinicia Windows. Comprobación de actualización - ¡El software está actualizado! + ¡El software ha sido actualizado con exito! Video @@ -434,10 +434,10 @@ Todos los procesos: Pesado, analiza todos los procesos abiertos para determinar Tamaño de los mosaicos de la Biblioteca. - Para sistemas de gama baja, selecciona el modo Lite. + Para Sistemas o Pc de bajos recursos por favor elija la version lite (le ayudara mucho) - Selecciona el reproductor utilizado para el fondo de pantalla de video. + Selecciona el reproductor de video para usarlo en los fondos de video o fondos animados Ruta utilizada para almacenar archivos de fondo de pantalla. @@ -540,7 +540,7 @@ Edge es la vista web integrada en Windows 10. Lista de reproducción - Por favor Espera + Por favor Espere... Escalar/Ajustar @@ -579,13 +579,13 @@ Edge es la vista web integrada en Windows 10. Directorio de fondos de pantalla - Input + Entrada Disposición de/los fondo(s) - Reproducción del Fondo + Reproducción del Fondo Advertencia @@ -594,7 +594,7 @@ Edge es la vista web integrada en Windows 10. Navegador web - Caché de disco + Caché de disco duro Motor @@ -606,7 +606,7 @@ Edge es la vista web integrada en Windows 10. Iniciar con Windows - Por favor reinicia Lively para que las configuraciones tengan efecto. + Por favor reinicie Lively para que las configuraciones tengan efecto Haga clic derecho en el icono de notificacion seleccione salir y abralo otra ves Soporte @@ -627,24 +627,24 @@ Edge es la vista web integrada en Windows 10. Cómo se aplica el fondo a las pantallas conectadas. - Mover los fondos de pantalla existentes al nuevo directorio + Mover los fondos de pantalla existentes a un nuevo directorio El reproducto de contenido ha fallado :( -Inta cambiar el reproducto de video desde la configuración de Lively. + Intenta cambiar el reproductor de video desde la configuración de Lively. Para enteder mejor este error y solucionar el problema, comparte el archivo de registro con el desarrollador. Visita el siguiente enlace con instrucciones sobre como compartir el archivo de registro: https://github.com/rocksdanister/lively/wiki - APAGADO + Apagado - ENCENDIDO + Encendido - Ratón + Mouse Teclado @@ -695,13 +695,13 @@ https://github.com/rocksdanister/lively/wiki Mostrar el menú de desarrollador - Archivo no encontrado - + El Archivo no ha podido ser encontrado (puede ser que se ha movido o se ha borrado) + Imagen - Este tipo de archivo no está soportado + El tipo de archivo no es soportado o esta corrupto Procesando @@ -713,7 +713,7 @@ https://github.com/rocksdanister/lively/wiki Descripción - OK + Ok Cancelar @@ -728,16 +728,16 @@ https://github.com/rocksdanister/lively/wiki Selecciona el reproductor que quieras usar para convertir los GIFs en fondos de pantalla. - Algunas funciones no están disponibles en esta versión de Lively. + Algunas funciones no están disponibles en esta versión de Lively. Por favor use la version de Internet ya que la de la tienda es para pc de Altos recursos - + Haz click aquí para administrar tus fondos de pantalla. - + Te está gustando Lively? Deja un comentario 😁 - Store + Tienda Para diferentes versiones de Lively, ejemplo: Microsoft Store @@ -753,58 +753,58 @@ https://github.com/rocksdanister/lively/wiki Reproducir audio solo cuando el escritorio esté enfocado - Create log report file. + Crear un archivo log de soporte Log File - Report Bug + Reportar Bug - GPU Decode + Decodificacion de GPU - Use hardware acceleration when possible. - + Usar Aceleracion de Hardware cuando sea posible + - Please stop before proceeding. + Por Favor pare antes de proceder - - Edit + + Editar - - Location + + Ubicacion - - Skip Confirmation + + Saltar Confirmacion - - Enter optional commandline arguments + + Poner algunos argumentos de comandos opcionales - Show some love by dropping a star + Muestra algo de amor dejando caer una estrella - Incompatible program found, taskbar theming disabled. + No se ha encontrado un programa compatible se desabilitara el tema de la barra de tareas - Taskbar Theme - + + Tema de Barra de Tares - Lockscreen Picture + Imagen de pantalla de bloqueo - Desktop Picture + Imagen de Escritorio - Set a picture of animated wallpaper as lockscreen wallpaper. + Poner un fondo animado en la pantalla de bloqueo - Set a picture of animated wallpaper as desktop wallpaper. + Poner un fondo animado en el escritorio - Change system taskbar appearance. + Cambiar la aparienciea de la barra de tareas del sistema Blur @@ -830,22 +830,22 @@ https://github.com/rocksdanister/lively/wiki Source Code - + Screensaver After the selected inactivity period use the current wallpaper as your screensaver. - - hours + + Horas - minutes + Minutos - Learn more + Aprender más - + La mayoría de pantallas modernas LCD y LED no sufren de quemado de pantalla, y por esa razón cualquier fondo de pantallas puede ser usado como salva pantallas. Para pantallas OLED, Plasma o CRT que son susceptibles ha quemado y retención de imagen es recomendado el uso de salva pantallas con movimiento continuo, y que tenga un tema relativamente oscuro que ayuden a mitigar el quemado de la pantalla, pero la eficacia de este método no ah sido comprobado y no puede ser garantizado. @@ -897,5 +897,5 @@ Updates will be frequent and may contain bugs! On resume, display logon screen - - + + \ No newline at end of file diff --git a/src/livelywpf/livelywpf/Systray.cs b/src/livelywpf/livelywpf/Systray.cs index 261bfaba..d953b5dc 100644 --- a/src/livelywpf/livelywpf/Systray.cs +++ b/src/livelywpf/livelywpf/Systray.cs @@ -195,7 +195,7 @@ private void SetUpdateMenu(AppUpdateStatus status) private void CustomiseWallpaper(object sender, EventArgs e) { - var items = desktopCore.Wallpapers.Where(x => x.Model.LivelyPropertyPath != null); + var items = desktopCore.Wallpapers.Where(x => x.LivelyPropertyCopyPath != null); if (items.Count() == 0) { //not possible, menu should be disabled. @@ -295,7 +295,7 @@ private void SetupDesktop_WallpaperChanged(object sender, EventArgs e) { System.Windows.Application.Current.Dispatcher.BeginInvoke(DispatcherPriority.Background, new ThreadStart(delegate { - customiseWallpaperBtn.Enabled = desktopCore.Wallpapers.Any(x => x.Model.LivelyPropertyPath != null); + customiseWallpaperBtn.Enabled = desktopCore.Wallpapers.Any(x => x.LivelyPropertyCopyPath != null); })); } diff --git a/src/livelywpf/livelywpf/Views/LivelyProperty/LivelyPropertiesView.xaml.cs b/src/livelywpf/livelywpf/Views/LivelyProperty/LivelyPropertiesView.xaml.cs index 31308bde..34c817a1 100644 --- a/src/livelywpf/livelywpf/Views/LivelyProperty/LivelyPropertiesView.xaml.cs +++ b/src/livelywpf/livelywpf/Views/LivelyProperty/LivelyPropertiesView.xaml.cs @@ -68,7 +68,10 @@ private void LoadUI() { try { - this.livelyPropertyCopyData = JsonUtil.Read(livelyPropertyCopyPath); + if (livelyPropertyCopyPath != null) + { + this.livelyPropertyCopyData = JsonUtil.Read(livelyPropertyCopyPath); + } GenerateUIElements(); } catch (Exception e) @@ -88,15 +91,16 @@ private void GenerateUIElements() wallpaperData.LivelyInfo.Type == WallpaperType.gif || wallpaperData.LivelyInfo.Type == WallpaperType.picture) { - msg += "\nMpv player is required..."; + msg += "\n(Mpv player is required.)"; } //Empty.. AddUIElement(new TextBlock { Text = msg, - Background = Brushes.Red, - Foreground = Brushes.Yellow, - HorizontalAlignment = HorizontalAlignment.Left, + //Background = Brushes.Red, + FontSize = 18, + Foreground = Brushes.Gray, + HorizontalAlignment = HorizontalAlignment.Left, Margin = new Thickness(0, 50, 0, 0) }); return; diff --git a/src/livelywpf/livelywpf/livelywpf.csproj b/src/livelywpf/livelywpf/livelywpf.csproj index 535d8d5e..a537557b 100644 --- a/src/livelywpf/livelywpf/livelywpf.csproj +++ b/src/livelywpf/livelywpf/livelywpf.csproj @@ -10,7 +10,7 @@ livelywpf.Program appicon.ico 1.0.0 - 1.7.5.0 + 1.7.5.1 @@ -34,7 +34,7 @@ - +