Reduce redundant database code
This commit is contained in:
parent
7eccf406dc
commit
3558cac62d
1049
src/Database.cpp
1049
src/Database.cpp
File diff suppressed because it is too large
Load Diff
|
|
@ -398,7 +398,12 @@ MainFrame::MainFrame()
|
||||||
// Intializing wxTimer
|
// Intializing wxTimer
|
||||||
m_Timer = new wxTimer(this);
|
m_Timer = new wxTimer(this);
|
||||||
|
|
||||||
m_TopWaveformPanel = new WaveformViewer(this, m_TopPanel, *m_Library, *m_MediaCtrl, *m_InfoBar,
|
// Initialize the database
|
||||||
|
m_database = std::make_unique<Database>(*m_InfoBar, m_DatabaseFilepath);
|
||||||
|
m_database->CreateTableSamples();
|
||||||
|
m_database->CreateTableHives();
|
||||||
|
|
||||||
|
m_TopWaveformPanel = new WaveformViewer(this, m_TopPanel, *m_Library, *m_MediaCtrl, *m_database,
|
||||||
m_ConfigFilepath, m_DatabaseFilepath);
|
m_ConfigFilepath, m_DatabaseFilepath);
|
||||||
|
|
||||||
// Binding events.
|
// Binding events.
|
||||||
|
|
@ -543,11 +548,6 @@ MainFrame::MainFrame()
|
||||||
m_BottomRightPanelMainSizer->SetSizeHints(m_BottomRightPanel);
|
m_BottomRightPanelMainSizer->SetSizeHints(m_BottomRightPanel);
|
||||||
m_BottomRightPanelMainSizer->Layout();
|
m_BottomRightPanelMainSizer->Layout();
|
||||||
|
|
||||||
// Initialize the database
|
|
||||||
m_database = std::make_unique<Database>(*m_InfoBar, m_DatabaseFilepath);
|
|
||||||
m_database->CreateTableSamples();
|
|
||||||
m_database->CreateTableHives();
|
|
||||||
|
|
||||||
// Restore the data previously added to Library
|
// Restore the data previously added to Library
|
||||||
LoadDatabase();
|
LoadDatabase();
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -39,10 +39,10 @@
|
||||||
#include <sndfile.hh>
|
#include <sndfile.hh>
|
||||||
|
|
||||||
WaveformViewer::WaveformViewer(wxWindow* parentFrame, wxWindow* window, wxDataViewListCtrl& library,
|
WaveformViewer::WaveformViewer(wxWindow* parentFrame, wxWindow* window, wxDataViewListCtrl& library,
|
||||||
wxMediaCtrl& mediaCtrl, wxInfoBar& infoBar,
|
wxMediaCtrl& mediaCtrl, Database& database,
|
||||||
const std::string& configFilepath, const std::string& databaseFilepath)
|
const std::string& configFilepath, const std::string& databaseFilepath)
|
||||||
: wxPanel(window, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxTAB_TRAVERSAL | wxNO_BORDER | wxFULL_REPAINT_ON_RESIZE),
|
: wxPanel(window, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxTAB_TRAVERSAL | wxNO_BORDER | wxFULL_REPAINT_ON_RESIZE),
|
||||||
m_ParentFrame(parentFrame), m_Window(window), m_Library(library), m_InfoBar(infoBar), m_MediaCtrl(mediaCtrl),
|
m_ParentFrame(parentFrame), m_Window(window), m_Library(library), m_database(database), m_MediaCtrl(mediaCtrl),
|
||||||
m_ConfigFilepath(configFilepath), m_DatabaseFilepath(databaseFilepath)
|
m_ConfigFilepath(configFilepath), m_DatabaseFilepath(databaseFilepath)
|
||||||
{
|
{
|
||||||
this->SetDoubleBuffered(true);
|
this->SetDoubleBuffered(true);
|
||||||
|
|
@ -110,15 +110,13 @@ void WaveformViewer::OnPaint(wxPaintEvent& event)
|
||||||
|
|
||||||
void WaveformViewer::RenderPlayhead(wxDC& dc)
|
void WaveformViewer::RenderPlayhead(wxDC& dc)
|
||||||
{
|
{
|
||||||
Database db(m_InfoBar);
|
|
||||||
|
|
||||||
int selected_row = m_Library.GetSelectedRow();
|
int selected_row = m_Library.GetSelectedRow();
|
||||||
|
|
||||||
if (selected_row < 0)
|
if (selected_row < 0)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
wxString selected = m_Library.GetTextValue(selected_row, 1);
|
wxString selected = m_Library.GetTextValue(selected_row, 1);
|
||||||
std::string path = db.GetSamplePathByFilename(m_DatabaseFilepath, selected.BeforeLast('.').ToStdString());
|
std::string path = m_database.GetSamplePathByFilename(selected.BeforeLast('.').ToStdString());
|
||||||
|
|
||||||
Tags tags(path);
|
Tags tags(path);
|
||||||
|
|
||||||
|
|
@ -150,7 +148,6 @@ void WaveformViewer::RenderPlayhead(wxDC& dc)
|
||||||
|
|
||||||
void WaveformViewer::UpdateWaveformBitmap()
|
void WaveformViewer::UpdateWaveformBitmap()
|
||||||
{
|
{
|
||||||
Database db(m_InfoBar);
|
|
||||||
Settings settings(m_ParentFrame, m_ConfigFilepath, m_DatabaseFilepath);
|
Settings settings(m_ParentFrame, m_ConfigFilepath, m_DatabaseFilepath);
|
||||||
Serializer serializer(m_ConfigFilepath);
|
Serializer serializer(m_ConfigFilepath);
|
||||||
|
|
||||||
|
|
@ -161,12 +158,12 @@ void WaveformViewer::UpdateWaveformBitmap()
|
||||||
|
|
||||||
wxString selection = m_Library.GetTextValue(selected_row, 1);
|
wxString selection = m_Library.GetTextValue(selected_row, 1);
|
||||||
|
|
||||||
wxString filepath_with_extension = db.GetSamplePathByFilename(m_DatabaseFilepath, selection.BeforeLast('.').ToStdString());
|
wxString filepath_with_extension = m_database.GetSamplePathByFilename(selection.BeforeLast('.').ToStdString());
|
||||||
wxString filepath_without_extension = db.GetSamplePathByFilename(m_DatabaseFilepath, selection.ToStdString());
|
wxString filepath_without_extension = m_database.GetSamplePathByFilename(selection.ToStdString());
|
||||||
|
|
||||||
std::string extension = settings.ShouldShowFileExtension() ?
|
std::string extension = settings.ShouldShowFileExtension() ?
|
||||||
db.GetSampleFileExtension(m_DatabaseFilepath, selection.ToStdString()) :
|
m_database.GetSampleFileExtension(selection.ToStdString()) :
|
||||||
db.GetSampleFileExtension(m_DatabaseFilepath, selection.BeforeLast('.').ToStdString());
|
m_database.GetSampleFileExtension(selection.BeforeLast('.').ToStdString());
|
||||||
|
|
||||||
wxString path = selection.Contains(wxString::Format(".%s", extension)) ?
|
wxString path = selection.Contains(wxString::Format(".%s", extension)) ?
|
||||||
filepath_with_extension : filepath_without_extension;
|
filepath_with_extension : filepath_without_extension;
|
||||||
|
|
@ -293,15 +290,13 @@ void WaveformViewer::OnControlKeyUp(wxKeyEvent &event)
|
||||||
|
|
||||||
void WaveformViewer::OnMouseMotion(wxMouseEvent& event)
|
void WaveformViewer::OnMouseMotion(wxMouseEvent& event)
|
||||||
{
|
{
|
||||||
Database db(m_InfoBar);
|
|
||||||
|
|
||||||
int selected_row = m_Library.GetSelectedRow();
|
int selected_row = m_Library.GetSelectedRow();
|
||||||
|
|
||||||
if (selected_row < 0)
|
if (selected_row < 0)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
wxString selected = m_Library.GetTextValue(selected_row, 1);
|
wxString selected = m_Library.GetTextValue(selected_row, 1);
|
||||||
std::string path = db.GetSamplePathByFilename(m_DatabaseFilepath, selected.BeforeLast('.').ToStdString());
|
std::string path = m_database.GetSamplePathByFilename(selected.BeforeLast('.').ToStdString());
|
||||||
|
|
||||||
Tags tags(path);
|
Tags tags(path);
|
||||||
|
|
||||||
|
|
@ -335,14 +330,13 @@ void WaveformViewer::OnMouseMotion(wxMouseEvent& event)
|
||||||
|
|
||||||
void WaveformViewer::OnMouseLeftButtonDown(wxMouseEvent& event)
|
void WaveformViewer::OnMouseLeftButtonDown(wxMouseEvent& event)
|
||||||
{
|
{
|
||||||
Database db(m_InfoBar);
|
|
||||||
int selected_row = m_Library.GetSelectedRow();
|
int selected_row = m_Library.GetSelectedRow();
|
||||||
|
|
||||||
if (selected_row < 0)
|
if (selected_row < 0)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
wxString selected = m_Library.GetTextValue(selected_row, 1);
|
wxString selected = m_Library.GetTextValue(selected_row, 1);
|
||||||
std::string path = db.GetSamplePathByFilename(m_DatabaseFilepath, selected.BeforeLast('.').ToStdString());
|
std::string path = m_database.GetSamplePathByFilename(selected.BeforeLast('.').ToStdString());
|
||||||
|
|
||||||
Tags tags(path);
|
Tags tags(path);
|
||||||
|
|
||||||
|
|
@ -385,15 +379,13 @@ void WaveformViewer::OnMouseLeftButtonDown(wxMouseEvent& event)
|
||||||
|
|
||||||
void WaveformViewer::OnMouseLeftButtonUp(wxMouseEvent& event)
|
void WaveformViewer::OnMouseLeftButtonUp(wxMouseEvent& event)
|
||||||
{
|
{
|
||||||
Database db(m_InfoBar);
|
|
||||||
|
|
||||||
int selected_row = m_Library.GetSelectedRow();
|
int selected_row = m_Library.GetSelectedRow();
|
||||||
|
|
||||||
if (selected_row < 0)
|
if (selected_row < 0)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
wxString selected = m_Library.GetTextValue(selected_row, 1);
|
wxString selected = m_Library.GetTextValue(selected_row, 1);
|
||||||
std::string path = db.GetSamplePathByFilename(m_DatabaseFilepath, selected.BeforeLast('.').ToStdString());
|
std::string path = m_database.GetSamplePathByFilename(selected.BeforeLast('.').ToStdString());
|
||||||
|
|
||||||
Tags tags(path);
|
Tags tags(path);
|
||||||
|
|
||||||
|
|
@ -457,15 +449,13 @@ void WaveformViewer::SendLoopPoints()
|
||||||
SampleHive::SH_LoopPointsEvent event(SampleHive::SH_EVT_LOOP_POINTS_UPDATED, this->GetId());
|
SampleHive::SH_LoopPointsEvent event(SampleHive::SH_EVT_LOOP_POINTS_UPDATED, this->GetId());
|
||||||
event.SetEventObject(this);
|
event.SetEventObject(this);
|
||||||
|
|
||||||
Database db(m_InfoBar);
|
|
||||||
|
|
||||||
int selected_row = m_Library.GetSelectedRow();
|
int selected_row = m_Library.GetSelectedRow();
|
||||||
|
|
||||||
if (selected_row < 0)
|
if (selected_row < 0)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
wxString selected = m_Library.GetTextValue(selected_row, 1);
|
wxString selected = m_Library.GetTextValue(selected_row, 1);
|
||||||
std::string path = db.GetSamplePathByFilename(m_DatabaseFilepath, selected.BeforeLast('.').ToStdString());
|
std::string path = m_database.GetSamplePathByFilename(selected.BeforeLast('.').ToStdString());
|
||||||
|
|
||||||
Tags tags(path);
|
Tags tags(path);
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -20,6 +20,8 @@
|
||||||
|
|
||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
|
#include "Database.hpp"
|
||||||
|
|
||||||
#include <wx/dataview.h>
|
#include <wx/dataview.h>
|
||||||
#include <wx/bitmap.h>
|
#include <wx/bitmap.h>
|
||||||
#include <wx/colour.h>
|
#include <wx/colour.h>
|
||||||
|
|
@ -37,7 +39,7 @@ class WaveformViewer : public wxPanel
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
WaveformViewer(wxWindow* parentFrame, wxWindow* window, wxDataViewListCtrl& library,
|
WaveformViewer(wxWindow* parentFrame, wxWindow* window, wxDataViewListCtrl& library,
|
||||||
wxMediaCtrl& mediaCtrl, wxInfoBar& infoBar,
|
wxMediaCtrl& mediaCtrl, Database& database,
|
||||||
const std::string& configFilepath, const std::string& databaseFilepath);
|
const std::string& configFilepath, const std::string& databaseFilepath);
|
||||||
~WaveformViewer();
|
~WaveformViewer();
|
||||||
|
|
||||||
|
|
@ -47,7 +49,7 @@ class WaveformViewer : public wxPanel
|
||||||
wxWindow* m_Window;
|
wxWindow* m_Window;
|
||||||
|
|
||||||
wxDataViewListCtrl& m_Library;
|
wxDataViewListCtrl& m_Library;
|
||||||
wxInfoBar& m_InfoBar;
|
Database& m_database;
|
||||||
wxMediaCtrl& m_MediaCtrl;
|
wxMediaCtrl& m_MediaCtrl;
|
||||||
|
|
||||||
const std::string& m_ConfigFilepath;
|
const std::string& m_ConfigFilepath;
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue