Pastebin launched a little side project called VERYVIRAL.com, check it out ;-) Want more features on Pastebin? Sign Up, it's FREE!
Guest

Untitled

By: a guest on Jul 12th, 2013  |  syntax: Java  |  size: 4.51 KB  |  views: 1  |  expires: Never
download  |  raw  |  embed  |  report abuse  |  print
Text below is selected. Please press Ctrl+C to copy to your clipboard. (⌘+C on Mac)
  1. package musicdownloader;
  2. import java.awt.*;
  3. import javax.swing.*;
  4. import java.awt.event.*;
  5. import java.io.*;
  6.  
  7. public class MusicDownloader extends JFrame{
  8.     MenuPanel menu;
  9.     DownloadPanel dPanel;
  10.  
  11.     String[] fileLines;
  12.     Bookmark[] bookmarks;
  13.    
  14.     Queue downloadQueue;
  15.    
  16.     int windowLength;
  17.    
  18.    
  19.     public MusicDownloader(){
  20.         setBackground(Color.BLUE);
  21.        
  22.        
  23.         windowLength = 700;
  24.        
  25.         menu = new MenuPanel(windowLength,38);
  26.         menu.setActionListeners(new menuActionListener());  
  27.        
  28.         setLayout(new BorderLayout());
  29.        
  30.         add(menu,BorderLayout.NORTH);
  31.         setDefaultCloseOperation(EXIT_ON_CLOSE);
  32.         setLocationRelativeTo(null);
  33.         pack();
  34.         setVisible(true);
  35.    
  36.         menu.setActionListeners(new menuActionListener());  
  37.     }  
  38.    
  39.     private void ExtractBookmarksFromFile(){
  40.         try{
  41.             fileLines = readFile();
  42.         } catch (IOException e){
  43.             System.out.println(e.getMessage());
  44.         }
  45.        
  46.         int numberOfBookmarks = 0;
  47.         for (int i = 0; i < fileLines.length; i++){
  48.             if ((fileLines[i].toLowerCase().contains("\"name\":")) && (fileLines[i+2].toLowerCase().contains("youtube"))){
  49.                 numberOfBookmarks++;
  50.             }
  51.         }
  52.         System.out.println("NumberOfBookmarks = "+numberOfBookmarks);
  53.         bookmarks = new Bookmark[numberOfBookmarks];
  54.         downloadQueue = new Queue(numberOfBookmarks);
  55.        
  56.         int URLCount = 0;
  57.         for (int i = 0; i < (fileLines.length - 18); i++){
  58.             if((fileLines[i].toLowerCase().contains("\"name\":")) && (fileLines[i+2].toLowerCase().contains("youtube"))){  //"\"name\":"
  59.                 bookmarks[URLCount] = new Bookmark(fileLines[i],fileLines[i+2]);
  60.                 URLCount++;
  61.             }
  62.         }
  63.        
  64.         for (int i = 0; i < numberOfBookmarks; i++){
  65.             String tempName = bookmarks[i].getName();
  66.             tempName = bookmarks[i].getName().toLowerCase().replace("\"name\": \"", "");
  67.             tempName = bookmarks[i].getName().replace("\",", "");
  68.             tempName = bookmarks[i].getName().toLowerCase().replace(" - youtube", "");
  69.             bookmarks[i].setName(tempName);
  70.            
  71.             String tempURL = bookmarks[i].getURL();
  72.             tempURL = bookmarks[i].getURL().toLowerCase().replace("\"url\": ", "");
  73.             tempURL = bookmarks[i].getURL().toLowerCase().replace("\"", "");
  74.             bookmarks[i].setURL(tempURL);
  75.            
  76.             //now display the names of the videos, and let user remove unwanted videos from the download list.
  77.         }
  78.     }
  79.    
  80.     private String[] readFile() throws IOException{
  81.         String[] arrayLines;
  82.          
  83.            ReadFile file = new ReadFile(dPanel.getFilePath());
  84.            arrayLines = file.openFile();
  85.            
  86.         return (file.openFile());
  87.     }
  88.    
  89.     private class menuActionListener implements ActionListener{
  90.         public void actionPerformed(ActionEvent e){
  91.             String eventName = e.getActionCommand();
  92.  
  93.             switch(eventName){
  94.                 case "downloadMusic":{
  95.                     dPanel = new DownloadPanel(windowLength,150,new downloadActionListener());
  96.                     add(dPanel,BorderLayout.SOUTH);
  97.                     pack();
  98.                    
  99.                     if (dPanel.getFileExists()){
  100.                         System.out.println("File found");
  101.                     }else{
  102.                         dPanel.displaySelectFile();
  103.                         pack();
  104.                     }
  105.                     break;
  106.                 }
  107.                 case "renameMusic":{
  108.                     System.out.println("rename");
  109.                     break;
  110.                 }
  111.             }
  112.         }
  113.     }
  114.     private class downloadActionListener implements ActionListener{
  115.         public void actionPerformed(ActionEvent e){
  116.             String eventName = e.getActionCommand();
  117.  
  118.             switch(eventName){
  119.                 case "selectFile":{
  120.                     dPanel.chooseFile();
  121.                     pack();
  122.                     break;
  123.                 }
  124.                 case "continue":{
  125.                     dPanel.displaySongsList(bookmarks);
  126.                 }
  127.             }
  128.         }
  129.     }
  130.  
  131.     private static void startProgram(){
  132.         MusicDownloader run = new MusicDownloader();
  133.     }
  134.    
  135.     public static void main(String[] args){
  136.         startProgram();
  137.     }
  138. }
clone this paste RAW Paste Data