mirror of
https://github.com/zhongyang219/MusicPlayer2.git
synced 2026-10-25 10:39:48 +08:00
添加自动刷新媒体库时略过过短文件设置
This commit is contained in:
@@ -359,6 +359,8 @@ struct MediaLibSettingData
|
||||
bool disable_delete_from_disk; //禁用从磁盘删除
|
||||
bool show_tree_tool_tips; //树控件显示鼠标提示
|
||||
bool update_media_lib_when_start_up; //启动时自动更新媒体库
|
||||
bool ignore_too_short_when_update; // 自动更新/刷新媒体库时忽略时长低于阈值的文件(不影响手动加入)
|
||||
int file_too_short_sec; // 音频低时长阈值(清理媒体库功能也使用这个设置)
|
||||
bool remove_file_not_exist_when_update{}; //更新媒体库时移除不存在的音频文件
|
||||
bool disable_drag_sort; //禁止通过拖放排序
|
||||
DisplayFormat display_format{}; //播放列表中项目的显示样式
|
||||
|
||||
@@ -46,6 +46,8 @@ void CMediaLibSettingDlg::DoDataExchange(CDataExchange* pDX)
|
||||
DDX_Control(pDX, IDC_DISABLE_DRAGE_SORT_CHECK, m_disable_drag_sort_chk);
|
||||
DDX_Control(pDX, IDC_PLAYLIST_DISPLAY_MODE_OMBO, m_playlist_display_mode_combo);
|
||||
DDX_Control(pDX, IDC_RECENT_PLAYED_RANGE_OMBO, m_recent_played_range_combo);
|
||||
DDX_Control(pDX, IDC_IGNORE_TOO_SHORT_CHECK, m_ignore_too_short_chk);
|
||||
DDX_Control(pDX, IDC_FILE_TOO_SHORT_SEC_EDIT, m_file_too_short_sec_edit);
|
||||
DDX_Control(pDX, IDC_IGNORE_EXIST_CHECK, m_ignore_exist_chk);
|
||||
DDX_Control(pDX, IDC_ID3V2_TYPE_COMBO, m_id3v2_type_combo);
|
||||
DDX_Control(pDX, IDC_ENABLE_LASTFM, m_enable_lastfm);
|
||||
@@ -90,9 +92,13 @@ void CMediaLibSettingDlg::GetDataFromUi()
|
||||
m_data.lastfm_least_dur = m_lastfm_least_dur.GetValue();
|
||||
m_data.lastfm_auto_scrobble_min = m_lastfm_auto_scrobble_min.GetValue();
|
||||
m_data.playlist_item_height = m_playlist_item_height_edit.GetValue();
|
||||
m_data.file_too_short_sec = m_file_too_short_sec_edit.GetValue();
|
||||
m_data.remove_file_not_exist_when_update = (IsDlgButtonChecked(IDC_REMOVE_FILE_NOT_EXIST_WHEN_UPDATE_CHECK));
|
||||
}
|
||||
|
||||
// void CMediaLibSettingDlg::ApplyDataToUi()
|
||||
// {
|
||||
// }
|
||||
|
||||
BEGIN_MESSAGE_MAP(CMediaLibSettingDlg, CTabDlg)
|
||||
ON_WM_TIMER()
|
||||
@@ -119,6 +125,7 @@ BEGIN_MESSAGE_MAP(CMediaLibSettingDlg, CTabDlg)
|
||||
ON_BN_CLICKED(IDC_LASTFM_ENABLE_HTTPS, &CMediaLibSettingDlg::OnBnClickedLastfmEnableHttps)
|
||||
ON_BN_CLICKED(IDC_LASTFM_ENABLE_NOWPLAYING, &CMediaLibSettingDlg::OnBnClickedLastfmEnableNowplaying)
|
||||
ON_MESSAGE(WM_EDIT_BROWSE_CHANGED, &CMediaLibSettingDlg::OnEditBrowseChanged)
|
||||
ON_BN_CLICKED(IDC_IGNORE_TOO_SHORT_CHECK, &CMediaLibSettingDlg::OnBnClickedIgnoreTooShortCheck)
|
||||
END_MESSAGE_MAP()
|
||||
|
||||
|
||||
@@ -171,6 +178,7 @@ BOOL CMediaLibSettingDlg::OnInitDialog()
|
||||
m_recent_played_range_combo.SetCurSel(static_cast<int>(m_data.recent_played_range));
|
||||
|
||||
m_ignore_exist_chk.SetCheck(m_data.ignore_songs_already_in_playlist);
|
||||
m_ignore_too_short_chk.SetCheck(m_data.ignore_too_short_when_update);
|
||||
CheckDlgButton(IDC_SHOW_PLAYLIST_TOOLTIP_CHECK, m_data.show_playlist_tooltip);
|
||||
CheckDlgButton(IDC_FLOAT_PLAYLIST_FOLLOW_MAIN_WND_CHECK, m_data.float_playlist_follow_main_wnd);
|
||||
|
||||
@@ -202,6 +210,8 @@ BOOL CMediaLibSettingDlg::OnInitDialog()
|
||||
|
||||
m_playlist_item_height_edit.SetRange(MIN_PLAYLIST_ITEM_HEIGHT, MAX_PLAYLIST_ITEM_HEIGHT);
|
||||
m_playlist_item_height_edit.SetValue(m_data.playlist_item_height);
|
||||
m_file_too_short_sec_edit.SetRange(1, 60);
|
||||
m_file_too_short_sec_edit.SetValue(m_data.file_too_short_sec);
|
||||
|
||||
//设置控件不响应鼠标滚轮消息
|
||||
m_playlist_display_mode_combo.SetMouseWheelEnable(false);
|
||||
@@ -211,6 +221,8 @@ BOOL CMediaLibSettingDlg::OnInitDialog()
|
||||
m_lastfm_least_dur.SetMouseWheelEnable(false);
|
||||
m_lastfm_auto_scrobble_min.SetMouseWheelEnable(false);
|
||||
m_playlist_item_height_edit.SetMouseWheelEnable(false);
|
||||
m_file_too_short_sec_edit.SetMouseWheelEnable(false);
|
||||
|
||||
UpdateLastFMStatus();
|
||||
SetTimer(TIMER_1_SEC, 1000, NULL);
|
||||
|
||||
@@ -308,7 +320,7 @@ void CMediaLibSettingDlg::OnBnClickedCleanDataFileButton()
|
||||
{
|
||||
clear_cnt += CMusicPlayerCmdHelper::CleanUpSongData([&](const SongInfo& song)
|
||||
{
|
||||
return song.length().toInt() < 30 * 1000;
|
||||
return song.length().toInt() < m_data.file_too_short_sec * 1000;
|
||||
});
|
||||
}
|
||||
if (clear_cnt > 0)
|
||||
@@ -521,3 +533,10 @@ afx_msg LRESULT CMediaLibSettingDlg::OnEditBrowseChanged(WPARAM wParam, LPARAM l
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
void CMediaLibSettingDlg::OnBnClickedIgnoreTooShortCheck()
|
||||
{
|
||||
// TODO: 在此添加控件通知处理程序代码
|
||||
m_data.ignore_too_short_when_update = (m_ignore_too_short_chk.GetCheck() != 0);
|
||||
}
|
||||
|
||||
@@ -31,6 +31,8 @@ private:
|
||||
CButton m_disable_drag_sort_chk;
|
||||
CMyComboBox m_playlist_display_mode_combo;
|
||||
CMyComboBox m_recent_played_range_combo;
|
||||
CButton m_ignore_too_short_chk;
|
||||
CSpinEdit m_file_too_short_sec_edit;
|
||||
CButton m_ignore_exist_chk;
|
||||
CMyComboBox m_id3v2_type_combo;
|
||||
CButton m_enable_lastfm;
|
||||
@@ -54,7 +56,12 @@ protected:
|
||||
void ShowDataSizeInfo();
|
||||
|
||||
virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV 支持
|
||||
// 在点击选项设置对话框的“应用”或“确定”时CMusicPlayerDlg::ApplySettings()将所有m_data写入theApp前被调用
|
||||
// 这里是设置应用前最后的更新ui到m_data的机会,不需要实时更新到m_data的ui也可以只在这里获取
|
||||
virtual void GetDataFromUi() override;
|
||||
// 在点击选项设置对话框的“应用”时,时CMusicPlayerDlg::ApplySettings()将所有m_data写入theApp后被调用
|
||||
// 进行一些只有在CMusicPlayerDlg::ApplySettings()后才能做的ui更新
|
||||
// virtual void ApplyDataToUi() override;
|
||||
void UpdateLastFMStatus();
|
||||
void UpdateLastFMCacheStatus();
|
||||
afx_msg void OnTimer(UINT_PTR nIDEvent);
|
||||
@@ -88,4 +95,6 @@ public:
|
||||
afx_msg void OnBnClickedLastfmEnableNowplaying();
|
||||
protected:
|
||||
afx_msg LRESULT OnEditBrowseChanged(WPARAM wParam, LPARAM lParam);
|
||||
public:
|
||||
afx_msg void OnBnClickedIgnoreTooShortCheck();
|
||||
};
|
||||
|
||||
+134
-126
@@ -1153,75 +1153,79 @@ BEGIN
|
||||
CONTROL "",IDC_HSPLITER_STATIC,"Static",SS_BLACKFRAME,111,19,3,136
|
||||
END
|
||||
|
||||
IDD_MEDIA_LIB_SETTING_DIALOG DIALOGEX 0, 0, 243, 559
|
||||
IDD_MEDIA_LIB_SETTING_DIALOG DIALOGEX 0, 0, 243, 567
|
||||
STYLE DS_SETFONT | WS_CHILD | WS_SYSMENU
|
||||
FONT 9, "微软雅黑", 400, 0, 0x0
|
||||
BEGIN
|
||||
GROUPBOX "媒体库目录",IDC_STATIC,6,93,230,66
|
||||
CONTROL "",IDC_DIR_LIST,"SysListView32",LVS_REPORT | LVS_SINGLESEL | LVS_ALIGNLEFT | WS_BORDER | WS_TABSTOP,14,105,156,47
|
||||
PUSHBUTTON "添加(&A)...",IDC_ADD_BUTTON,176,109,50,14
|
||||
PUSHBUTTON "删除(&D)",IDC_DELETE_BUTTON,176,127,50,14
|
||||
GROUPBOX "媒体库选项",IDC_STATIC,6,5,230,82
|
||||
GROUPBOX "媒体库目录",IDC_STATIC,6,103,230,66
|
||||
CONTROL "",IDC_DIR_LIST,"SysListView32",LVS_REPORT | LVS_SINGLESEL | LVS_ALIGNLEFT | WS_BORDER | WS_TABSTOP,14,115,156,47
|
||||
PUSHBUTTON "添加(&A)...",IDC_ADD_BUTTON,176,119,50,14
|
||||
PUSHBUTTON "删除(&D)",IDC_DELETE_BUTTON,176,137,50,14
|
||||
GROUPBOX "媒体库选项",IDC_STATIC,6,5,230,92
|
||||
CONTROL "将只有一项的分类归到其他类中",IDC_CLASSIFY_OTHER_CHECK,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,14,18,133,10
|
||||
CONTROL "启动时自动更新媒体库",IDC_UPDATE_MEDIA_LIB_CHK,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,14,29,132,10
|
||||
LTEXT "当前数据文件大小:",IDC_SIZE_STATIC,14,358,178,8
|
||||
PUSHBUTTON "清理(&C)...",IDC_CLEAN_DATA_FILE_BUTTON,14,370,53,14
|
||||
GROUPBOX "清理媒体库",IDC_STATIC,6,346,230,43
|
||||
PUSHBUTTON "清空最近播放曲目列表(&R)...",IDC_CLEAR_RECENT_PLAYED_LIST_BTN,13,320,95,14
|
||||
GROUPBOX "最近播放",IDC_STATIC,6,294,230,45
|
||||
GROUPBOX "播放列表",IDC_STATIC,6,211,230,76
|
||||
CONTROL "禁用播放列表拖放排序",IDC_DISABLE_DRAGE_SORT_CHECK,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,14,222,89,10
|
||||
LTEXT "播放列表显示方式:",IDC_STATIC,107,223,64,8
|
||||
COMBOBOX IDC_PLAYLIST_DISPLAY_MODE_OMBO,173,221,59,30,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP
|
||||
LTEXT "最近播放显示范围:",IDC_STATIC,14,306,66,8
|
||||
COMBOBOX IDC_RECENT_PLAYED_RANGE_OMBO,85,304,111,30,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP
|
||||
CONTROL "禁止向播放列表中添加已存在的曲目",IDC_IGNORE_EXIST_CHECK,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,14,235,175,10
|
||||
GROUPBOX "在媒体库中显示的项目",IDC_STATIC,6,165,230,39
|
||||
CONTROL "艺术家",IDC_ARTIST_CHECK,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,14,177,36,10
|
||||
CONTROL "唱片集",IDC_ALBUM_CHECK,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,55,176,36,10
|
||||
CONTROL "流派",IDC_GENRE_CHECK,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,99,176,29,10
|
||||
CONTROL "年份",IDC_YEAR_CHECK,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,143,176,29,10
|
||||
CONTROL "文件类型",IDC_FILE_TYPE_CHECK,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,187,176,43,10
|
||||
CONTROL "比特率",IDC_BITRATE_CHECK,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,14,190,36,10
|
||||
CONTROL "所有曲目",IDC_ALL_CHECK,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,99,189,43,10
|
||||
CONTROL "最近播放",IDC_RECENT_CHECK,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,143,189,43,10
|
||||
CONTROL "文件夹浏览",IDC_FOLDER_EXPLORE_CHECK,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,187,189,49,10
|
||||
CONTROL "分级",IDC_RATING_CHECK,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,55,189,29,10
|
||||
GROUPBOX "标签读写",IDC_STATIC,6,393,230,32
|
||||
LTEXT "ID3v2写入类型:",IDC_STATIC,14,407,61,8
|
||||
COMBOBOX IDC_ID3V2_TYPE_COMBO,74,406,48,30,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP
|
||||
CONTROL "启动时自动更新媒体库",IDC_UPDATE_MEDIA_LIB_CHK,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,14,29,95,10
|
||||
LTEXT "当前数据文件大小:",IDC_SIZE_STATIC,14,365,178,8
|
||||
PUSHBUTTON "清理(&C)...",IDC_CLEAN_DATA_FILE_BUTTON,14,377,53,14
|
||||
GROUPBOX "清理媒体库",IDC_STATIC,6,353,230,43
|
||||
PUSHBUTTON "清空最近播放曲目列表(&R)...",IDC_CLEAR_RECENT_PLAYED_LIST_BTN,13,328,95,14
|
||||
GROUPBOX "最近播放",IDC_STATIC,6,302,230,45
|
||||
GROUPBOX "播放列表",IDC_STATIC,6,219,230,76
|
||||
CONTROL "禁用播放列表拖放排序",IDC_DISABLE_DRAGE_SORT_CHECK,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,14,230,89,10
|
||||
LTEXT "播放列表显示方式:",IDC_STATIC,107,231,64,8
|
||||
COMBOBOX IDC_PLAYLIST_DISPLAY_MODE_OMBO,173,229,59,30,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP
|
||||
LTEXT "最近播放显示范围:",IDC_STATIC,14,314,66,8
|
||||
COMBOBOX IDC_RECENT_PLAYED_RANGE_OMBO,85,312,111,30,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP
|
||||
CONTROL "禁止向播放列表中添加已存在的曲目",IDC_IGNORE_EXIST_CHECK,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,14,243,175,10
|
||||
GROUPBOX "在媒体库中显示的项目",IDC_STATIC,6,175,230,39
|
||||
CONTROL "艺术家",IDC_ARTIST_CHECK,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,14,187,36,10
|
||||
CONTROL "唱片集",IDC_ALBUM_CHECK,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,55,186,36,10
|
||||
CONTROL "流派",IDC_GENRE_CHECK,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,99,186,29,10
|
||||
CONTROL "年份",IDC_YEAR_CHECK,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,143,186,29,10
|
||||
CONTROL "文件类型",IDC_FILE_TYPE_CHECK,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,187,186,43,10
|
||||
CONTROL "比特率",IDC_BITRATE_CHECK,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,14,200,36,10
|
||||
CONTROL "所有曲目",IDC_ALL_CHECK,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,99,199,43,10
|
||||
CONTROL "最近播放",IDC_RECENT_CHECK,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,143,199,43,10
|
||||
CONTROL "文件夹浏览",IDC_FOLDER_EXPLORE_CHECK,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,187,199,49,10
|
||||
CONTROL "分级",IDC_RATING_CHECK,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,55,199,29,10
|
||||
GROUPBOX "标签读写",IDC_STATIC,6,403,230,32
|
||||
LTEXT "ID3v2写入类型:",IDC_STATIC,14,417,61,8
|
||||
COMBOBOX IDC_ID3V2_TYPE_COMBO,74,416,48,30,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP
|
||||
PUSHBUTTON "刷新媒体库(&R)",IDC_REFRESH_MEDIA_LIB_BUTTON,153,20,59,14
|
||||
CONTROL "禁用从磁盘删除",IDC_DISABLE_DELETE_FROM_DISK_CHECK,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,14,53,118,10
|
||||
CONTROL "显示播放列表鼠标提示",IDC_SHOW_PLAYLIST_TOOLTIP_CHECK,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,14,247,87,10
|
||||
CONTROL "禁用从磁盘删除",IDC_DISABLE_DELETE_FROM_DISK_CHECK,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,14,63,73,10
|
||||
CONTROL "显示播放列表鼠标提示",IDC_SHOW_PLAYLIST_TOOLTIP_CHECK,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,14,255,87,10
|
||||
CONTROL "浮动播放列表跟随主窗口",IDC_FLOAT_PLAYLIST_FOLLOW_MAIN_WND_CHECK,
|
||||
"Button",BS_AUTOCHECKBOX | WS_TABSTOP,14,259,159,10
|
||||
LTEXT "播放列表项目高度:",IDC_STATIC,14,273,66,8
|
||||
EDITTEXT IDC_PLAYLIST_ITEM_HEIGHT_EDIT,81,271,34,12,ES_AUTOHSCROLL
|
||||
LTEXT "像素",IDC_STATIC,117,273,26,8
|
||||
GROUPBOX "Last.fm",IDC_STATIC,6,432,230,118
|
||||
CONTROL "启用 last.fm 相关功能",IDC_ENABLE_LASTFM,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,14,443,80,10
|
||||
LTEXT "当前状态:",IDC_STATIC,14,456,34,8
|
||||
LTEXT "状态",IDC_LASTFM_STATUS,46,456,124,8
|
||||
PUSHBUTTON "登录",IDC_LASTFM_LOGIN,177,452,50,14,WS_DISABLED
|
||||
LTEXT "当播放进度满足以下所有条件时将记录计入缓存:",IDC_STATIC,14,469,207,8
|
||||
LTEXT "至少播放歌曲的",IDC_STATIC,14,481,52,8
|
||||
EDITTEXT IDC_LASTFM_LEAST_PERDUR,66,480,29,12,ES_AUTOHSCROLL
|
||||
LTEXT "% 并至少播放",IDC_STATIC,98,481,46,8
|
||||
EDITTEXT IDC_LASTFM_LEAST_DUR,144,480,29,12,ES_AUTOHSCROLL
|
||||
LTEXT "秒。",IDC_STATIC,175,482,18,8
|
||||
CONTROL "当缓存中的记录数超过",IDC_LASTFM_AUTO_SCROBBLE,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,14,496,80,10
|
||||
EDITTEXT IDC_LASTFM_AUTO_SCROBBLE_MIN,94,495,29,12,ES_AUTOHSCROLL
|
||||
LTEXT "条时,自动上传缓存。",IDC_STATIC,126,497,97,8
|
||||
LTEXT "缓存状态:",IDC_STATIC,14,510,34,8
|
||||
LTEXT "X条记录",IDC_LASTFM_CACHE_STATUS,46,510,123,8
|
||||
PUSHBUTTON "上传缓存",IDC_LASTFM_UPLOAD_CACHE,177,509,50,14,WS_DISABLED
|
||||
"Button",BS_AUTOCHECKBOX | WS_TABSTOP,14,267,159,10
|
||||
LTEXT "播放列表项目高度:",IDC_STATIC,14,281,66,8
|
||||
EDITTEXT IDC_PLAYLIST_ITEM_HEIGHT_EDIT,81,279,34,12,ES_AUTOHSCROLL
|
||||
LTEXT "像素",IDC_STATIC,117,281,26,8
|
||||
GROUPBOX "Last.fm",IDC_STATIC,6,442,230,118
|
||||
CONTROL "启用 last.fm 相关功能",IDC_ENABLE_LASTFM,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,14,453,80,10
|
||||
LTEXT "当前状态:",IDC_STATIC,14,466,34,8
|
||||
LTEXT "状态",IDC_LASTFM_STATUS,46,466,124,8
|
||||
PUSHBUTTON "登录",IDC_LASTFM_LOGIN,177,462,50,14,WS_DISABLED
|
||||
LTEXT "当播放进度满足以下所有条件时将记录计入缓存:",IDC_STATIC,14,479,207,8
|
||||
LTEXT "至少播放歌曲的",IDC_STATIC,14,491,52,8
|
||||
EDITTEXT IDC_LASTFM_LEAST_PERDUR,66,490,29,12,ES_AUTOHSCROLL
|
||||
LTEXT "% 并至少播放",IDC_STATIC,98,491,46,8
|
||||
EDITTEXT IDC_LASTFM_LEAST_DUR,144,490,29,12,ES_AUTOHSCROLL
|
||||
LTEXT "秒。",IDC_STATIC,175,492,18,8
|
||||
CONTROL "当缓存中的记录数超过",IDC_LASTFM_AUTO_SCROBBLE,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,14,506,80,10
|
||||
EDITTEXT IDC_LASTFM_AUTO_SCROBBLE_MIN,94,505,29,12,ES_AUTOHSCROLL
|
||||
LTEXT "条时,自动上传缓存。",IDC_STATIC,126,507,97,8
|
||||
LTEXT "缓存状态:",IDC_STATIC,14,520,34,8
|
||||
LTEXT "X条记录",IDC_LASTFM_CACHE_STATUS,46,520,123,8
|
||||
PUSHBUTTON "上传缓存",IDC_LASTFM_UPLOAD_CACHE,177,519,50,14,WS_DISABLED
|
||||
CONTROL "使用 HTTPS 与 last.fm 服务器通信",IDC_LASTFM_ENABLE_HTTPS,
|
||||
"Button",BS_AUTOCHECKBOX | WS_TABSTOP,14,522,116,10
|
||||
CONTROL "上传当前播放歌曲",IDC_LASTFM_ENABLE_NOWPLAYING,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,14,535,67,10
|
||||
"Button",BS_AUTOCHECKBOX | WS_TABSTOP,14,532,116,10
|
||||
CONTROL "上传当前播放歌曲",IDC_LASTFM_ENABLE_NOWPLAYING,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,14,545,67,10
|
||||
CONTROL "更新媒体库时移除不存在的音频文件",IDC_REMOVE_FILE_NOT_EXIST_WHEN_UPDATE_CHECK,
|
||||
"Button",BS_AUTOCHECKBOX | WS_TABSTOP,14,41,147,10
|
||||
CONTROL "",IDC_ARTIST_SPLIT_EXT_EDIT,"MfcEditBrowse",WS_BORDER | WS_TABSTOP | 0x80,70,65,160,14
|
||||
LTEXT "艺术家识别例外:",IDC_STATIC,14,67,54,8
|
||||
"Button",BS_AUTOCHECKBOX | WS_TABSTOP,14,51,147,10
|
||||
CONTROL "",IDC_ARTIST_SPLIT_EXT_EDIT,"MfcEditBrowse",WS_BORDER | WS_TABSTOP | 0x80,69,78,157,11
|
||||
LTEXT "艺术家识别例外:",IDC_STATIC,14,79,54,8
|
||||
CONTROL "更新媒体库时忽略时长低于阈值的文件",IDC_IGNORE_TOO_SHORT_CHECK,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,14,40,132,10
|
||||
LTEXT "音频文件低时长阈值:",IDC_STATIC,122,64,73,8
|
||||
LTEXT "秒",IDC_STATIC,217,64,8,8
|
||||
EDITTEXT IDC_FILE_TOO_SHORT_SEC_EDIT,187,62,27,12,ES_AUTOHSCROLL
|
||||
END
|
||||
|
||||
IDD_ADD_TO_PLAYLIST_DIALOG DIALOGEX 0, 0, 186, 152
|
||||
@@ -1708,7 +1712,7 @@ BEGIN
|
||||
RIGHTMARGIN, 236
|
||||
VERTGUIDE, 14
|
||||
TOPMARGIN, 5
|
||||
BOTTOMMARGIN, 555
|
||||
BOTTOMMARGIN, 563
|
||||
END
|
||||
|
||||
IDD_ADD_TO_PLAYLIST_DIALOG, DIALOG
|
||||
@@ -3928,8 +3932,7 @@ BEGIN
|
||||
IDS_DEFAULT_UI "默认界面"
|
||||
IDS_ALIGN_AUTO "自动"
|
||||
IDS_SET_MULTI_ARTIST_SPLIT_EXT "设置多个艺术家识别例外"
|
||||
IDS_ARTIST_SPLIT_EXT_TIP_INFO
|
||||
"添加所有名称本身含有‘/’,‘;’,‘&&’以及‘、’的艺术家作为例外,避免程序误识别。"
|
||||
IDS_ARTIST_SPLIT_EXT_TIP_INFO "添加所有名称本身含有“/;&&、”的艺术家作为例外,避免程序误识别。"
|
||||
IDS_FILES_TOO_SHORT "过短的文件"
|
||||
END
|
||||
|
||||
@@ -4728,80 +4731,85 @@ BEGIN
|
||||
CONTROL "",IDC_SEARCH_EDIT,"MfcEditBrowse",WS_BORDER | WS_TABSTOP | 0x80,7,7,172,12
|
||||
END
|
||||
|
||||
IDD_MEDIA_LIB_SETTING_DIALOG DIALOGEX 0, 0, 342, 554
|
||||
IDD_MEDIA_LIB_SETTING_DIALOG DIALOGEX 0, 0, 342, 573
|
||||
STYLE DS_SETFONT | WS_CHILD | WS_SYSMENU
|
||||
FONT 9, "Segoe UI", 400, 0, 0x0
|
||||
BEGIN
|
||||
GROUPBOX "Media Library Directory",IDC_STATIC,6,91,329,66
|
||||
CONTROL "",IDC_DIR_LIST,"SysListView32",LVS_REPORT | LVS_SINGLESEL | LVS_ALIGNLEFT | WS_BORDER | WS_TABSTOP,14,103,228,47
|
||||
PUSHBUTTON "&Add...",IDC_ADD_BUTTON,251,107,50,14
|
||||
PUSHBUTTON "&Delete",IDC_DELETE_BUTTON,251,125,50,14
|
||||
GROUPBOX "Media Library Options",IDC_STATIC,6,4,329,81
|
||||
GROUPBOX "Media Library Directory",IDC_STATIC,6,108,329,66
|
||||
CONTROL "",IDC_DIR_LIST,"SysListView32",LVS_REPORT | LVS_SINGLESEL | LVS_ALIGNLEFT | WS_BORDER | WS_TABSTOP,14,120,228,47
|
||||
PUSHBUTTON "&Add...",IDC_ADD_BUTTON,251,124,50,14
|
||||
PUSHBUTTON "&Delete",IDC_DELETE_BUTTON,251,142,50,14
|
||||
GROUPBOX "Media Library Options",IDC_STATIC,6,4,329,98
|
||||
CONTROL "Classify only-one items into others",IDC_CLASSIFY_OTHER_CHECK,
|
||||
"Button",BS_AUTOCHECKBOX | WS_TABSTOP,14,18,187,10
|
||||
CONTROL "Automatically update media library on startup",IDC_UPDATE_MEDIA_LIB_CHK,
|
||||
"Button",BS_AUTOCHECKBOX | WS_TABSTOP,14,30,185,10
|
||||
LTEXT "Current data file size:",IDC_SIZE_STATIC,14,356,297,8
|
||||
PUSHBUTTON "&Clean up...",IDC_CLEAN_DATA_FILE_BUTTON,14,367,59,14
|
||||
GROUPBOX "Clean up the media library",IDC_STATIC,6,345,329,40
|
||||
PUSHBUTTON "Clear recently played tracks list...",IDC_CLEAR_RECENT_PLAYED_LIST_BTN,14,321,123,14
|
||||
GROUPBOX "Recently played",IDC_STATIC,6,295,329,45
|
||||
GROUPBOX "Playlist",IDC_STATIC,6,208,329,82
|
||||
LTEXT "Current data file size:",IDC_SIZE_STATIC,14,376,297,8
|
||||
PUSHBUTTON "&Clean up...",IDC_CLEAN_DATA_FILE_BUTTON,14,387,59,14
|
||||
GROUPBOX "Clean up the media library",IDC_STATIC,6,365,329,40
|
||||
PUSHBUTTON "Clear recently played tracks list...",IDC_CLEAR_RECENT_PLAYED_LIST_BTN,14,341,123,14
|
||||
GROUPBOX "Recently played",IDC_STATIC,6,315,329,45
|
||||
GROUPBOX "Playlist",IDC_STATIC,6,226,329,82
|
||||
CONTROL "Disable drag and drop sorting of playlist",IDC_DISABLE_DRAGE_SORT_CHECK,
|
||||
"Button",BS_AUTOCHECKBOX | WS_TABSTOP,14,219,149,11
|
||||
LTEXT "Playlist Display Mode:",IDC_STATIC,14,234,80,9
|
||||
COMBOBOX IDC_PLAYLIST_DISPLAY_MODE_OMBO,96,232,133,30,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP
|
||||
LTEXT "Recently played display range:",IDC_STATIC,16,308,113,8
|
||||
COMBOBOX IDC_RECENT_PLAYED_RANGE_OMBO,131,306,125,30,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP
|
||||
"Button",BS_AUTOCHECKBOX | WS_TABSTOP,14,237,149,11
|
||||
LTEXT "Playlist Display Mode:",IDC_STATIC,14,252,80,9
|
||||
COMBOBOX IDC_PLAYLIST_DISPLAY_MODE_OMBO,96,250,133,30,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP
|
||||
LTEXT "Recently played display range:",IDC_STATIC,16,328,113,8
|
||||
COMBOBOX IDC_RECENT_PLAYED_RANGE_OMBO,131,326,125,30,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP
|
||||
CONTROL "Prohibit adding existing tracks to the playlist",IDC_IGNORE_EXIST_CHECK,
|
||||
"Button",BS_AUTOCHECKBOX | WS_TABSTOP,14,247,216,10
|
||||
GROUPBOX "Items displayed in the media library",IDC_STATIC,12,163,323,39
|
||||
CONTROL "Artist",IDC_ARTIST_CHECK,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,14,175,41,10
|
||||
CONTROL "Album",IDC_ALBUM_CHECK,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,60,175,41,10
|
||||
CONTROL "Genre",IDC_GENRE_CHECK,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,111,175,39,10
|
||||
CONTROL "Year",IDC_YEAR_CHECK,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,167,175,33,10
|
||||
CONTROL "File type",IDC_FILE_TYPE_CHECK,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,238,175,49,10
|
||||
CONTROL "Bitrate",IDC_BITRATE_CHECK,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,14,188,41,10
|
||||
CONTROL "All tracks",IDC_ALL_CHECK,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,111,188,49,10
|
||||
CONTROL "Recently played",IDC_RECENT_CHECK,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,167,188,69,10
|
||||
CONTROL "Folder explore",IDC_FOLDER_EXPLORE_CHECK,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,238,188,73,10
|
||||
CONTROL "Rating",IDC_RATING_CHECK,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,60,188,33,10
|
||||
GROUPBOX "Music tag reading and writing",IDC_STATIC,12,390,323,30
|
||||
LTEXT "ID3v2 write type:",IDC_STATIC,15,403,66,9
|
||||
COMBOBOX IDC_ID3V2_TYPE_COMBO,80,402,52,30,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP
|
||||
PUSHBUTTON "&Refresh media library",IDC_REFRESH_MEDIA_LIB_BUTTON,206,20,85,13
|
||||
"Button",BS_AUTOCHECKBOX | WS_TABSTOP,14,265,216,10
|
||||
GROUPBOX "Items displayed in the media library",IDC_STATIC,6,180,329,39
|
||||
CONTROL "Artist",IDC_ARTIST_CHECK,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,14,192,41,10
|
||||
CONTROL "Album",IDC_ALBUM_CHECK,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,60,192,41,10
|
||||
CONTROL "Genre",IDC_GENRE_CHECK,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,111,192,39,10
|
||||
CONTROL "Year",IDC_YEAR_CHECK,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,167,192,33,10
|
||||
CONTROL "File type",IDC_FILE_TYPE_CHECK,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,238,192,49,10
|
||||
CONTROL "Bitrate",IDC_BITRATE_CHECK,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,14,205,41,10
|
||||
CONTROL "All tracks",IDC_ALL_CHECK,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,111,205,49,10
|
||||
CONTROL "Recently played",IDC_RECENT_CHECK,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,167,205,69,10
|
||||
CONTROL "Folder explore",IDC_FOLDER_EXPLORE_CHECK,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,238,205,73,10
|
||||
CONTROL "Rating",IDC_RATING_CHECK,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,60,205,33,10
|
||||
GROUPBOX "Music tag reading and writing",IDC_STATIC,6,412,329,30
|
||||
LTEXT "ID3v2 write type:",IDC_STATIC,15,425,66,9
|
||||
COMBOBOX IDC_ID3V2_TYPE_COMBO,80,424,52,30,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP
|
||||
PUSHBUTTON "&Refresh media library",IDC_REFRESH_MEDIA_LIB_BUTTON,218,20,85,13
|
||||
CONTROL "Disable delete from disk",IDC_DISABLE_DELETE_FROM_DISK_CHECK,
|
||||
"Button",BS_AUTOCHECKBOX | WS_TABSTOP,14,54,128,9
|
||||
"Button",BS_AUTOCHECKBOX | WS_TABSTOP,14,66,128,9
|
||||
CONTROL "Show playlist tool tip",IDC_SHOW_PLAYLIST_TOOLTIP_CHECK,
|
||||
"Button",BS_AUTOCHECKBOX | WS_TABSTOP,14,260,167,9
|
||||
GROUPBOX "Last.fm",IDC_STATIC,6,426,329,119
|
||||
CONTROL "Enable last.fm support",IDC_ENABLE_LASTFM,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,14,435,87,10
|
||||
LTEXT "Current status: ",IDC_STATIC,14,448,49,8
|
||||
LTEXT "Status",IDC_LASTFM_STATUS,65,448,190,8
|
||||
PUSHBUTTON "Log in",IDC_LASTFM_LOGIN,264,444,50,14,WS_DISABLED
|
||||
LTEXT "Cache scrobble when following conditions are meeted:",IDC_STATIC,14,460,289,8
|
||||
LTEXT "Played",IDC_STATIC,14,473,28,8
|
||||
EDITTEXT IDC_LASTFM_LEAST_PERDUR,44,472,30,12,ES_AUTOHSCROLL
|
||||
LTEXT "% of the song and",IDC_STATIC,78,473,64,8
|
||||
EDITTEXT IDC_LASTFM_LEAST_DUR,142,472,30,12,ES_AUTOHSCROLL
|
||||
LTEXT "Seconds.",IDC_STATIC,176,473,34,8
|
||||
"Button",BS_AUTOCHECKBOX | WS_TABSTOP,14,278,167,9
|
||||
GROUPBOX "Last.fm",IDC_STATIC,6,447,329,119
|
||||
CONTROL "Enable last.fm support",IDC_ENABLE_LASTFM,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,14,456,87,10
|
||||
LTEXT "Current status: ",IDC_STATIC,14,469,49,8
|
||||
LTEXT "Status",IDC_LASTFM_STATUS,65,469,190,8
|
||||
PUSHBUTTON "Log in",IDC_LASTFM_LOGIN,264,465,50,14,WS_DISABLED
|
||||
LTEXT "Cache scrobble when following conditions are meeted:",IDC_STATIC,14,481,289,8
|
||||
LTEXT "Played",IDC_STATIC,14,494,28,8
|
||||
EDITTEXT IDC_LASTFM_LEAST_PERDUR,44,493,30,12,ES_AUTOHSCROLL
|
||||
LTEXT "% of the song and",IDC_STATIC,78,494,64,8
|
||||
EDITTEXT IDC_LASTFM_LEAST_DUR,142,493,30,12,ES_AUTOHSCROLL
|
||||
LTEXT "Seconds.",IDC_STATIC,176,494,34,8
|
||||
CONTROL "Upload scrobbles in cache if the number of cached scrobbles is greater than ",IDC_LASTFM_AUTO_SCROBBLE,
|
||||
"Button",BS_AUTOCHECKBOX | WS_TABSTOP,14,486,267,10
|
||||
EDITTEXT IDC_LASTFM_AUTO_SCROBBLE_MIN,281,486,30,12,ES_AUTOHSCROLL
|
||||
LTEXT "Cache status:",IDC_STATIC,14,502,42,8
|
||||
LTEXT "X scrobbles",IDC_LASTFM_CACHE_STATUS,58,502,196,8
|
||||
PUSHBUTTON "Upload cache",IDC_LASTFM_UPLOAD_CACHE,264,501,50,14
|
||||
"Button",BS_AUTOCHECKBOX | WS_TABSTOP,14,507,267,10
|
||||
EDITTEXT IDC_LASTFM_AUTO_SCROBBLE_MIN,281,507,30,12,ES_AUTOHSCROLL
|
||||
LTEXT "Cache status:",IDC_STATIC,14,523,42,8
|
||||
LTEXT "X scrobbles",IDC_LASTFM_CACHE_STATUS,58,523,196,8
|
||||
PUSHBUTTON "Upload cache",IDC_LASTFM_UPLOAD_CACHE,264,522,50,14
|
||||
CONTROL "Use HTTPS when communicating with the last.fm server.",IDC_LASTFM_ENABLE_HTTPS,
|
||||
"Button",BS_AUTOCHECKBOX | WS_TABSTOP,14,515,263,10
|
||||
"Button",BS_AUTOCHECKBOX | WS_TABSTOP,14,536,263,10
|
||||
CONTROL "Upload now playing track",IDC_LASTFM_ENABLE_NOWPLAYING,
|
||||
"Button",BS_AUTOCHECKBOX | WS_TABSTOP,14,528,97,10
|
||||
LTEXT "Playlist item height:",IDC_STATIC,14,275,83,8
|
||||
EDITTEXT IDC_PLAYLIST_ITEM_HEIGHT_EDIT,97,273,39,12,ES_AUTOHSCROLL
|
||||
LTEXT "pixel",IDC_STATIC,138,275,30,8
|
||||
"Button",BS_AUTOCHECKBOX | WS_TABSTOP,14,549,97,10
|
||||
LTEXT "Playlist item height:",IDC_STATIC,14,293,83,8
|
||||
EDITTEXT IDC_PLAYLIST_ITEM_HEIGHT_EDIT,97,291,39,12,ES_AUTOHSCROLL
|
||||
LTEXT "pixel",IDC_STATIC,138,293,30,8
|
||||
CONTROL "Remove non-existing audio files when updating media library",IDC_REMOVE_FILE_NOT_EXIST_WHEN_UPDATE_CHECK,
|
||||
"Button",BS_AUTOCHECKBOX | WS_TABSTOP,14,42,244,10
|
||||
LTEXT "Artist Recognition Exception:",IDC_STATIC,14,66,99,8
|
||||
CONTROL "",IDC_ARTIST_SPLIT_EXT_EDIT,"MfcEditBrowse",WS_BORDER | WS_TABSTOP | 0x80,114,63,186,14
|
||||
"Button",BS_AUTOCHECKBOX | WS_TABSTOP,14,54,244,10
|
||||
LTEXT "Artist Recognition Exception:",IDC_STATIC,16,81,99,8
|
||||
CONTROL "",IDC_ARTIST_SPLIT_EXT_EDIT,"MfcEditBrowse",WS_BORDER | WS_TABSTOP | 0x80,117,80,203,11
|
||||
CONTROL "Ignore audio files with durations below the threshold when updating the media library",IDC_IGNORE_TOO_SHORT_CHECK,
|
||||
"Button",BS_AUTOCHECKBOX | WS_TABSTOP,14,42,301,10
|
||||
LTEXT "Audio file low duration threshold:",IDC_STATIC,135,66,113,8
|
||||
LTEXT "seconds",IDC_STATIC,291,66,28,8
|
||||
EDITTEXT IDC_FILE_TOO_SHORT_SEC_EDIT,248,64,40,12,ES_AUTOHSCROLL
|
||||
END
|
||||
|
||||
IDD_LYRIC_RELATE_DIALOG DIALOGEX 0, 0, 329, 178
|
||||
@@ -5195,7 +5203,7 @@ BEGIN
|
||||
RIGHTMARGIN, 335
|
||||
VERTGUIDE, 14
|
||||
TOPMARGIN, 4
|
||||
BOTTOMMARGIN, 550
|
||||
BOTTOMMARGIN, 569
|
||||
END
|
||||
|
||||
IDD_LYRIC_RELATE_DIALOG, DIALOG
|
||||
@@ -7283,8 +7291,8 @@ BEGIN
|
||||
IDS_SET_MULTI_ARTIST_SPLIT_EXT
|
||||
"Set multiple artist recognition exceptions"
|
||||
IDS_ARTIST_SPLIT_EXT_TIP_INFO
|
||||
"Add all artists whose names contain '/', ';', '&&', or '、' as exceptions to prevent inadvertent recognition errors."
|
||||
IDS_FILES_TOO_SHORT "过短的文件"
|
||||
"Add all artists whose names contain ""/;&&、"" as exceptions to prevent inadvertent recognition errors."
|
||||
IDS_FILES_TOO_SHORT "Too short files"
|
||||
END
|
||||
|
||||
#endif // 英语(美国) resources
|
||||
|
||||
@@ -539,6 +539,9 @@ int CMusicPlayerCmdHelper::UpdateMediaLib(bool refresh)
|
||||
// refresh为true时会强制更新cue的时长与标签(直接更新到媒体库)
|
||||
CAudioCommon::GetCueTracks(all_media_songs, CPlayer::GetInstance().GetPlayerCore(), index, refresh);
|
||||
|
||||
// 根据设置阻止非cue的过短文件被自动加入媒体库(这也会阻止获取时长失败的一般文件)(手动仍然可以)
|
||||
bool ignore_too_short_when_update{ theApp.m_media_lib_setting_data.ignore_too_short_when_update };
|
||||
int file_too_short_ms{ theApp.m_media_lib_setting_data.file_too_short_sec * 1000 };
|
||||
theApp.m_media_update_para.total_num = all_media_songs.size(); //保存音频总数
|
||||
//std::unordered_map<wstring, SongInfo> new_songs_map;
|
||||
for (const auto& song : all_media_songs)
|
||||
@@ -561,6 +564,8 @@ int CMusicPlayerCmdHelper::UpdateMediaLib(bool refresh)
|
||||
IPlayerCore* pPlayerCore = CPlayer::GetInstance().GetPlayerCore();
|
||||
if (pPlayerCore != nullptr)
|
||||
pPlayerCore->GetAudioInfo(song_info.file_path.c_str(), song_info, flag);
|
||||
if (ignore_too_short_when_update && !song_info.is_cue && song_info.length().toInt() < file_too_short_ms)
|
||||
continue;
|
||||
if (is_osu_file)
|
||||
COSUPlayerHelper::GetOSUAudioTitleArtist(song_info);
|
||||
|
||||
|
||||
@@ -510,6 +510,8 @@ void CMusicPlayerDlg::SaveConfig()
|
||||
ini.WriteBool(L"media_lib", L"disable_delete_from_disk", theApp.m_media_lib_setting_data.disable_delete_from_disk);
|
||||
ini.WriteBool(L"media_lib", L"show_tree_tool_tips", theApp.m_media_lib_setting_data.show_tree_tool_tips);
|
||||
ini.WriteBool(L"media_lib", L"update_media_lib_when_start_up", theApp.m_media_lib_setting_data.update_media_lib_when_start_up);
|
||||
ini.WriteBool(L"media_lib", L"ignore_too_short_when_update", theApp.m_media_lib_setting_data.ignore_too_short_when_update);
|
||||
ini.WriteInt(L"media_lib", L"file_too_short_sec", theApp.m_media_lib_setting_data.file_too_short_sec);
|
||||
ini.WriteBool(L"media_lib", L"remove_file_not_exist_when_update", theApp.m_media_lib_setting_data.remove_file_not_exist_when_update);
|
||||
ini.WriteBool(L"media_lib", L"disable_drag_sort", theApp.m_media_lib_setting_data.disable_drag_sort);
|
||||
ini.WriteBool(L"media_lib", L"ignore_songs_already_in_playlist", theApp.m_media_lib_setting_data.ignore_songs_already_in_playlist);
|
||||
@@ -723,6 +725,8 @@ void CMusicPlayerDlg::LoadConfig()
|
||||
theApp.m_media_lib_setting_data.disable_delete_from_disk = ini.GetBool(L"media_lib", L"disable_delete_from_disk", false);
|
||||
theApp.m_media_lib_setting_data.show_tree_tool_tips = ini.GetBool(L"media_lib", L"show_tree_tool_tips", true);
|
||||
theApp.m_media_lib_setting_data.update_media_lib_when_start_up = ini.GetBool(L"media_lib", L"update_media_lib_when_start_up", true);
|
||||
theApp.m_media_lib_setting_data.ignore_too_short_when_update = ini.GetBool(L"media_lib", L"ignore_too_short_when_update", true);
|
||||
theApp.m_media_lib_setting_data.file_too_short_sec = ini.GetInt(L"media_lib", L"file_too_short_sec", 30);
|
||||
theApp.m_media_lib_setting_data.remove_file_not_exist_when_update = ini.GetBool(L"media_lib", L"remove_file_not_exist_when_update", true);
|
||||
theApp.m_media_lib_setting_data.disable_drag_sort = ini.GetBool(L"media_lib", L"disable_drag_sort", false);
|
||||
theApp.m_media_lib_setting_data.ignore_songs_already_in_playlist = ini.GetBool(L"media_lib", L"ignore_songs_already_in_playlist", true);
|
||||
@@ -1918,46 +1922,52 @@ void CMusicPlayerDlg::SetPlaylistDragEnable()
|
||||
void CMusicPlayerDlg::_OnOptionSettings(CWnd* pParent)
|
||||
{
|
||||
theApp.m_hot_key.UnRegisterAllHotKey();
|
||||
|
||||
COptionsDlg optionDlg(pParent);
|
||||
//初始化对话框中变量的值
|
||||
optionDlg.m_tab_selected = m_tab_selected;
|
||||
optionDlg.m_tab1_dlg.m_data = theApp.m_lyric_setting_data;
|
||||
optionDlg.m_tab1_dlg.m_pDesktopLyric = &m_desktop_lyric;
|
||||
if (m_miniModeDlg.m_hWnd == NULL)
|
||||
optionDlg.m_tab2_dlg.m_hMainWnd = m_hWnd;
|
||||
else
|
||||
optionDlg.m_tab2_dlg.m_hMainWnd = m_miniModeDlg.m_hWnd;
|
||||
optionDlg.m_tab2_dlg.m_data = theApp.m_app_setting_data;
|
||||
optionDlg.m_tab3_dlg.m_data = theApp.m_general_setting_data;
|
||||
optionDlg.m_tab4_dlg.m_data = theApp.m_play_setting_data;
|
||||
optionDlg.m_tab5_dlg.m_hotkey_group = theApp.m_hot_key.GetHotKeyGroup();
|
||||
optionDlg.m_tab5_dlg.m_data = theApp.m_hot_key_setting_data;
|
||||
optionDlg.m_media_lib_dlg.m_data = theApp.m_media_lib_setting_data;
|
||||
|
||||
int sprctrum_height = theApp.m_app_setting_data.sprctrum_height; //保存theApp.m_app_setting_data.sprctrum_height的值,如果用户点击了选项对话框的取消,则需要把恢复为原来的
|
||||
int background_transparency = theApp.m_app_setting_data.background_transparency; //同上
|
||||
int desktop_lyric_opacity = theApp.m_lyric_setting_data.desktop_lyric_data.opacity;
|
||||
|
||||
if (optionDlg.DoModal() == IDOK)
|
||||
try
|
||||
{
|
||||
ApplySettings(optionDlg);
|
||||
// 设置窗口类的内存申请从栈移动到堆以修正警告
|
||||
std::shared_ptr<COptionsDlg> pOptionDlg = std::make_shared<COptionsDlg>(pParent);
|
||||
//初始化对话框中变量的值
|
||||
pOptionDlg->m_tab_selected = m_tab_selected;
|
||||
pOptionDlg->m_tab1_dlg.m_data = theApp.m_lyric_setting_data;
|
||||
pOptionDlg->m_tab1_dlg.m_pDesktopLyric = &m_desktop_lyric;
|
||||
if (m_miniModeDlg.m_hWnd == NULL)
|
||||
pOptionDlg->m_tab2_dlg.m_hMainWnd = m_hWnd;
|
||||
else
|
||||
pOptionDlg->m_tab2_dlg.m_hMainWnd = m_miniModeDlg.m_hWnd;
|
||||
pOptionDlg->m_tab2_dlg.m_data = theApp.m_app_setting_data;
|
||||
pOptionDlg->m_tab3_dlg.m_data = theApp.m_general_setting_data;
|
||||
pOptionDlg->m_tab4_dlg.m_data = theApp.m_play_setting_data;
|
||||
pOptionDlg->m_tab5_dlg.m_hotkey_group = theApp.m_hot_key.GetHotKeyGroup();
|
||||
pOptionDlg->m_tab5_dlg.m_data = theApp.m_hot_key_setting_data;
|
||||
pOptionDlg->m_media_lib_dlg.m_data = theApp.m_media_lib_setting_data;
|
||||
|
||||
int sprctrum_height = theApp.m_app_setting_data.sprctrum_height; //保存theApp.m_app_setting_data.sprctrum_height的值,如果用户点击了选项对话框的取消,则需要把恢复为原来的
|
||||
int background_transparency = theApp.m_app_setting_data.background_transparency; //同上
|
||||
int desktop_lyric_opacity = theApp.m_lyric_setting_data.desktop_lyric_data.opacity;
|
||||
|
||||
if (pOptionDlg->DoModal() == IDOK)
|
||||
{
|
||||
ApplySettings(*pOptionDlg);
|
||||
}
|
||||
else
|
||||
{
|
||||
SetTransparency(); //如果点击了取消,则需要重新设置窗口透明度
|
||||
SetDesptopLyricTransparency();
|
||||
|
||||
if (m_miniModeDlg.m_hWnd != NULL)
|
||||
m_miniModeDlg.SetTransparency();
|
||||
|
||||
theApp.m_app_setting_data.sprctrum_height = sprctrum_height;
|
||||
theApp.m_app_setting_data.background_transparency = background_transparency;
|
||||
theApp.m_lyric_setting_data.desktop_lyric_data.opacity = desktop_lyric_opacity;
|
||||
}
|
||||
|
||||
m_tab_selected = pOptionDlg->m_tab_selected;
|
||||
}
|
||||
else
|
||||
catch (std::bad_alloc& ex)
|
||||
{
|
||||
SetTransparency(); //如果点击了取消,则需要重新设置窗口透明度
|
||||
SetDesptopLyricTransparency();
|
||||
|
||||
if (m_miniModeDlg.m_hWnd != NULL)
|
||||
m_miniModeDlg.SetTransparency();
|
||||
|
||||
theApp.m_app_setting_data.sprctrum_height = sprctrum_height;
|
||||
theApp.m_app_setting_data.background_transparency = background_transparency;
|
||||
theApp.m_lyric_setting_data.desktop_lyric_data.opacity = desktop_lyric_opacity;
|
||||
// 这里暂时不处理了,只是保险起见
|
||||
}
|
||||
|
||||
m_tab_selected = optionDlg.m_tab_selected;
|
||||
|
||||
if (theApp.m_hot_key_setting_data.hot_key_enable)
|
||||
theApp.m_hot_key.RegisterAllHotKey();
|
||||
}
|
||||
|
||||
@@ -999,6 +999,7 @@
|
||||
#define IDC_LYRIC_PATH_EDIT2 1065
|
||||
#define IDC_ARTIST_EDIT1 1065
|
||||
#define IDC_VBR_QUA_EDIT 1065
|
||||
#define IDC_FILE_TOO_SHORT_SEC_EDIT 1065
|
||||
#define IDC_SPIN1 1066
|
||||
#define IDC_SIZE_STATIC 1067
|
||||
#define IDC_TITLE_EDIT1 1069
|
||||
@@ -1237,6 +1238,7 @@
|
||||
#define IDC_ACKNOWLEDGEMENT_SYSLINK 1225
|
||||
#define IDC_HSPLITER_STATIC 1226
|
||||
#define IDC_ARTIST_SPLIT_EXT_EDIT 1227
|
||||
#define IDC_IGNORE_TOO_SHORT_CHECK 1228
|
||||
#define ID_32771 32771
|
||||
#define ID_32772 32772
|
||||
#define ID_OPEN 32773
|
||||
@@ -1692,7 +1694,7 @@
|
||||
#ifndef APSTUDIO_READONLY_SYMBOLS
|
||||
#define _APS_NEXT_RESOURCE_VALUE 591
|
||||
#define _APS_NEXT_COMMAND_VALUE 33464
|
||||
#define _APS_NEXT_CONTROL_VALUE 1228
|
||||
#define _APS_NEXT_CONTROL_VALUE 1229
|
||||
#define _APS_NEXT_SYMED_VALUE 101
|
||||
#endif
|
||||
#endif
|
||||
|
||||
Reference in New Issue
Block a user