Merge branch 'main' of http://47.251.18.130:3000/Leecheng/superstar_v2
This commit is contained in:
commit
cfc9a1af9e
@ -4,7 +4,7 @@ namespace DBObj
|
||||
{
|
||||
public class SQLManager
|
||||
{
|
||||
private MyDB db = new MyDB();
|
||||
//private MyDB db = new MyDB();
|
||||
public List<SongData> FavoriteSongs { get; private set; }
|
||||
//public bool IsUserLoggedIn { get; set; }
|
||||
//public string UserPhoneNumber { get; set; }
|
||||
@ -57,8 +57,9 @@ namespace DBObj
|
||||
string query = $"SELECT * FROM song_library_cache WHERE language_name = '國語' ORDER BY add_date DESC LIMIT {Utils.Env.GetInt("NewSongLimit", 100)};";
|
||||
return select_Mysql(query);
|
||||
}
|
||||
public List<SongData> SearchHotSongs(){
|
||||
string query= $"SELECT * FROM song_library_cache WHERE language_name = '國語' ORDER BY song_counts DESC LIMIT {Utils.Env.GetInt("HotSongLimit", 100)};";
|
||||
public List<SongData> SearchHotSongs()
|
||||
{
|
||||
string query = $"SELECT * FROM song_library_cache WHERE language_name = '國語' ORDER BY song_counts DESC LIMIT {Utils.Env.GetInt("HotSongLimit", 100)};";
|
||||
return select_Mysql(query);
|
||||
}
|
||||
public List<SongData> SearchSongsBySinger(string keyword)
|
||||
@ -75,29 +76,31 @@ namespace DBObj
|
||||
}
|
||||
public SongData SearchSongByNumber(string songNumber)
|
||||
{
|
||||
List<SongData> searchResults = new List<SongData>();
|
||||
string query = $"SELECT * FROM song_library_cache WHERE song_id = '{songNumber}';";
|
||||
var searchResults =select_Mysql(query);
|
||||
return searchResults.FirstOrDefault();
|
||||
using (var db = new MyDB())
|
||||
{
|
||||
if (db.open(query, null))
|
||||
{
|
||||
if (db.recordCount() != 0)
|
||||
{
|
||||
searchResults.Add(newSongData( db ));
|
||||
}
|
||||
}
|
||||
}
|
||||
return searchResults.FirstOrDefault();
|
||||
}
|
||||
private List<SongData> select_Mysql(string query)
|
||||
private List<SongData> select_Mysql(string query)
|
||||
{
|
||||
List<SongData> searchResults = new List<SongData>();
|
||||
Console.WriteLine(query);
|
||||
using (var db = new MyDB())
|
||||
{
|
||||
if (db.open(query, null)) {
|
||||
while (db.Read()){
|
||||
searchResults.Add(new SongData(
|
||||
db.Field<string>("song_id"),
|
||||
db.Field<string>("song_name"),
|
||||
db.Field<string>("artistA"),
|
||||
db.Field<string>("artistB"),
|
||||
db.Field<string>("song_filename"),
|
||||
db.Field<string>("artistA_simplified"),
|
||||
db.Field<string>("artistB_simplified"),
|
||||
db.Field<string>("song_simplified"),
|
||||
db.Field<int>("vocal")
|
||||
));
|
||||
if (db.open(query, null))
|
||||
{
|
||||
while (db.Read())
|
||||
{
|
||||
searchResults.Add(newSongData( db ));
|
||||
}
|
||||
}
|
||||
|
||||
@ -106,6 +109,19 @@ namespace DBObj
|
||||
|
||||
return searchResults;
|
||||
}
|
||||
private SongData newSongData(MyDB db) {
|
||||
return new SongData(
|
||||
db.Field<string>("song_id") ?? "",
|
||||
db.Field<string>("song_name") ?? "",
|
||||
db.Field<string>("artistA") ?? "",
|
||||
db.Field<string>("artistB") ?? "",
|
||||
db.Field<string>("song_filename") ?? "",
|
||||
db.Field<string>("artistA_simplified") ?? "",
|
||||
db.Field<string>("artistB_simplified") ?? "",
|
||||
db.Field<string>("song_simplified")?? "",
|
||||
db.Field<int>("vocal")
|
||||
);
|
||||
}
|
||||
|
||||
}
|
||||
}
|
@ -65,6 +65,34 @@ namespace DBObj
|
||||
? String.Format("{0} - {1} - {2}", A.getName(false), B.getName(false), basic.getName(false))
|
||||
: String.Format("{0} - {1}", A.getName(false), basic.getName(false));
|
||||
}
|
||||
public bool FileExistsInServers()
|
||||
{
|
||||
foreach (var server in Utils.Env.GetSongServers())
|
||||
{
|
||||
try
|
||||
{
|
||||
Console.WriteLine($"伺服器路徑: '{server}'");
|
||||
string fullPath = Path.Combine(server, basic.getFileName());
|
||||
|
||||
if (File.Exists(fullPath))
|
||||
{
|
||||
Console.WriteLine($"找到檔案: {fullPath}");
|
||||
return true;
|
||||
}
|
||||
else
|
||||
{
|
||||
Console.WriteLine($"找不到檔案: {fullPath}");
|
||||
}
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
Console.WriteLine($"檢查檔案時發生錯誤: {ex.Message}");
|
||||
}
|
||||
}
|
||||
|
||||
Console.WriteLine($"全部 server 都找不到檔案: {basic.getFileName()}");
|
||||
return false;
|
||||
}
|
||||
|
||||
public string getFile()
|
||||
{
|
||||
@ -82,11 +110,20 @@ namespace DBObj
|
||||
}
|
||||
public Color GetStateColor(){
|
||||
Color c = Color.White;
|
||||
if (state == PlayState.Played){
|
||||
if (state == PlayState.Played)
|
||||
{
|
||||
c = Color.Gray;//Color.FromArgb(200, 75, 125); // 播畢顏色:紫紅色
|
||||
}else if (state == PlayState.Playing){
|
||||
}
|
||||
else if (state == PlayState.NoFile)
|
||||
{
|
||||
c = Color.Gray;
|
||||
}
|
||||
else if (state == PlayState.Playing)
|
||||
{
|
||||
c = Color.LimeGreen;
|
||||
}else if (state == PlayState.InsertPlayback){
|
||||
}
|
||||
else if (state == PlayState.InsertPlayback)
|
||||
{
|
||||
c = Color.Gold;
|
||||
}
|
||||
return c;
|
||||
|
@ -38,7 +38,20 @@ namespace DBObj
|
||||
{
|
||||
playing = not_played[0];
|
||||
not_played.RemoveAt(0);
|
||||
|
||||
if (!playing.FileExistsInServers())
|
||||
{
|
||||
playing.SetState(PlayState.NoFile);
|
||||
played.Add(playing);
|
||||
playing = null;
|
||||
if (not_played.Count <= 0)
|
||||
return NextPublicSong();
|
||||
else
|
||||
return NextUserSong();
|
||||
}
|
||||
|
||||
playing.SetState(PlayState.Playing);
|
||||
|
||||
UpdateNextSongLabel();
|
||||
return playing;
|
||||
}
|
||||
@ -68,14 +81,29 @@ namespace DBObj
|
||||
|
||||
public static void Add(SongData song)
|
||||
{
|
||||
not_played.Add(new SongData(song,PlayState.NotPlayed));
|
||||
// PrimaryForm.Instance.AddSongCount(songData.Number);
|
||||
chkCut();
|
||||
if (song.FileExistsInServers())
|
||||
{
|
||||
not_played.Add(new SongData(song, PlayState.NotPlayed));
|
||||
// PrimaryForm.Instance.AddSongCount(songData.Number);
|
||||
chkCut();
|
||||
}
|
||||
else
|
||||
{
|
||||
played.Add(new SongData(song, PlayState.NoFile));
|
||||
}
|
||||
|
||||
}
|
||||
public static void Insert(SongData song)
|
||||
{
|
||||
not_played.Insert(0, new SongData(song,PlayState.InsertPlayback));
|
||||
chkCut();
|
||||
if (song.FileExistsInServers()) {
|
||||
not_played.Insert(0, new SongData(song,PlayState.InsertPlayback));
|
||||
chkCut();
|
||||
}
|
||||
else
|
||||
{
|
||||
played.Add(new SongData(song, PlayState.NoFile));
|
||||
}
|
||||
|
||||
}
|
||||
private static void chkCut()
|
||||
{
|
||||
|
@ -54,7 +54,7 @@ namespace OverlayFormObj
|
||||
}
|
||||
}
|
||||
|
||||
this.Invalidate();
|
||||
//this.Invalidate();
|
||||
blackBackgroundPanel.Invalidate();
|
||||
// StartMarquee();
|
||||
}
|
||||
@ -85,7 +85,7 @@ namespace OverlayFormObj
|
||||
Console.WriteLine("Marquee 跑完了!");
|
||||
}
|
||||
|
||||
this.Invalidate();
|
||||
//this.Invalidate();
|
||||
blackBackgroundPanel.Invalidate();
|
||||
};
|
||||
|
||||
@ -142,7 +142,7 @@ namespace OverlayFormObj
|
||||
}
|
||||
secondLineTimer.Stop();
|
||||
secondLineTimer.Dispose();
|
||||
this.Invalidate();
|
||||
//this.Invalidate();
|
||||
blackBackgroundPanel.Invalidate();
|
||||
}
|
||||
};
|
||||
@ -150,7 +150,7 @@ namespace OverlayFormObj
|
||||
secondLineTimer.Start();
|
||||
blackBackgroundPanel.Invalidate();
|
||||
}
|
||||
|
||||
/*
|
||||
public void UpdateMarqueeTextThirdLine(string newText)
|
||||
{
|
||||
|
||||
@ -170,6 +170,7 @@ namespace OverlayFormObj
|
||||
|
||||
Invalidate();
|
||||
}
|
||||
*/
|
||||
|
||||
private void MarqueeTimer_Tick(object sender, EventArgs e)
|
||||
{
|
||||
@ -187,7 +188,7 @@ namespace OverlayFormObj
|
||||
}
|
||||
}
|
||||
|
||||
this.Invalidate();
|
||||
//this.Invalidate();
|
||||
blackBackgroundPanel.Invalidate();
|
||||
}
|
||||
|
||||
|
@ -17,7 +17,7 @@ namespace DualScreenDemo
|
||||
[STAThread]
|
||||
static void Main()
|
||||
{
|
||||
Console.WriteLine("Server V.1.2.5 202507291800");
|
||||
Console.WriteLine("Server V.1.2.6 202508011600");
|
||||
if (Utils.Env.GetBool("IsCursor", true)) Cursor.Hide();
|
||||
AppDomain.CurrentDomain.ProcessExit += (s, e) => Cursor.Show();
|
||||
//Console.WriteLine("正在與中控取得聯繫...");
|
||||
|
Loading…
x
Reference in New Issue
Block a user