⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 win32musicbrowser.cpp

📁 vc++ mp3 源码下载 使用vc写的mp3 播放器
💻 CPP
📖 第 1 页 / 共 2 页
字号:

            for(i = m_oWindowList.begin(); i != m_oWindowList.end(); i++)
            {
                (*i)->MusicCatalogTrackChanged(pie->OldArtist(), 
                                               pie->NewArtist(), 
                                               pie->OldAlbum(), 
                                               pie->NewAlbum(), 
                                               pie->OldItem(),
                                               pie->NewItem());
            }

            MusicCatalogTrackChanged(pie->OldArtist(), 
                                     pie->NewArtist(), 
                                     pie->OldAlbum(), 
                                     pie->NewAlbum(), 
                                     pie->OldItem(),
                                     pie->NewItem());
            
            break; 
        }

        case INFO_MusicCatalogTrackAdded:
        {
            MusicCatalogTrackAddedEvent* pie = (MusicCatalogTrackAddedEvent*)event;

            vector<MusicBrowserUI *>::iterator i;

            for(i = m_oWindowList.begin(); i != m_oWindowList.end(); i++)
            {
                (*i)->MusicCatalogTrackAdded(pie->Artist(), pie->Album(), pie->Item());
            }

            MusicCatalogTrackAdded(pie->Artist(), pie->Album(), pie->Item());
            
            break; 
        }

        case INFO_MusicCatalogTrackRemoved:
        {
            MusicCatalogTrackRemovedEvent* pie = (MusicCatalogTrackRemovedEvent*)event;

            vector<MusicBrowserUI *>::iterator i;

            for(i = m_oWindowList.begin(); i != m_oWindowList.end(); i++)
            {
                (*i)->MusicCatalogTrackRemoved(pie->Artist(), pie->Album(), pie->Item());
            }

            MusicCatalogTrackRemoved(pie->Artist(), pie->Album(), pie->Item());
            
            break; 
        }

        case INFO_MusicCatalogPlaylistAdded:
        {
            MusicCatalogPlaylistAddedEvent* pie = (MusicCatalogPlaylistAddedEvent*)event;
            
            vector<MusicBrowserUI *>::iterator i;

            for(i = m_oWindowList.begin(); i != m_oWindowList.end(); i++)
            {
                (*i)->MusicCatalogPlaylistAdded(pie->Item());
            }

            MusicCatalogPlaylistAdded(pie->Item());
            
            break; 
        }

        case INFO_MusicCatalogPlaylistRemoved:
        {
            MusicCatalogPlaylistRemovedEvent* pie = (MusicCatalogPlaylistRemovedEvent*)event;
            
            vector<MusicBrowserUI *>::iterator i;

            for(i = m_oWindowList.begin(); i != m_oWindowList.end(); i++)
            {
                (*i)->MusicCatalogPlaylistRemoved(pie->Item());
            }

            MusicCatalogPlaylistRemoved(pie->Item());
            
            break; 
        }

        case INFO_PlaylistItemsAdded:
        {
            PlaylistItemsAddedEvent* pie = (PlaylistItemsAddedEvent*)event;

            if(pie->Manager() == m_oPlm)
                PlaylistListItemsAdded(pie->Items());
            else
            {
                vector<MusicBrowserUI *>::iterator i;

                for(i = m_oWindowList.begin(); i != m_oWindowList.end(); i++)
                {
                    if((*i)->PLManager() == pie->Manager())
                    {
                        (*i)->PlaylistListItemsAdded(pie->Items());
                        break;
                    }
                }
            }
            
            break; 
        }

        case INFO_PlaylistItemAdded:
        {
            PlaylistItemAddedEvent* pie = (PlaylistItemAddedEvent*)event;

            if(pie->Manager() == m_oPlm)
                PlaylistListItemAdded(pie->Item());
            else
            {
                vector<MusicBrowserUI *>::iterator i;

                for(i = m_oWindowList.begin(); i != m_oWindowList.end(); i++)
                {
                    if((*i)->PLManager() == pie->Manager())
                    {
                        (*i)->PlaylistListItemAdded(pie->Item());
                        break;
                    }
                }
            }
            
            break; 
        }

        case INFO_PlaylistItemUpdated:
        {
            PlaylistItemUpdatedEvent* pie = (PlaylistItemUpdatedEvent*)event;

            if(pie->Manager() == m_oPlm)
                PlaylistListItemUpdated(pie->Item());
            else
            {
                vector<MusicBrowserUI *>::iterator i;

                for(i = m_oWindowList.begin(); i != m_oWindowList.end(); i++)
                {
                    if((*i)->PLManager() == pie->Manager())
                    {
                        (*i)->PlaylistListItemUpdated(pie->Item());
                        break;
                    }
                }
            }
            
            break; 
        }

        case INFO_PlaylistItemMoved:
        {
            PlaylistItemMovedEvent* pie = (PlaylistItemMovedEvent*)event;

            if(pie->Manager() == m_oPlm)
                PlaylistListItemMoved(pie->Item(), pie->OldIndex(), pie->NewIndex());
            else
            {
                vector<MusicBrowserUI *>::iterator i;

                for(i = m_oWindowList.begin(); i != m_oWindowList.end(); i++)
                {
                    if((*i)->PLManager() == pie->Manager())
                    {
                        (*i)->PlaylistListItemMoved(pie->Item(), pie->OldIndex(), pie->NewIndex());
                        break;
                    }
                }
            }
          
            break; 
        }

        case INFO_PlaylistItemRemoved:
        {
            PlaylistItemRemovedEvent* pie = (PlaylistItemRemovedEvent*)event;

            if(pie->Manager() == m_oPlm)
                PlaylistListItemRemoved(pie->Item(), pie->Index());
            else
            {
                vector<MusicBrowserUI *>::iterator i;

                for(i = m_oWindowList.begin(); i != m_oWindowList.end(); i++)
                {
                    if((*i)->PLManager() == pie->Manager())
                    {
                        (*i)->PlaylistListItemRemoved(pie->Item(), pie->Index());
                        break;
                    }
                }
            }
          
            break; 
        }
        
        case INFO_PlaylistSorted:
        {
            PlaylistSortedEvent* pie = (PlaylistSortedEvent*)event;

            if(pie->Manager() == m_oPlm)
                PlaylistListSorted();
            else
            {
                vector<MusicBrowserUI *>::iterator i;

                for(i = m_oWindowList.begin(); i != m_oWindowList.end(); i++)
                {
                    if((*i)->PLManager() == pie->Manager())
                    {
                        (*i)->PlaylistListSorted();
                        break;
                    }
                }
            }
          
            break; 
        }

        case INFO_PlaylistCurrentItemInfo:
        {
            ListView_RedrawItems(m_hPlaylistView, 
                                 m_currentplaying,
                                 m_currentplaying);

            m_currentplaying = m_oPlm->GetCurrentIndex();

            ListView_RedrawItems(m_hPlaylistView, 
                                 m_currentplaying,
                                 m_currentplaying);
            break; 
        }

        case INFO_SearchMusicDone: 
        {
            vector<MusicBrowserUI *>::iterator i;

            for(i = m_oWindowList.begin(); i != m_oWindowList.end(); i++)
            {
                (*i)->MusicSearchDone();
            }

            MusicSearchDone();
            break; 
        }

        case INFO_BrowserMessage: 
        {
            const char* cancelMsg = "(Press ESC to Cancel)  ";
            string message;

            if(m_bSearchInProgress)
            {
                message = cancelMsg;
            }

            message += ((BrowserMessageEvent *)event)->GetBrowserMessage();

            vector<MusicBrowserUI *>::iterator i;

            for(i = m_oWindowList.begin(); i != m_oWindowList.end(); i++)
            {
                (*i)->DisplayBrowserMessage(message.c_str());
            }

            DisplayBrowserMessage(message.c_str());

            break; 
        }

        case CMD_TogglePlaylistUI: 
        {
            if (m_initialized && isVisible)
            {
                isVisible = false;
            }
            else 
            {
                isVisible = true;
                if (m_initialized)
                {
					ShowBrowser(true);
                }
                else 
                {
                    m_initialized = true;
                }
            }
            if (m_state == STATE_EXPANDED)
                ExpandCollapseEvent();
            break; 
        }

        case CMD_ToggleMusicBrowserUI: 
        {
            ShowBrowser(true);

            /*if (m_initialized && isVisible) 
            {
				HideBrowser();
                isVisible = false;
            }
            else 
            {
                isVisible = true;
                if (m_initialized)
                {
					ShowBrowser(true);
                }
                else 
                {
                    m_initialized = true;
                }
            }*/

            //if (m_state == STATE_COLLAPSED)
                //ExpandCollapseEvent();
            break; 
        }

        case INFO_PlaylistRepeat:
		{
            PlaylistRepeatEvent* plre = (PlaylistRepeatEvent*)event;

            vector<MusicBrowserUI *>::iterator i;

            for(i = m_oWindowList.begin(); i != m_oWindowList.end(); i++)
            {
                (*i)->ChangeRepeatMode(plre->GetRepeatMode());
            }

            ChangeRepeatMode(plre->GetRepeatMode());
			break;
		}

		case INFO_PlaylistShuffle:
		{
            PlaylistShuffleEvent* plse = (PlaylistShuffleEvent*)event;            

            vector<MusicBrowserUI *>::iterator i;

            for(i = m_oWindowList.begin(); i != m_oWindowList.end(); i++)
            {
                (*i)->ChangeShuffleMode(plse->GetShuffleMode());
            }

            ChangeShuffleMode(plse->GetShuffleMode());
            
			break;
		}

        case INFO_Playing: 
        case INFO_Paused: 
        case INFO_Stopped: 
        {   
            vector<MusicBrowserUI *>::iterator i;

            for(i = m_oWindowList.begin(); i != m_oWindowList.end(); i++)
            {
                (*i)->ChangePlayerState(event->Type());
            }

            ChangePlayerState(event->Type());
                        
	        break; 
        }

        case CMD_AddFiles:
        {
            Int32PropValue *prop;

            if(IsntError(m_context->props->GetProperty("MainWindow", (PropValue **)&prop)))
            {
                HWND hwnd = (HWND)prop->GetInt32();
    
                AddFileEvent(hwnd);
            }
            
            break;
        }

        default:
            break;
    }
    return 0;
}



⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -