Skip to content

Commit

Permalink
Merge pull request #4 from rocksdanister/dev-build
Browse files Browse the repository at this point in the history
Dev build
  • Loading branch information
rocksdanister authored Dec 18, 2019
2 parents fcef3be + 5078fe7 commit cbb86c8
Show file tree
Hide file tree
Showing 47 changed files with 2,695 additions and 430 deletions.
33 changes: 25 additions & 8 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -39,8 +39,14 @@ Help translate lively to other languages: <a href="https://github.com/rocksdanis
* Play .mp4, mkv, webm, avi, mov etc
* Hardware Acceleration support.
* Audio will mute when not on desktop.
#### Youtube & streams
![demo-gif3](/resources/yt-gif.gif?raw=true "html")

* Just drag & drop youtube link to set as desktop wallpaper.
* Video quality is adjustable in settings.
* Additional software <a href="https://github.com/rocksdanister/lively/wiki/Youtube-Wallpaper">required.</a>
#### Web Pages & html
![demo-gif3](/resources/html.gif?raw=true "html")
![demo-gif7](/resources/html.gif?raw=true "html")

<a href="http://louie.co.nz/25th_hour/"> 25th Hour</a> by Loius Coyle
* Chromium Embedded Framework.
Expand Down Expand Up @@ -70,12 +76,16 @@ Help translate lively to other languages: <a href="https://github.com/rocksdanis
#### & more:
- Easy to use, Just drag & drop media files & webpages into lively window to set it as wallpaper.
- Easy to share Lively-zip format, just drag & drop the zip file to import it into Library, use the built-in creator to make them (ensures compatibility).
- Full Multiple monitor support, play different wallpaper per screen or span a single wallpaper across all screens.
- Hardware accelerated video playback, with option to use external Directshow codec of your choice. ( LAV(recommended), K-Lite, Kawaii Codec..)
- Library to browse and preview wallpapers.
- You can use it alongside rainmeter.
- Efficient, its a native c# wpf application with c++ calls.
- Fully opensource & free; no blackmagic, no features behind paywall.
#### multiple monitor support:
- Full Multiple monitor support.
- Span single wallpaper across all screens.
- Duplicate same wallpaper all screens.
- Different wallpaper per screens.
#### Regarding Performance:
* Wallpaper playback pauses when fullscreen application/games run on the machine (~0% cpu, gpu usage).
* Optionally you can set wallpaper to only play when on desktop.
Expand All @@ -84,21 +94,28 @@ Help translate lively to other languages: <a href="https://github.com/rocksdanis
* Kill wallpaper when fullscreen apps/games run(coming soon).
* Mute audio when not on desktop (or optionally always mute).

**_I'm not officially affiliated with Unity technologies, godot, bizhawk, shadertoy;_**
**_I'm not officially affiliated with Unity technologies, youtube, godot, bizhawk, shadertoy;_**
## Download
##### Latest version: v0.3.4.0 (Windows 10, 8.1)
##### Latest version: v0.5.0.0 (Windows 10, 8.1)
- [`lively_full_x86.zip`][direct-full-win32]
_130MB, Web wallpaper support & some sample wallpapers included._
_116MB, Web wallpaper support & some sample wallpapers included._

- [`lively_x86.zip`][direct-just-win32]
_76MB, Web wallpaper support.

- [`lively_lite_x86.zip`][direct-lite-win32]
_5MB, No web wallpaper support._

[direct-full-win32]: https://github.com/rocksdanister/lively/releases/download/v0.3.4.0/lively_full_x86.zip
[direct-full-win32]: https://github.com/rocksdanister/lively/releases/download/v0.5.0.0/lively_full_x86.zip

[direct-lite-win32]: https://github.com/rocksdanister/lively/releases/download/v0.3.4.0/lively_lite_x86.zip
[direct-just-win32]: https://github.com/rocksdanister/lively/releases/download/v0.5.0.0/lively_x86.zip

[direct-lite-win32]: https://github.com/rocksdanister/lively/releases/download/v0.5.0.0/lively_lite_x86.zip

Unzip the file, select livelywpf.exe to get started, first run will be slow due to windows defender scanning.

To update from old version, download `lively_x86.zip`, delete everything except `SaveData` & `wallpapers` folder from your existing lively folder & just unzip the new version over it.

[Trouble Getting started? ](https://github.com/rocksdanister/lively/wiki/Getting-Started)

Certain antivirus software heuristics algorithm will detect lively as a virus, this is a false positive
Expand All @@ -111,7 +128,7 @@ Certain antivirus software heuristics algorithm will detect lively as a virus, t
## Contributing
Code contributions are welcome, check [guidelines](https://github.com/rocksdanister/lively/wiki) for making pull request.

Currently Lively is only in English, other languages are machine translated. If interested in translating:
Currently Lively is only in English, other languages are machine translated.

##### Related Projects
https://github.com/rocksdanister/lively-cef
Expand Down
Binary file added builds/v0.5.0.0/lively_lite_x86.zip
Binary file not shown.
Binary file added builds/v0.5.0.0/lively_x86.zip
Binary file not shown.
Binary file added resources/yt-gif.gif
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
6 changes: 6 additions & 0 deletions src/livelywpf/livelyUpdater/App.config
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<startup>
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.7.2" />
</startup>
</configuration>
59 changes: 59 additions & 0 deletions src/livelywpf/livelyUpdater/Form1.Designer.cs

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

74 changes: 74 additions & 0 deletions src/livelywpf/livelyUpdater/Form1.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,74 @@
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Net;
using System.Text;
using System.Threading;
using System.Threading.Tasks;
using System.Windows.Forms;

namespace livelyUpdater
{
/// <summary>
/// Incomplete
/// work in progress, download & update's portable version of lively.
/// </summary>
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}

private void Form1_Load(object sender, EventArgs e)
{
DownloadFile("https://github.com/rocksdanister/lively/releases/download/v0.3.4.0/lively_lite_x86.zip", "update.zip");
}

private void DownloadFile(string url, string fileName)
{
WebClient client = new WebClient();
client.DownloadProgressChanged += new DownloadProgressChangedEventHandler(Client_DownloadProgressChanged);
client.DownloadFileCompleted += new AsyncCompletedEventHandler(Client_DownloadFileCompleted);
try
{
client.DownloadFileAsync(new Uri(url), fileName);
//Task.Run(() => client.DownloadFileAsync(new Uri(url), "update.zip"));
}
catch (WebException e1)
{
MessageBox.Show("Failed to download update: " + e1.Message, "Error");
Application.Exit();
}
catch(InvalidOperationException e2)
{
MessageBox.Show("Failed to download update: " + e2.Message, "Error");
Application.Exit();
}
catch(ArgumentException e3)
{
MessageBox.Show("Failed to download update: " + e3.Message, "Error");
Application.Exit();
}
}

void Client_DownloadProgressChanged(object sender, DownloadProgressChangedEventArgs e)
{
this.BeginInvoke((MethodInvoker)delegate {
double bytesIn = double.Parse(e.BytesReceived.ToString());
double totalBytes = double.Parse(e.TotalBytesToReceive.ToString());
double percentage = bytesIn / totalBytes * 100;
progressBar1.Value = int.Parse(Math.Truncate(percentage).ToString());
});
}

void Client_DownloadFileCompleted(object sender, AsyncCompletedEventArgs e)
{
System.Diagnostics.Process.Start("update.zip");
}

}
}
120 changes: 120 additions & 0 deletions src/livelywpf/livelyUpdater/Form1.resx
Original file line number Diff line number Diff line change
@@ -0,0 +1,120 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
</root>
22 changes: 22 additions & 0 deletions src/livelywpf/livelyUpdater/Program.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
using System.Windows.Forms;

namespace livelyUpdater
{
static class Program
{
/// <summary>
/// The main entry point for the application.
/// </summary>
[STAThread]
static void Main()
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
Application.Run(new Form1());
}
}
}
Loading

0 comments on commit cbb86c8

Please sign in to comment.