use blurhash for song backgrounds (#526)
* generate blurhash for all local artwork * use blurhash song background if available * only write blur hash to disk once * use multiple blur hashes * update changelog * fix song detail outline * reset song metadata (artwork)
This commit is contained in:
+3846
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,25 @@
|
||||
using Microsoft.EntityFrameworkCore.Migrations;
|
||||
|
||||
#nullable disable
|
||||
|
||||
namespace ErsatzTV.Infrastructure.Migrations
|
||||
{
|
||||
public partial class Add_ArtworkBlurHash : Migration
|
||||
{
|
||||
protected override void Up(MigrationBuilder migrationBuilder)
|
||||
{
|
||||
migrationBuilder.AddColumn<string>(
|
||||
name: "BlurHash",
|
||||
table: "Artwork",
|
||||
type: "TEXT",
|
||||
nullable: true);
|
||||
}
|
||||
|
||||
protected override void Down(MigrationBuilder migrationBuilder)
|
||||
{
|
||||
migrationBuilder.DropColumn(
|
||||
name: "BlurHash",
|
||||
table: "Artwork");
|
||||
}
|
||||
}
|
||||
}
|
||||
+3852
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,45 @@
|
||||
using Microsoft.EntityFrameworkCore.Migrations;
|
||||
|
||||
#nullable disable
|
||||
|
||||
namespace ErsatzTV.Infrastructure.Migrations
|
||||
{
|
||||
public partial class Add_MoreArtworkBlurHashes : Migration
|
||||
{
|
||||
protected override void Up(MigrationBuilder migrationBuilder)
|
||||
{
|
||||
migrationBuilder.RenameColumn(
|
||||
name: "BlurHash",
|
||||
table: "Artwork",
|
||||
newName: "BlurHash64");
|
||||
|
||||
migrationBuilder.AddColumn<string>(
|
||||
name: "BlurHash43",
|
||||
table: "Artwork",
|
||||
type: "TEXT",
|
||||
nullable: true);
|
||||
|
||||
migrationBuilder.AddColumn<string>(
|
||||
name: "BlurHash54",
|
||||
table: "Artwork",
|
||||
type: "TEXT",
|
||||
nullable: true);
|
||||
}
|
||||
|
||||
protected override void Down(MigrationBuilder migrationBuilder)
|
||||
{
|
||||
migrationBuilder.DropColumn(
|
||||
name: "BlurHash43",
|
||||
table: "Artwork");
|
||||
|
||||
migrationBuilder.DropColumn(
|
||||
name: "BlurHash54",
|
||||
table: "Artwork");
|
||||
|
||||
migrationBuilder.RenameColumn(
|
||||
name: "BlurHash64",
|
||||
table: "Artwork",
|
||||
newName: "BlurHash");
|
||||
}
|
||||
}
|
||||
}
|
||||
+3852
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,31 @@
|
||||
using Microsoft.EntityFrameworkCore.Migrations;
|
||||
|
||||
#nullable disable
|
||||
|
||||
namespace ErsatzTV.Infrastructure.Migrations
|
||||
{
|
||||
public partial class Reset_SongMetadataBlurHash : Migration
|
||||
{
|
||||
protected override void Up(MigrationBuilder migrationBuilder)
|
||||
{
|
||||
migrationBuilder.Sql(
|
||||
@"UPDATE LibraryPath SET LastScan = '0001-01-01 00:00:00' WHERE Id IN
|
||||
(SELECT LP.Id FROM LibraryPath LP INNER JOIN Library L on L.Id = LP.LibraryId WHERE MediaKind = 5)");
|
||||
|
||||
migrationBuilder.Sql(
|
||||
@"UPDATE Library SET LastScan = '0001-01-01 00:00:00' WHERE MediaKind = 5");
|
||||
|
||||
migrationBuilder.Sql(
|
||||
@"UPDATE Artwork SET DateUpdated = '0001-01-01 00:00:00' WHERE SongMetadataId IS NOT NULL");
|
||||
|
||||
migrationBuilder.Sql(
|
||||
@"UPDATE LibraryFolder SET Etag = NULL WHERE Id IN
|
||||
(SELECT LF.Id FROM LibraryFolder LF INNER JOIN LibraryPath LP on LF.LibraryPathId = LP.Id INNER JOIN Library L on LP.LibraryId = L.Id WHERE MediaKind = 5)");
|
||||
}
|
||||
|
||||
protected override void Down(MigrationBuilder migrationBuilder)
|
||||
{
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -144,6 +144,15 @@ namespace ErsatzTV.Infrastructure.Migrations
|
||||
b.Property<int>("ArtworkKind")
|
||||
.HasColumnType("INTEGER");
|
||||
|
||||
b.Property<string>("BlurHash43")
|
||||
.HasColumnType("TEXT");
|
||||
|
||||
b.Property<string>("BlurHash54")
|
||||
.HasColumnType("TEXT");
|
||||
|
||||
b.Property<string>("BlurHash64")
|
||||
.HasColumnType("TEXT");
|
||||
|
||||
b.Property<int?>("ChannelId")
|
||||
.HasColumnType("INTEGER");
|
||||
|
||||
|
||||
Reference in New Issue
Block a user