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