Projektdateien hinzufügen.
This commit is contained in:
parent
35ad331302
commit
676717cfbf
25
UltraStarSongPicker.sln
Normal file
25
UltraStarSongPicker.sln
Normal file
@ -0,0 +1,25 @@
|
||||
|
||||
Microsoft Visual Studio Solution File, Format Version 12.00
|
||||
# Visual Studio Version 16
|
||||
VisualStudioVersion = 16.0.30717.126
|
||||
MinimumVisualStudioVersion = 10.0.40219.1
|
||||
Project("{F184B08F-C81C-45F6-A57F-5ABD9991F28F}") = "UltraStarSongPicker", "UltraStarSongPicker\UltraStarSongPicker.vbproj", "{5360AAE3-11B2-47D7-A5BA-9C768918D167}"
|
||||
EndProject
|
||||
Global
|
||||
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
||||
Debug|Any CPU = Debug|Any CPU
|
||||
Release|Any CPU = Release|Any CPU
|
||||
EndGlobalSection
|
||||
GlobalSection(ProjectConfigurationPlatforms) = postSolution
|
||||
{5360AAE3-11B2-47D7-A5BA-9C768918D167}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{5360AAE3-11B2-47D7-A5BA-9C768918D167}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{5360AAE3-11B2-47D7-A5BA-9C768918D167}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{5360AAE3-11B2-47D7-A5BA-9C768918D167}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
EndGlobalSection
|
||||
GlobalSection(SolutionProperties) = preSolution
|
||||
HideSolutionNode = FALSE
|
||||
EndGlobalSection
|
||||
GlobalSection(ExtensibilityGlobals) = postSolution
|
||||
SolutionGuid = {E71264D8-B793-43E8-9DA3-129C11700073}
|
||||
EndGlobalSection
|
||||
EndGlobal
|
||||
44
UltraStarSongPicker/App.config
Normal file
44
UltraStarSongPicker/App.config
Normal file
@ -0,0 +1,44 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<configuration>
|
||||
<configSections>
|
||||
<sectionGroup name="userSettings" type="System.Configuration.UserSettingsGroup, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<section name="UltraStarSongPicker.My.MySettings" type="System.Configuration.ClientSettingsSection, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" allowExeDefinition="MachineToLocalUser" requirePermission="false" />
|
||||
</sectionGroup>
|
||||
<!-- For more information on Entity Framework configuration, visit http://go.microsoft.com/fwlink/?LinkID=237468 -->
|
||||
<section name="entityFramework" type="System.Data.Entity.Internal.ConfigFile.EntityFrameworkSection, EntityFramework, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false" />
|
||||
</configSections>
|
||||
<startup>
|
||||
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.8" />
|
||||
</startup>
|
||||
<userSettings>
|
||||
<UltraStarSongPicker.My.MySettings>
|
||||
<setting name="FavDir" serializeAs="String">
|
||||
<value />
|
||||
</setting>
|
||||
</UltraStarSongPicker.My.MySettings>
|
||||
</userSettings>
|
||||
<entityFramework>
|
||||
<providers>
|
||||
<provider invariantName="System.Data.SqlClient" type="System.Data.Entity.SqlServer.SqlProviderServices, EntityFramework.SqlServer" />
|
||||
<provider invariantName="System.Data.SQLite.EF6" type="System.Data.SQLite.EF6.SQLiteProviderServices, System.Data.SQLite.EF6" />
|
||||
</providers>
|
||||
</entityFramework>
|
||||
<system.data>
|
||||
<DbProviderFactories>
|
||||
<remove invariant="System.Data.SQLite.EF6" />
|
||||
<add name="SQLite Data Provider (Entity Framework 6)" invariant="System.Data.SQLite.EF6" description=".NET Framework Data Provider for SQLite (Entity Framework 6)" type="System.Data.SQLite.EF6.SQLiteProviderFactory, System.Data.SQLite.EF6" />
|
||||
<remove invariant="System.Data.SQLite" /><add name="SQLite Data Provider" invariant="System.Data.SQLite" description=".NET Framework Data Provider for SQLite" type="System.Data.SQLite.SQLiteFactory, System.Data.SQLite" /></DbProviderFactories>
|
||||
</system.data>
|
||||
<runtime>
|
||||
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="System.Runtime.CompilerServices.Unsafe" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
|
||||
<bindingRedirect oldVersion="0.0.0.0-6.0.0.0" newVersion="6.0.0.0" />
|
||||
</dependentAssembly>
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="System.Memory" publicKeyToken="cc7b13ffcd2ddd51" culture="neutral" />
|
||||
<bindingRedirect oldVersion="0.0.0.0-4.0.1.2" newVersion="4.0.1.2" />
|
||||
</dependentAssembly>
|
||||
</assemblyBinding>
|
||||
</runtime>
|
||||
</configuration>
|
||||
38
UltraStarSongPicker/My Project/Application.Designer.vb
generated
Normal file
38
UltraStarSongPicker/My Project/Application.Designer.vb
generated
Normal file
@ -0,0 +1,38 @@
|
||||
'------------------------------------------------------------------------------
|
||||
' <auto-generated>
|
||||
' Dieser Code wurde von einem Tool generiert.
|
||||
' Laufzeitversion:4.0.30319.42000
|
||||
'
|
||||
' Änderungen an dieser Datei können falsches Verhalten verursachen und gehen verloren, wenn
|
||||
' der Code erneut generiert wird.
|
||||
' </auto-generated>
|
||||
'------------------------------------------------------------------------------
|
||||
|
||||
Option Strict On
|
||||
Option Explicit On
|
||||
|
||||
|
||||
Namespace My
|
||||
|
||||
'HINWEIS: Diese Datei wird automatisch generiert und darf nicht direkt bearbeitet werden. Wenn Sie Änderungen vornehmen möchten
|
||||
' oder in dieser Datei Buildfehler auftreten, wechseln Sie zum Projekt-Designer.
|
||||
' (Wechseln Sie dazu zu den Projekteigenschaften, oder doppelklicken Sie auf den Knoten "Mein Projekt" im
|
||||
' Projektmappen-Explorer). Nehmen Sie auf der Registerkarte "Anwendung" entsprechende Änderungen vor.
|
||||
'
|
||||
Partial Friend Class MyApplication
|
||||
|
||||
<Global.System.Diagnostics.DebuggerStepThroughAttribute()> _
|
||||
Public Sub New()
|
||||
MyBase.New(Global.Microsoft.VisualBasic.ApplicationServices.AuthenticationMode.Windows)
|
||||
Me.IsSingleInstance = false
|
||||
Me.EnableVisualStyles = true
|
||||
Me.SaveMySettingsOnExit = true
|
||||
Me.ShutDownStyle = Global.Microsoft.VisualBasic.ApplicationServices.ShutdownMode.AfterMainFormCloses
|
||||
End Sub
|
||||
|
||||
<Global.System.Diagnostics.DebuggerStepThroughAttribute()> _
|
||||
Protected Overrides Sub OnCreateMainForm()
|
||||
Me.MainForm = Global.UltraStarSongPicker.frmMain
|
||||
End Sub
|
||||
End Class
|
||||
End Namespace
|
||||
10
UltraStarSongPicker/My Project/Application.myapp
Normal file
10
UltraStarSongPicker/My Project/Application.myapp
Normal file
@ -0,0 +1,10 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<MyApplicationData xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
|
||||
<MySubMain>true</MySubMain>
|
||||
<MainForm>frmMain</MainForm>
|
||||
<SingleInstance>false</SingleInstance>
|
||||
<ShutdownMode>0</ShutdownMode>
|
||||
<EnableVisualStyles>true</EnableVisualStyles>
|
||||
<AuthenticationMode>0</AuthenticationMode>
|
||||
<SaveMySettingsOnExit>true</SaveMySettingsOnExit>
|
||||
</MyApplicationData>
|
||||
35
UltraStarSongPicker/My Project/AssemblyInfo.vb
Normal file
35
UltraStarSongPicker/My Project/AssemblyInfo.vb
Normal file
@ -0,0 +1,35 @@
|
||||
Imports System
|
||||
Imports System.Reflection
|
||||
Imports System.Runtime.InteropServices
|
||||
|
||||
' Allgemeine Informationen über eine Assembly werden über die folgenden
|
||||
' Attribute gesteuert. Ändern Sie diese Attributwerte, um die Informationen zu ändern,
|
||||
' die einer Assembly zugeordnet sind.
|
||||
|
||||
' Werte der Assemblyattribute überprüfen
|
||||
|
||||
<Assembly: AssemblyTitle("UltraStarSongPicker")>
|
||||
<Assembly: AssemblyDescription("")>
|
||||
<Assembly: AssemblyCompany("")>
|
||||
<Assembly: AssemblyProduct("UltraStarSongPicker")>
|
||||
<Assembly: AssemblyCopyright("Copyright © CK 2023")>
|
||||
<Assembly: AssemblyTrademark("")>
|
||||
|
||||
<Assembly: ComVisible(False)>
|
||||
|
||||
'Die folgende GUID wird für die typelib-ID verwendet, wenn dieses Projekt für COM verfügbar gemacht wird.
|
||||
<Assembly: Guid("366cff89-45bb-487a-810c-330e3d4c504a")>
|
||||
|
||||
' Versionsinformationen für eine Assembly bestehen aus den folgenden vier Werten:
|
||||
'
|
||||
' Hauptversion
|
||||
' Nebenversion
|
||||
' Buildnummer
|
||||
' Revision
|
||||
'
|
||||
' Sie können alle Werte angeben oder Standardwerte für die Build- und Revisionsnummern verwenden,
|
||||
' indem Sie "*" wie unten gezeigt eingeben:
|
||||
' <Assembly: AssemblyVersion("1.0.*")>
|
||||
|
||||
<Assembly: AssemblyVersion("1.0.0.0")>
|
||||
<Assembly: AssemblyFileVersion("1.3.0.0")>
|
||||
103
UltraStarSongPicker/My Project/Resources.Designer.vb
generated
Normal file
103
UltraStarSongPicker/My Project/Resources.Designer.vb
generated
Normal file
@ -0,0 +1,103 @@
|
||||
'------------------------------------------------------------------------------
|
||||
' <auto-generated>
|
||||
' Dieser Code wurde von einem Tool generiert.
|
||||
' Laufzeitversion:4.0.30319.42000
|
||||
'
|
||||
' Änderungen an dieser Datei können falsches Verhalten verursachen und gehen verloren, wenn
|
||||
' der Code erneut generiert wird.
|
||||
' </auto-generated>
|
||||
'------------------------------------------------------------------------------
|
||||
|
||||
Option Strict On
|
||||
Option Explicit On
|
||||
|
||||
Imports System
|
||||
|
||||
Namespace My.Resources
|
||||
|
||||
'Diese Klasse wurde von der StronglyTypedResourceBuilder automatisch generiert
|
||||
'-Klasse über ein Tool wie ResGen oder Visual Studio automatisch generiert.
|
||||
'Um einen Member hinzuzufügen oder zu entfernen, bearbeiten Sie die .ResX-Datei und führen dann ResGen
|
||||
'mit der /str-Option erneut aus, oder Sie erstellen Ihr VS-Projekt neu.
|
||||
'''<summary>
|
||||
''' Eine stark typisierte Ressourcenklasse zum Suchen von lokalisierten Zeichenfolgen usw.
|
||||
'''</summary>
|
||||
<Global.System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "17.0.0.0"), _
|
||||
Global.System.Diagnostics.DebuggerNonUserCodeAttribute(), _
|
||||
Global.System.Runtime.CompilerServices.CompilerGeneratedAttribute(), _
|
||||
Global.Microsoft.VisualBasic.HideModuleNameAttribute()> _
|
||||
Friend Module Resources
|
||||
|
||||
Private resourceMan As Global.System.Resources.ResourceManager
|
||||
|
||||
Private resourceCulture As Global.System.Globalization.CultureInfo
|
||||
|
||||
'''<summary>
|
||||
''' Gibt die zwischengespeicherte ResourceManager-Instanz zurück, die von dieser Klasse verwendet wird.
|
||||
'''</summary>
|
||||
<Global.System.ComponentModel.EditorBrowsableAttribute(Global.System.ComponentModel.EditorBrowsableState.Advanced)> _
|
||||
Friend ReadOnly Property ResourceManager() As Global.System.Resources.ResourceManager
|
||||
Get
|
||||
If Object.ReferenceEquals(resourceMan, Nothing) Then
|
||||
Dim temp As Global.System.Resources.ResourceManager = New Global.System.Resources.ResourceManager("UltraStarSongPicker.Resources", GetType(Resources).Assembly)
|
||||
resourceMan = temp
|
||||
End If
|
||||
Return resourceMan
|
||||
End Get
|
||||
End Property
|
||||
|
||||
'''<summary>
|
||||
''' Überschreibt die CurrentUICulture-Eigenschaft des aktuellen Threads für alle
|
||||
''' Ressourcenzuordnungen, die diese stark typisierte Ressourcenklasse verwenden.
|
||||
'''</summary>
|
||||
<Global.System.ComponentModel.EditorBrowsableAttribute(Global.System.ComponentModel.EditorBrowsableState.Advanced)> _
|
||||
Friend Property Culture() As Global.System.Globalization.CultureInfo
|
||||
Get
|
||||
Return resourceCulture
|
||||
End Get
|
||||
Set
|
||||
resourceCulture = value
|
||||
End Set
|
||||
End Property
|
||||
|
||||
'''<summary>
|
||||
''' Sucht eine lokalisierte Ressource vom Typ DevExpress.Utils.Svg.SvgImage.
|
||||
'''</summary>
|
||||
Friend ReadOnly Property changeview() As DevExpress.Utils.Svg.SvgImage
|
||||
Get
|
||||
Dim obj As Object = ResourceManager.GetObject("changeview", resourceCulture)
|
||||
Return CType(obj,DevExpress.Utils.Svg.SvgImage)
|
||||
End Get
|
||||
End Property
|
||||
|
||||
'''<summary>
|
||||
''' Sucht eine lokalisierte Ressource vom Typ DevExpress.Utils.Svg.SvgImage.
|
||||
'''</summary>
|
||||
Friend ReadOnly Property documentpdf() As DevExpress.Utils.Svg.SvgImage
|
||||
Get
|
||||
Dim obj As Object = ResourceManager.GetObject("documentpdf", resourceCulture)
|
||||
Return CType(obj,DevExpress.Utils.Svg.SvgImage)
|
||||
End Get
|
||||
End Property
|
||||
|
||||
'''<summary>
|
||||
''' Sucht eine lokalisierte Ressource vom Typ DevExpress.Utils.Svg.SvgImage.
|
||||
'''</summary>
|
||||
Friend ReadOnly Property properties() As DevExpress.Utils.Svg.SvgImage
|
||||
Get
|
||||
Dim obj As Object = ResourceManager.GetObject("properties", resourceCulture)
|
||||
Return CType(obj,DevExpress.Utils.Svg.SvgImage)
|
||||
End Get
|
||||
End Property
|
||||
|
||||
'''<summary>
|
||||
''' Sucht eine lokalisierte Ressource vom Typ DevExpress.Utils.Svg.SvgImage.
|
||||
'''</summary>
|
||||
Friend ReadOnly Property save() As DevExpress.Utils.Svg.SvgImage
|
||||
Get
|
||||
Dim obj As Object = ResourceManager.GetObject("save", resourceCulture)
|
||||
Return CType(obj,DevExpress.Utils.Svg.SvgImage)
|
||||
End Get
|
||||
End Property
|
||||
End Module
|
||||
End Namespace
|
||||
133
UltraStarSongPicker/My Project/Resources.resx
Normal file
133
UltraStarSongPicker/My Project/Resources.resx
Normal file
@ -0,0 +1,133 @@
|
||||
<?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>
|
||||
<assembly alias="System.Windows.Forms" name="System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
|
||||
<data name="documentpdf" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\documentpdf.svg;DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v22.1, Version=22.1.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a</value>
|
||||
</data>
|
||||
<data name="changeview" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\changeview.svg;DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v22.1, Version=22.1.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a</value>
|
||||
</data>
|
||||
<data name="properties" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\properties.svg;DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v22.1, Version=22.1.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a</value>
|
||||
</data>
|
||||
<data name="save" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\save.svg;DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v22.1, Version=22.1.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a</value>
|
||||
</data>
|
||||
</root>
|
||||
85
UltraStarSongPicker/My Project/Settings.Designer.vb
generated
Normal file
85
UltraStarSongPicker/My Project/Settings.Designer.vb
generated
Normal file
@ -0,0 +1,85 @@
|
||||
'------------------------------------------------------------------------------
|
||||
' <auto-generated>
|
||||
' Dieser Code wurde von einem Tool generiert.
|
||||
' Laufzeitversion:4.0.30319.42000
|
||||
'
|
||||
' Änderungen an dieser Datei können falsches Verhalten verursachen und gehen verloren, wenn
|
||||
' der Code erneut generiert wird.
|
||||
' </auto-generated>
|
||||
'------------------------------------------------------------------------------
|
||||
|
||||
Option Strict On
|
||||
Option Explicit On
|
||||
|
||||
|
||||
Namespace My
|
||||
|
||||
<Global.System.Runtime.CompilerServices.CompilerGeneratedAttribute(), _
|
||||
Global.System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "17.2.0.0"), _
|
||||
Global.System.ComponentModel.EditorBrowsableAttribute(Global.System.ComponentModel.EditorBrowsableState.Advanced)> _
|
||||
Partial Friend NotInheritable Class MySettings
|
||||
Inherits Global.System.Configuration.ApplicationSettingsBase
|
||||
|
||||
Private Shared defaultInstance As MySettings = CType(Global.System.Configuration.ApplicationSettingsBase.Synchronized(New MySettings()),MySettings)
|
||||
|
||||
#Region "Automatische My.Settings-Speicherfunktion"
|
||||
#If _MyType = "WindowsForms" Then
|
||||
Private Shared addedHandler As Boolean
|
||||
|
||||
Private Shared addedHandlerLockObject As New Object
|
||||
|
||||
<Global.System.Diagnostics.DebuggerNonUserCodeAttribute(), Global.System.ComponentModel.EditorBrowsableAttribute(Global.System.ComponentModel.EditorBrowsableState.Advanced)> _
|
||||
Private Shared Sub AutoSaveSettings(sender As Global.System.Object, e As Global.System.EventArgs)
|
||||
If My.Application.SaveMySettingsOnExit Then
|
||||
My.Settings.Save()
|
||||
End If
|
||||
End Sub
|
||||
#End If
|
||||
#End Region
|
||||
|
||||
Public Shared ReadOnly Property [Default]() As MySettings
|
||||
Get
|
||||
|
||||
#If _MyType = "WindowsForms" Then
|
||||
If Not addedHandler Then
|
||||
SyncLock addedHandlerLockObject
|
||||
If Not addedHandler Then
|
||||
AddHandler My.Application.Shutdown, AddressOf AutoSaveSettings
|
||||
addedHandler = True
|
||||
End If
|
||||
End SyncLock
|
||||
End If
|
||||
#End If
|
||||
Return defaultInstance
|
||||
End Get
|
||||
End Property
|
||||
|
||||
<Global.System.Configuration.UserScopedSettingAttribute(), _
|
||||
Global.System.Diagnostics.DebuggerNonUserCodeAttribute(), _
|
||||
Global.System.Configuration.DefaultSettingValueAttribute("")> _
|
||||
Public Property FavDir() As String
|
||||
Get
|
||||
Return CType(Me("FavDir"),String)
|
||||
End Get
|
||||
Set
|
||||
Me("FavDir") = value
|
||||
End Set
|
||||
End Property
|
||||
End Class
|
||||
End Namespace
|
||||
|
||||
Namespace My
|
||||
|
||||
<Global.Microsoft.VisualBasic.HideModuleNameAttribute(), _
|
||||
Global.System.Diagnostics.DebuggerNonUserCodeAttribute(), _
|
||||
Global.System.Runtime.CompilerServices.CompilerGeneratedAttribute()> _
|
||||
Friend Module MySettingsProperty
|
||||
|
||||
<Global.System.ComponentModel.Design.HelpKeywordAttribute("My.Settings")> _
|
||||
Friend ReadOnly Property Settings() As Global.UltraStarSongPicker.My.MySettings
|
||||
Get
|
||||
Return Global.UltraStarSongPicker.My.MySettings.Default
|
||||
End Get
|
||||
End Property
|
||||
End Module
|
||||
End Namespace
|
||||
9
UltraStarSongPicker/My Project/Settings.settings
Normal file
9
UltraStarSongPicker/My Project/Settings.settings
Normal file
@ -0,0 +1,9 @@
|
||||
<?xml version='1.0' encoding='utf-8'?>
|
||||
<SettingsFile xmlns="http://schemas.microsoft.com/VisualStudio/2004/01/settings" CurrentProfile="(Default)" GeneratedClassNamespace="My" GeneratedClassName="MySettings" UseMySettingsClassName="true">
|
||||
<Profiles />
|
||||
<Settings>
|
||||
<Setting Name="FavDir" Type="System.String" Scope="User">
|
||||
<Value Profile="(Default)" />
|
||||
</Setting>
|
||||
</Settings>
|
||||
</SettingsFile>
|
||||
4
UltraStarSongPicker/My Project/licenses.licx
Normal file
4
UltraStarSongPicker/My Project/licenses.licx
Normal file
@ -0,0 +1,4 @@
|
||||
DevExpress.XtraBars.Ribbon.RibbonControl, DevExpress.XtraBars.v22.1, Version=22.1.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
|
||||
DevExpress.XtraGrid.GridControl, DevExpress.XtraGrid.v22.1, Version=22.1.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
|
||||
DevExpress.XtraReports.UI.XtraReport, DevExpress.XtraReports.v22.1, Version=22.1.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
|
||||
DevExpress.XtraEditors.TextEdit, DevExpress.XtraEditors.v22.1, Version=22.1.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
|
||||
3
UltraStarSongPicker/My Project/licenses.licx.bak
Normal file
3
UltraStarSongPicker/My Project/licenses.licx.bak
Normal file
@ -0,0 +1,3 @@
|
||||
DevExpress.XtraEditors.TextEdit, DevExpress.XtraEditors.v20.2, Version=20.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
|
||||
DevExpress.XtraGrid.GridControl, DevExpress.XtraGrid.v20.2, Version=20.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
|
||||
DevExpress.XtraBars.Ribbon.RibbonControl, DevExpress.XtraBars.v20.2, Version=20.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
|
||||
19
UltraStarSongPicker/Resources/changeview.svg
Normal file
19
UltraStarSongPicker/Resources/changeview.svg
Normal file
@ -0,0 +1,19 @@
|
||||
<?xml version='1.0' encoding='UTF-8'?>
|
||||
<svg x="0px" y="0px" viewBox="0 0 32 32" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xml:space="preserve" id="Layer_1" style="enable-background:new 0 0 32 32">
|
||||
<style type="text/css">
|
||||
.Yellow{fill:#FFB115;}
|
||||
.Red{fill:#D11C1C;}
|
||||
.Blue{fill:#1177D7;}
|
||||
.Green{fill:#039C23;}
|
||||
.Black{fill:#727272;}
|
||||
.White{fill:#FFFFFF;}
|
||||
.st0{opacity:0.5;}
|
||||
.st1{display:none;}
|
||||
.st2{display:inline;fill:#039C23;}
|
||||
.st3{display:inline;fill:#D11C1C;}
|
||||
.st4{display:inline;fill:#727272;}
|
||||
</style>
|
||||
<g id="ChangeView">
|
||||
<path d="M24.5,7.5C22.3,5.3,19.3,4,16,4C10.1,4,5.1,8.3,4.2,14h4.1c0.9-3.4,4-6,7.7-6c2.2,0,4.2,0.9,5.6,2.4L18,14 h5.7h4.1H28V4L24.5,7.5z M16,24c-2.2,0-4.2-0.9-5.6-2.4L14,18H8.2h-4H4v10l3.5-3.5C9.7,26.7,12.7,28,16,28c5.9,0,10.8-4.3,11.8-10 h-4.1C22.8,21.4,19.7,24,16,24z" class="Blue" />
|
||||
</g>
|
||||
</svg>
|
||||
16
UltraStarSongPicker/Resources/documentpdf.svg
Normal file
16
UltraStarSongPicker/Resources/documentpdf.svg
Normal file
@ -0,0 +1,16 @@
|
||||
<?xml version='1.0' encoding='UTF-8'?>
|
||||
<svg x="0px" y="0px" viewBox="0 0 32 32" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xml:space="preserve" id="Layer_1" style="enable-background:new 0 0 32 32">
|
||||
<style type="text/css">
|
||||
.Yellow{fill:#FFB115;}
|
||||
.Red{fill:#D11C1C;}
|
||||
.Blue{fill:#1177D7;}
|
||||
.Green{fill:#039C23;}
|
||||
.Black{fill:#727272;}
|
||||
.White{fill:#FFFFFF;}
|
||||
.st0{opacity:0.75;}
|
||||
</style>
|
||||
<g id="DocumentPDF">
|
||||
<path d="M22,24v4H2V2h14v5c0,0.6,0.4,1,1,1h5v4h2V7l-7-7H1C0.4,0,0,0.4,0,1v28c0,0.6,0.4,1,1,1h22c0.6,0,1-0.4,1-1 v-5H22z" class="Black" />
|
||||
<path d="M19.2,16c0.3,0.5,0.4,1.1,0.4,1.9c0,0.9-0.2,1.5-0.5,2c-0.3,0.5-0.7,0.7-1.3,0.7h-0.6v-5.3h0.6 C18.4,15.3,18.9,15.6,19.2,16z M12.1,15.3h-0.5v2.6h0.5c0.7,0,1.1-0.4,1.1-1.3c0-0.4-0.1-0.8-0.3-1C12.6,15.4,12.4,15.3,12.1,15.3z M30,12v12H6V12H30z M14.8,16.5c0-0.8-0.2-1.5-0.6-1.9c-0.4-0.4-1-0.7-1.8-0.7H10v8h1.6v-2.7h0.6c0.8,0,1.4-0.3,1.9-0.8 C14.5,18,14.8,17.3,14.8,16.5z M21.2,17.9c0-2.6-1.1-3.9-3.4-3.9h-2.1v8h2.2c1.1,0,1.9-0.4,2.5-1.1C20.9,20.2,21.2,19.2,21.2,17.9z M26,14h-3.7v8h1.6v-3.1h2v-1.3h-2v-2.2H26V14z" class="Red" />
|
||||
</g>
|
||||
</svg>
|
||||
17
UltraStarSongPicker/Resources/properties.svg
Normal file
17
UltraStarSongPicker/Resources/properties.svg
Normal file
@ -0,0 +1,17 @@
|
||||
<?xml version='1.0' encoding='UTF-8'?>
|
||||
<svg x="0px" y="0px" viewBox="0 0 32 32" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xml:space="preserve" id="Layer_1" style="enable-background:new 0 0 32 32">
|
||||
<style type="text/css">
|
||||
.Black{fill:#727272;}
|
||||
.Yellow{fill:#FFB115;}
|
||||
.Blue{fill:#1177D7;}
|
||||
.Green{fill:#039C23;}
|
||||
.Red{fill:#D11C1C;}
|
||||
.White{fill:#FFFFFF;}
|
||||
.st0{opacity:0.75;}
|
||||
.st1{opacity:0.5;}
|
||||
.st2{opacity:0.25;}
|
||||
</style>
|
||||
<g id="Properties">
|
||||
<path d="M30,18v-4l-4.4-0.7c-0.2-0.8-0.5-1.5-0.9-2.1l2.6-3.6l-2.8-2.8l-3.6,2.6c-0.7-0.4-1.4-0.7-2.1-0.9L18,2h-4 l-0.7,4.4c-0.8,0.2-1.5,0.5-2.1,0.9L7.5,4.7L4.7,7.5l2.6,3.6c-0.4,0.7-0.7,1.4-0.9,2.1L2,14v4l4.4,0.7c0.2,0.8,0.5,1.5,0.9,2.1 l-2.6,3.6l2.8,2.8l3.6-2.6c0.7,0.4,1.4,0.7,2.1,0.9L14,30h4l0.7-4.4c0.8-0.2,1.5-0.5,2.1-0.9l3.6,2.6l2.8-2.8l-2.6-3.6 c0.4-0.7,0.7-1.4,0.9-2.1L30,18z M16,20c-2.2,0-4-1.8-4-4c0-2.2,1.8-4,4-4s4,1.8,4,4C20,18.2,18.2,20,16,20z" class="Blue" />
|
||||
</g>
|
||||
</svg>
|
||||
16
UltraStarSongPicker/Resources/save.svg
Normal file
16
UltraStarSongPicker/Resources/save.svg
Normal file
@ -0,0 +1,16 @@
|
||||
<?xml version='1.0' encoding='UTF-8'?>
|
||||
<svg x="0px" y="0px" viewBox="0 0 32 32" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xml:space="preserve" id="Layer_1" style="enable-background:new 0 0 32 32">
|
||||
<style type="text/css">
|
||||
.Black{fill:#737374;}
|
||||
.Yellow{fill:#FCB01B;}
|
||||
.Green{fill:#129C49;}
|
||||
.Blue{fill:#387CB7;}
|
||||
.Red{fill:#D02127;}
|
||||
.White{fill:#FFFFFF;}
|
||||
.st0{opacity:0.5;}
|
||||
.st1{opacity:0.75;}
|
||||
.st2{opacity:0.25;}
|
||||
.st3{display:none;fill:#737374;}
|
||||
</style>
|
||||
<path d="M27,4h-3v10H8V4H5C4.4,4,4,4.4,4,5v22c0,0.6,0.4,1,1,1h22c0.6,0,1-0.4,1-1V5C28,4.4,27.6,4,27,4z M24,24H8v-6 h16V24z M10,4v8h10V4H10z M14,10h-2V6h2V10z" class="Black" />
|
||||
</svg>
|
||||
Binary file not shown.
|
After Width: | Height: | Size: 180 KiB |
298
UltraStarSongPicker/UltraStarSongPicker.vbproj
Normal file
298
UltraStarSongPicker/UltraStarSongPicker.vbproj
Normal file
@ -0,0 +1,298 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<Import Project="..\packages\EntityFramework.6.4.4\build\EntityFramework.props" Condition="Exists('..\packages\EntityFramework.6.4.4\build\EntityFramework.props')" />
|
||||
<Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
|
||||
<PropertyGroup>
|
||||
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
|
||||
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
|
||||
<ProjectGuid>{5360AAE3-11B2-47D7-A5BA-9C768918D167}</ProjectGuid>
|
||||
<OutputType>WinExe</OutputType>
|
||||
<StartupObject>UltraStarSongPicker.My.MyApplication</StartupObject>
|
||||
<RootNamespace>UltraStarSongPicker</RootNamespace>
|
||||
<AssemblyName>UltraStarSongPicker</AssemblyName>
|
||||
<FileAlignment>512</FileAlignment>
|
||||
<MyType>WindowsForms</MyType>
|
||||
<TargetFrameworkVersion>v4.8</TargetFrameworkVersion>
|
||||
<AutoGenerateBindingRedirects>true</AutoGenerateBindingRedirects>
|
||||
<Deterministic>true</Deterministic>
|
||||
<NuGetPackageImportStamp>
|
||||
</NuGetPackageImportStamp>
|
||||
<PublishUrl>publish\</PublishUrl>
|
||||
<Install>true</Install>
|
||||
<InstallFrom>Disk</InstallFrom>
|
||||
<UpdateEnabled>false</UpdateEnabled>
|
||||
<UpdateMode>Foreground</UpdateMode>
|
||||
<UpdateInterval>7</UpdateInterval>
|
||||
<UpdateIntervalUnits>Days</UpdateIntervalUnits>
|
||||
<UpdatePeriodically>false</UpdatePeriodically>
|
||||
<UpdateRequired>false</UpdateRequired>
|
||||
<MapFileExtensions>true</MapFileExtensions>
|
||||
<ApplicationRevision>0</ApplicationRevision>
|
||||
<ApplicationVersion>1.0.0.%2a</ApplicationVersion>
|
||||
<IsWebBootstrapper>false</IsWebBootstrapper>
|
||||
<UseApplicationTrust>false</UseApplicationTrust>
|
||||
<BootstrapperEnabled>true</BootstrapperEnabled>
|
||||
<TargetFrameworkProfile />
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
|
||||
<PlatformTarget>AnyCPU</PlatformTarget>
|
||||
<DebugSymbols>true</DebugSymbols>
|
||||
<DebugType>full</DebugType>
|
||||
<DefineDebug>true</DefineDebug>
|
||||
<DefineTrace>true</DefineTrace>
|
||||
<OutputPath>bin\Debug\</OutputPath>
|
||||
<DocumentationFile>
|
||||
</DocumentationFile>
|
||||
<NoWarn>
|
||||
</NoWarn>
|
||||
<WarningsAsErrors>41999,42016,42017,42018,42019,42020,42021,42022,42032,42036</WarningsAsErrors>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
|
||||
<PlatformTarget>AnyCPU</PlatformTarget>
|
||||
<DebugType>none</DebugType>
|
||||
<DefineDebug>false</DefineDebug>
|
||||
<DefineTrace>true</DefineTrace>
|
||||
<Optimize>true</Optimize>
|
||||
<OutputPath>bin\Release\</OutputPath>
|
||||
<DocumentationFile>
|
||||
</DocumentationFile>
|
||||
<NoWarn>
|
||||
</NoWarn>
|
||||
<WarningsAsErrors>41999,42016,42017,42018,42019,42020,42021,42022,42032,42036</WarningsAsErrors>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup>
|
||||
<OptionExplicit>On</OptionExplicit>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup>
|
||||
<OptionCompare>Binary</OptionCompare>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup>
|
||||
<OptionStrict>On</OptionStrict>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup>
|
||||
<OptionInfer>On</OptionInfer>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup>
|
||||
<ApplicationIcon>Sora-Meliae-Matrilineare-Apps-gnome-music.ico</ApplicationIcon>
|
||||
</PropertyGroup>
|
||||
<ItemGroup>
|
||||
<Reference Include="DevExpress.Charts.v22.1.Core, Version=22.1.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
|
||||
<Reference Include="DevExpress.Data.Desktop.v22.1, Version=22.1.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" />
|
||||
<Reference Include="DevExpress.DataAccess.v22.1, Version=22.1.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" />
|
||||
<Reference Include="DevExpress.Drawing.v22.1, Version=22.1.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" />
|
||||
<Reference Include="DevExpress.Data.v22.1, Version=22.1.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" />
|
||||
<Reference Include="DevExpress.Office.v22.1.Core, Version=22.1.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
|
||||
<Reference Include="DevExpress.Pdf.v22.1.Core, Version=22.1.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
|
||||
<Reference Include="DevExpress.PivotGrid.v22.1.Core, Version=22.1.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
|
||||
<Reference Include="DevExpress.Printing.v22.1.Core, Version=22.1.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" />
|
||||
<Reference Include="DevExpress.RichEdit.v22.1.Core, Version=22.1.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
|
||||
<Reference Include="DevExpress.RichEdit.v22.1.Export, Version=22.1.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
|
||||
<Reference Include="DevExpress.Sparkline.v22.1.Core, Version=22.1.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
|
||||
<Reference Include="DevExpress.Utils.v22.1, Version=22.1.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" />
|
||||
<Reference Include="DevExpress.Utils.v22.1.UI, Version=22.1.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" />
|
||||
<Reference Include="DevExpress.Xpo.v22.1, Version=22.1.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" />
|
||||
<Reference Include="DevExpress.XtraBars.v22.1, Version=22.1.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
|
||||
<Reference Include="DevExpress.XtraCharts.v22.1, Version=22.1.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
|
||||
<Reference Include="DevExpress.XtraEditors.v22.1, Version=22.1.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" />
|
||||
<Reference Include="DevExpress.XtraGauges.v22.1.Core, Version=22.1.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
|
||||
<Reference Include="DevExpress.XtraGrid.v22.1, Version=22.1.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
|
||||
<Reference Include="DevExpress.XtraLayout.v22.1, Version=22.1.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" />
|
||||
<Reference Include="DevExpress.XtraPrinting.v22.1, Version=22.1.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" />
|
||||
<Reference Include="DevExpress.XtraReports.v22.1, Version=22.1.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
|
||||
<Reference Include="DevExpress.XtraReports.v22.1.Extensions, Version=22.1.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" />
|
||||
<Reference Include="EntityFramework, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\EntityFramework.6.4.4\lib\net45\EntityFramework.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="EntityFramework.SqlServer, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\EntityFramework.6.4.4\lib\net45\EntityFramework.SqlServer.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="Newtonsoft.Json, Version=13.0.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\Newtonsoft.Json.13.0.2\lib\net45\Newtonsoft.Json.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="System" />
|
||||
<Reference Include="System.Buffers, Version=4.0.3.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\System.Buffers.4.5.1\lib\net461\System.Buffers.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="System.ComponentModel.DataAnnotations" />
|
||||
<Reference Include="System.Data" />
|
||||
<Reference Include="System.Data.SQLite, Version=1.0.117.0, Culture=neutral, PublicKeyToken=db937bc2d44ff139, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\Stub.System.Data.SQLite.Core.NetFramework.1.0.117.0\lib\net46\System.Data.SQLite.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="System.Data.SQLite.EF6, Version=1.0.117.0, Culture=neutral, PublicKeyToken=db937bc2d44ff139, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\System.Data.SQLite.EF6.1.0.117.0\lib\net46\System.Data.SQLite.EF6.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="System.Data.SQLite.Linq, Version=1.0.117.0, Culture=neutral, PublicKeyToken=db937bc2d44ff139, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\System.Data.SQLite.Linq.1.0.117.0\lib\net46\System.Data.SQLite.Linq.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="System.Deployment" />
|
||||
<Reference Include="System.Drawing" />
|
||||
<Reference Include="System.Memory, Version=4.0.1.2, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\System.Memory.4.5.5\lib\net461\System.Memory.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="System.Numerics" />
|
||||
<Reference Include="System.Numerics.Vectors, Version=4.1.4.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\System.Numerics.Vectors.4.5.0\lib\net46\System.Numerics.Vectors.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="System.Runtime.CompilerServices.Unsafe, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\System.Runtime.CompilerServices.Unsafe.6.0.0\lib\net461\System.Runtime.CompilerServices.Unsafe.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="System.Windows.Forms" />
|
||||
<Reference Include="System.Xml" />
|
||||
<Reference Include="System.Core" />
|
||||
<Reference Include="System.Xml.Linq" />
|
||||
<Reference Include="System.Data.DataSetExtensions" />
|
||||
<Reference Include="System.Net.Http" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Import Include="Microsoft.VisualBasic" />
|
||||
<Import Include="System" />
|
||||
<Import Include="System.Collections" />
|
||||
<Import Include="System.Collections.Generic" />
|
||||
<Import Include="System.Data" />
|
||||
<Import Include="System.Drawing" />
|
||||
<Import Include="System.Diagnostics" />
|
||||
<Import Include="System.Windows.Forms" />
|
||||
<Import Include="System.Linq" />
|
||||
<Import Include="System.Xml.Linq" />
|
||||
<Import Include="System.Threading.Tasks" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Compile Include="clsDB.vb" />
|
||||
<Compile Include="clsFileFunctions.vb" />
|
||||
<Compile Include="clsSong.vb" />
|
||||
<Compile Include="ctrlAudioVideoPlayer.Designer.vb">
|
||||
<DependentUpon>ctrlAudioVideoPlayer.vb</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="ctrlAudioVideoPlayer.vb">
|
||||
<SubType>UserControl</SubType>
|
||||
</Compile>
|
||||
<Compile Include="frmErrorList.Designer.vb">
|
||||
<DependentUpon>frmErrorList.vb</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="frmErrorList.vb">
|
||||
<SubType>Form</SubType>
|
||||
</Compile>
|
||||
<Compile Include="frmMain.vb">
|
||||
<SubType>Form</SubType>
|
||||
</Compile>
|
||||
<Compile Include="frmMain.Designer.vb">
|
||||
<DependentUpon>frmMain.vb</DependentUpon>
|
||||
<SubType>Form</SubType>
|
||||
</Compile>
|
||||
<Compile Include="frmSettings.Designer.vb">
|
||||
<DependentUpon>frmSettings.vb</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="frmSettings.vb">
|
||||
<SubType>Form</SubType>
|
||||
</Compile>
|
||||
<Compile Include="My Project\AssemblyInfo.vb" />
|
||||
<Compile Include="My Project\Application.Designer.vb">
|
||||
<AutoGen>True</AutoGen>
|
||||
<DependentUpon>Application.myapp</DependentUpon>
|
||||
<DesignTime>True</DesignTime>
|
||||
</Compile>
|
||||
<Compile Include="My Project\Resources.Designer.vb">
|
||||
<AutoGen>True</AutoGen>
|
||||
<DesignTime>True</DesignTime>
|
||||
<DependentUpon>Resources.resx</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="My Project\Settings.Designer.vb">
|
||||
<AutoGen>True</AutoGen>
|
||||
<DependentUpon>Settings.settings</DependentUpon>
|
||||
<DesignTimeSharedInput>True</DesignTimeSharedInput>
|
||||
</Compile>
|
||||
<Compile Include="repFavoritesList.Designer.vb">
|
||||
<DependentUpon>repFavoritesList.vb</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="repFavoritesList.vb">
|
||||
<SubType>Component</SubType>
|
||||
</Compile>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<EmbeddedResource Include="ctrlAudioVideoPlayer.resx">
|
||||
<DependentUpon>ctrlAudioVideoPlayer.vb</DependentUpon>
|
||||
</EmbeddedResource>
|
||||
<EmbeddedResource Include="frmErrorList.resx">
|
||||
<DependentUpon>frmErrorList.vb</DependentUpon>
|
||||
</EmbeddedResource>
|
||||
<EmbeddedResource Include="frmMain.resx">
|
||||
<DependentUpon>frmMain.vb</DependentUpon>
|
||||
</EmbeddedResource>
|
||||
<EmbeddedResource Include="frmSettings.resx">
|
||||
<DependentUpon>frmSettings.vb</DependentUpon>
|
||||
</EmbeddedResource>
|
||||
<EmbeddedResource Include="My Project\licenses.licx" />
|
||||
<EmbeddedResource Include="My Project\Resources.resx">
|
||||
<CustomToolNamespace>My.Resources</CustomToolNamespace>
|
||||
<Generator>VbMyResourcesResXFileCodeGenerator</Generator>
|
||||
<SubType>Designer</SubType>
|
||||
<LastGenOutput>Resources.Designer.vb</LastGenOutput>
|
||||
</EmbeddedResource>
|
||||
<EmbeddedResource Include="repFavoritesList.resx">
|
||||
<DependentUpon>repFavoritesList.vb</DependentUpon>
|
||||
</EmbeddedResource>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Content Include="database.db">
|
||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||
</Content>
|
||||
<None Include="Resources\save.svg" />
|
||||
<None Include="Resources\properties.svg" />
|
||||
<None Include="Resources\documentpdf.svg" />
|
||||
<None Include="Resources\changeview.svg" />
|
||||
<Content Include="Sora-Meliae-Matrilineare-Apps-gnome-music.ico" />
|
||||
<None Include="My Project\Application.myapp">
|
||||
<Generator>MyApplicationCodeGenerator</Generator>
|
||||
<LastGenOutput>Application.Designer.vb</LastGenOutput>
|
||||
</None>
|
||||
<None Include="My Project\Settings.settings">
|
||||
<Generator>SettingsSingleFileGenerator</Generator>
|
||||
<CustomToolNamespace>My</CustomToolNamespace>
|
||||
<LastGenOutput>Settings.Designer.vb</LastGenOutput>
|
||||
</None>
|
||||
<None Include="App.config" />
|
||||
<None Include="packages.config" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<COMReference Include="AxWMPLib">
|
||||
<Guid>{6BF52A50-394A-11D3-B153-00C04F79FAA6}</Guid>
|
||||
<VersionMajor>1</VersionMajor>
|
||||
<VersionMinor>0</VersionMinor>
|
||||
<Lcid>0</Lcid>
|
||||
<WrapperTool>aximp</WrapperTool>
|
||||
<Isolated>False</Isolated>
|
||||
</COMReference>
|
||||
<COMReference Include="WMPLib">
|
||||
<Guid>{6BF52A50-394A-11D3-B153-00C04F79FAA6}</Guid>
|
||||
<VersionMajor>1</VersionMajor>
|
||||
<VersionMinor>0</VersionMinor>
|
||||
<Lcid>0</Lcid>
|
||||
<WrapperTool>tlbimp</WrapperTool>
|
||||
<Isolated>False</Isolated>
|
||||
<EmbedInteropTypes>True</EmbedInteropTypes>
|
||||
</COMReference>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<BootstrapperPackage Include=".NETFramework,Version=v4.7.2">
|
||||
<Visible>False</Visible>
|
||||
<ProductName>Microsoft .NET Framework 4.7.2 %28x86 und x64%29</ProductName>
|
||||
<Install>true</Install>
|
||||
</BootstrapperPackage>
|
||||
<BootstrapperPackage Include="Microsoft.Net.Framework.3.5.SP1">
|
||||
<Visible>False</Visible>
|
||||
<ProductName>.NET Framework 3.5 SP1</ProductName>
|
||||
<Install>false</Install>
|
||||
</BootstrapperPackage>
|
||||
</ItemGroup>
|
||||
<Import Project="$(MSBuildToolsPath)\Microsoft.VisualBasic.targets" />
|
||||
<Target Name="EnsureNuGetPackageBuildImports" BeforeTargets="PrepareForBuild">
|
||||
<PropertyGroup>
|
||||
<ErrorText>Dieses Projekt verweist auf mindestens ein NuGet-Paket, das auf diesem Computer fehlt. Verwenden Sie die Wiederherstellung von NuGet-Paketen, um die fehlenden Dateien herunterzuladen. Weitere Informationen finden Sie unter "http://go.microsoft.com/fwlink/?LinkID=322105". Die fehlende Datei ist "{0}".</ErrorText>
|
||||
</PropertyGroup>
|
||||
<Error Condition="!Exists('..\packages\EntityFramework.6.4.4\build\EntityFramework.props')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\EntityFramework.6.4.4\build\EntityFramework.props'))" />
|
||||
<Error Condition="!Exists('..\packages\EntityFramework.6.4.4\build\EntityFramework.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\EntityFramework.6.4.4\build\EntityFramework.targets'))" />
|
||||
<Error Condition="!Exists('..\packages\Stub.System.Data.SQLite.Core.NetFramework.1.0.117.0\build\net46\Stub.System.Data.SQLite.Core.NetFramework.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\Stub.System.Data.SQLite.Core.NetFramework.1.0.117.0\build\net46\Stub.System.Data.SQLite.Core.NetFramework.targets'))" />
|
||||
</Target>
|
||||
<Import Project="..\packages\EntityFramework.6.4.4\build\EntityFramework.targets" Condition="Exists('..\packages\EntityFramework.6.4.4\build\EntityFramework.targets')" />
|
||||
<Import Project="..\packages\Stub.System.Data.SQLite.Core.NetFramework.1.0.117.0\build\net46\Stub.System.Data.SQLite.Core.NetFramework.targets" Condition="Exists('..\packages\Stub.System.Data.SQLite.Core.NetFramework.1.0.117.0\build\net46\Stub.System.Data.SQLite.Core.NetFramework.targets')" />
|
||||
</Project>
|
||||
248
UltraStarSongPicker/UltraStarSongPicker.vbproj.bak
Normal file
248
UltraStarSongPicker/UltraStarSongPicker.vbproj.bak
Normal file
@ -0,0 +1,248 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<Import Project="..\packages\EntityFramework.6.4.4\build\EntityFramework.props" Condition="Exists('..\packages\EntityFramework.6.4.4\build\EntityFramework.props')" />
|
||||
<Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
|
||||
<PropertyGroup>
|
||||
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
|
||||
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
|
||||
<ProjectGuid>{5360AAE3-11B2-47D7-A5BA-9C768918D167}</ProjectGuid>
|
||||
<OutputType>WinExe</OutputType>
|
||||
<StartupObject>UltraStarSongPicker.My.MyApplication</StartupObject>
|
||||
<RootNamespace>UltraStarSongPicker</RootNamespace>
|
||||
<AssemblyName>UltraStarSongPicker</AssemblyName>
|
||||
<FileAlignment>512</FileAlignment>
|
||||
<MyType>WindowsForms</MyType>
|
||||
<TargetFrameworkVersion>v4.7.2</TargetFrameworkVersion>
|
||||
<AutoGenerateBindingRedirects>true</AutoGenerateBindingRedirects>
|
||||
<Deterministic>true</Deterministic>
|
||||
<NuGetPackageImportStamp>
|
||||
</NuGetPackageImportStamp>
|
||||
<PublishUrl>publish\</PublishUrl>
|
||||
<Install>true</Install>
|
||||
<InstallFrom>Disk</InstallFrom>
|
||||
<UpdateEnabled>false</UpdateEnabled>
|
||||
<UpdateMode>Foreground</UpdateMode>
|
||||
<UpdateInterval>7</UpdateInterval>
|
||||
<UpdateIntervalUnits>Days</UpdateIntervalUnits>
|
||||
<UpdatePeriodically>false</UpdatePeriodically>
|
||||
<UpdateRequired>false</UpdateRequired>
|
||||
<MapFileExtensions>true</MapFileExtensions>
|
||||
<ApplicationRevision>0</ApplicationRevision>
|
||||
<ApplicationVersion>1.0.0.%2a</ApplicationVersion>
|
||||
<IsWebBootstrapper>false</IsWebBootstrapper>
|
||||
<UseApplicationTrust>false</UseApplicationTrust>
|
||||
<BootstrapperEnabled>true</BootstrapperEnabled>
|
||||
<TargetFrameworkProfile />
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
|
||||
<PlatformTarget>AnyCPU</PlatformTarget>
|
||||
<DebugSymbols>true</DebugSymbols>
|
||||
<DebugType>full</DebugType>
|
||||
<DefineDebug>true</DefineDebug>
|
||||
<DefineTrace>true</DefineTrace>
|
||||
<OutputPath>bin\Debug\</OutputPath>
|
||||
<DocumentationFile>
|
||||
</DocumentationFile>
|
||||
<NoWarn>
|
||||
</NoWarn>
|
||||
<WarningsAsErrors>41999,42016,42017,42018,42019,42020,42021,42022,42032,42036</WarningsAsErrors>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
|
||||
<PlatformTarget>AnyCPU</PlatformTarget>
|
||||
<DebugType>none</DebugType>
|
||||
<DefineDebug>false</DefineDebug>
|
||||
<DefineTrace>true</DefineTrace>
|
||||
<Optimize>true</Optimize>
|
||||
<OutputPath>bin\Release\</OutputPath>
|
||||
<DocumentationFile>
|
||||
</DocumentationFile>
|
||||
<NoWarn>
|
||||
</NoWarn>
|
||||
<WarningsAsErrors>41999,42016,42017,42018,42019,42020,42021,42022,42032,42036</WarningsAsErrors>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup>
|
||||
<OptionExplicit>On</OptionExplicit>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup>
|
||||
<OptionCompare>Binary</OptionCompare>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup>
|
||||
<OptionStrict>On</OptionStrict>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup>
|
||||
<OptionInfer>On</OptionInfer>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup>
|
||||
<ApplicationIcon>Sora-Meliae-Matrilineare-Apps-gnome-music.ico</ApplicationIcon>
|
||||
</PropertyGroup>
|
||||
<ItemGroup>
|
||||
<Reference Include="DevExpress.Data.Desktop.v20.2, Version=20.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" />
|
||||
<Reference Include="DevExpress.Data.v20.2, Version=20.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" />
|
||||
<Reference Include="DevExpress.Printing.v20.2.Core, Version=20.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" />
|
||||
<Reference Include="DevExpress.Utils.v20.2, Version=20.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" />
|
||||
<Reference Include="DevExpress.XtraBars.v20.2, Version=20.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
|
||||
<Reference Include="DevExpress.XtraEditors.v20.2, Version=20.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" />
|
||||
<Reference Include="DevExpress.XtraGrid.v20.2, Version=20.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
|
||||
<Reference Include="DevExpress.XtraLayout.v20.2, Version=20.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" />
|
||||
<Reference Include="DevExpress.XtraPrinting.v20.2, Version=20.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" />
|
||||
<Reference Include="EntityFramework, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\EntityFramework.6.4.4\lib\net45\EntityFramework.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="EntityFramework.SqlServer, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\EntityFramework.6.4.4\lib\net45\EntityFramework.SqlServer.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="System" />
|
||||
<Reference Include="System.Buffers, Version=4.0.3.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\System.Buffers.4.5.1\lib\net461\System.Buffers.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="System.ComponentModel.DataAnnotations" />
|
||||
<Reference Include="System.Data" />
|
||||
<Reference Include="System.Data.SQLite, Version=1.0.117.0, Culture=neutral, PublicKeyToken=db937bc2d44ff139, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\Stub.System.Data.SQLite.Core.NetFramework.1.0.117.0\lib\net46\System.Data.SQLite.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="System.Data.SQLite.EF6, Version=1.0.117.0, Culture=neutral, PublicKeyToken=db937bc2d44ff139, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\System.Data.SQLite.EF6.1.0.117.0\lib\net46\System.Data.SQLite.EF6.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="System.Data.SQLite.Linq, Version=1.0.117.0, Culture=neutral, PublicKeyToken=db937bc2d44ff139, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\System.Data.SQLite.Linq.1.0.117.0\lib\net46\System.Data.SQLite.Linq.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="System.Deployment" />
|
||||
<Reference Include="System.Drawing" />
|
||||
<Reference Include="System.Memory, Version=4.0.1.2, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\System.Memory.4.5.5\lib\net461\System.Memory.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="System.Numerics" />
|
||||
<Reference Include="System.Numerics.Vectors, Version=4.1.4.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\System.Numerics.Vectors.4.5.0\lib\net46\System.Numerics.Vectors.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="System.Runtime.CompilerServices.Unsafe, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\System.Runtime.CompilerServices.Unsafe.6.0.0\lib\net461\System.Runtime.CompilerServices.Unsafe.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="System.Windows.Forms" />
|
||||
<Reference Include="System.Xml" />
|
||||
<Reference Include="System.Core" />
|
||||
<Reference Include="System.Xml.Linq" />
|
||||
<Reference Include="System.Data.DataSetExtensions" />
|
||||
<Reference Include="System.Net.Http" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Import Include="Microsoft.VisualBasic" />
|
||||
<Import Include="System" />
|
||||
<Import Include="System.Collections" />
|
||||
<Import Include="System.Collections.Generic" />
|
||||
<Import Include="System.Data" />
|
||||
<Import Include="System.Drawing" />
|
||||
<Import Include="System.Diagnostics" />
|
||||
<Import Include="System.Windows.Forms" />
|
||||
<Import Include="System.Linq" />
|
||||
<Import Include="System.Xml.Linq" />
|
||||
<Import Include="System.Threading.Tasks" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Compile Include="clsDB.vb" />
|
||||
<Compile Include="clsSong.vb" />
|
||||
<Compile Include="frmMain.vb">
|
||||
<SubType>Form</SubType>
|
||||
</Compile>
|
||||
<Compile Include="frmMain.Designer.vb">
|
||||
<DependentUpon>frmMain.vb</DependentUpon>
|
||||
<SubType>Form</SubType>
|
||||
</Compile>
|
||||
<Compile Include="frmSettings.Designer.vb">
|
||||
<DependentUpon>frmSettings.vb</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="frmSettings.vb">
|
||||
<SubType>Form</SubType>
|
||||
</Compile>
|
||||
<Compile Include="My Project\AssemblyInfo.vb" />
|
||||
<Compile Include="My Project\Application.Designer.vb">
|
||||
<AutoGen>True</AutoGen>
|
||||
<DependentUpon>Application.myapp</DependentUpon>
|
||||
<DesignTime>True</DesignTime>
|
||||
</Compile>
|
||||
<Compile Include="My Project\Resources.Designer.vb">
|
||||
<AutoGen>True</AutoGen>
|
||||
<DesignTime>True</DesignTime>
|
||||
<DependentUpon>Resources.resx</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="My Project\Settings.Designer.vb">
|
||||
<AutoGen>True</AutoGen>
|
||||
<DependentUpon>Settings.settings</DependentUpon>
|
||||
<DesignTimeSharedInput>True</DesignTimeSharedInput>
|
||||
</Compile>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<EmbeddedResource Include="frmMain.resx">
|
||||
<DependentUpon>frmMain.vb</DependentUpon>
|
||||
</EmbeddedResource>
|
||||
<EmbeddedResource Include="frmSettings.resx">
|
||||
<DependentUpon>frmSettings.vb</DependentUpon>
|
||||
</EmbeddedResource>
|
||||
<EmbeddedResource Include="My Project\licenses.licx" />
|
||||
<EmbeddedResource Include="My Project\Resources.resx">
|
||||
<Generator>VbMyResourcesResXFileCodeGenerator</Generator>
|
||||
<LastGenOutput>Resources.Designer.vb</LastGenOutput>
|
||||
<CustomToolNamespace>My.Resources</CustomToolNamespace>
|
||||
<SubType>Designer</SubType>
|
||||
</EmbeddedResource>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Content Include="database.db">
|
||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||
</Content>
|
||||
<Content Include="Sora-Meliae-Matrilineare-Apps-gnome-music.ico" />
|
||||
<None Include="My Project\Application.myapp">
|
||||
<Generator>MyApplicationCodeGenerator</Generator>
|
||||
<LastGenOutput>Application.Designer.vb</LastGenOutput>
|
||||
</None>
|
||||
<None Include="My Project\Settings.settings">
|
||||
<Generator>SettingsSingleFileGenerator</Generator>
|
||||
<CustomToolNamespace>My</CustomToolNamespace>
|
||||
<LastGenOutput>Settings.Designer.vb</LastGenOutput>
|
||||
</None>
|
||||
<None Include="App.config" />
|
||||
<None Include="packages.config" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<COMReference Include="AxWMPLib">
|
||||
<Guid>{6BF52A50-394A-11D3-B153-00C04F79FAA6}</Guid>
|
||||
<VersionMajor>1</VersionMajor>
|
||||
<VersionMinor>0</VersionMinor>
|
||||
<Lcid>0</Lcid>
|
||||
<WrapperTool>aximp</WrapperTool>
|
||||
<Isolated>False</Isolated>
|
||||
</COMReference>
|
||||
<COMReference Include="WMPLib">
|
||||
<Guid>{6BF52A50-394A-11D3-B153-00C04F79FAA6}</Guid>
|
||||
<VersionMajor>1</VersionMajor>
|
||||
<VersionMinor>0</VersionMinor>
|
||||
<Lcid>0</Lcid>
|
||||
<WrapperTool>tlbimp</WrapperTool>
|
||||
<Isolated>False</Isolated>
|
||||
<EmbedInteropTypes>True</EmbedInteropTypes>
|
||||
</COMReference>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<BootstrapperPackage Include=".NETFramework,Version=v4.7.2">
|
||||
<Visible>False</Visible>
|
||||
<ProductName>Microsoft .NET Framework 4.7.2 %28x86 und x64%29</ProductName>
|
||||
<Install>true</Install>
|
||||
</BootstrapperPackage>
|
||||
<BootstrapperPackage Include="Microsoft.Net.Framework.3.5.SP1">
|
||||
<Visible>False</Visible>
|
||||
<ProductName>.NET Framework 3.5 SP1</ProductName>
|
||||
<Install>false</Install>
|
||||
</BootstrapperPackage>
|
||||
</ItemGroup>
|
||||
<Import Project="$(MSBuildToolsPath)\Microsoft.VisualBasic.targets" />
|
||||
<Target Name="EnsureNuGetPackageBuildImports" BeforeTargets="PrepareForBuild">
|
||||
<PropertyGroup>
|
||||
<ErrorText>Dieses Projekt verweist auf mindestens ein NuGet-Paket, das auf diesem Computer fehlt. Verwenden Sie die Wiederherstellung von NuGet-Paketen, um die fehlenden Dateien herunterzuladen. Weitere Informationen finden Sie unter "http://go.microsoft.com/fwlink/?LinkID=322105". Die fehlende Datei ist "{0}".</ErrorText>
|
||||
</PropertyGroup>
|
||||
<Error Condition="!Exists('..\packages\EntityFramework.6.4.4\build\EntityFramework.props')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\EntityFramework.6.4.4\build\EntityFramework.props'))" />
|
||||
<Error Condition="!Exists('..\packages\EntityFramework.6.4.4\build\EntityFramework.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\EntityFramework.6.4.4\build\EntityFramework.targets'))" />
|
||||
<Error Condition="!Exists('..\packages\Stub.System.Data.SQLite.Core.NetFramework.1.0.117.0\build\net46\Stub.System.Data.SQLite.Core.NetFramework.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\Stub.System.Data.SQLite.Core.NetFramework.1.0.117.0\build\net46\Stub.System.Data.SQLite.Core.NetFramework.targets'))" />
|
||||
</Target>
|
||||
<Import Project="..\packages\EntityFramework.6.4.4\build\EntityFramework.targets" Condition="Exists('..\packages\EntityFramework.6.4.4\build\EntityFramework.targets')" />
|
||||
<Import Project="..\packages\Stub.System.Data.SQLite.Core.NetFramework.1.0.117.0\build\net46\Stub.System.Data.SQLite.Core.NetFramework.targets" Condition="Exists('..\packages\Stub.System.Data.SQLite.Core.NetFramework.1.0.117.0\build\net46\Stub.System.Data.SQLite.Core.NetFramework.targets')" />
|
||||
</Project>
|
||||
14
UltraStarSongPicker/clsDB.vb
Normal file
14
UltraStarSongPicker/clsDB.vb
Normal file
@ -0,0 +1,14 @@
|
||||
Imports System.Data.SQLite
|
||||
|
||||
Public Class DB
|
||||
|
||||
Public Shared Function getConnection() As SQLiteConnection
|
||||
Dim csb As New SQLiteConnectionStringBuilder
|
||||
With csb
|
||||
.DataSource = $"{Application.StartupPath}\database.db"
|
||||
.Version = 3
|
||||
End With
|
||||
Return New SQLiteConnection(csb.ConnectionString, True)
|
||||
End Function
|
||||
|
||||
End Class
|
||||
24
UltraStarSongPicker/clsFileFunctions.vb
Normal file
24
UltraStarSongPicker/clsFileFunctions.vb
Normal file
@ -0,0 +1,24 @@
|
||||
Imports System.IO
|
||||
|
||||
Friend Class FileFunctions
|
||||
Friend Shared Sub CopyDirectory(ByVal sourceDir As String, ByVal destinationDir As String, Optional ByVal recursive As Boolean = True)
|
||||
Dim dir = New DirectoryInfo(sourceDir)
|
||||
If Not dir.Exists Then Throw New DirectoryNotFoundException($"Source directory not found: {dir.FullName}")
|
||||
Dim dirs As DirectoryInfo() = dir.GetDirectories()
|
||||
Directory.CreateDirectory(destinationDir)
|
||||
|
||||
For Each file As FileInfo In dir.GetFiles()
|
||||
Dim targetFilePath As String = Path.Combine(destinationDir, file.Name)
|
||||
file.CopyTo(targetFilePath, True)
|
||||
Next
|
||||
|
||||
If recursive Then
|
||||
|
||||
For Each subDir As DirectoryInfo In dirs
|
||||
Dim newDestinationDir As String = Path.Combine(destinationDir, subDir.Name)
|
||||
CopyDirectory(subDir.FullName, newDestinationDir, True)
|
||||
Next
|
||||
End If
|
||||
End Sub
|
||||
|
||||
End Class
|
||||
160
UltraStarSongPicker/clsSong.vb
Normal file
160
UltraStarSongPicker/clsSong.vb
Normal file
@ -0,0 +1,160 @@
|
||||
Imports System.Globalization
|
||||
|
||||
Public Class Song
|
||||
|
||||
'Songinfos aus Datei
|
||||
Public Property Artist As String
|
||||
Public Property Title As String
|
||||
Public Property Genre As String
|
||||
Public Property Language As String
|
||||
Public Property Year As Integer
|
||||
Public Property Previewstart As Decimal
|
||||
Public Property BPM As Integer
|
||||
Public Property GAP As Integer
|
||||
Public Property Songfilename As String
|
||||
Public Property CoverFilename As String
|
||||
Public Property VideoFilename As String
|
||||
|
||||
Public Property SongInfos As New Dictionary(Of String, String)
|
||||
|
||||
'Weitere Properties
|
||||
Public Property ID As Integer
|
||||
Public Property RootDir As String
|
||||
Public Property SubDirectory As String
|
||||
Public Property IsFavorite As Boolean
|
||||
Public Property InfoFile As String
|
||||
Public Property HasError As Boolean
|
||||
Public Property ErrorText As String
|
||||
Public Property ExistsInFavDir As Boolean
|
||||
|
||||
|
||||
Public ReadOnly Property SongInfoCount As Integer
|
||||
Get
|
||||
Return SongInfos.Count
|
||||
End Get
|
||||
End Property
|
||||
Public ReadOnly Property FullPath As String
|
||||
Get
|
||||
Return RootDir & SubDirectory & "\"
|
||||
End Get
|
||||
End Property
|
||||
|
||||
Public ReadOnly Property Songfile As String
|
||||
Get
|
||||
Return FullPath & Songfilename
|
||||
End Get
|
||||
End Property
|
||||
|
||||
Public ReadOnly Property Coverfile As String
|
||||
Get
|
||||
Return FullPath & CoverFilename
|
||||
End Get
|
||||
End Property
|
||||
Public ReadOnly Property Videofile As String
|
||||
Get
|
||||
Return FullPath & VideoFilename
|
||||
End Get
|
||||
End Property
|
||||
|
||||
Public ReadOnly Property ParentFolderName As String
|
||||
'Gibt den übergeordneten Ordnernamen zurück, in dem sich der Pfad befindet
|
||||
Get
|
||||
Dim t As String = FullPath
|
||||
If t.EndsWith("\") Then
|
||||
t = t.Substring(0, t.Length - 1)
|
||||
End If
|
||||
t = t.Substring(0, t.LastIndexOf("\"))
|
||||
Return IO.Path.GetFileName(t)
|
||||
End Get
|
||||
End Property
|
||||
|
||||
Public ReadOnly Property FolderName As String
|
||||
'Gibt den übergeordneten Ordnernamen zurück, in dem sich der Pfad befindet
|
||||
Get
|
||||
Dim t As String = FullPath
|
||||
If t.EndsWith("\") Then
|
||||
t = t.Substring(0, t.Length - 1)
|
||||
End If
|
||||
Return IO.Path.GetFileName(t)
|
||||
End Get
|
||||
End Property
|
||||
|
||||
Public Sub ReadInfoFile()
|
||||
Try
|
||||
Dim line As String
|
||||
Using sr As New IO.StreamReader(InfoFile, System.Text.Encoding.Default)
|
||||
Do Until sr.EndOfStream
|
||||
line = sr.ReadLine
|
||||
If line.StartsWith("#") Then
|
||||
AddSongInfo(line)
|
||||
ElseIf line.Trim.Length > 0 Then 'Startet nicht mit # und ist auch keine Leerzeile, das heißt jetzt fängt wohl der Lyrics-Part an
|
||||
Exit Do
|
||||
End If
|
||||
Loop
|
||||
sr.Close()
|
||||
End Using
|
||||
Catch ex As IO.DirectoryNotFoundException
|
||||
''Ggf Dateiname zu lang
|
||||
ErrorText = "Dateiname zu lang"
|
||||
HasError = True
|
||||
End Try
|
||||
End Sub
|
||||
|
||||
Private Sub AddSongInfo(infoline As String)
|
||||
'#TITLE:Not Myself Tonight
|
||||
'#ARTIST:Christina Aguilera
|
||||
'#LANGUAGE:English
|
||||
'#GENRE:Pop
|
||||
'#YEAR:2010
|
||||
'#MP3:Christina Aguilera - Not Myself Tonight (Duett).mp3
|
||||
'#COVER:Christina Aguilera - Not Myself Tonight (Duett)[CO].jpg
|
||||
'#VIDEO:Christina Aguilera - Not Myself Tonight (Duett).mp4
|
||||
'#PREVIEWSTART:25,250
|
||||
'#BPM:240
|
||||
'#GAP:25000
|
||||
|
||||
Dim field, value As String
|
||||
If infoline.StartsWith("#") AndAlso infoline.Contains(":") Then
|
||||
field = infoline.Substring(1, infoline.IndexOf(":") - 1).Trim
|
||||
value = infoline.Substring(infoline.IndexOf(":") + 1).Trim
|
||||
|
||||
Select Case field.ToUpper
|
||||
Case "TITLE"
|
||||
Title = value
|
||||
Case "ARTIST"
|
||||
Artist = value
|
||||
Case "YEAR"
|
||||
Year = CInt(value)
|
||||
Case "MP3"
|
||||
Songfilename = value
|
||||
Case "COVER"
|
||||
CoverFilename = value
|
||||
Case "VIDEO"
|
||||
VideoFilename = value
|
||||
Case "LANGUAGE"
|
||||
Language = value
|
||||
Case "GENRE"
|
||||
Genre = value
|
||||
Case "PREVIEWSTART"
|
||||
If value.Contains(",") Then
|
||||
Decimal.TryParse(value, NumberStyles.Number, New CultureInfo("de-DE"), Previewstart)
|
||||
Else
|
||||
Decimal.TryParse(value, NumberStyles.Number, New CultureInfo("en-US"), Previewstart)
|
||||
End If
|
||||
Case "BPM"
|
||||
BPM = CInt(value)
|
||||
Case "GAP"
|
||||
GAP = CInt(value)
|
||||
Case Else
|
||||
If SongInfos.ContainsKey(field) Then
|
||||
Dim newvalue = SongInfos(field)
|
||||
newvalue = $"{newvalue},{value}"
|
||||
SongInfos(field) = newvalue
|
||||
Else
|
||||
SongInfos.Add(field, value)
|
||||
End If
|
||||
|
||||
End Select
|
||||
End If
|
||||
End Sub
|
||||
End Class
|
||||
103
UltraStarSongPicker/ctrlAudioVideoPlayer.Designer.vb
generated
Normal file
103
UltraStarSongPicker/ctrlAudioVideoPlayer.Designer.vb
generated
Normal file
@ -0,0 +1,103 @@
|
||||
<Global.Microsoft.VisualBasic.CompilerServices.DesignerGenerated()>
|
||||
Partial Class AudioVideoPlayer
|
||||
Inherits System.Windows.Forms.UserControl
|
||||
|
||||
'UserControl überschreibt den Löschvorgang, um die Komponentenliste zu bereinigen.
|
||||
<System.Diagnostics.DebuggerNonUserCode()>
|
||||
Protected Overrides Sub Dispose(ByVal disposing As Boolean)
|
||||
Try
|
||||
If disposing AndAlso components IsNot Nothing Then
|
||||
components.Dispose()
|
||||
End If
|
||||
Finally
|
||||
MyBase.Dispose(disposing)
|
||||
End Try
|
||||
End Sub
|
||||
|
||||
'Wird vom Windows Form-Designer benötigt.
|
||||
Private components As System.ComponentModel.IContainer
|
||||
|
||||
'Hinweis: Die folgende Prozedur ist für den Windows Form-Designer erforderlich.
|
||||
'Das Bearbeiten ist mit dem Windows Form-Designer möglich.
|
||||
'Das Bearbeiten mit dem Code-Editor ist nicht möglich.
|
||||
<System.Diagnostics.DebuggerStepThrough()>
|
||||
Private Sub InitializeComponent()
|
||||
Dim resources As System.ComponentModel.ComponentResourceManager = New System.ComponentModel.ComponentResourceManager(GetType(AudioVideoPlayer))
|
||||
Me.lblSongArtist = New DevExpress.XtraEditors.LabelControl()
|
||||
Me.lblSongTitle = New DevExpress.XtraEditors.LabelControl()
|
||||
Me.axVideo = New AxWMPLib.AxWindowsMediaPlayer()
|
||||
Me.axAudio = New AxWMPLib.AxWindowsMediaPlayer()
|
||||
CType(Me.axVideo, System.ComponentModel.ISupportInitialize).BeginInit()
|
||||
CType(Me.axAudio, System.ComponentModel.ISupportInitialize).BeginInit()
|
||||
Me.SuspendLayout()
|
||||
'
|
||||
'lblSongArtist
|
||||
'
|
||||
Me.lblSongArtist.Appearance.Font = New System.Drawing.Font("Arial", 14.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
|
||||
Me.lblSongArtist.Appearance.ForeColor = System.Drawing.Color.Gray
|
||||
Me.lblSongArtist.Appearance.Options.UseFont = True
|
||||
Me.lblSongArtist.Appearance.Options.UseForeColor = True
|
||||
Me.lblSongArtist.Appearance.Options.UseTextOptions = True
|
||||
Me.lblSongArtist.Appearance.TextOptions.Trimming = DevExpress.Utils.Trimming.EllipsisCharacter
|
||||
Me.lblSongArtist.Appearance.TextOptions.WordWrap = DevExpress.Utils.WordWrap.NoWrap
|
||||
Me.lblSongArtist.AutoSizeMode = DevExpress.XtraEditors.LabelAutoSizeMode.Vertical
|
||||
Me.lblSongArtist.Dock = System.Windows.Forms.DockStyle.Top
|
||||
Me.lblSongArtist.Location = New System.Drawing.Point(0, 27)
|
||||
Me.lblSongArtist.Name = "lblSongArtist"
|
||||
Me.lblSongArtist.Size = New System.Drawing.Size(518, 22)
|
||||
Me.lblSongArtist.TabIndex = 7
|
||||
Me.lblSongArtist.Text = "<Artist>"
|
||||
'
|
||||
'lblSongTitle
|
||||
'
|
||||
Me.lblSongTitle.Appearance.Font = New System.Drawing.Font("Arial", 18.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
|
||||
Me.lblSongTitle.Appearance.Options.UseFont = True
|
||||
Me.lblSongTitle.AutoSizeMode = DevExpress.XtraEditors.LabelAutoSizeMode.Vertical
|
||||
Me.lblSongTitle.Dock = System.Windows.Forms.DockStyle.Top
|
||||
Me.lblSongTitle.Location = New System.Drawing.Point(0, 0)
|
||||
Me.lblSongTitle.Name = "lblSongTitle"
|
||||
Me.lblSongTitle.Size = New System.Drawing.Size(518, 27)
|
||||
Me.lblSongTitle.TabIndex = 8
|
||||
Me.lblSongTitle.Text = "<Title>"
|
||||
'
|
||||
'axVideo
|
||||
'
|
||||
Me.axVideo.Dock = System.Windows.Forms.DockStyle.Fill
|
||||
Me.axVideo.Enabled = True
|
||||
Me.axVideo.Location = New System.Drawing.Point(0, 0)
|
||||
Me.axVideo.Name = "axVideo"
|
||||
Me.axVideo.OcxState = CType(resources.GetObject("axVideo.OcxState"), System.Windows.Forms.AxHost.State)
|
||||
Me.axVideo.Size = New System.Drawing.Size(518, 345)
|
||||
Me.axVideo.TabIndex = 5
|
||||
'
|
||||
'axAudio
|
||||
'
|
||||
Me.axAudio.Dock = System.Windows.Forms.DockStyle.Bottom
|
||||
Me.axAudio.Enabled = True
|
||||
Me.axAudio.Location = New System.Drawing.Point(0, 345)
|
||||
Me.axAudio.Name = "axAudio"
|
||||
Me.axAudio.OcxState = CType(resources.GetObject("axAudio.OcxState"), System.Windows.Forms.AxHost.State)
|
||||
Me.axAudio.Size = New System.Drawing.Size(518, 47)
|
||||
Me.axAudio.TabIndex = 6
|
||||
'
|
||||
'ctrlAudioVideoPlayer
|
||||
'
|
||||
Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!)
|
||||
Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font
|
||||
Me.Controls.Add(Me.lblSongArtist)
|
||||
Me.Controls.Add(Me.lblSongTitle)
|
||||
Me.Controls.Add(Me.axVideo)
|
||||
Me.Controls.Add(Me.axAudio)
|
||||
Me.Name = "ctrlAudioVideoPlayer"
|
||||
Me.Size = New System.Drawing.Size(518, 392)
|
||||
CType(Me.axVideo, System.ComponentModel.ISupportInitialize).EndInit()
|
||||
CType(Me.axAudio, System.ComponentModel.ISupportInitialize).EndInit()
|
||||
Me.ResumeLayout(False)
|
||||
|
||||
End Sub
|
||||
|
||||
Friend WithEvents lblSongArtist As DevExpress.XtraEditors.LabelControl
|
||||
Friend WithEvents lblSongTitle As DevExpress.XtraEditors.LabelControl
|
||||
Friend WithEvents axVideo As AxWMPLib.AxWindowsMediaPlayer
|
||||
Friend WithEvents axAudio As AxWMPLib.AxWindowsMediaPlayer
|
||||
End Class
|
||||
142
UltraStarSongPicker/ctrlAudioVideoPlayer.resx
Normal file
142
UltraStarSongPicker/ctrlAudioVideoPlayer.resx
Normal file
@ -0,0 +1,142 @@
|
||||
<?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>
|
||||
<data name="axVideo.OcxState" mimetype="application/x-microsoft.net.object.binary.base64">
|
||||
<value>
|
||||
AAEAAAD/////AQAAAAAAAAAMAgAAAFdTeXN0ZW0uV2luZG93cy5Gb3JtcywgVmVyc2lvbj00LjAuMC4w
|
||||
LCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkFAQAAACFTeXN0
|
||||
ZW0uV2luZG93cy5Gb3Jtcy5BeEhvc3QrU3RhdGUBAAAABERhdGEHAgIAAAAJAwAAAA8DAAAAtwAAAAIB
|
||||
AAAAAQAAAAAAAAAAAAAAAKIAAAAAAwAACAAAAAAABQAAAAAAAADwPwMAAAAAAAUAAAAAAAAAAAAIAAIA
|
||||
AAAAAAMAAQAAAAsA//8DAAAAAAALAP//CAACAAAAAAADADIAAAALAAAACAAKAAAAbgBvAG4AZQAAAAsA
|
||||
AAALAAAACwD//wsA//8LAAAACAACAAAAAAAIAAIAAAAAAAgAAgAAAAAACAACAAAAAAALAAAAlC0AAMgw
|
||||
AAAL
|
||||
</value>
|
||||
</data>
|
||||
<data name="axAudio.OcxState" mimetype="application/x-microsoft.net.object.binary.base64">
|
||||
<value>
|
||||
AAEAAAD/////AQAAAAAAAAAMAgAAAFdTeXN0ZW0uV2luZG93cy5Gb3JtcywgVmVyc2lvbj00LjAuMC4w
|
||||
LCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkFAQAAACFTeXN0
|
||||
ZW0uV2luZG93cy5Gb3Jtcy5BeEhvc3QrU3RhdGUBAAAABERhdGEHAgIAAAAJAwAAAA8DAAAAtwAAAAIB
|
||||
AAAAAQAAAAAAAAAAAAAAAKIAAAAAAwAACAAAAAAABQAAAAAAAADwPwMAAAAAAAUAAAAAAAAAAAAIAAIA
|
||||
AAAAAAMAAQAAAAsA//8DAAAAAAALAP//CAACAAAAAAADADIAAAALAAAACAAKAAAAZgB1AGwAbAAAAAsA
|
||||
AAALAAAACwD//wsA//8LAAAACAACAAAAAAAIAAIAAAAAAAgAAgAAAAAACAACAAAAAAALAAAANCgAANwE
|
||||
AAAL
|
||||
</value>
|
||||
</data>
|
||||
</root>
|
||||
76
UltraStarSongPicker/ctrlAudioVideoPlayer.vb
Normal file
76
UltraStarSongPicker/ctrlAudioVideoPlayer.vb
Normal file
@ -0,0 +1,76 @@
|
||||
Imports System.IO
|
||||
Imports AxWMPLib
|
||||
|
||||
Friend Class AudioVideoPlayer
|
||||
|
||||
Private Sub AudioVideoPlayer_Load(sender As Object, e As EventArgs) Handles Me.Load
|
||||
lblSongArtist.Text = Nothing
|
||||
lblSongTitle.Text = Nothing
|
||||
If DesignMode = False Then
|
||||
axVideo.uiMode = "none"
|
||||
axVideo.settings.volume = 0
|
||||
End If
|
||||
End Sub
|
||||
|
||||
Private Sub axAudio_PlayStateChange(sender As Object, e As _WMPOCXEvents_PlayStateChangeEvent) Handles axAudio.PlayStateChange
|
||||
With axVideo.Ctlcontrols
|
||||
Select Case e.newState
|
||||
Case 0 ' Undefined
|
||||
|
||||
Case 1 ' Stopped
|
||||
.stop()
|
||||
Case 2 ' Paused
|
||||
.pause()
|
||||
Case 3 ' Playing
|
||||
.play()
|
||||
Case 4 ' ScanForward
|
||||
.currentPosition = axAudio.Ctlcontrols.currentPosition
|
||||
Case 5 ' ScanReverse
|
||||
.currentPosition = axAudio.Ctlcontrols.currentPosition
|
||||
Case 6 ' Buffering
|
||||
.pause()
|
||||
Case 7 ' Waiting
|
||||
.pause()
|
||||
Case 8 ' MediaEnded
|
||||
.stop()
|
||||
Case 9 ' Transitioning
|
||||
|
||||
Case 10 ' Ready
|
||||
|
||||
Case 11 ' Reconnecting
|
||||
|
||||
Case 12 ' Last
|
||||
|
||||
Case Else
|
||||
|
||||
|
||||
End Select
|
||||
End With
|
||||
|
||||
End Sub
|
||||
|
||||
Private Sub axMediaPlayer_PositionChange(sender As Object, e As _WMPOCXEvents_PositionChangeEvent) Handles axAudio.PositionChange
|
||||
axVideo.Ctlcontrols.currentPosition = axAudio.Ctlcontrols.currentPosition
|
||||
End Sub
|
||||
|
||||
Friend Sub Play(song As Song)
|
||||
If File.Exists(song.Videofile) Then
|
||||
axVideo.URL = song.Videofile
|
||||
axAudio.URL = song.Songfile
|
||||
ElseIf File.Exists(song.Songfile) Then
|
||||
axVideo.URL = Nothing
|
||||
axAudio.URL = song.Songfile
|
||||
Else
|
||||
Exit Sub
|
||||
End If
|
||||
lblSongArtist.Text = song.Artist
|
||||
lblSongTitle.Text = song.Title
|
||||
axAudio.Ctlcontrols.currentPosition = song.Previewstart
|
||||
End Sub
|
||||
|
||||
Friend Sub [Stop]()
|
||||
axVideo.URL = Nothing
|
||||
axAudio.URL = Nothing
|
||||
End Sub
|
||||
|
||||
End Class
|
||||
BIN
UltraStarSongPicker/database.db
Normal file
BIN
UltraStarSongPicker/database.db
Normal file
Binary file not shown.
102
UltraStarSongPicker/frmErrorList.Designer.vb
generated
Normal file
102
UltraStarSongPicker/frmErrorList.Designer.vb
generated
Normal file
@ -0,0 +1,102 @@
|
||||
<Global.Microsoft.VisualBasic.CompilerServices.DesignerGenerated()> _
|
||||
Partial Class frmErrorList
|
||||
Inherits System.Windows.Forms.Form
|
||||
|
||||
'Das Formular überschreibt den Löschvorgang, um die Komponentenliste zu bereinigen.
|
||||
<System.Diagnostics.DebuggerNonUserCode()> _
|
||||
Protected Overrides Sub Dispose(ByVal disposing As Boolean)
|
||||
Try
|
||||
If disposing AndAlso components IsNot Nothing Then
|
||||
components.Dispose()
|
||||
End If
|
||||
Finally
|
||||
MyBase.Dispose(disposing)
|
||||
End Try
|
||||
End Sub
|
||||
|
||||
'Wird vom Windows Form-Designer benötigt.
|
||||
Private components As System.ComponentModel.IContainer
|
||||
|
||||
'Hinweis: Die folgende Prozedur ist für den Windows Form-Designer erforderlich.
|
||||
'Das Bearbeiten ist mit dem Windows Form-Designer möglich.
|
||||
'Das Bearbeiten mit dem Code-Editor ist nicht möglich.
|
||||
<System.Diagnostics.DebuggerStepThrough()> _
|
||||
Private Sub InitializeComponent()
|
||||
Me.txtErrors = New DevExpress.XtraEditors.MemoEdit()
|
||||
Me.lblErrorTitle = New DevExpress.XtraEditors.LabelControl()
|
||||
Me.panBottom = New DevExpress.XtraEditors.PanelControl()
|
||||
Me.btnOK = New DevExpress.XtraEditors.SimpleButton()
|
||||
CType(Me.txtErrors.Properties, System.ComponentModel.ISupportInitialize).BeginInit()
|
||||
CType(Me.panBottom, System.ComponentModel.ISupportInitialize).BeginInit()
|
||||
Me.panBottom.SuspendLayout()
|
||||
Me.SuspendLayout()
|
||||
'
|
||||
'txtErrors
|
||||
'
|
||||
Me.txtErrors.Dock = System.Windows.Forms.DockStyle.Fill
|
||||
Me.txtErrors.Location = New System.Drawing.Point(0, 36)
|
||||
Me.txtErrors.Name = "txtErrors"
|
||||
Me.txtErrors.Properties.ReadOnly = True
|
||||
Me.txtErrors.Size = New System.Drawing.Size(682, 386)
|
||||
Me.txtErrors.TabIndex = 1
|
||||
'
|
||||
'lblErrorTitle
|
||||
'
|
||||
Me.lblErrorTitle.Appearance.Font = New System.Drawing.Font("Tahoma", 9.75!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
|
||||
Me.lblErrorTitle.Appearance.ForeColor = System.Drawing.Color.Red
|
||||
Me.lblErrorTitle.Appearance.Options.UseFont = True
|
||||
Me.lblErrorTitle.Appearance.Options.UseForeColor = True
|
||||
Me.lblErrorTitle.Appearance.Options.UseTextOptions = True
|
||||
Me.lblErrorTitle.Appearance.TextOptions.HAlignment = DevExpress.Utils.HorzAlignment.Center
|
||||
Me.lblErrorTitle.Appearance.TextOptions.VAlignment = DevExpress.Utils.VertAlignment.Center
|
||||
Me.lblErrorTitle.AutoSizeMode = DevExpress.XtraEditors.LabelAutoSizeMode.Vertical
|
||||
Me.lblErrorTitle.Dock = System.Windows.Forms.DockStyle.Top
|
||||
Me.lblErrorTitle.Location = New System.Drawing.Point(0, 0)
|
||||
Me.lblErrorTitle.Name = "lblErrorTitle"
|
||||
Me.lblErrorTitle.Padding = New System.Windows.Forms.Padding(10)
|
||||
Me.lblErrorTitle.Size = New System.Drawing.Size(682, 36)
|
||||
Me.lblErrorTitle.TabIndex = 1
|
||||
Me.lblErrorTitle.Text = "Beim Ausführen der Aktion sind ein oder mehrere Fehler aufgetreten:"
|
||||
'
|
||||
'panBottom
|
||||
'
|
||||
Me.panBottom.Controls.Add(Me.btnOK)
|
||||
Me.panBottom.Dock = System.Windows.Forms.DockStyle.Bottom
|
||||
Me.panBottom.Location = New System.Drawing.Point(0, 422)
|
||||
Me.panBottom.Name = "panBottom"
|
||||
Me.panBottom.Size = New System.Drawing.Size(682, 41)
|
||||
Me.panBottom.TabIndex = 2
|
||||
'
|
||||
'btnOK
|
||||
'
|
||||
Me.btnOK.Anchor = System.Windows.Forms.AnchorStyles.Bottom
|
||||
Me.btnOK.DialogResult = System.Windows.Forms.DialogResult.OK
|
||||
Me.btnOK.Location = New System.Drawing.Point(291, 6)
|
||||
Me.btnOK.Name = "btnOK"
|
||||
Me.btnOK.Size = New System.Drawing.Size(101, 23)
|
||||
Me.btnOK.TabIndex = 0
|
||||
Me.btnOK.Text = "OK"
|
||||
'
|
||||
'frmErrorList
|
||||
'
|
||||
Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!)
|
||||
Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font
|
||||
Me.ClientSize = New System.Drawing.Size(682, 463)
|
||||
Me.Controls.Add(Me.txtErrors)
|
||||
Me.Controls.Add(Me.lblErrorTitle)
|
||||
Me.Controls.Add(Me.panBottom)
|
||||
Me.Name = "frmErrorList"
|
||||
Me.StartPosition = System.Windows.Forms.FormStartPosition.CenterParent
|
||||
Me.Text = "Aufgetretene Fehler"
|
||||
CType(Me.txtErrors.Properties, System.ComponentModel.ISupportInitialize).EndInit()
|
||||
CType(Me.panBottom, System.ComponentModel.ISupportInitialize).EndInit()
|
||||
Me.panBottom.ResumeLayout(False)
|
||||
Me.ResumeLayout(False)
|
||||
|
||||
End Sub
|
||||
|
||||
Friend WithEvents txtErrors As DevExpress.XtraEditors.MemoEdit
|
||||
Friend WithEvents lblErrorTitle As DevExpress.XtraEditors.LabelControl
|
||||
Friend WithEvents panBottom As DevExpress.XtraEditors.PanelControl
|
||||
Friend WithEvents btnOK As DevExpress.XtraEditors.SimpleButton
|
||||
End Class
|
||||
120
UltraStarSongPicker/frmErrorList.resx
Normal file
120
UltraStarSongPicker/frmErrorList.resx
Normal file
@ -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>
|
||||
18
UltraStarSongPicker/frmErrorList.vb
Normal file
18
UltraStarSongPicker/frmErrorList.vb
Normal file
@ -0,0 +1,18 @@
|
||||
Public Class frmErrorList
|
||||
|
||||
Dim ErrorList As List(Of String)
|
||||
|
||||
Public Sub New(errorlist As List(Of String))
|
||||
|
||||
' Dieser Aufruf ist für den Designer erforderlich.
|
||||
InitializeComponent()
|
||||
|
||||
' Fügen Sie Initialisierungen nach dem InitializeComponent()-Aufruf hinzu.
|
||||
Me.ErrorList = errorlist
|
||||
End Sub
|
||||
Private Sub frmErrorList_Load(sender As Object, e As EventArgs) Handles MyBase.Load
|
||||
|
||||
txtErrors.Text = String.Join(vbCrLf, ErrorList.ToArray)
|
||||
txtErrors.DeselectAll()
|
||||
End Sub
|
||||
End Class
|
||||
327
UltraStarSongPicker/frmMain.Designer.vb
generated
Normal file
327
UltraStarSongPicker/frmMain.Designer.vb
generated
Normal file
@ -0,0 +1,327 @@
|
||||
<Global.Microsoft.VisualBasic.CompilerServices.DesignerGenerated()>
|
||||
Partial Class frmMain
|
||||
Inherits System.Windows.Forms.Form
|
||||
|
||||
'Das Formular überschreibt den Löschvorgang, um die Komponentenliste zu bereinigen.
|
||||
<System.Diagnostics.DebuggerNonUserCode()>
|
||||
Protected Overrides Sub Dispose(ByVal disposing As Boolean)
|
||||
Try
|
||||
If disposing AndAlso components IsNot Nothing Then
|
||||
components.Dispose()
|
||||
End If
|
||||
Finally
|
||||
MyBase.Dispose(disposing)
|
||||
End Try
|
||||
End Sub
|
||||
|
||||
'Wird vom Windows Form-Designer benötigt.
|
||||
Private components As System.ComponentModel.IContainer
|
||||
|
||||
'Hinweis: Die folgende Prozedur ist für den Windows Form-Designer erforderlich.
|
||||
'Das Bearbeiten ist mit dem Windows Form-Designer möglich.
|
||||
'Das Bearbeiten mit dem Code-Editor ist nicht möglich.
|
||||
<System.Diagnostics.DebuggerStepThrough()>
|
||||
Private Sub InitializeComponent()
|
||||
Me.components = New System.ComponentModel.Container()
|
||||
Dim resources As System.ComponentModel.ComponentResourceManager = New System.ComponentModel.ComponentResourceManager(GetType(frmMain))
|
||||
Me.rcMain = New DevExpress.XtraBars.Ribbon.RibbonControl()
|
||||
Me.btnSettings = New DevExpress.XtraBars.BarButtonItem()
|
||||
Me.btnReread = New DevExpress.XtraBars.BarButtonItem()
|
||||
Me.btnSave = New DevExpress.XtraBars.BarButtonItem()
|
||||
Me.btnPrint = New DevExpress.XtraBars.BarButtonItem()
|
||||
Me.rpGeneral = New DevExpress.XtraBars.Ribbon.RibbonPage()
|
||||
Me.rpgGeneral = New DevExpress.XtraBars.Ribbon.RibbonPageGroup()
|
||||
Me.rpgManagement = New DevExpress.XtraBars.Ribbon.RibbonPageGroup()
|
||||
Me.grdSongs = New DevExpress.XtraGrid.GridControl()
|
||||
Me.cmsSongs = New System.Windows.Forms.ContextMenuStrip(Me.components)
|
||||
Me.menOpenFolder = New System.Windows.Forms.ToolStripMenuItem()
|
||||
Me.menCopy = New System.Windows.Forms.ToolStripMenuItem()
|
||||
Me.grdvSongs = New DevExpress.XtraGrid.Views.Grid.GridView()
|
||||
Me.splMain = New DevExpress.XtraEditors.SplitContainerControl()
|
||||
Me.prgMain = New DevExpress.XtraWaitForm.ProgressPanel()
|
||||
Me.splSongInfo = New DevExpress.XtraEditors.SplitContainerControl()
|
||||
Me.avPlayer = New UltraStarSongPicker.AudioVideoPlayer()
|
||||
Me.grdSongInfos = New DevExpress.XtraGrid.GridControl()
|
||||
Me.grdvSongInfos = New DevExpress.XtraGrid.Views.Grid.GridView()
|
||||
Me.SFD = New System.Windows.Forms.SaveFileDialog()
|
||||
CType(Me.rcMain, System.ComponentModel.ISupportInitialize).BeginInit()
|
||||
CType(Me.grdSongs, System.ComponentModel.ISupportInitialize).BeginInit()
|
||||
Me.cmsSongs.SuspendLayout()
|
||||
CType(Me.grdvSongs, System.ComponentModel.ISupportInitialize).BeginInit()
|
||||
CType(Me.splMain, System.ComponentModel.ISupportInitialize).BeginInit()
|
||||
CType(Me.splMain.Panel1, System.ComponentModel.ISupportInitialize).BeginInit()
|
||||
Me.splMain.Panel1.SuspendLayout()
|
||||
CType(Me.splMain.Panel2, System.ComponentModel.ISupportInitialize).BeginInit()
|
||||
Me.splMain.Panel2.SuspendLayout()
|
||||
Me.splMain.SuspendLayout()
|
||||
CType(Me.splSongInfo, System.ComponentModel.ISupportInitialize).BeginInit()
|
||||
CType(Me.splSongInfo.Panel1, System.ComponentModel.ISupportInitialize).BeginInit()
|
||||
Me.splSongInfo.Panel1.SuspendLayout()
|
||||
CType(Me.splSongInfo.Panel2, System.ComponentModel.ISupportInitialize).BeginInit()
|
||||
Me.splSongInfo.Panel2.SuspendLayout()
|
||||
Me.splSongInfo.SuspendLayout()
|
||||
CType(Me.grdSongInfos, System.ComponentModel.ISupportInitialize).BeginInit()
|
||||
CType(Me.grdvSongInfos, System.ComponentModel.ISupportInitialize).BeginInit()
|
||||
Me.SuspendLayout()
|
||||
'
|
||||
'rcMain
|
||||
'
|
||||
Me.rcMain.ExpandCollapseItem.Id = 0
|
||||
Me.rcMain.Items.AddRange(New DevExpress.XtraBars.BarItem() {Me.rcMain.ExpandCollapseItem, Me.rcMain.SearchEditItem, Me.btnSettings, Me.btnReread, Me.btnSave, Me.btnPrint})
|
||||
Me.rcMain.Location = New System.Drawing.Point(0, 0)
|
||||
Me.rcMain.MaxItemId = 5
|
||||
Me.rcMain.Name = "rcMain"
|
||||
Me.rcMain.Pages.AddRange(New DevExpress.XtraBars.Ribbon.RibbonPage() {Me.rpGeneral})
|
||||
Me.rcMain.ShowApplicationButton = DevExpress.Utils.DefaultBoolean.[False]
|
||||
Me.rcMain.ShowPageHeadersMode = DevExpress.XtraBars.Ribbon.ShowPageHeadersMode.ShowOnMultiplePages
|
||||
Me.rcMain.Size = New System.Drawing.Size(1115, 100)
|
||||
Me.rcMain.ToolbarLocation = DevExpress.XtraBars.Ribbon.RibbonQuickAccessToolbarLocation.Hidden
|
||||
'
|
||||
'btnSettings
|
||||
'
|
||||
Me.btnSettings.Caption = "Einstellungen"
|
||||
Me.btnSettings.Id = 1
|
||||
Me.btnSettings.ImageOptions.SvgImage = Global.UltraStarSongPicker.My.Resources.Resources.properties
|
||||
Me.btnSettings.Name = "btnSettings"
|
||||
'
|
||||
'btnReread
|
||||
'
|
||||
Me.btnReread.Caption = "Ordner neu einlesen"
|
||||
Me.btnReread.Id = 2
|
||||
Me.btnReread.ImageOptions.SvgImage = Global.UltraStarSongPicker.My.Resources.Resources.changeview
|
||||
Me.btnReread.Name = "btnReread"
|
||||
'
|
||||
'btnSave
|
||||
'
|
||||
Me.btnSave.Caption = "Änderungen speichern"
|
||||
Me.btnSave.Id = 3
|
||||
Me.btnSave.ImageOptions.SvgImage = Global.UltraStarSongPicker.My.Resources.Resources.save
|
||||
Me.btnSave.Name = "btnSave"
|
||||
Me.btnSave.RibbonStyle = CType(((DevExpress.XtraBars.Ribbon.RibbonItemStyles.Large Or DevExpress.XtraBars.Ribbon.RibbonItemStyles.SmallWithText) _
|
||||
Or DevExpress.XtraBars.Ribbon.RibbonItemStyles.SmallWithoutText), DevExpress.XtraBars.Ribbon.RibbonItemStyles)
|
||||
'
|
||||
'btnPrint
|
||||
'
|
||||
Me.btnPrint.Caption = "Songliste erstellen"
|
||||
Me.btnPrint.Id = 4
|
||||
Me.btnPrint.ImageOptions.SvgImage = Global.UltraStarSongPicker.My.Resources.Resources.documentpdf
|
||||
Me.btnPrint.Name = "btnPrint"
|
||||
Me.btnPrint.RibbonStyle = CType(((DevExpress.XtraBars.Ribbon.RibbonItemStyles.Large Or DevExpress.XtraBars.Ribbon.RibbonItemStyles.SmallWithText) _
|
||||
Or DevExpress.XtraBars.Ribbon.RibbonItemStyles.SmallWithoutText), DevExpress.XtraBars.Ribbon.RibbonItemStyles)
|
||||
'
|
||||
'rpGeneral
|
||||
'
|
||||
Me.rpGeneral.Groups.AddRange(New DevExpress.XtraBars.Ribbon.RibbonPageGroup() {Me.rpgGeneral, Me.rpgManagement})
|
||||
Me.rpGeneral.Name = "rpGeneral"
|
||||
Me.rpGeneral.Text = "Allgemein"
|
||||
'
|
||||
'rpgGeneral
|
||||
'
|
||||
Me.rpgGeneral.ItemLinks.Add(Me.btnSave)
|
||||
Me.rpgGeneral.ItemLinks.Add(Me.btnPrint)
|
||||
Me.rpgGeneral.Name = "rpgGeneral"
|
||||
Me.rpgGeneral.Text = "Allgemein"
|
||||
'
|
||||
'rpgManagement
|
||||
'
|
||||
Me.rpgManagement.ItemLinks.Add(Me.btnReread)
|
||||
Me.rpgManagement.ItemLinks.Add(Me.btnSettings)
|
||||
Me.rpgManagement.Name = "rpgManagement"
|
||||
Me.rpgManagement.Text = "Verwaltung"
|
||||
'
|
||||
'grdSongs
|
||||
'
|
||||
Me.grdSongs.ContextMenuStrip = Me.cmsSongs
|
||||
Me.grdSongs.Dock = System.Windows.Forms.DockStyle.Fill
|
||||
Me.grdSongs.EmbeddedNavigator.Buttons.Append.Visible = False
|
||||
Me.grdSongs.EmbeddedNavigator.Buttons.CancelEdit.Visible = False
|
||||
Me.grdSongs.EmbeddedNavigator.Buttons.Edit.Visible = False
|
||||
Me.grdSongs.EmbeddedNavigator.Buttons.EndEdit.Visible = False
|
||||
Me.grdSongs.EmbeddedNavigator.Buttons.First.Visible = False
|
||||
Me.grdSongs.EmbeddedNavigator.Buttons.Last.Visible = False
|
||||
Me.grdSongs.EmbeddedNavigator.Buttons.Next.Visible = False
|
||||
Me.grdSongs.EmbeddedNavigator.Buttons.NextPage.Visible = False
|
||||
Me.grdSongs.EmbeddedNavigator.Buttons.Prev.Visible = False
|
||||
Me.grdSongs.EmbeddedNavigator.Buttons.PrevPage.Visible = False
|
||||
Me.grdSongs.EmbeddedNavigator.Buttons.Remove.Visible = False
|
||||
Me.grdSongs.EmbeddedNavigator.TextStringFormat = "Song {0} von {1}"
|
||||
Me.grdSongs.Location = New System.Drawing.Point(0, 0)
|
||||
Me.grdSongs.MainView = Me.grdvSongs
|
||||
Me.grdSongs.MenuManager = Me.rcMain
|
||||
Me.grdSongs.Name = "grdSongs"
|
||||
Me.grdSongs.Size = New System.Drawing.Size(655, 603)
|
||||
Me.grdSongs.TabIndex = 1
|
||||
Me.grdSongs.UseEmbeddedNavigator = True
|
||||
Me.grdSongs.ViewCollection.AddRange(New DevExpress.XtraGrid.Views.Base.BaseView() {Me.grdvSongs})
|
||||
'
|
||||
'cmsSongs
|
||||
'
|
||||
Me.cmsSongs.Items.AddRange(New System.Windows.Forms.ToolStripItem() {Me.menOpenFolder, Me.menCopy})
|
||||
Me.cmsSongs.Name = "cmsSongs"
|
||||
Me.cmsSongs.Size = New System.Drawing.Size(213, 48)
|
||||
'
|
||||
'menOpenFolder
|
||||
'
|
||||
Me.menOpenFolder.Name = "menOpenFolder"
|
||||
Me.menOpenFolder.Size = New System.Drawing.Size(212, 22)
|
||||
Me.menOpenFolder.Text = "Ordner im Explorer öffnen"
|
||||
'
|
||||
'menCopy
|
||||
'
|
||||
Me.menCopy.Name = "menCopy"
|
||||
Me.menCopy.ShortcutKeys = CType((System.Windows.Forms.Keys.Control Or System.Windows.Forms.Keys.C), System.Windows.Forms.Keys)
|
||||
Me.menCopy.Size = New System.Drawing.Size(212, 22)
|
||||
Me.menCopy.Text = "Kopieren"
|
||||
'
|
||||
'grdvSongs
|
||||
'
|
||||
Me.grdvSongs.GridControl = Me.grdSongs
|
||||
Me.grdvSongs.Name = "grdvSongs"
|
||||
Me.grdvSongs.OptionsBehavior.AutoExpandAllGroups = True
|
||||
Me.grdvSongs.OptionsFind.AlwaysVisible = True
|
||||
Me.grdvSongs.OptionsSelection.MultiSelect = True
|
||||
'
|
||||
'splMain
|
||||
'
|
||||
Me.splMain.Dock = System.Windows.Forms.DockStyle.Fill
|
||||
Me.splMain.FixedPanel = DevExpress.XtraEditors.SplitFixedPanel.Panel2
|
||||
Me.splMain.Location = New System.Drawing.Point(0, 100)
|
||||
Me.splMain.Name = "splMain"
|
||||
'
|
||||
'splMain.Panel1
|
||||
'
|
||||
Me.splMain.Panel1.Controls.Add(Me.prgMain)
|
||||
Me.splMain.Panel1.Controls.Add(Me.grdSongs)
|
||||
Me.splMain.Panel1.Text = "Panel1"
|
||||
'
|
||||
'splMain.Panel2
|
||||
'
|
||||
Me.splMain.Panel2.Controls.Add(Me.splSongInfo)
|
||||
Me.splMain.Panel2.Text = "Panel2"
|
||||
Me.splMain.Size = New System.Drawing.Size(1115, 603)
|
||||
Me.splMain.SplitterPosition = 450
|
||||
Me.splMain.TabIndex = 3
|
||||
'
|
||||
'prgMain
|
||||
'
|
||||
Me.prgMain.Anchor = System.Windows.Forms.AnchorStyles.None
|
||||
Me.prgMain.Appearance.BackColor = System.Drawing.Color.Transparent
|
||||
Me.prgMain.Appearance.Options.UseBackColor = True
|
||||
Me.prgMain.Caption = ""
|
||||
Me.prgMain.Location = New System.Drawing.Point(204, 268)
|
||||
Me.prgMain.Name = "prgMain"
|
||||
Me.prgMain.Size = New System.Drawing.Size(246, 66)
|
||||
Me.prgMain.TabIndex = 2
|
||||
Me.prgMain.Visible = False
|
||||
'
|
||||
'splSongInfo
|
||||
'
|
||||
Me.splSongInfo.Dock = System.Windows.Forms.DockStyle.Fill
|
||||
Me.splSongInfo.FixedPanel = DevExpress.XtraEditors.SplitFixedPanel.Panel2
|
||||
Me.splSongInfo.Horizontal = False
|
||||
Me.splSongInfo.Location = New System.Drawing.Point(0, 0)
|
||||
Me.splSongInfo.Name = "splSongInfo"
|
||||
'
|
||||
'splSongInfo.Panel1
|
||||
'
|
||||
Me.splSongInfo.Panel1.Controls.Add(Me.avPlayer)
|
||||
Me.splSongInfo.Panel1.Text = "Panel1"
|
||||
'
|
||||
'splSongInfo.Panel2
|
||||
'
|
||||
Me.splSongInfo.Panel2.Controls.Add(Me.grdSongInfos)
|
||||
Me.splSongInfo.Panel2.Text = "Panel2"
|
||||
Me.splSongInfo.Size = New System.Drawing.Size(450, 603)
|
||||
Me.splSongInfo.SplitterPosition = 201
|
||||
Me.splSongInfo.TabIndex = 5
|
||||
'
|
||||
'avPlayer
|
||||
'
|
||||
Me.avPlayer.Dock = System.Windows.Forms.DockStyle.Fill
|
||||
Me.avPlayer.Location = New System.Drawing.Point(0, 0)
|
||||
Me.avPlayer.Name = "avPlayer"
|
||||
Me.avPlayer.Size = New System.Drawing.Size(450, 392)
|
||||
Me.avPlayer.TabIndex = 0
|
||||
'
|
||||
'grdSongInfos
|
||||
'
|
||||
Me.grdSongInfos.Dock = System.Windows.Forms.DockStyle.Fill
|
||||
Me.grdSongInfos.Location = New System.Drawing.Point(0, 0)
|
||||
Me.grdSongInfos.MainView = Me.grdvSongInfos
|
||||
Me.grdSongInfos.MenuManager = Me.rcMain
|
||||
Me.grdSongInfos.Name = "grdSongInfos"
|
||||
Me.grdSongInfos.Size = New System.Drawing.Size(450, 201)
|
||||
Me.grdSongInfos.TabIndex = 2
|
||||
Me.grdSongInfos.ViewCollection.AddRange(New DevExpress.XtraGrid.Views.Base.BaseView() {Me.grdvSongInfos})
|
||||
'
|
||||
'grdvSongInfos
|
||||
'
|
||||
Me.grdvSongInfos.GridControl = Me.grdSongInfos
|
||||
Me.grdvSongInfos.Name = "grdvSongInfos"
|
||||
Me.grdvSongInfos.OptionsBehavior.Editable = False
|
||||
Me.grdvSongInfos.OptionsView.ShowColumnHeaders = False
|
||||
Me.grdvSongInfos.OptionsView.ShowGroupPanel = False
|
||||
Me.grdvSongInfos.OptionsView.ShowIndicator = False
|
||||
Me.grdvSongInfos.OptionsView.ShowViewCaption = True
|
||||
Me.grdvSongInfos.ViewCaption = "Songinfos"
|
||||
'
|
||||
'SFD
|
||||
'
|
||||
Me.SFD.FileName = "Songliste.pdf"
|
||||
Me.SFD.Filter = "PDF-Dateien (*.pdf)|*.pdf|Alle Dateien (*.*)|*.*"
|
||||
'
|
||||
'frmMain
|
||||
'
|
||||
Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!)
|
||||
Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font
|
||||
Me.ClientSize = New System.Drawing.Size(1115, 703)
|
||||
Me.Controls.Add(Me.splMain)
|
||||
Me.Controls.Add(Me.rcMain)
|
||||
Me.Icon = CType(resources.GetObject("$this.Icon"), System.Drawing.Icon)
|
||||
Me.Name = "frmMain"
|
||||
Me.Text = "Ultrastar Songlistpicker"
|
||||
Me.WindowState = System.Windows.Forms.FormWindowState.Maximized
|
||||
CType(Me.rcMain, System.ComponentModel.ISupportInitialize).EndInit()
|
||||
CType(Me.grdSongs, System.ComponentModel.ISupportInitialize).EndInit()
|
||||
Me.cmsSongs.ResumeLayout(False)
|
||||
CType(Me.grdvSongs, System.ComponentModel.ISupportInitialize).EndInit()
|
||||
CType(Me.splMain.Panel1, System.ComponentModel.ISupportInitialize).EndInit()
|
||||
Me.splMain.Panel1.ResumeLayout(False)
|
||||
CType(Me.splMain.Panel2, System.ComponentModel.ISupportInitialize).EndInit()
|
||||
Me.splMain.Panel2.ResumeLayout(False)
|
||||
CType(Me.splMain, System.ComponentModel.ISupportInitialize).EndInit()
|
||||
Me.splMain.ResumeLayout(False)
|
||||
CType(Me.splSongInfo.Panel1, System.ComponentModel.ISupportInitialize).EndInit()
|
||||
Me.splSongInfo.Panel1.ResumeLayout(False)
|
||||
CType(Me.splSongInfo.Panel2, System.ComponentModel.ISupportInitialize).EndInit()
|
||||
Me.splSongInfo.Panel2.ResumeLayout(False)
|
||||
CType(Me.splSongInfo, System.ComponentModel.ISupportInitialize).EndInit()
|
||||
Me.splSongInfo.ResumeLayout(False)
|
||||
CType(Me.grdSongInfos, System.ComponentModel.ISupportInitialize).EndInit()
|
||||
CType(Me.grdvSongInfos, System.ComponentModel.ISupportInitialize).EndInit()
|
||||
Me.ResumeLayout(False)
|
||||
Me.PerformLayout()
|
||||
|
||||
End Sub
|
||||
|
||||
Friend WithEvents rcMain As DevExpress.XtraBars.Ribbon.RibbonControl
|
||||
Friend WithEvents rpGeneral As DevExpress.XtraBars.Ribbon.RibbonPage
|
||||
Friend WithEvents rpgGeneral As DevExpress.XtraBars.Ribbon.RibbonPageGroup
|
||||
Friend WithEvents grdSongs As DevExpress.XtraGrid.GridControl
|
||||
Friend WithEvents grdvSongs As DevExpress.XtraGrid.Views.Grid.GridView
|
||||
Friend WithEvents btnSettings As DevExpress.XtraBars.BarButtonItem
|
||||
Friend WithEvents btnReread As DevExpress.XtraBars.BarButtonItem
|
||||
Friend WithEvents splMain As DevExpress.XtraEditors.SplitContainerControl
|
||||
Friend WithEvents prgMain As DevExpress.XtraWaitForm.ProgressPanel
|
||||
Friend WithEvents grdSongInfos As DevExpress.XtraGrid.GridControl
|
||||
Friend WithEvents grdvSongInfos As DevExpress.XtraGrid.Views.Grid.GridView
|
||||
Friend WithEvents cmsSongs As ContextMenuStrip
|
||||
Friend WithEvents menCopy As ToolStripMenuItem
|
||||
Friend WithEvents menOpenFolder As ToolStripMenuItem
|
||||
Friend WithEvents splSongInfo As DevExpress.XtraEditors.SplitContainerControl
|
||||
Friend WithEvents avPlayer As AudioVideoPlayer
|
||||
Friend WithEvents btnSave As DevExpress.XtraBars.BarButtonItem
|
||||
Friend WithEvents btnPrint As DevExpress.XtraBars.BarButtonItem
|
||||
Friend WithEvents rpgManagement As DevExpress.XtraBars.Ribbon.RibbonPageGroup
|
||||
Friend WithEvents SFD As SaveFileDialog
|
||||
End Class
|
||||
3201
UltraStarSongPicker/frmMain.resx
Normal file
3201
UltraStarSongPicker/frmMain.resx
Normal file
File diff suppressed because it is too large
Load Diff
3289
UltraStarSongPicker/frmMain.resx.bak
Normal file
3289
UltraStarSongPicker/frmMain.resx.bak
Normal file
File diff suppressed because it is too large
Load Diff
528
UltraStarSongPicker/frmMain.vb
Normal file
528
UltraStarSongPicker/frmMain.vb
Normal file
@ -0,0 +1,528 @@
|
||||
Imports System.ComponentModel
|
||||
Imports System.Data.Common
|
||||
Imports System.Data.SQLite
|
||||
Imports System.IO
|
||||
Imports AxWMPLib
|
||||
Imports DevExpress.XtraGrid
|
||||
Imports DevExpress.XtraGrid.Columns
|
||||
Imports DevExpress.XtraGrid.Views.Base
|
||||
Imports DevExpress.XtraGrid.Views.Grid
|
||||
Imports DevExpress.XtraGrid.Views.Grid.ViewInfo
|
||||
Imports DevExpress.XtraReports.UI
|
||||
|
||||
Public Class frmMain
|
||||
|
||||
Public Property Songs As New List(Of Song)
|
||||
Dim ErrorMsgs As New List(Of String)
|
||||
Event ReadProgress(Caption As String, Description As String)
|
||||
|
||||
Private Sub frmMain_Load(sender As Object, e As EventArgs) Handles MyBase.Load
|
||||
prepareGrid()
|
||||
GetSongsFromDB()
|
||||
End Sub
|
||||
|
||||
Private Sub prepareGrid()
|
||||
grdSongs.DataSource = Songs
|
||||
grdvSongs.PopulateColumns()
|
||||
With grdvSongs
|
||||
.OptionsBehavior.Editable = True
|
||||
For Each col As GridColumn In grdvSongs.Columns
|
||||
col.OptionsColumn.AllowEdit = False
|
||||
Next
|
||||
|
||||
.Columns(NameOf(Song.IsFavorite)).OptionsColumn.AllowEdit = True
|
||||
.Columns(NameOf(Song.ID)).Visible = False
|
||||
.Columns(NameOf(Song.SongInfos)).Visible = False
|
||||
.Columns(NameOf(Song.Coverfile)).Visible = False
|
||||
.Columns(NameOf(Song.Songfile)).Visible = False
|
||||
.Columns(NameOf(Song.Videofile)).Visible = False
|
||||
|
||||
.Columns(NameOf(Song.HasError)).Visible = False
|
||||
.Columns(NameOf(Song.ErrorText)).Visible = False
|
||||
.Columns(NameOf(Song.RootDir)).Visible = False
|
||||
.Columns(NameOf(Song.SubDirectory)).Visible = False
|
||||
.Columns(NameOf(Song.InfoFile)).Visible = False
|
||||
'.Columns(NameOf(Song.Language)).Visible = False
|
||||
'.Columns(NameOf(Song.Genre)).Visible = False
|
||||
.Columns(NameOf(Song.BPM)).Visible = False
|
||||
.Columns(NameOf(Song.GAP)).Visible = False
|
||||
.Columns(NameOf(Song.Previewstart)).Visible = False
|
||||
.Columns(NameOf(Song.FullPath)).Visible = False
|
||||
.Columns(NameOf(Song.FolderName)).Visible = False
|
||||
.Columns(NameOf(Song.ExistsInFavDir)).Visible = False
|
||||
.Columns(NameOf(Song.Songfilename)).Visible = False
|
||||
.Columns(NameOf(Song.VideoFilename)).Visible = False
|
||||
.Columns(NameOf(Song.CoverFilename)).Visible = False
|
||||
|
||||
.Columns(NameOf(Song.Artist)).SortIndex = 0
|
||||
.Columns(NameOf(Song.Artist)).Caption = "Künstler"
|
||||
.Columns(NameOf(Song.Title)).SortIndex = 1
|
||||
.Columns(NameOf(Song.Title)).Caption = "Titel"
|
||||
.Columns(NameOf(Song.ParentFolderName)).SortIndex = 2
|
||||
.Columns(NameOf(Song.ParentFolderName)).Caption = "Ordnername"
|
||||
.Columns(NameOf(Song.Language)).Caption = "Sprache"
|
||||
.Columns(NameOf(Song.Year)).Caption = "Jahr"
|
||||
.Columns(NameOf(Song.IsFavorite)).Caption = "Favorit"
|
||||
.Columns(NameOf(Song.IsFavorite)).VisibleIndex = 0
|
||||
.Columns(NameOf(Song.SongInfoCount)).Visible = False
|
||||
|
||||
' .Columns(NameOf(Song.ParentFolderName)).GroupIndex = 0
|
||||
|
||||
grdvSongs.ActiveFilter.Add(.Columns(NameOf(Song.HasError)), New ColumnFilterInfo($"[{NameOf(Song.HasError)}] = FALSE"))
|
||||
|
||||
Dim rule As GridFormatRule
|
||||
rule = New GridFormatRule With {
|
||||
.Column = grdvSongs.Columns(NameOf(Song.IsFavorite)),
|
||||
.ApplyToRow = True,
|
||||
.Rule = New DevExpress.XtraEditors.FormatConditionRuleValue With {
|
||||
.Condition = DevExpress.XtraEditors.FormatCondition.Equal,
|
||||
.Value1 = True
|
||||
}
|
||||
}
|
||||
rule.RuleCast(Of DevExpress.XtraEditors.FormatConditionRuleValue).Appearance.BackColor = Color.LightYellow
|
||||
grdvSongs.FormatRules.Add(rule)
|
||||
|
||||
rule = New GridFormatRule With {
|
||||
.Column = grdvSongs.Columns(NameOf(Song.ExistsInFavDir)),
|
||||
.ApplyToRow = True,
|
||||
.Rule = New DevExpress.XtraEditors.FormatConditionRuleValue With {
|
||||
.Condition = DevExpress.XtraEditors.FormatCondition.Equal,
|
||||
.Value1 = True
|
||||
}
|
||||
}
|
||||
rule.RuleCast(Of DevExpress.XtraEditors.FormatConditionRuleValue).Appearance.BackColor = Color.LightGreen
|
||||
grdvSongs.FormatRules.Add(rule)
|
||||
End With
|
||||
|
||||
|
||||
End Sub
|
||||
|
||||
Private Sub btnSettings_ItemClick(sender As Object, e As DevExpress.XtraBars.ItemClickEventArgs) Handles btnSettings.ItemClick
|
||||
Dim frm As New frmSettings
|
||||
frm.ShowDialog()
|
||||
End Sub
|
||||
|
||||
Private Sub btnReread_ItemClick(sender As Object, e As DevExpress.XtraBars.ItemClickEventArgs) Handles btnReread.ItemClick
|
||||
RereadFolders()
|
||||
End Sub
|
||||
|
||||
Private Async Sub GetSongsFromDB()
|
||||
grdvSongs.BeginDataUpdate()
|
||||
|
||||
Dim con = DB.getConnection
|
||||
Dim cmd As New SQLiteCommand(Nothing, con)
|
||||
Dim reader As DbDataReader
|
||||
Await con.OpenAsync
|
||||
|
||||
cmd.CommandText = "SELECT * FROM t_songs"
|
||||
reader = Await cmd.ExecuteReaderAsync
|
||||
Songs.Clear()
|
||||
Dim s As Song
|
||||
Do While Await reader.ReadAsync
|
||||
s = New Song
|
||||
s.ID = CInt(reader("S_ID"))
|
||||
s.RootDir = CStr(reader("S_Path"))
|
||||
s.SubDirectory = CStr(reader("S_Subpath"))
|
||||
s.Artist = TryCast(reader("S_Info_Artist"), String)
|
||||
s.Title = TryCast(reader("S_Info_Title"), String)
|
||||
s.Year = CInt(reader("S_Info_Year"))
|
||||
s.Language = TryCast(reader("S_Info_Language"), String)
|
||||
s.Genre = TryCast(reader("S_Info_Genre"), String)
|
||||
s.Previewstart = CDec(reader("S_Info_Previewstart"))
|
||||
s.BPM = CInt(reader("S_Info_BPM"))
|
||||
s.GAP = CInt(reader("S_Info_GAP"))
|
||||
s.IsFavorite = CBool(reader("S_Favorite"))
|
||||
s.InfoFile = TryCast(reader("S_File_Info"), String)
|
||||
s.Songfilename = TryCast(reader("S_File_Song"), String)
|
||||
s.CoverFilename = TryCast(reader("S_File_Cover"), String)
|
||||
s.VideoFilename = TryCast(reader("S_File_Video"), String)
|
||||
s.SongInfos = Newtonsoft.Json.JsonConvert.DeserializeObject(Of Dictionary(Of String, String))(TryCast(reader("S_Info_Additional"), String))
|
||||
Songs.Add(s)
|
||||
'ToDo:Songinfos laden (oder erst beim Anklicken des Liedes)
|
||||
Loop
|
||||
reader.Close()
|
||||
con.Close()
|
||||
CheckFavorites()
|
||||
|
||||
grdvSongs.EndDataUpdate()
|
||||
grdvSongs.BestFitColumns()
|
||||
End Sub
|
||||
Private Async Sub RereadFolders()
|
||||
|
||||
Dim con = DB.getConnection
|
||||
Dim cmd As New SQLiteCommand(Nothing, con)
|
||||
Dim reader As DbDataReader
|
||||
Dim Pfade As New List(Of String)
|
||||
|
||||
'Pfade aus Datenbank auslesen
|
||||
Await con.OpenAsync()
|
||||
cmd.CommandText = "SELECT p_path FROM t_paths ORDER BY p_path"
|
||||
reader = Await cmd.ExecuteReaderAsync
|
||||
Do While Await reader.ReadAsync
|
||||
Pfade.Add(CStr(reader("p_path")))
|
||||
Loop
|
||||
con.Close()
|
||||
|
||||
'Ordner auslesen
|
||||
prgMain.Visible = True
|
||||
Await Task.Run(Sub() ImportSongsToDB(Pfade))
|
||||
|
||||
prgMain.Visible = False
|
||||
|
||||
ErrorMsgs.Clear()
|
||||
If Pfade.Count = 0 Then
|
||||
ErrorMsgs.Add("Es sind keine Pfade hinterlegt.")
|
||||
End If
|
||||
|
||||
If ErrorMsgs.Count > 0 Then
|
||||
MessageBox.Show(String.Join(vbCrLf, ErrorMsgs), Me.Text, MessageBoxButtons.OK, MessageBoxIcon.Error)
|
||||
End If
|
||||
GetSongsFromDB()
|
||||
End Sub
|
||||
|
||||
Private Sub ImportSongsToDB(Pfade As List(Of String))
|
||||
|
||||
Dim FavDirExists As Boolean = Directory.Exists(My.Settings.FavDir)
|
||||
Dim FavDir As String = My.Settings.FavDir
|
||||
If FavDir.EndsWith("\") = False Then FavDir &= "\"
|
||||
Dim songinfofiles() As String
|
||||
Dim duetinfofiles() As String
|
||||
Dim song As Song
|
||||
Dim songsread As UInt64
|
||||
Dim templist As New List(Of Song)
|
||||
For Each pfad As String In Pfade
|
||||
If Directory.Exists(pfad) Then
|
||||
For Each ordner As String In Directory.GetDirectories(pfad, "*", SearchOption.AllDirectories)
|
||||
'ordner = Einzelne liederordner
|
||||
If Directory.GetFiles(ordner, "*.mp3").Count > 0 Then 'Wenn es sich um einen Ordner handelt, der einen Song enthält (und nicht irgendein übergeordneter Ordner ist)
|
||||
songinfofiles = Directory.GetFiles(ordner, "*.txt")
|
||||
duetinfofiles = Directory.GetFiles(ordner, "*.txd")
|
||||
song = New Song
|
||||
song.RootDir = pfad & "\"
|
||||
song.SubDirectory = ordner.Substring(pfad.Length + 1)
|
||||
If songinfofiles.Count = 0 AndAlso duetinfofiles.Count = 0 Then
|
||||
song.ErrorText = $"{songinfofiles.Count} Textdateien gefunden"
|
||||
song.HasError = True
|
||||
Else
|
||||
If songinfofiles.Count > 0 Then
|
||||
song.InfoFile = songinfofiles.FirstOrDefault
|
||||
Else
|
||||
song.InfoFile = duetinfofiles.FirstOrDefault
|
||||
End If
|
||||
song.ReadInfoFile()
|
||||
End If
|
||||
If FavDirExists Then song.IsFavorite = Directory.Exists(FavDir & song.FolderName)
|
||||
templist.Add(song)
|
||||
End If
|
||||
songsread += CType(1, UInt64)
|
||||
RaiseEvent ReadProgress("Songs werden eingelesen...", $"{songsread} Songs")
|
||||
Next
|
||||
Else
|
||||
ErrorMsgs.Add($"Der Pfad {pfad} existiert nicht oder konnte nicht gelesen werden.")
|
||||
End If
|
||||
Next
|
||||
SaveSongsInDB(templist)
|
||||
End Sub
|
||||
|
||||
Private Sub CheckFavorites()
|
||||
Dim FavDir As String = My.Settings.FavDir
|
||||
If FavDir.EndsWith("\") = False Then FavDir &= "\"
|
||||
If Directory.Exists(FavDir) Then
|
||||
For Each s As Song In Songs
|
||||
If Directory.Exists(FavDir & s.FolderName) Then
|
||||
s.ExistsInFavDir = True
|
||||
Else
|
||||
s.ExistsInFavDir = False
|
||||
End If
|
||||
Next
|
||||
Else
|
||||
For Each s As Song In Songs
|
||||
s.ExistsInFavDir = False
|
||||
Next
|
||||
End If
|
||||
End Sub
|
||||
|
||||
Private Sub ReadSongFolder_Progress(Caption As String, Description As String) Handles Me.ReadProgress
|
||||
prgMain.Invoke(Sub()
|
||||
prgMain.Caption = Caption
|
||||
prgMain.Description = Description
|
||||
End Sub)
|
||||
End Sub
|
||||
|
||||
|
||||
Private Async Sub SaveSongsInDB(songs As List(Of Song))
|
||||
Dim con = DB.getConnection
|
||||
Dim cmd As New SQLiteCommand(Nothing, con)
|
||||
With cmd.Parameters
|
||||
.Add("@path", DbType.String)
|
||||
.Add("@subpath", DbType.String)
|
||||
.Add("@artist", DbType.String)
|
||||
.Add("@title", DbType.String)
|
||||
.Add("@year", DbType.Int32)
|
||||
.Add("@language", DbType.String)
|
||||
.Add("@genre", DbType.String)
|
||||
.Add("@previewstart", DbType.Double)
|
||||
.Add("@bpm", DbType.Int32)
|
||||
.Add("@gap", DbType.Int32)
|
||||
.Add("@additional", DbType.String)
|
||||
.Add("@favorite", DbType.Boolean)
|
||||
.Add("@fileinfo", DbType.String)
|
||||
.Add("@filesong", DbType.String)
|
||||
.Add("@filecover", DbType.String)
|
||||
.Add("@filevideo", DbType.String)
|
||||
End With
|
||||
Await con.OpenAsync()
|
||||
cmd.CommandText = "DELETE FROM t_songs"
|
||||
Await cmd.ExecuteNonQueryAsync()
|
||||
|
||||
cmd.CommandText = "INSERT INTO t_songs (
|
||||
S_Path,
|
||||
S_Subpath,
|
||||
S_Info_Artist,
|
||||
S_Info_Title,
|
||||
S_Info_Year,
|
||||
S_Info_Language,
|
||||
S_Info_Genre,
|
||||
S_Info_Previewstart,
|
||||
S_Info_BPM,
|
||||
S_Info_GAP,
|
||||
S_Info_Additional,
|
||||
S_Favorite,
|
||||
S_File_Info,
|
||||
S_File_Song,
|
||||
S_File_Cover,
|
||||
S_File_Video
|
||||
) VALUES (
|
||||
@path,
|
||||
@subpath,
|
||||
@artist,
|
||||
@title,
|
||||
@year,
|
||||
@language,
|
||||
@genre,
|
||||
@previewstart,
|
||||
@bpm,
|
||||
@gap,
|
||||
@additional,
|
||||
@favorite,
|
||||
@fileinfo,
|
||||
@filesong,
|
||||
@filecover,
|
||||
@filevideo
|
||||
)"
|
||||
For Each s As Song In songs
|
||||
cmd.Parameters("@path").Value = s.RootDir
|
||||
cmd.Parameters("@subpath").Value = s.SubDirectory
|
||||
cmd.Parameters("@artist").Value = s.Artist
|
||||
cmd.Parameters("@title").Value = s.Title
|
||||
cmd.Parameters("@year").Value = s.Year
|
||||
cmd.Parameters("@language").Value = s.Language
|
||||
cmd.Parameters("@genre").Value = s.Genre
|
||||
cmd.Parameters("@previewstart").Value = s.Previewstart
|
||||
cmd.Parameters("@bpm").Value = s.BPM
|
||||
cmd.Parameters("@gap").Value = s.GAP
|
||||
cmd.Parameters("@additional").Value = Newtonsoft.Json.JsonConvert.SerializeObject(s.SongInfos)
|
||||
cmd.Parameters("@favorite").Value = s.IsFavorite
|
||||
cmd.Parameters("@fileinfo").Value = s.InfoFile
|
||||
cmd.Parameters("@filesong").Value = s.Songfilename
|
||||
cmd.Parameters("@filecover").Value = s.CoverFilename
|
||||
cmd.Parameters("@filevideo").Value = s.VideoFilename
|
||||
Await cmd.ExecuteNonQueryAsync()
|
||||
Next
|
||||
|
||||
con.Close()
|
||||
|
||||
End Sub
|
||||
Private Sub grdvSongs_RowClick(sender As Object, e As RowClickEventArgs) Handles grdvSongs.RowClick
|
||||
If e.Clicks = 2 AndAlso e.Button = MouseButtons.Left Then
|
||||
Dim s As Song = CType(grdvSongs.GetFocusedRow, Song)
|
||||
avPlayer.Play(s)
|
||||
End If
|
||||
End Sub
|
||||
Private Sub grdvSongs_FocusedRowChanged(sender As Object, e As FocusedRowChangedEventArgs) Handles grdvSongs.FocusedRowChanged
|
||||
Dim s As Song = TryCast(grdvSongs.GetFocusedRow, Song)
|
||||
If s Is Nothing Then
|
||||
grdSongInfos.DataSource = Nothing
|
||||
Exit Sub
|
||||
End If
|
||||
If s.SongInfos Is Nothing Then
|
||||
grdSongInfos.DataSource = Nothing
|
||||
Else
|
||||
grdSongInfos.DataSource = s.SongInfos
|
||||
grdvSongInfos.PopulateColumns()
|
||||
End If
|
||||
End Sub
|
||||
|
||||
Private Sub menCopy_Click(sender As Object, e As EventArgs) Handles menCopy.Click
|
||||
Dim pfade As New Specialized.StringCollection
|
||||
For Each rh As Integer In grdvSongs.GetSelectedRows
|
||||
pfade.Add(CStr(grdvSongs.GetRowCellValue(rh, NameOf(Song.FullPath))))
|
||||
Next
|
||||
Dim datas As New DataObject
|
||||
datas.SetFileDropList(pfade)
|
||||
Clipboard.SetDataObject(datas)
|
||||
End Sub
|
||||
|
||||
Private Sub menOpenFolder_Click(sender As Object, e As EventArgs) Handles menOpenFolder.Click
|
||||
Dim pfad As String = CStr(grdvSongs.GetRowCellValue(grdvSongs.FocusedRowHandle, NameOf(Song.FullPath)))
|
||||
If pfad IsNot Nothing AndAlso Directory.Exists(pfad) Then
|
||||
Process.Start("explorer.exe", pfad)
|
||||
End If
|
||||
|
||||
End Sub
|
||||
|
||||
|
||||
Private downHitInfo As GridHitInfo = Nothing
|
||||
|
||||
Private Sub grdvSongs_MouseDown(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles grdvSongs.MouseDown
|
||||
Dim view As GridView = TryCast(sender, GridView)
|
||||
downHitInfo = Nothing
|
||||
|
||||
Dim hitInfo As GridHitInfo = view.CalcHitInfo(New Point(e.X, e.Y))
|
||||
If Control.ModifierKeys <> Keys.None Then
|
||||
Return
|
||||
End If
|
||||
If e.Button = MouseButtons.Left AndAlso hitInfo.InRow AndAlso hitInfo.RowHandle <> GridControl.NewItemRowHandle Then
|
||||
downHitInfo = hitInfo
|
||||
End If
|
||||
End Sub
|
||||
|
||||
Private Sub grdvSongs_MouseMove(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles grdvSongs.MouseMove
|
||||
Dim view As GridView = TryCast(sender, GridView)
|
||||
If e.Button = MouseButtons.Left AndAlso downHitInfo IsNot Nothing Then
|
||||
Dim dragSize As Size = SystemInformation.DragSize
|
||||
Dim dragRect As New Rectangle(New Point(downHitInfo.HitPoint.X - dragSize.Width \ 2, downHitInfo.HitPoint.Y - dragSize.Height \ 2), dragSize)
|
||||
|
||||
If (Not dragRect.Contains(New Point(e.X, e.Y))) Then
|
||||
Dim pfade As New Specialized.StringCollection
|
||||
For Each rh As Integer In grdvSongs.GetSelectedRows
|
||||
pfade.Add(CStr(grdvSongs.GetRowCellValue(rh, NameOf(Song.FullPath))))
|
||||
Next
|
||||
Dim datas As New DataObject
|
||||
datas.SetFileDropList(pfade)
|
||||
|
||||
'view.GridControl.DoDragDrop(downHitInfo, DragDropEffects.All)
|
||||
view.GridControl.DoDragDrop(datas, DragDropEffects.Copy)
|
||||
downHitInfo = Nothing
|
||||
End If
|
||||
End If
|
||||
End Sub
|
||||
|
||||
Private Sub cmsSongs_Opening(sender As Object, e As CancelEventArgs) Handles cmsSongs.Opening
|
||||
Dim hi As GridHitInfo = grdvSongs.CalcHitInfo(grdSongs.PointToClient(Cursor.Position))
|
||||
If hi.InRow = False Then
|
||||
e.Cancel = True
|
||||
End If
|
||||
End Sub
|
||||
|
||||
Private Async Sub btnSave_ItemClick(sender As Object, e As DevExpress.XtraBars.ItemClickEventArgs) Handles btnSave.ItemClick
|
||||
grdvSongs.CloseEditor()
|
||||
Dim FavDir = My.Settings.FavDir
|
||||
|
||||
Dim ToAddToFavs As List(Of Song) = Songs.Where(Function(s) s.IsFavorite = True AndAlso s.ExistsInFavDir = False).ToList
|
||||
Dim ToDeleteFromFavs As List(Of Song) = Songs.Where(Function(s) s.IsFavorite = False AndAlso s.ExistsInFavDir = True).ToList
|
||||
|
||||
If ToDeleteFromFavs.Count > 0 Then
|
||||
If MessageBox.Show($"Sind Sie sicher, dass Sie {ToDeleteFromFavs.Count} Lieder aus dem Favoritenverzeichnis entfernen möchten?{vbCrLf}Diese werden nicht in die ursprünglichen Verzeichnisse kopiert, daher sollten Sie ggf. sicherstellen ob diese Songs noch in den ursprünglichen Verzeichnissen vorhanden sind.{vbCrLf}{vbCrLf}Möchten Sie fortfahren?", "Löschen von Favoriten", MessageBoxButtons.YesNo, MessageBoxIcon.Warning) <> DialogResult.Yes Then
|
||||
Exit Sub
|
||||
End If
|
||||
End If
|
||||
|
||||
grdvSongs.BeginDataUpdate()
|
||||
prgMain.Visible = True
|
||||
Await Task.Run(Sub() SyncFavDir(Songs))
|
||||
prgMain.Visible = False
|
||||
grdvSongs.EndDataUpdate()
|
||||
End Sub
|
||||
|
||||
Private Async Sub SyncFavDir(songlist As List(Of Song))
|
||||
Dim ToAddToFavs As List(Of Song) = songlist.Where(Function(s) s.IsFavorite = True AndAlso s.ExistsInFavDir = False).ToList
|
||||
Dim ToDeleteFromFavs As List(Of Song) = songlist.Where(Function(s) s.IsFavorite = False AndAlso s.ExistsInFavDir = True).ToList
|
||||
Dim FavDir = My.Settings.FavDir
|
||||
Dim errors As New List(Of String)
|
||||
|
||||
Dim con As SQLiteConnection = DB.getConnection
|
||||
Dim cmd As New SQLiteCommand(Nothing, con)
|
||||
cmd.Parameters.Add("@id", DbType.Int32)
|
||||
cmd.Parameters.Add("@favorite", DbType.Boolean)
|
||||
cmd.CommandText = "UPDATE t_songs SET S_Favorite = @favorite WHERE S_ID = @id"
|
||||
|
||||
Await con.OpenAsync
|
||||
'Favoriten, die noch nicht im FavDir existieren, setzen
|
||||
|
||||
Dim songcount As Integer = 1
|
||||
|
||||
For Each song In ToAddToFavs
|
||||
RaiseEvent ReadProgress("Aktualisiere Favoriten...", $"{songcount}\{ToAddToFavs.Count} Songs kopiert")
|
||||
Dim targetdir As String = FavDir & "\" & song.FolderName
|
||||
Try
|
||||
'In Favoriten hinzufügen, auch wenn kopieren fehlschlägt
|
||||
cmd.Parameters("@id").Value = song.ID
|
||||
cmd.Parameters("@favorite").Value = song.IsFavorite
|
||||
Await cmd.ExecuteNonQueryAsync()
|
||||
FileFunctions.CopyDirectory(song.FullPath, targetdir)
|
||||
Catch ex As Exception
|
||||
errors.Add($"Kopieren von '{song.FolderName}' ins Favoritenverzeichnis fehlgeschlagen:{vbCrLf} -> {ex.Message}")
|
||||
End Try
|
||||
If Directory.Exists(targetdir) Then
|
||||
song.ExistsInFavDir = True
|
||||
End If
|
||||
songcount += 1
|
||||
Next
|
||||
|
||||
'Favoriten, die keine Favoriten mehr sind, entfernen
|
||||
songcount = 1
|
||||
For Each song In ToDeleteFromFavs
|
||||
RaiseEvent ReadProgress("Aktualisiere Favoriten...", $"{songcount}\{ToDeleteFromFavs.Count} Songs entfernt")
|
||||
Dim targetdir As String = FavDir & "\" & song.FolderName
|
||||
Try
|
||||
'Von Favoriten entfernen, auch wenn löschen fehlschlägt.
|
||||
cmd.Parameters("@id").Value = song.ID
|
||||
cmd.Parameters("@favorite").Value = song.IsFavorite
|
||||
Await cmd.ExecuteNonQueryAsync
|
||||
Directory.Delete(targetdir, True)
|
||||
Catch ex As Exception
|
||||
errors.Add($"Löschen von '{song.FolderName}' aus dem Favoritenverzeichnis fehlgeschlagen:{vbCrLf} -> {ex.Message}")
|
||||
End Try
|
||||
If Directory.Exists(targetdir) = False Then song.ExistsInFavDir = False
|
||||
songcount += 1
|
||||
Next
|
||||
|
||||
con.Close()
|
||||
|
||||
If errors.Count > 0 Then
|
||||
Me.Invoke(Sub()
|
||||
Dim frm As New frmErrorList(errors)
|
||||
frm.ShowDialog()
|
||||
End Sub)
|
||||
End If
|
||||
End Sub
|
||||
|
||||
Private Sub btnPrint_ItemClick(sender As Object, e As DevExpress.XtraBars.ItemClickEventArgs) Handles btnPrint.ItemClick
|
||||
If Songs.LongCount(Function(s) s.ExistsInFavDir = False AndAlso s.IsFavorite = True) > 0 Then
|
||||
|
||||
End If
|
||||
Dim rep As New repFavoritesList
|
||||
rep.DataSource = Songs.Where(Function(s) s.ExistsInFavDir = True)
|
||||
If SFD.ShowDialog = DialogResult.OK Then
|
||||
Try
|
||||
rep.ExportToPdf(SFD.FileName)
|
||||
Catch ex As Exception
|
||||
MessageBox.Show($"Die Datei konnte nicht gespeichert werden: {ex.Message}", "Fehler beim Speichern der Datei", MessageBoxButtons.OK, MessageBoxIcon.Error)
|
||||
End Try
|
||||
|
||||
If File.Exists(SFD.FileName) Then
|
||||
Try
|
||||
Process.Start(SFD.FileName)
|
||||
Catch ex As Exception
|
||||
MessageBox.Show($"Die Datei konnte nicht geöffnet werden: {ex.Message}", "Fehler beim Öffnen der Datei", MessageBoxButtons.OK, MessageBoxIcon.Error)
|
||||
End Try
|
||||
End If
|
||||
End If
|
||||
'rep.ShowPreview()
|
||||
End Sub
|
||||
|
||||
Private Sub frmMain_FormClosing(sender As Object, e As FormClosingEventArgs) Handles Me.FormClosing
|
||||
avPlayer.Stop()
|
||||
End Sub
|
||||
End Class
|
||||
204
UltraStarSongPicker/frmSettings.Designer.vb
generated
Normal file
204
UltraStarSongPicker/frmSettings.Designer.vb
generated
Normal file
@ -0,0 +1,204 @@
|
||||
<Global.Microsoft.VisualBasic.CompilerServices.DesignerGenerated()> _
|
||||
Partial Class frmSettings
|
||||
Inherits System.Windows.Forms.Form
|
||||
|
||||
'Das Formular überschreibt den Löschvorgang, um die Komponentenliste zu bereinigen.
|
||||
<System.Diagnostics.DebuggerNonUserCode()> _
|
||||
Protected Overrides Sub Dispose(ByVal disposing As Boolean)
|
||||
Try
|
||||
If disposing AndAlso components IsNot Nothing Then
|
||||
components.Dispose()
|
||||
End If
|
||||
Finally
|
||||
MyBase.Dispose(disposing)
|
||||
End Try
|
||||
End Sub
|
||||
|
||||
'Wird vom Windows Form-Designer benötigt.
|
||||
Private components As System.ComponentModel.IContainer
|
||||
|
||||
'Hinweis: Die folgende Prozedur ist für den Windows Form-Designer erforderlich.
|
||||
'Das Bearbeiten ist mit dem Windows Form-Designer möglich.
|
||||
'Das Bearbeiten mit dem Code-Editor ist nicht möglich.
|
||||
<System.Diagnostics.DebuggerStepThrough()> _
|
||||
Private Sub InitializeComponent()
|
||||
Dim resources As System.ComponentModel.ComponentResourceManager = New System.ComponentModel.ComponentResourceManager(GetType(frmSettings))
|
||||
Me.lstPaths = New DevExpress.XtraEditors.ListBoxControl()
|
||||
Me.rcMain = New DevExpress.XtraBars.Ribbon.RibbonControl()
|
||||
Me.btnSave = New DevExpress.XtraBars.BarButtonItem()
|
||||
Me.btnPathAdd = New DevExpress.XtraBars.BarButtonItem()
|
||||
Me.btnPathDelete = New DevExpress.XtraBars.BarButtonItem()
|
||||
Me.rpGeneral = New DevExpress.XtraBars.Ribbon.RibbonPage()
|
||||
Me.rpgGeneral = New DevExpress.XtraBars.Ribbon.RibbonPageGroup()
|
||||
Me.rpgPaths = New DevExpress.XtraBars.Ribbon.RibbonPageGroup()
|
||||
Me.grpPaths = New DevExpress.XtraEditors.GroupControl()
|
||||
Me.FBD = New System.Windows.Forms.FolderBrowserDialog()
|
||||
Me.grpGeneral = New DevExpress.XtraEditors.GroupControl()
|
||||
Me.btnFavDir = New DevExpress.XtraEditors.SimpleButton()
|
||||
Me.lblFavDir = New DevExpress.XtraEditors.LabelControl()
|
||||
Me.txtFavDir = New DevExpress.XtraEditors.TextEdit()
|
||||
CType(Me.lstPaths, System.ComponentModel.ISupportInitialize).BeginInit()
|
||||
CType(Me.rcMain, System.ComponentModel.ISupportInitialize).BeginInit()
|
||||
CType(Me.grpPaths, System.ComponentModel.ISupportInitialize).BeginInit()
|
||||
Me.grpPaths.SuspendLayout()
|
||||
CType(Me.grpGeneral, System.ComponentModel.ISupportInitialize).BeginInit()
|
||||
Me.grpGeneral.SuspendLayout()
|
||||
CType(Me.txtFavDir.Properties, System.ComponentModel.ISupportInitialize).BeginInit()
|
||||
Me.SuspendLayout()
|
||||
'
|
||||
'lstPaths
|
||||
'
|
||||
Me.lstPaths.Dock = System.Windows.Forms.DockStyle.Fill
|
||||
Me.lstPaths.Location = New System.Drawing.Point(2, 23)
|
||||
Me.lstPaths.Name = "lstPaths"
|
||||
Me.lstPaths.Size = New System.Drawing.Size(430, 284)
|
||||
Me.lstPaths.TabIndex = 0
|
||||
'
|
||||
'rcMain
|
||||
'
|
||||
Me.rcMain.DrawGroupCaptions = DevExpress.Utils.DefaultBoolean.[False]
|
||||
Me.rcMain.ExpandCollapseItem.Id = 0
|
||||
Me.rcMain.Items.AddRange(New DevExpress.XtraBars.BarItem() {Me.rcMain.ExpandCollapseItem, Me.rcMain.SearchEditItem, Me.btnSave, Me.btnPathAdd, Me.btnPathDelete})
|
||||
Me.rcMain.Location = New System.Drawing.Point(0, 0)
|
||||
Me.rcMain.MaxItemId = 4
|
||||
Me.rcMain.Name = "rcMain"
|
||||
Me.rcMain.Pages.AddRange(New DevExpress.XtraBars.Ribbon.RibbonPage() {Me.rpGeneral})
|
||||
Me.rcMain.ShowApplicationButton = DevExpress.Utils.DefaultBoolean.[False]
|
||||
Me.rcMain.ShowPageHeadersMode = DevExpress.XtraBars.Ribbon.ShowPageHeadersMode.ShowOnMultiplePages
|
||||
Me.rcMain.Size = New System.Drawing.Size(458, 83)
|
||||
Me.rcMain.ToolbarLocation = DevExpress.XtraBars.Ribbon.RibbonQuickAccessToolbarLocation.Hidden
|
||||
'
|
||||
'btnSave
|
||||
'
|
||||
Me.btnSave.Caption = "Änderungen speichern"
|
||||
Me.btnSave.Id = 1
|
||||
Me.btnSave.ImageOptions.SvgImage = CType(resources.GetObject("btnSave.ImageOptions.SvgImage"), DevExpress.Utils.Svg.SvgImage)
|
||||
Me.btnSave.Name = "btnSave"
|
||||
'
|
||||
'btnPathAdd
|
||||
'
|
||||
Me.btnPathAdd.Caption = "Pfad hinzufügen"
|
||||
Me.btnPathAdd.Id = 2
|
||||
Me.btnPathAdd.Name = "btnPathAdd"
|
||||
'
|
||||
'btnPathDelete
|
||||
'
|
||||
Me.btnPathDelete.Caption = "Pfad löschen"
|
||||
Me.btnPathDelete.Id = 3
|
||||
Me.btnPathDelete.Name = "btnPathDelete"
|
||||
'
|
||||
'rpGeneral
|
||||
'
|
||||
Me.rpGeneral.Groups.AddRange(New DevExpress.XtraBars.Ribbon.RibbonPageGroup() {Me.rpgGeneral, Me.rpgPaths})
|
||||
Me.rpGeneral.Name = "rpGeneral"
|
||||
Me.rpGeneral.Text = "Allgemein"
|
||||
'
|
||||
'rpgGeneral
|
||||
'
|
||||
Me.rpgGeneral.ItemLinks.Add(Me.btnSave)
|
||||
Me.rpgGeneral.Name = "rpgGeneral"
|
||||
Me.rpgGeneral.Text = "Allgemein"
|
||||
'
|
||||
'rpgPaths
|
||||
'
|
||||
Me.rpgPaths.ItemLinks.Add(Me.btnPathAdd)
|
||||
Me.rpgPaths.ItemLinks.Add(Me.btnPathDelete)
|
||||
Me.rpgPaths.Name = "rpgPaths"
|
||||
Me.rpgPaths.Text = "Pfade"
|
||||
'
|
||||
'grpPaths
|
||||
'
|
||||
Me.grpPaths.Anchor = CType((((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Bottom) _
|
||||
Or System.Windows.Forms.AnchorStyles.Left) _
|
||||
Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles)
|
||||
Me.grpPaths.Controls.Add(Me.lstPaths)
|
||||
Me.grpPaths.Location = New System.Drawing.Point(12, 153)
|
||||
Me.grpPaths.Name = "grpPaths"
|
||||
Me.grpPaths.Size = New System.Drawing.Size(434, 309)
|
||||
Me.grpPaths.TabIndex = 2
|
||||
Me.grpPaths.Text = "Pfade"
|
||||
'
|
||||
'FBD
|
||||
'
|
||||
Me.FBD.RootFolder = System.Environment.SpecialFolder.MyComputer
|
||||
Me.FBD.ShowNewFolderButton = False
|
||||
'
|
||||
'grpGeneral
|
||||
'
|
||||
Me.grpGeneral.Anchor = CType(((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Left) _
|
||||
Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles)
|
||||
Me.grpGeneral.Controls.Add(Me.btnFavDir)
|
||||
Me.grpGeneral.Controls.Add(Me.lblFavDir)
|
||||
Me.grpGeneral.Controls.Add(Me.txtFavDir)
|
||||
Me.grpGeneral.Location = New System.Drawing.Point(12, 89)
|
||||
Me.grpGeneral.Name = "grpGeneral"
|
||||
Me.grpGeneral.Size = New System.Drawing.Size(434, 58)
|
||||
Me.grpGeneral.TabIndex = 3
|
||||
Me.grpGeneral.Text = "Allgemein"
|
||||
'
|
||||
'btnFavDir
|
||||
'
|
||||
Me.btnFavDir.Anchor = CType((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles)
|
||||
Me.btnFavDir.Location = New System.Drawing.Point(334, 26)
|
||||
Me.btnFavDir.Name = "btnFavDir"
|
||||
Me.btnFavDir.Size = New System.Drawing.Size(95, 23)
|
||||
Me.btnFavDir.TabIndex = 2
|
||||
Me.btnFavDir.Text = "Durchsuchen..."
|
||||
'
|
||||
'lblFavDir
|
||||
'
|
||||
Me.lblFavDir.Location = New System.Drawing.Point(5, 31)
|
||||
Me.lblFavDir.Name = "lblFavDir"
|
||||
Me.lblFavDir.Size = New System.Drawing.Size(99, 13)
|
||||
Me.lblFavDir.TabIndex = 1
|
||||
Me.lblFavDir.Text = "Favoritenverzeichnis"
|
||||
'
|
||||
'txtFavDir
|
||||
'
|
||||
Me.txtFavDir.Anchor = CType(((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Left) _
|
||||
Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles)
|
||||
Me.txtFavDir.Location = New System.Drawing.Point(127, 28)
|
||||
Me.txtFavDir.MenuManager = Me.rcMain
|
||||
Me.txtFavDir.Name = "txtFavDir"
|
||||
Me.txtFavDir.Size = New System.Drawing.Size(201, 20)
|
||||
Me.txtFavDir.TabIndex = 0
|
||||
'
|
||||
'frmSettings
|
||||
'
|
||||
Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!)
|
||||
Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font
|
||||
Me.ClientSize = New System.Drawing.Size(458, 474)
|
||||
Me.Controls.Add(Me.grpGeneral)
|
||||
Me.Controls.Add(Me.grpPaths)
|
||||
Me.Controls.Add(Me.rcMain)
|
||||
Me.Icon = CType(resources.GetObject("$this.Icon"), System.Drawing.Icon)
|
||||
Me.Name = "frmSettings"
|
||||
Me.Text = "Einstellungen"
|
||||
CType(Me.lstPaths, System.ComponentModel.ISupportInitialize).EndInit()
|
||||
CType(Me.rcMain, System.ComponentModel.ISupportInitialize).EndInit()
|
||||
CType(Me.grpPaths, System.ComponentModel.ISupportInitialize).EndInit()
|
||||
Me.grpPaths.ResumeLayout(False)
|
||||
CType(Me.grpGeneral, System.ComponentModel.ISupportInitialize).EndInit()
|
||||
Me.grpGeneral.ResumeLayout(False)
|
||||
Me.grpGeneral.PerformLayout()
|
||||
CType(Me.txtFavDir.Properties, System.ComponentModel.ISupportInitialize).EndInit()
|
||||
Me.ResumeLayout(False)
|
||||
Me.PerformLayout()
|
||||
|
||||
End Sub
|
||||
|
||||
Friend WithEvents lstPaths As DevExpress.XtraEditors.ListBoxControl
|
||||
Friend WithEvents rcMain As DevExpress.XtraBars.Ribbon.RibbonControl
|
||||
Friend WithEvents rpGeneral As DevExpress.XtraBars.Ribbon.RibbonPage
|
||||
Friend WithEvents rpgGeneral As DevExpress.XtraBars.Ribbon.RibbonPageGroup
|
||||
Friend WithEvents grpPaths As DevExpress.XtraEditors.GroupControl
|
||||
Friend WithEvents btnSave As DevExpress.XtraBars.BarButtonItem
|
||||
Friend WithEvents btnPathAdd As DevExpress.XtraBars.BarButtonItem
|
||||
Friend WithEvents btnPathDelete As DevExpress.XtraBars.BarButtonItem
|
||||
Friend WithEvents rpgPaths As DevExpress.XtraBars.Ribbon.RibbonPageGroup
|
||||
Friend WithEvents FBD As FolderBrowserDialog
|
||||
Friend WithEvents grpGeneral As DevExpress.XtraEditors.GroupControl
|
||||
Friend WithEvents lblFavDir As DevExpress.XtraEditors.LabelControl
|
||||
Friend WithEvents txtFavDir As DevExpress.XtraEditors.TextEdit
|
||||
Friend WithEvents btnFavDir As DevExpress.XtraEditors.SimpleButton
|
||||
End Class
|
||||
3215
UltraStarSongPicker/frmSettings.resx
Normal file
3215
UltraStarSongPicker/frmSettings.resx
Normal file
File diff suppressed because it is too large
Load Diff
3215
UltraStarSongPicker/frmSettings.resx.bak
Normal file
3215
UltraStarSongPicker/frmSettings.resx.bak
Normal file
File diff suppressed because it is too large
Load Diff
101
UltraStarSongPicker/frmSettings.vb
Normal file
101
UltraStarSongPicker/frmSettings.vb
Normal file
@ -0,0 +1,101 @@
|
||||
Imports System.Data.SQLite
|
||||
Public Class frmSettings
|
||||
|
||||
Dim ToAdd As New List(Of String)
|
||||
Dim ToDelete As New List(Of String)
|
||||
|
||||
Private Sub frmSettings_Load(sender As Object, e As EventArgs) Handles MyBase.Load
|
||||
LoadSettings()
|
||||
End Sub
|
||||
|
||||
Private Sub LoadSettings()
|
||||
txtFavDir.Text = My.Settings.FavDir
|
||||
|
||||
fillPaths()
|
||||
End Sub
|
||||
|
||||
Private Async Sub fillPaths()
|
||||
Dim con = DB.getConnection
|
||||
Dim cmd As New SqliteCommand(Nothing, con)
|
||||
Dim reader As SQLiteDataReader
|
||||
|
||||
cmd.CommandText = "SELECT p_path FROM t_paths ORDER BY p_path"
|
||||
|
||||
Await con.OpenAsync()
|
||||
reader = cmd.ExecuteReader
|
||||
lstPaths.Items.Clear()
|
||||
Do While Await reader.ReadAsync
|
||||
lstPaths.Items.Add(CStr(reader("p_path")))
|
||||
Loop
|
||||
reader.Close()
|
||||
con.Close()
|
||||
End Sub
|
||||
|
||||
Private Sub btnPathAdd_ItemClick(sender As Object, e As DevExpress.XtraBars.ItemClickEventArgs) Handles btnPathAdd.ItemClick
|
||||
If FBD.ShowDialog = DialogResult.OK Then
|
||||
Dim pfad As String = FBD.SelectedPath
|
||||
ToAdd.Add(pfad)
|
||||
lstPaths.Items.Add(pfad)
|
||||
End If
|
||||
End Sub
|
||||
|
||||
|
||||
Private Sub btnSave_ItemClick(sender As Object, e As DevExpress.XtraBars.ItemClickEventArgs) Handles btnSave.ItemClick
|
||||
SaveSettings()
|
||||
Me.DialogResult = DialogResult.OK
|
||||
End Sub
|
||||
|
||||
Private Sub SaveSettings()
|
||||
'Allgemein speichern
|
||||
My.Settings.FavDir = txtFavDir.Text
|
||||
My.Settings.Save()
|
||||
|
||||
|
||||
'Pfade speichern
|
||||
Dim con = DB.getConnection
|
||||
Dim cmd As New SqliteCommand(Nothing, con)
|
||||
cmd.Parameters.Add("@path", DbType.String)
|
||||
con.OpenAsync()
|
||||
|
||||
cmd.CommandText = "INSERT INTO t_paths (p_path) VALUES (@path)"
|
||||
For Each pfad As String In ToAdd
|
||||
cmd.Parameters("@path").Value = pfad
|
||||
cmd.ExecuteNonQuery()
|
||||
Next
|
||||
ToAdd.Clear()
|
||||
|
||||
cmd.CommandText = "DELETE FROM t_paths WHERE p_path = @path"
|
||||
For Each pfad As String In ToDelete
|
||||
cmd.Parameters("@path").Value = pfad
|
||||
cmd.ExecuteNonQuery()
|
||||
Next
|
||||
ToDelete.Clear()
|
||||
|
||||
con.Close()
|
||||
End Sub
|
||||
|
||||
Private Sub btnPathDelete_ItemClick(sender As Object, e As DevExpress.XtraBars.ItemClickEventArgs) Handles btnPathDelete.ItemClick
|
||||
If lstPaths.SelectedItem IsNot Nothing Then
|
||||
ToDelete.Add(CStr(lstPaths.SelectedItem))
|
||||
lstPaths.Items.Remove(CStr(lstPaths.SelectedItem))
|
||||
End If
|
||||
End Sub
|
||||
|
||||
Private Sub frmSettings_FormClosing(sender As Object, e As FormClosingEventArgs) Handles MyBase.FormClosing
|
||||
If (ToAdd.Count + ToDelete.Count) > 0 Then
|
||||
Dim ds = MessageBox.Show("Möchten Sie die Änderungen speichern?", Me.Text, MessageBoxButtons.YesNo)
|
||||
If ds = DialogResult.Yes Then
|
||||
SaveSettings()
|
||||
Me.DialogResult = DialogResult.OK
|
||||
ElseIf ds <> DialogResult.No Then
|
||||
e.Cancel = True
|
||||
End If
|
||||
End If
|
||||
End Sub
|
||||
|
||||
Private Sub btnUSDX_Click(sender As Object, e As EventArgs) Handles btnFavDir.Click
|
||||
If FBD.ShowDialog = DialogResult.OK Then
|
||||
txtFavDir.Text = FBD.SelectedPath
|
||||
End If
|
||||
End Sub
|
||||
End Class
|
||||
14
UltraStarSongPicker/packages.config
Normal file
14
UltraStarSongPicker/packages.config
Normal file
@ -0,0 +1,14 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<packages>
|
||||
<package id="EntityFramework" version="6.4.4" targetFramework="net472" />
|
||||
<package id="Newtonsoft.Json" version="13.0.2" targetFramework="net48" />
|
||||
<package id="Stub.System.Data.SQLite.Core.NetFramework" version="1.0.117.0" targetFramework="net472" />
|
||||
<package id="System.Buffers" version="4.5.1" targetFramework="net472" />
|
||||
<package id="System.Data.SQLite" version="1.0.117.0" targetFramework="net472" />
|
||||
<package id="System.Data.SQLite.Core" version="1.0.117.0" targetFramework="net472" />
|
||||
<package id="System.Data.SQLite.EF6" version="1.0.117.0" targetFramework="net472" />
|
||||
<package id="System.Data.SQLite.Linq" version="1.0.117.0" targetFramework="net472" />
|
||||
<package id="System.Memory" version="4.5.5" targetFramework="net472" />
|
||||
<package id="System.Numerics.Vectors" version="4.5.0" targetFramework="net472" />
|
||||
<package id="System.Runtime.CompilerServices.Unsafe" version="6.0.0" targetFramework="net472" />
|
||||
</packages>
|
||||
238
UltraStarSongPicker/repFavoritesList.Designer.vb
generated
Normal file
238
UltraStarSongPicker/repFavoritesList.Designer.vb
generated
Normal file
@ -0,0 +1,238 @@
|
||||
<Global.Microsoft.VisualBasic.CompilerServices.DesignerGenerated()> _
|
||||
Partial Public Class repFavoritesList
|
||||
Inherits DevExpress.XtraReports.UI.XtraReport
|
||||
|
||||
'XtraReport overrides dispose to clean up the component list.
|
||||
<System.Diagnostics.DebuggerNonUserCode()> _
|
||||
Protected Overrides Sub Dispose(ByVal disposing As Boolean)
|
||||
If disposing AndAlso components IsNot Nothing Then
|
||||
components.Dispose()
|
||||
End If
|
||||
MyBase.Dispose(disposing)
|
||||
End Sub
|
||||
|
||||
'Required by the Designer
|
||||
Private components As System.ComponentModel.IContainer
|
||||
|
||||
'NOTE: The following procedure is required by the Designer
|
||||
'It can be modified using the Designer.
|
||||
'Do not modify it using the code editor.
|
||||
<System.Diagnostics.DebuggerStepThrough()> _
|
||||
Private Sub InitializeComponent()
|
||||
Me.components = New System.ComponentModel.Container()
|
||||
Me.TopMargin = New DevExpress.XtraReports.UI.TopMarginBand()
|
||||
Me.BottomMargin = New DevExpress.XtraReports.UI.BottomMarginBand()
|
||||
Me.Detail = New DevExpress.XtraReports.UI.DetailBand()
|
||||
Me.XrTable1 = New DevExpress.XtraReports.UI.XRTable()
|
||||
Me.XrTableRow1 = New DevExpress.XtraReports.UI.XRTableRow()
|
||||
Me.XrTableCell1 = New DevExpress.XtraReports.UI.XRTableCell()
|
||||
Me.XrTableCell2 = New DevExpress.XtraReports.UI.XRTableCell()
|
||||
Me.XrTableCell3 = New DevExpress.XtraReports.UI.XRTableCell()
|
||||
Me.XrTable2 = New DevExpress.XtraReports.UI.XRTable()
|
||||
Me.XrTableRow2 = New DevExpress.XtraReports.UI.XRTableRow()
|
||||
Me.XrTableCell4 = New DevExpress.XtraReports.UI.XRTableCell()
|
||||
Me.XrTableCell5 = New DevExpress.XtraReports.UI.XRTableCell()
|
||||
Me.XrTableCell6 = New DevExpress.XtraReports.UI.XRTableCell()
|
||||
Me.PageHeader = New DevExpress.XtraReports.UI.PageHeaderBand()
|
||||
Me.ObjectDataSource1 = New DevExpress.DataAccess.ObjectBinding.ObjectDataSource(Me.components)
|
||||
Me.XrLabel1 = New DevExpress.XtraReports.UI.XRLabel()
|
||||
Me.PageFooter = New DevExpress.XtraReports.UI.PageFooterBand()
|
||||
Me.XrPageInfo1 = New DevExpress.XtraReports.UI.XRPageInfo()
|
||||
CType(Me.XrTable1, System.ComponentModel.ISupportInitialize).BeginInit()
|
||||
CType(Me.XrTable2, System.ComponentModel.ISupportInitialize).BeginInit()
|
||||
CType(Me.ObjectDataSource1, System.ComponentModel.ISupportInitialize).BeginInit()
|
||||
CType(Me, System.ComponentModel.ISupportInitialize).BeginInit()
|
||||
'
|
||||
'TopMargin
|
||||
'
|
||||
Me.TopMargin.Dpi = 254.0!
|
||||
Me.TopMargin.HeightF = 120.0!
|
||||
Me.TopMargin.Name = "TopMargin"
|
||||
'
|
||||
'BottomMargin
|
||||
'
|
||||
Me.BottomMargin.Dpi = 254.0!
|
||||
Me.BottomMargin.HeightF = 120.0!
|
||||
Me.BottomMargin.Name = "BottomMargin"
|
||||
'
|
||||
'Detail
|
||||
'
|
||||
Me.Detail.Controls.AddRange(New DevExpress.XtraReports.UI.XRControl() {Me.XrTable1})
|
||||
Me.Detail.Dpi = 254.0!
|
||||
Me.Detail.HeightF = 63.5!
|
||||
Me.Detail.Name = "Detail"
|
||||
'
|
||||
'XrTable1
|
||||
'
|
||||
Me.XrTable1.Dpi = 254.0!
|
||||
Me.XrTable1.LocationFloat = New DevExpress.Utils.PointFloat(0!, 0!)
|
||||
Me.XrTable1.Name = "XrTable1"
|
||||
Me.XrTable1.Padding = New DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 96.0!)
|
||||
Me.XrTable1.Rows.AddRange(New DevExpress.XtraReports.UI.XRTableRow() {Me.XrTableRow1})
|
||||
Me.XrTable1.SizeF = New System.Drawing.SizeF(1592.0!, 63.5!)
|
||||
'
|
||||
'XrTableRow1
|
||||
'
|
||||
Me.XrTableRow1.Cells.AddRange(New DevExpress.XtraReports.UI.XRTableCell() {Me.XrTableCell1, Me.XrTableCell2, Me.XrTableCell3})
|
||||
Me.XrTableRow1.Dpi = 254.0!
|
||||
Me.XrTableRow1.Name = "XrTableRow1"
|
||||
Me.XrTableRow1.Weight = 1.0R
|
||||
'
|
||||
'XrTableCell1
|
||||
'
|
||||
Me.XrTableCell1.Dpi = 254.0!
|
||||
Me.XrTableCell1.ExpressionBindings.AddRange(New DevExpress.XtraReports.UI.ExpressionBinding() {New DevExpress.XtraReports.UI.ExpressionBinding("BeforePrint", "Text", "[Artist]")})
|
||||
Me.XrTableCell1.Multiline = True
|
||||
Me.XrTableCell1.Name = "XrTableCell1"
|
||||
Me.XrTableCell1.Text = "XrTableCell1"
|
||||
Me.XrTableCell1.Weight = 1.0R
|
||||
'
|
||||
'XrTableCell2
|
||||
'
|
||||
Me.XrTableCell2.Dpi = 254.0!
|
||||
Me.XrTableCell2.ExpressionBindings.AddRange(New DevExpress.XtraReports.UI.ExpressionBinding() {New DevExpress.XtraReports.UI.ExpressionBinding("BeforePrint", "Text", "[Title]")})
|
||||
Me.XrTableCell2.Multiline = True
|
||||
Me.XrTableCell2.Name = "XrTableCell2"
|
||||
Me.XrTableCell2.Text = "XrTableCell2"
|
||||
Me.XrTableCell2.Weight = 1.4337711046688522R
|
||||
'
|
||||
'XrTableCell3
|
||||
'
|
||||
Me.XrTableCell3.CanShrink = True
|
||||
Me.XrTableCell3.Dpi = 254.0!
|
||||
Me.XrTableCell3.ExpressionBindings.AddRange(New DevExpress.XtraReports.UI.ExpressionBinding() {New DevExpress.XtraReports.UI.ExpressionBinding("BeforePrint", "Text", "[Language]")})
|
||||
Me.XrTableCell3.Name = "XrTableCell3"
|
||||
Me.XrTableCell3.Text = "XrTableCell3"
|
||||
Me.XrTableCell3.Weight = 0.56622889533114784R
|
||||
'
|
||||
'XrTable2
|
||||
'
|
||||
Me.XrTable2.AnchorVertical = DevExpress.XtraReports.UI.VerticalAnchorStyles.Bottom
|
||||
Me.XrTable2.Dpi = 254.0!
|
||||
Me.XrTable2.Font = New System.Drawing.Font("Arial", 12.0!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
|
||||
Me.XrTable2.LocationFloat = New DevExpress.Utils.PointFloat(0!, 141.0!)
|
||||
Me.XrTable2.Name = "XrTable2"
|
||||
Me.XrTable2.Padding = New DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 96.0!)
|
||||
Me.XrTable2.Rows.AddRange(New DevExpress.XtraReports.UI.XRTableRow() {Me.XrTableRow2})
|
||||
Me.XrTable2.SizeF = New System.Drawing.SizeF(1592.0!, 63.5!)
|
||||
Me.XrTable2.StylePriority.UseFont = False
|
||||
'
|
||||
'XrTableRow2
|
||||
'
|
||||
Me.XrTableRow2.Cells.AddRange(New DevExpress.XtraReports.UI.XRTableCell() {Me.XrTableCell4, Me.XrTableCell5, Me.XrTableCell6})
|
||||
Me.XrTableRow2.Dpi = 254.0!
|
||||
Me.XrTableRow2.Name = "XrTableRow2"
|
||||
Me.XrTableRow2.Weight = 1.0R
|
||||
'
|
||||
'XrTableCell4
|
||||
'
|
||||
Me.XrTableCell4.CanGrow = False
|
||||
Me.XrTableCell4.Dpi = 254.0!
|
||||
Me.XrTableCell4.Multiline = True
|
||||
Me.XrTableCell4.Name = "XrTableCell4"
|
||||
Me.XrTableCell4.Text = "Künstler"
|
||||
Me.XrTableCell4.Weight = 1.0R
|
||||
'
|
||||
'XrTableCell5
|
||||
'
|
||||
Me.XrTableCell5.CanGrow = False
|
||||
Me.XrTableCell5.Dpi = 254.0!
|
||||
Me.XrTableCell5.Multiline = True
|
||||
Me.XrTableCell5.Name = "XrTableCell5"
|
||||
Me.XrTableCell5.Text = "Titel"
|
||||
Me.XrTableCell5.Weight = 1.4337704145728645R
|
||||
'
|
||||
'XrTableCell6
|
||||
'
|
||||
Me.XrTableCell6.CanGrow = False
|
||||
Me.XrTableCell6.Dpi = 254.0!
|
||||
Me.XrTableCell6.Multiline = True
|
||||
Me.XrTableCell6.Name = "XrTableCell6"
|
||||
Me.XrTableCell6.Text = "Sprache"
|
||||
Me.XrTableCell6.Weight = 0.56622958542713564R
|
||||
'
|
||||
'PageHeader
|
||||
'
|
||||
Me.PageHeader.Controls.AddRange(New DevExpress.XtraReports.UI.XRControl() {Me.XrLabel1, Me.XrTable2})
|
||||
Me.PageHeader.Dpi = 254.0!
|
||||
Me.PageHeader.HeightF = 204.5!
|
||||
Me.PageHeader.Name = "PageHeader"
|
||||
'
|
||||
'ObjectDataSource1
|
||||
'
|
||||
Me.ObjectDataSource1.DataMember = "Songs"
|
||||
Me.ObjectDataSource1.DataSource = GetType(UltraStarSongPicker.frmMain)
|
||||
Me.ObjectDataSource1.Name = "ObjectDataSource1"
|
||||
'
|
||||
'XrLabel1
|
||||
'
|
||||
Me.XrLabel1.Dpi = 254.0!
|
||||
Me.XrLabel1.Font = New System.Drawing.Font("Arial", 24.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
|
||||
Me.XrLabel1.LocationFloat = New DevExpress.Utils.PointFloat(0!, 0!)
|
||||
Me.XrLabel1.Multiline = True
|
||||
Me.XrLabel1.Name = "XrLabel1"
|
||||
Me.XrLabel1.Padding = New DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 96.0!)
|
||||
Me.XrLabel1.SizeF = New System.Drawing.SizeF(1592.0!, 141.0!)
|
||||
Me.XrLabel1.StylePriority.UseFont = False
|
||||
Me.XrLabel1.Text = "Karaoke Songliste"
|
||||
'
|
||||
'PageFooter
|
||||
'
|
||||
Me.PageFooter.Controls.AddRange(New DevExpress.XtraReports.UI.XRControl() {Me.XrPageInfo1})
|
||||
Me.PageFooter.Dpi = 254.0!
|
||||
Me.PageFooter.HeightF = 58.42!
|
||||
Me.PageFooter.Name = "PageFooter"
|
||||
'
|
||||
'XrPageInfo1
|
||||
'
|
||||
Me.XrPageInfo1.Dpi = 254.0!
|
||||
Me.XrPageInfo1.Font = New System.Drawing.Font("Arial", 12.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
|
||||
Me.XrPageInfo1.LocationFloat = New DevExpress.Utils.PointFloat(1338.0!, 0!)
|
||||
Me.XrPageInfo1.Name = "XrPageInfo1"
|
||||
Me.XrPageInfo1.Padding = New DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 96.0!)
|
||||
Me.XrPageInfo1.SizeF = New System.Drawing.SizeF(254.0!, 58.42!)
|
||||
Me.XrPageInfo1.StylePriority.UseFont = False
|
||||
Me.XrPageInfo1.StylePriority.UseTextAlignment = False
|
||||
Me.XrPageInfo1.TextAlignment = DevExpress.XtraPrinting.TextAlignment.BottomRight
|
||||
Me.XrPageInfo1.TextFormatString = "Seite {0}/{1}"
|
||||
'
|
||||
'repFavoritesList
|
||||
'
|
||||
Me.Bands.AddRange(New DevExpress.XtraReports.UI.Band() {Me.TopMargin, Me.BottomMargin, Me.Detail, Me.PageHeader, Me.PageFooter})
|
||||
Me.ComponentStorage.AddRange(New System.ComponentModel.IComponent() {Me.ObjectDataSource1})
|
||||
Me.DataSource = Me.ObjectDataSource1
|
||||
Me.Dpi = 254.0!
|
||||
Me.Font = New System.Drawing.Font("Arial", 9.75!)
|
||||
Me.Margins = New System.Drawing.Printing.Margins(254, 254, 120, 120)
|
||||
Me.PageHeight = 2970
|
||||
Me.PageWidth = 2100
|
||||
Me.PaperKind = System.Drawing.Printing.PaperKind.A4
|
||||
Me.ReportUnit = DevExpress.XtraReports.UI.ReportUnit.TenthsOfAMillimeter
|
||||
Me.SnapGridSize = 25.0!
|
||||
Me.Version = "22.1"
|
||||
CType(Me.XrTable1, System.ComponentModel.ISupportInitialize).EndInit()
|
||||
CType(Me.XrTable2, System.ComponentModel.ISupportInitialize).EndInit()
|
||||
CType(Me.ObjectDataSource1, System.ComponentModel.ISupportInitialize).EndInit()
|
||||
CType(Me, System.ComponentModel.ISupportInitialize).EndInit()
|
||||
|
||||
End Sub
|
||||
|
||||
Friend WithEvents TopMargin As DevExpress.XtraReports.UI.TopMarginBand
|
||||
Friend WithEvents BottomMargin As DevExpress.XtraReports.UI.BottomMarginBand
|
||||
Friend WithEvents Detail As DevExpress.XtraReports.UI.DetailBand
|
||||
Friend WithEvents ObjectDataSource1 As DevExpress.DataAccess.ObjectBinding.ObjectDataSource
|
||||
Friend WithEvents XrTable1 As DevExpress.XtraReports.UI.XRTable
|
||||
Friend WithEvents XrTableRow1 As DevExpress.XtraReports.UI.XRTableRow
|
||||
Friend WithEvents XrTableCell1 As DevExpress.XtraReports.UI.XRTableCell
|
||||
Friend WithEvents XrTableCell2 As DevExpress.XtraReports.UI.XRTableCell
|
||||
Friend WithEvents XrTableCell3 As DevExpress.XtraReports.UI.XRTableCell
|
||||
Friend WithEvents XrTable2 As DevExpress.XtraReports.UI.XRTable
|
||||
Friend WithEvents XrTableRow2 As DevExpress.XtraReports.UI.XRTableRow
|
||||
Friend WithEvents XrTableCell4 As DevExpress.XtraReports.UI.XRTableCell
|
||||
Friend WithEvents XrTableCell5 As DevExpress.XtraReports.UI.XRTableCell
|
||||
Friend WithEvents XrTableCell6 As DevExpress.XtraReports.UI.XRTableCell
|
||||
Friend WithEvents PageHeader As DevExpress.XtraReports.UI.PageHeaderBand
|
||||
Friend WithEvents XrLabel1 As DevExpress.XtraReports.UI.XRLabel
|
||||
Friend WithEvents PageFooter As DevExpress.XtraReports.UI.PageFooterBand
|
||||
Friend WithEvents XrPageInfo1 As DevExpress.XtraReports.UI.XRPageInfo
|
||||
End Class
|
||||
120
UltraStarSongPicker/repFavoritesList.resx
Normal file
120
UltraStarSongPicker/repFavoritesList.resx
Normal file
@ -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>
|
||||
3
UltraStarSongPicker/repFavoritesList.vb
Normal file
3
UltraStarSongPicker/repFavoritesList.vb
Normal file
@ -0,0 +1,3 @@
|
||||
Public Class repFavoritesList
|
||||
|
||||
End Class
|
||||
Loading…
x
Reference in New Issue
Block a user