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

📄 id3v2tag.c

📁 betaplayer_0.096源码 tcpmp老版本
💻 C
📖 第 1 页 / 共 3 页
字号:
                lvi.iSubItem = 0;                pItem->frameId = eFrameID;                field = ID3Frame_GetField(frame, ID3FN_DESCRIPTION);                ID3Field_GetASCII(field, info, 1024, 1);                pItem->aCols[0] = DupString(info);                field = ID3Frame_GetField(frame, ID3FN_TEXT);                ID3Field_GetASCII(field, info, 1024, 1);                pItem->aCols[1] = DupString(info);                lvi.lParam = (LPARAM)pItem;    /* item data */                /* Add the item. */                ListView_InsertItem(hwndList, &lvi);                break;            }            case ID3FID_WWWAUDIOFILE:       case ID3FID_WWWARTIST:            case ID3FID_WWWAUDIOSOURCE:     case ID3FID_WWWCOMMERCIALINFO:            case ID3FID_WWWCOPYRIGHT:       case ID3FID_WWWPUBLISHER:            case ID3FID_WWWPAYMENT:         case ID3FID_WWWRADIOPAGE:            {                LV_ITEM lvi;                ID3ITEM *pItem = LocalAlloc(LPTR, sizeof(ID3ITEM));                /* Initialize LV_ITEM members that are common to all items. */                lvi.mask = LVIF_TEXT | LVIF_IMAGE | LVIF_PARAM | LVIF_STATE;                lvi.state = 0;                lvi.stateMask = 0;                lvi.pszText = LPSTR_TEXTCALLBACK;   /* app. maintains text */                lvi.iImage = 0;                lvi.iItem = iItem;                lvi.iSubItem = 0;                pItem->frameId = eFrameID;                pItem->aCols[0] = GetFrameDesc(eFrameID);                field = ID3Frame_GetField(frame, ID3FN_URL);                ID3Field_GetASCII(field, info, 1024, 1);                pItem->aCols[1] = DupString(info);                lvi.lParam = (LPARAM)pItem;    /* item data */                /* Add the item. */                ListView_InsertItem(hwndList, &lvi);                break;            }            case ID3FID_WWWUSER:            {                LV_ITEM lvi;                ID3ITEM *pItem = LocalAlloc(LPTR, sizeof(ID3ITEM));                /* Initialize LV_ITEM members that are common to all items. */                lvi.mask = LVIF_TEXT | LVIF_IMAGE | LVIF_PARAM | LVIF_STATE;                lvi.state = 0;                lvi.stateMask = 0;                lvi.pszText = LPSTR_TEXTCALLBACK;   /* app. maintains text */                lvi.iImage = 0;                lvi.iItem = iItem;                lvi.iSubItem = 0;                pItem->frameId = eFrameID;                field = ID3Frame_GetField(frame, ID3FN_DESCRIPTION);                ID3Field_GetASCII(field, info, 1024, 1);                pItem->aCols[0] = DupString(info);                field = ID3Frame_GetField(frame, ID3FN_URL);                ID3Field_GetASCII(field, info, 1024, 1);                pItem->aCols[1] = DupString(info);                lvi.lParam = (LPARAM)pItem;    /* item data */                /* Add the item. */                ListView_InsertItem(hwndList, &lvi);                break;            }            default:                break;            }        }        ID3Tag_Delete(tag);    }}BOOL CALLBACK AddFrameProc(HWND hwndDlg, UINT message, WPARAM wParam, LPARAM lParam){    int i, cursel;    switch (message) {    case WM_INITDIALOG:        EnableWindow(GetDlgItem(hwndDlg, IDC_COL0), FALSE);        EnableWindow(GetDlgItem(hwndDlg, IDOK), FALSE);        /* Note: FRAMEID is the index in the combo box + 1 */        for (i = 1; i < NUMFRAMES; i++)        {            SendMessage(GetDlgItem(hwndDlg, IDC_FRAMETYPE), CB_ADDSTRING, 0, (LPARAM)(LPCTSTR)ID3Frames[i]);        }        return TRUE;    case WM_COMMAND:        switch (LOWORD(wParam)) {        case IDC_FRAMETYPE:            if (HIWORD(wParam) == CBN_SELCHANGE)            {                cursel = SendMessage(GetDlgItem(hwndDlg, IDC_FRAMETYPE), CB_GETCURSEL, 0, 0);                switch (cursel + 1)                {                case ID3FID_ALBUM:             case ID3FID_BPM:                case ID3FID_COMPOSER:          case ID3FID_COPYRIGHT:                case ID3FID_DATE:              case ID3FID_PLAYLISTDELAY:                case ID3FID_ENCODEDBY:         case ID3FID_LYRICIST:                case ID3FID_FILETYPE:          case ID3FID_TIME:                case ID3FID_CONTENTGROUP:      case ID3FID_TITLE:                case ID3FID_SUBTITLE:          case ID3FID_INITIALKEY:                case ID3FID_LANGUAGE:          case ID3FID_SONGLEN:                case ID3FID_MEDIATYPE:         case ID3FID_ORIGALBUM:                case ID3FID_ORIGFILENAME:      case ID3FID_ORIGLYRICIST:                case ID3FID_ORIGARTIST:        case ID3FID_ORIGYEAR:                case ID3FID_FILEOWNER:         case ID3FID_LEADARTIST:                case ID3FID_BAND:              case ID3FID_CONDUCTOR:                case ID3FID_MIXARTIST:         case ID3FID_PARTINSET:                case ID3FID_PUBLISHER:         case ID3FID_TRACKNUM:                case ID3FID_RECORDINGDATES:    case ID3FID_NETRADIOSTATION:                case ID3FID_NETRADIOOWNER:     case ID3FID_SIZE:                case ID3FID_ISRC:              case ID3FID_ENCODERSETTINGS:                case ID3FID_YEAR:              case ID3FID_WWWAUDIOFILE:                case ID3FID_WWWARTIST:         case ID3FID_WWWAUDIOSOURCE:                case ID3FID_WWWCOMMERCIALINFO: case ID3FID_WWWCOPYRIGHT:                case ID3FID_WWWPUBLISHER:      case ID3FID_WWWPAYMENT:                case ID3FID_WWWRADIOPAGE:      case ID3FID_CONTENTTYPE:                {                    SetDlgItemText(hwndDlg, IDC_COL0, ID3Frames[cursel+1]);                    EnableWindow(GetDlgItem(hwndDlg, IDC_COL0), FALSE);                    EnableWindow(GetDlgItem(hwndDlg, IDOK), TRUE);                    break;                }                case ID3FID_USERTEXT:          case ID3FID_COMMENT:                case ID3FID_UNSYNCEDLYRICS:    case ID3FID_WWWUSER:                {                    SetDlgItemText(hwndDlg, IDC_COL0, ID3Frames[cursel+1]);                    EnableWindow(GetDlgItem(hwndDlg, IDC_COL0), TRUE);                    EnableWindow(GetDlgItem(hwndDlg, IDOK), TRUE);                    break;                }                default:                    MessageBox(hwndDlg, "Sorry, this frame type cannot be added (yet).", "Sorry", MB_OK);                    EnableWindow(GetDlgItem(hwndDlg, IDC_COL0), FALSE);                    EnableWindow(GetDlgItem(hwndDlg, IDOK), FALSE);                    break;                }            }            return TRUE;        case IDOK:            {                LV_ITEM lvi;                ID3ITEM *pItem = LocalAlloc(LPTR, sizeof(ID3ITEM));                char *col0 = LocalAlloc(LPTR, 1024);                char *col1 = LocalAlloc(LPTR, 1024);                /* Initialize LV_ITEM members that are common to all items. */                lvi.mask = LVIF_TEXT | LVIF_IMAGE | LVIF_PARAM | LVIF_STATE;                lvi.state = 0;                lvi.stateMask = 0;                lvi.pszText = LPSTR_TEXTCALLBACK;   /* app. maintains text */                lvi.iImage = 0;                lvi.iItem = ListView_GetItemCount(m_hwndList) + 1;                lvi.iSubItem = 0;                cursel = SendMessage(GetDlgItem(hwndDlg, IDC_FRAMETYPE), CB_GETCURSEL, 0, 0);                pItem->frameId = cursel + 1;                GetDlgItemText(hwndDlg, IDC_COL0, col0, 1024);                GetDlgItemText(hwndDlg, IDC_COL1, col1, 1024);                pItem->aCols[0] = col0;                pItem->aCols[1] = col1;                lvi.lParam = (LPARAM)pItem;    /* item data */                /* Add the item. */                ListView_InsertItem(m_hwndList, &lvi);                ListView_Update(m_hwndList, lvi.iItem);            }        case IDCANCEL:            EndDialog(hwndDlg, wParam);            return TRUE;        }    }    return FALSE;}BOOL List_AddFrame(HWND hwndApp, HWND hwndList){    int result;    m_hwndList = hwndList;    result = DialogBox(hInstance_for_id3editor, MAKEINTRESOURCE(IDD_ADDFRAME),        hwndApp, AddFrameProc);    if (LOWORD(result) == IDOK)        return TRUE;    return FALSE;}void InsertTextFrame(HWND dlg, HWND list, int control, int item, int frame_id){    LV_ITEM lvi;    ID3ITEM *pItem = LocalAlloc(LPTR, sizeof(ID3ITEM));    /* Initialize LV_ITEM members that are common to all items. */    lvi.mask = LVIF_TEXT | LVIF_IMAGE | LVIF_PARAM | LVIF_STATE;    lvi.state = 0;    lvi.stateMask = 0;    lvi.pszText = LPSTR_TEXTCALLBACK;   /* app. maintains text */    lvi.iImage = 0;    lvi.iItem = item;    lvi.iSubItem = 0;    pItem->frameId = frame_id;    pItem->aCols[0] = GetFrameDesc(frame_id);    pItem->aCols[1] = LocalAlloc(LPTR, 1024);    GetDlgItemText(dlg, control, pItem->aCols[1], 1024);    lvi.lParam = (LPARAM)pItem;    /* item data */    /* Add the item. */    ListView_InsertItem(list, &lvi);}void AddFrameFromRAWData(HWND hwndList, int frameId, LPSTR data1, LPSTR data2){    LV_ITEM lvi;    ID3ITEM *pItem = LocalAlloc(LPTR, sizeof(ID3ITEM));    int nextItem;    nextItem = ListView_GetItemCount(hwndList);    /* Initialize LV_ITEM members that are common to all items. */    lvi.mask = LVIF_TEXT | LVIF_IMAGE | LVIF_PARAM | LVIF_STATE;    lvi.state = 0;    lvi.stateMask = 0;    lvi.pszText = LPSTR_TEXTCALLBACK;   /* app. maintains text */    lvi.iImage = 0;    lvi.iItem = nextItem;    lvi.iSubItem = 0;    pItem->frameId = frameId;    pItem->aCols[0] = LocalAlloc(LPTR, 1024);    pItem->aCols[1] = LocalAlloc(LPTR, 1024);    lstrcpy(pItem->aCols[0], data1);    lstrcpy(pItem->aCols[1], data2);    lvi.lParam = (LPARAM)pItem;    /* item data */    /* Add the item. */    ListView_InsertItem(hwndList, &lvi);}HWND m_hwndDlg;int changed;BOOL CALLBACK AddStandardProc(HWND hwndDlg, UINT message, WPARAM wParam, LPARAM lParam){    int added = 0;    switch (message) {    case WM_INITDIALOG:        changed = 0;        return TRUE;    case WM_COMMAND:        switch (LOWORD(wParam)) {        case IDOK:        {            if (GetWindowTextLength(GetDlgItem(hwndDlg, IDC_TRACK)) > 0) {                InsertTextFrame(hwndDlg, m_hwndList, IDC_TRACK, ListView_GetItemCount(m_hwndList)+1, ID3FID_TRACKNUM);                added++;            }            if (GetWindowTextLength(GetDlgItem(hwndDlg, IDC_TITLE)) > 0) {                InsertTextFrame(hwndDlg, m_hwndList, IDC_TITLE, ListView_GetItemCount(m_hwndList)+1, ID3FID_TITLE);                added++;            }            if (GetWindowTextLength(GetDlgItem(hwndDlg, IDC_ARTIST)) > 0) {                InsertTextFrame(hwndDlg, m_hwndList, IDC_ARTIST, ListView_GetItemCount(m_hwndList)+1, ID3FID_LEADARTIST);                added++;            }            if (GetWindowTextLength(GetDlgItem(hwndDlg, IDC_ALBUM)) > 0) {                InsertTextFrame(hwndDlg, m_hwndList, IDC_ALBUM, ListView_GetItemCount(m_hwndList)+1, ID3FID_ALBUM);                added++;            }            if (GetWindowTextLength(GetDlgItem(hwndDlg, IDC_YEAR)) > 0) {                InsertTextFrame(hwndDlg, m_hwndList, IDC_YEAR, ListView_GetItemCount(m_hwndList)+1, ID3FID_YEAR);                added++;            }            if (GetWindowTextLength(GetDlgItem(hwndDlg, IDC_GENRE)) > 0) {                InsertTextFrame(hwndDlg, m_hwndList, IDC_GENRE, ListView_GetItemCount(m_hwndList)+1, ID3FID_CONTENTTYPE);                added++;            }            if (GetWindowTextLength(GetDlgItem(hwndDlg, IDC_COMMENT)) > 0) {                InsertTextFrame(hwndDlg, m_hwndList, IDC_COMMENT, ListView_GetItemCount(m_hwndList)+1, ID3FID_COMMENT);                added++;            }            if (GetWindowTextLength(GetDlgItem(hwndDlg, IDC_COMPOSER)) > 0) {                InsertTextFrame(hwndDlg, m_hwndList, IDC_COMPOSER, ListView_GetItemCount(m_hwndList)+1, ID3FID_COMPOSER);                added++;            }            if (GetWindowTextLength(GetDlgItem(hwndDlg, IDC_ORIGARTIST)) > 0) {                InsertTextFrame(hwndDlg, m_hwndList, IDC_ORIGARTIST, ListView_GetItemCount(m_hwndList)+1, ID3FID_ORIGARTIST);                added++;            }            if (GetWindowTextLength(GetDlgItem(hwndDlg, IDC_COPYRIGHT)) > 0) {                InsertTextFrame(hwndDlg, m_hwndList, IDC_COPYRIGHT, ListView_GetItemCount(m_hwndList)+1, ID3FID_COPYRIGHT);                added++;            }            if (GetWindowTextLength(GetDlgItem(hwndDlg, IDC_URL)) > 0) {                InsertTextFrame(hwndDlg, m_hwndList, IDC_URL, ListView_GetItemCount(m_hwndList)+1, ID3FID_WWWARTIST);                added++;            }            if (GetWindowTextLength(GetDlgItem(hwndDlg, IDC_ENCBY)) > 0) {                InsertTextFrame(hwndDlg, m_hwndList, IDC_ENCBY, ListView_GetItemCount(m_hwndList)+1, ID3FID_ENCODEDBY);                added++;            }            if (added > 0)                changed = 1;        }        case IDCANCEL:            EndDialog(hwndDlg, changed);            return TRUE;        }    }    return FALSE;}BOOL List_AddStandardFrames(HWND hwndApp, HWND hwndList){    int result;    m_hwndList = hwndList;    m_hwndDlg = hwndApp;    result = DialogBox(hInstance_for_id3editor, MAKEINTRESOURCE(IDD_ADDSTANDARD),        hwndApp, AddStandardProc);    return result?TRUE:FALSE;}/* List_OnGetDispInfo - processes the LVN_GETDISPINFO  *//*     notification message. *//* pnmv - value of lParam (points to an LV_DISPINFO structure) */void List_OnGetDispInfo(LV_DISPINFO *pnmv)

⌨️ 快捷键说明

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