Advertisement
ramoncarden

Untitled

Mar 15th, 2019
211
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 5.99 KB | None | 0 0
  1. import sys
  2. from PyQt5.QtWidgets import QApplication, QDialog, QMainWindow, QWidget
  3. from PyQt5.uic import loadUi
  4. from PyQt5 import QtSql, QtGui, QtCore, QtWidgets
  5. from PyQt5.QtCore import Qt
  6. from main import Ui_MainWindow
  7. import sqlite3
  8. import os.path
  9. from pprint import pprint
  10. from PyQt5.QtGui import QColor
  11. from pygame import mixer
  12. from PyQt5.QtCore import Qt
  13.  
  14.  
  15.  
  16.  
  17. class MusicApp():
  18.     """docstring for ."""
  19.     def __init__(self):
  20.         app = QApplication(sys.argv)
  21.         self.MainWindow = QMainWindow()
  22.         self.ui = Ui_MainWindow()
  23.         self.ui.setupUi(self.MainWindow)
  24.         self.ui.one_chord.clicked.connect(self.play_sound_one)
  25.         self.ui.two_chord.clicked.connect(self.play_sound_two)
  26.         self.ui.three_chord.clicked.connect(self.play_sound_three)
  27.         self.ui.four_chrod.clicked.connect(self.play_sound_four)
  28.         self.ui.five_chord.clicked.connect(self.play_sound_five)
  29.         self.ui.six_chord.clicked.connect(self.play_sound_six)
  30.         self.ui.seven_chord.clicked.connect(self.play_sound_seven)
  31.         self.ui.viewChords.clicked.connect(self.print_data)
  32.         self.model = None
  33.         self.ui.viewChords.clicked.connect(self.sql_tableview_model)
  34.         self.ui.viewChords.clicked.connect(self.sql_add_row)
  35.         self.ui.viewChords.clicked.connect(self.sql_delete_row)
  36.         self.ui.viewChords.clicked.connect(self.create_key_db)
  37.         self.MainWindow.show()
  38.         sys.exit(app.exec_())
  39.  
  40.  
  41.  
  42.     def play_sound_one(self):
  43.         mixer.init()
  44.         mixer.music.load("sounds/Cmaj.ogg")
  45.         mixer.music.play()
  46.  
  47.     def play_sound_two(self):
  48.         mixer.init()
  49.         mixer.music.load("sounds/Dm.ogg")
  50.         mixer.music.play()
  51.  
  52.     def play_sound_three(self):
  53.         mixer.init()
  54.         mixer.music.load("sounds/Em.ogg")
  55.         mixer.music.play()
  56.  
  57.     def play_sound_four(self):
  58.         mixer.init()
  59.         mixer.music.load("sounds/Fmaj.ogg")
  60.         mixer.music.play()
  61.  
  62.     def play_sound_five(self):
  63.         mixer.init()
  64.         mixer.music.load("sounds/Gmaj.ogg")
  65.         mixer.music.play()
  66.  
  67.     def play_sound_six(self):
  68.         mixer.init()
  69.         mixer.music.load("sounds/Am.ogg")
  70.         mixer.music.play()
  71.  
  72.     def play_sound_seven(self):
  73.         mixer.init()
  74.         mixer.music.load("sounds/Bdim.ogg")
  75.         mixer.music.play()
  76.  
  77.         #*** Database Code ***------------------------------
  78.     def sql_delete_row(self):
  79.         if self.model:
  80.             self.model.removeRow(self.tableview.currentIndex().row())
  81.         else:
  82.             self.sql_tableview_model()
  83.  
  84.     def sql_add_row(self):
  85.         if self.model:
  86.             self.model.insertRows(self.model.rowCount(), 1)
  87.         else:
  88.             self.sql_tableview_model()
  89.  
  90.     def sql_tableview_model(self):
  91.         db = QtSql.QSqlDatabase.addDatabase('QSQLITE')
  92.         db.setDatabaseName('KEYS.db')
  93.  
  94.         tableview = self.ui.tableView
  95.         tableview.columnWidth(4)
  96.  
  97.         self.model = QtSql.QSqlTableModel()
  98.         tableview.setModel(self.model)
  99.  
  100.         self.model.setTable('KEYS')
  101.         self.model.setEditStrategy(QtSql.QSqlTableModel.OnFieldChange)
  102.         self.model.select()
  103.         self.model.setHeaderData(0, QtCore.Qt.Horizontal, "ID")
  104.         self.model.setHeaderData(1, QtCore.Qt.Horizontal, 'I')
  105.         self.model.setHeaderData(3, QtCore.Qt.Horizontal, "II")
  106.         self.model.setHeaderData(4, QtCore.Qt.Horizontal, "III")
  107.         self.model.setHeaderData(5, QtCore.Qt.Horizontal, "IV")
  108.         self.model.setHeaderData(6, QtCore.Qt.Horizontal, "V")
  109.         self.model.setHeaderData(7, QtCore.Qt.Horizontal, "VI")
  110.         self.model.setHeaderData(8, QtCore.Qt.Horizontal, "VII")
  111.         tableview.hideColumn(0)
  112.  
  113.  
  114.         #******* Initialize db winddow *********#
  115.     def print_data(self):
  116.         sqlite_file = 'KEYS.db'
  117.         conn = sqlite3.connect(sqlite_file)
  118.         cursor = conn.cursor()
  119.  
  120.         cursor.execute("SELECT * FROM KEYS ORDER BY ID")
  121.         all_rows = cursor.fetchall()
  122.         pprint(all_rows)
  123.  
  124.         conn.commit()
  125.         conn.close()
  126.  
  127.  
  128.         #******** Print db ********#
  129.     def create_key_db(self):
  130.         db = QtSql.QSqlDatabase.addDatabase('QSQLITE')
  131.         db.setDatabaseName('KEYS.db')
  132.         db.open()
  133.  
  134.         query = QtSql.QSqlQuery()
  135.  
  136.         query.exec_("create table KEYS(ID int primary key, "
  137.                     "I varchar(2),"
  138.                     "II varchar(2),"
  139.                     "III varchar(2),"
  140.                     "IV varchar(2),"
  141.                     "V varchar(2),"
  142.                     "VI varchar(2),"
  143.                     "VII varchar(2))")
  144.         query.exec_("insert into KEYS values(1, 'Gb', 'Ab', 'Bb', 'Cb', 'Db', 'Eb','F')")
  145.         query.exec_("insert into KEYS values(2, 'Db', 'Eb','F', 'Gb', 'Ab', 'Bb', 'C')")
  146.         query.exec_("insert into KEYS values(3, 'Ab', 'Bb', 'C', 'Db', 'Eb','F', 'G')")
  147.         query.exec_("insert into KEYS values(4, 'Eb','F', 'G', 'Ab', 'Bb', 'C', 'D')")
  148.         query.exec_("insert into KEYS values(5, 'Bb', 'C', 'D', 'Eb','F', 'G', 'A')")
  149.         query.exec_("insert into KEYS values(6, 'F', 'G', 'A', 'Bb', 'C', 'D', 'E')")
  150.         query.exec_("insert into KEYS values(7, 'C', 'D', 'E', 'F', 'G', 'A', 'B')")
  151.         query.exec_("insert into KEYS values(8, 'G', 'A', 'B', 'C', 'D', 'E', 'F#')")
  152.         query.exec_("insert into KEYS values(9, 'D', 'E', 'F#', 'G', 'A', 'B', 'C#')")
  153.         query.exec_("insert into KEYS values(10, 'A', 'B', 'C#', 'D', 'E', 'F#', 'G#')")
  154.         query.exec_("insert into KEYS values(11, 'E', 'F#', 'G#', 'A', 'B', 'C#', 'D#')")
  155.         query.exec_("insert into KEYS values(12, 'B', 'C#', 'D#', 'E', 'F#', 'G#', 'A#')")
  156.         query.exec_("insert into KEYS values(13, 'F#', 'G#', 'A#', 'B', 'C#', 'D#', 'E#')")
  157.  
  158.  
  159.     #********* play sound when keyboard key is pressed **********#
  160.  
  161.     def keyPressEvent(self, event):
  162.         if type(event) == QKeyEvent:
  163.             if event.key() == Qt.Key_A:
  164.                 print('Key was pressed')
  165.  
  166.  
  167. if __name__=="__main__":
  168.     MusicApp()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement