def __init__(self, master): self.root = master self.searching = False self.can_download = True audiojack.set_useragent('AudioJack', '1.0') self.frame = ScrollableFrame(self.root) self.frame.setconfig(bg='#0D47A1', width=1280, height=720) self.frame.pack(side=TOP, fill=BOTH, expand=1) self.label = Label(self.frame.mainframe, text='AudioJack', fg='#ffffff', bg=self.frame.mainframe['background'], font=('Segoe UI', 48)) self.label.pack() self.url_entry = Entry(self.frame.mainframe, width=48, font=('Segoe UI', 20), bg='#1565C0', bd=2, highlightthickness=1, highlightcolor='#1565C0', highlightbackground='#0D47A1', fg='#ffffff', insertbackground='#ffffff', relief=FLAT, insertwidth=1) self.url_entry.pack() self.submit_button = Button(self.frame.mainframe, width=60, font=('Segoe UI', 16), text='Go!', bd=0, bg='#1E88E5', fg='#ffffff', activebackground='#2196F3', activeforeground='#ffffff', relief=SUNKEN, cursor='hand2', command=self.submit) self.submit_button.pack() self.search_progress = Progressbar(self.frame.mainframe, orient='horizontal', length=720, maximum=100 ,mode='indeterminate') self.error_info = Label(self.frame.mainframe, fg='#ff0000', bg=self.frame.mainframe['background']) # Use pack_forget on this to reset the view self.contents = Frame(self.frame.mainframe, bg=self.frame.mainframe['background']) # Contains results and custom tag options self.select_frame = Frame(self.contents, bg=self.frame.mainframe['background']) self.select_frame.pack() #Search results self.results_label = Label(self.select_frame, text='Results:', fg='#ffffff', bg=self.frame.mainframe['background']) self.results_frame = Frame(self.select_frame, bg=self.frame.mainframe['background']) self.results_label.pack() self.results_frame.pack() # Downloads self.file_label = Label(self.contents, fg='#ffffff', bg=self.frame.mainframe['background'])
from ConfigParser import SafeConfigParser from Tkinter import * from cStringIO import StringIO from functools import partial from threading import Thread import pyperclip import validators from PIL import Image, ImageTk from musicbrainzngs.musicbrainz import NetworkError from validators import ValidationFailure from youtube_dl.utils import ExtractorError, DownloadError import audiojack audiojack.set_useragent("AudioJack-GUI", "0.4.0") class AudioJackGUI(object): def __init__(self, master): self.stop_cb_check = False self.master = master self.font = ("Segoe UI", 10) self.master.minsize(width=800, height=600) self.canvas = Canvas(self.master, bd=0, highlightthickness=0) self.mainframe = ttk.Frame(self.canvas) self.scrollbar = Scrollbar(self.master, orient="vertical", command=self.canvas.yview) self.canvas.configure(yscrollcommand=self.scrollbar.set)
import os from functools import partial from threading import Thread import Queue from youtube_dl.utils import ExtractorError, DownloadError from musicbrainzngs.musicbrainz import NetworkError from Tkinter import * import tkFileDialog import ttk from PIL import Image, ImageTk from cStringIO import StringIO import webbrowser import audiojack audiojack.set_useragent('AudioJack-GUI', '0.4.0') class AudioJackGUI(object): def __init__(self, master): self.master = master self.font = ('Segoe UI', 10) self.master.minsize(width=1280, height=720) self.master.maxsize(width=1280, height=720) self.canvas = Canvas(self.master, bd=0, highlightthickness=0) self.mainframe = ttk.Frame(self.canvas) self.scrollbar = Scrollbar(self.master, orient='vertical', command=self.canvas.yview) self.canvas.configure(yscrollcommand=self.scrollbar.set) self.scrollbar.pack(side=RIGHT, fill=Y) self.canvas.pack(side=TOP, fill=BOTH, expand=1) self.canvas.create_window((640, 0), window=self.mainframe, anchor=N, tags='self.mainframe')
def __init__(self, master): self.root = master self.searching = False self.can_download = True audiojack.set_useragent('AudioJack', '1.0') self.frame = ScrollableFrame(self.root) self.frame.setconfig(bg='#0D47A1', width=1280, height=720) self.frame.pack(side=TOP, fill=BOTH, expand=1) self.label = Label(self.frame.mainframe, text='AudioJack', fg='#ffffff', bg=self.frame.mainframe['background'], font=('Segoe UI', 48)) self.label.pack() self.url_entry = Entry(self.frame.mainframe, width=48, font=('Segoe UI', 20), bg='#1565C0', bd=2, highlightthickness=1, highlightcolor='#1565C0', highlightbackground='#0D47A1', fg='#ffffff', insertbackground='#ffffff', relief=FLAT, insertwidth=1) self.url_entry.pack() self.submit_button = Button(self.frame.mainframe, width=60, font=('Segoe UI', 16), text='Go!', bd=0, bg='#1E88E5', fg='#ffffff', activebackground='#2196F3', activeforeground='#ffffff', relief=SUNKEN, cursor='hand2', command=self.submit) self.submit_button.pack() self.search_progress = Progressbar(self.frame.mainframe, orient='horizontal', length=720, maximum=100, mode='indeterminate') self.error_info = Label(self.frame.mainframe, fg='#ff0000', bg=self.frame.mainframe['background']) # Use pack_forget on this to reset the view self.contents = Frame(self.frame.mainframe, bg=self.frame.mainframe['background']) # Contains results and custom tag options self.select_frame = Frame(self.contents, bg=self.frame.mainframe['background']) self.select_frame.pack() # Search results self.results_queue = Queue.Queue() self.results_label = Label(self.select_frame, text='Results:', fg='#ffffff', bg=self.frame.mainframe['background']) self.results_frame = Frame(self.select_frame, bg=self.frame.mainframe['background']) self.results_label.pack() self.results_frame.pack() # Downloads self.file_label = Label(self.contents, fg='#ffffff', bg=self.frame.mainframe['background'])