Add wxBITMAP_TYPE flags to support other platforms.

This commit is contained in:
apoorv569 2022-02-13 20:38:46 +05:30
parent 1ccb616b93
commit db7a476a1d
11 changed files with 64 additions and 50 deletions

View File

@ -135,10 +135,19 @@ yaml_opts.add_cmake_defines({'CMAKE_POSITION_INDEPENDENT_CODE': 'ON',
'YAML_CPP_BUILD_TOOLS': 'ON'})
snd_opts = cmake.subproject_options()
snd_shared = ''
if host_sys == 'windows'
snd_shared = 'OFF'
else
snd_shared = 'ON'
endif
snd_opts.add_cmake_defines({'CMAKE_POSITION_INDEPENDENT_CODE': 'ON',
'CMAKE_INSTALL_PREFIX': prefix,
'CMAKE_BUILD_TYPE': 'Release',
'BUILD_SHARED_LIBS': 'ON',
'BUILD_SHARED_LIBS': snd_shared,
'BUILD_PROGRAMS': 'OFF',
'BUILD_EXAMPLES': 'OFF',
'BUILD_TESTING': 'OFF',
@ -192,12 +201,12 @@ if not wx.found()
wx_base = wx_subproject.dependency('wxbase')
wx = [wx_media, wx_core, wx_base]
else
wxconfig = find_program(['wx-config', 'wx-config-gtk3'])
wxconfig = find_program(['wx-config', 'wx-config-gtk3', 'wx-config-3.1'])
wx_modules = ['media', 'std']
foreach module : wx_modules
wx_cxx_flags += run_command(wxconfig, '--cxxflags', module).stdout().strip().split()
wx_libs += run_command(wxconfig, '--libs', module).stdout().strip().split()
wx_cxx_flags += run_command(wxconfig, '--cxxflags', module, capture: true, check: false).stdout().strip().split()
wx_libs += run_command(wxconfig, '--libs', module, capture: true, check: false).stdout().strip().split()
endforeach
endif

View File

@ -64,7 +64,7 @@ bool cApp::OnInit()
{
m_pSplash = new wxSplashScreen(bitmap,
wxSPLASH_CENTRE_ON_SCREEN | wxSPLASH_TIMEOUT,
10000, NULL, -1, wxDefaultPosition, wxDefaultSize,
2000, NULL, -1, wxDefaultPosition, wxDefaultSize,
wxBORDER_SIMPLE | wxSTAY_ON_TOP);
}

View File

@ -25,10 +25,11 @@
#include <deque>
#include <exception>
#include <sstream>
#include <stdexcept>
#include <wx/dataview.h>
#include <wx/dvrenderers.h>
#include <wx/gdicmn.h>
#include <wx/msgdlg.h>
#include <wx/string.h>
#include <wx/stringimpl.h>
@ -534,8 +535,8 @@ wxVector<wxVector<wxVariant>> cDatabase::LoadSamplesDatabase(wxDataViewTreeCtrl
wxVector<wxVector<wxVariant>> vecSet;
wxVariant icon_filled, icon_empty;
icon_filled = wxVariant(wxBitmap(icon_star_filled));
icon_empty = wxVariant(wxBitmap(icon_star_empty));
icon_filled = wxVariant(wxBitmap(icon_star_filled, wxBITMAP_TYPE_PNG));
icon_empty = wxVariant(wxBitmap(icon_star_empty, wxBITMAP_TYPE_PNG));
try
{
@ -674,8 +675,8 @@ wxVector<wxVector<wxVariant>>cDatabase::FilterDatabaseBySampleName(const std::st
wxVector<wxVector<wxVariant>> sampleVec;
wxVariant icon_filled, icon_empty;
icon_filled = wxVariant(wxBitmap(icon_star_filled));
icon_empty = wxVariant(wxBitmap(icon_star_empty));
icon_filled = wxVariant(wxBitmap(icon_star_filled, wxBITMAP_TYPE_PNG));
icon_empty = wxVariant(wxBitmap(icon_star_empty, wxBITMAP_TYPE_PNG));
try
{
@ -749,8 +750,8 @@ wxVector<wxVector<wxVariant>>cDatabase::FilterDatabaseByHiveName(const std::stri
wxVector<wxVector<wxVariant>> sampleVec;
wxVariant icon_filled, icon_empty;
icon_filled = wxVariant(wxBitmap(icon_star_filled));
icon_empty = wxVariant(wxBitmap(icon_star_empty));
icon_filled = wxVariant(wxBitmap(icon_star_filled, wxBITMAP_TYPE_PNG));
icon_empty = wxVariant(wxBitmap(icon_star_empty, wxBITMAP_TYPE_PNG));
try
{
@ -931,8 +932,8 @@ wxVector<wxVector<wxVariant>>cDatabase::RestoreFromTrashByFilename(const std::st
const std::string &icon_star_empty)
{
wxVariant icon_filled, icon_empty;
icon_filled = wxVariant(wxBitmap(icon_star_filled));
icon_empty = wxVariant(wxBitmap(icon_star_empty));
icon_filled = wxVariant(wxBitmap(icon_star_filled, wxBITMAP_TYPE_PNG));
icon_empty = wxVariant(wxBitmap(icon_star_empty, wxBITMAP_TYPE_PNG));
try
{

View File

@ -29,6 +29,7 @@
#include <deque>
#include <wx/gdicmn.h>
#include <wx/textdlg.h>
#include <wx/menu.h>
#include <wx/msgdlg.h>
@ -121,7 +122,7 @@ void cHivesPanel::OnDragAndDropToHives(wxDropFilesEvent& event)
{
m_pHives->AppendItem(drop_target, files[i]);
SampleHive::cHiveData::Get().ListCtrlSetVariant(wxVariant(wxBitmap(ICON_STAR_FILLED_16px)), row, 0);
SampleHive::cHiveData::Get().ListCtrlSetVariant(wxVariant(wxBitmap(ICON_STAR_FILLED_16px, wxBITMAP_TYPE_PNG)), row, 0);
db.UpdateFavoriteColumn(file_name.ToStdString(), 1);
db.UpdateHiveName(file_name.ToStdString(), hive_name.ToStdString());
@ -366,7 +367,7 @@ void cHivesPanel::OnShowHivesContextMenu(wxDataViewEvent& event)
{
SH_LOG_DEBUG("Found match");
SampleHive::cHiveData::Get().ListCtrlSetVariant(wxVariant(wxBitmap(ICON_STAR_EMPTY_16px)),
SampleHive::cHiveData::Get().ListCtrlSetVariant(wxVariant(wxBitmap(ICON_STAR_EMPTY_16px, wxBITMAP_TYPE_PNG)),
i, 0);
db.UpdateFavoriteColumn(matched_sample.ToStdString(), 0);
@ -408,8 +409,7 @@ void cHivesPanel::OnShowHivesContextMenu(wxDataViewEvent& event)
{
const auto dataset = db.FilterDatabaseByHiveName(hive_name.ToStdString(),
serializer.DeserializeShowFileExtension(),
ICON_STAR_FILLED_16px,
ICON_STAR_EMPTY_16px);
ICON_STAR_FILLED_16px, ICON_STAR_EMPTY_16px);
if (dataset.empty())
{
@ -489,7 +489,7 @@ void cHivesPanel::OnShowHivesContextMenu(wxDataViewEvent& event)
{
SH_LOG_DEBUG("Found match");
SampleHive::cHiveData::Get().ListCtrlSetVariant(wxVariant(wxBitmap(ICON_STAR_EMPTY_16px)), i, 0);
SampleHive::cHiveData::Get().ListCtrlSetVariant(wxVariant(wxBitmap(ICON_STAR_EMPTY_16px, wxBITMAP_TYPE_PNG)), i, 0);
db.UpdateFavoriteColumn(matched_sample.ToStdString(), 0);
db.UpdateHiveName(matched_sample.ToStdString(), m_pHives->GetItemText(m_FavoritesHive).ToStdString());
@ -698,7 +698,7 @@ void cHivesPanel::OnClickRemoveHive(wxCommandEvent& event)
{
SH_LOG_DEBUG("Found match");
SampleHive::cHiveData::Get().ListCtrlSetVariant(wxVariant(wxBitmap(ICON_STAR_EMPTY_16px)), i, 0);
SampleHive::cHiveData::Get().ListCtrlSetVariant(wxVariant(wxBitmap(ICON_STAR_EMPTY_16px, wxBITMAP_TYPE_PNG)), i, 0);
db.UpdateFavoriteColumn(matched_sample.ToStdString(), 0);
db.UpdateHiveName(matched_sample.ToStdString(), m_pHives->GetItemText(m_FavoritesHive).ToStdString());

View File

@ -31,6 +31,7 @@
#include "Utility/Utils.hpp"
#include <wx/dir.h>
#include <wx/gdicmn.h>
#include <wx/menu.h>
#include <wx/progdlg.h>
#include <wx/msgdlg.h>
@ -41,7 +42,7 @@ cListCtrl::cListCtrl(wxWindow* window)
m_pWindow(window)
{
// Adding columns to wxDataViewListCtrl.
AppendBitmapColumn(wxBitmap(ICON_STAR_FILLED_16px),
AppendBitmapColumn(wxBitmap(ICON_STAR_FILLED_16px, wxBITMAP_TYPE_PNG),
0,
wxDATAVIEW_CELL_ACTIVATABLE,
30,
@ -187,7 +188,7 @@ void cListCtrl::OnClickLibrary(wxDataViewEvent& event)
if (db.GetFavoriteColumnValueByFilename(filename) == 0)
{
this->SetValue(wxVariant(wxBitmap(ICON_STAR_FILLED_16px)), selected_row, 0);
this->SetValue(wxVariant(wxBitmap(ICON_STAR_FILLED_16px, wxBITMAP_TYPE_PNG)), selected_row, 0);
db.UpdateFavoriteColumn(filename, 1);
db.UpdateHiveName(filename, hive_name);
@ -207,7 +208,7 @@ void cListCtrl::OnClickLibrary(wxDataViewEvent& event)
}
else
{
this->SetValue(wxVariant(wxBitmap(ICON_STAR_EMPTY_16px)), selected_row, 0);
this->SetValue(wxVariant(wxBitmap(ICON_STAR_EMPTY_16px, wxBITMAP_TYPE_PNG)), selected_row, 0);
db.UpdateFavoriteColumn(filename, 0);
db.UpdateHiveName(filename, SampleHive::cHiveData::Get().GetHiveItemText(true).ToStdString());
@ -403,7 +404,7 @@ void cListCtrl::OnShowLibraryContextMenu(wxDataViewEvent& event)
// Add To Favorites
if (favorite_add && db_status == 0)
{
this->SetValue(wxVariant(wxBitmap(ICON_STAR_FILLED_16px)), selected_row, 0);
this->SetValue(wxVariant(wxBitmap(ICON_STAR_FILLED_16px, wxBITMAP_TYPE_PNG)), selected_row, 0);
db.UpdateFavoriteColumn(filename, 1);
db.UpdateHiveName(filename, hive_name);
@ -424,7 +425,7 @@ void cListCtrl::OnShowLibraryContextMenu(wxDataViewEvent& event)
else
{
//Remove From Favorites
this->SetValue(wxVariant(wxBitmap(ICON_STAR_EMPTY_16px)), selected_row, 0);
this->SetValue(wxVariant(wxBitmap(ICON_STAR_EMPTY_16px, wxBITMAP_TYPE_PNG)), selected_row, 0);
db.UpdateFavoriteColumn(filename, 0);
db.UpdateHiveName(filename, SampleHive::cHiveData::Get().GetHiveItemText(true).ToStdString());
@ -597,7 +598,7 @@ void cListCtrl::OnShowLibraryContextMenu(wxDataViewEvent& event)
if (db.GetFavoriteColumnValueByFilename(files[i].ToStdString()))
{
this->SetValue(wxVariant(wxBitmap(ICON_STAR_EMPTY_16px)), item_row, 0);
this->SetValue(wxVariant(wxBitmap(ICON_STAR_EMPTY_16px, wxBITMAP_TYPE_PNG)), item_row, 0);
db.UpdateFavoriteColumn(files[i].ToStdString(), 0);

View File

@ -355,7 +355,7 @@ void cMainFrame::LoadConfigFile()
this->SetSize(width, height);
this->SetMinSize(wxSize(min_width, min_height));
this->CenterOnScreen(wxBOTH);
this->SetIcon(wxIcon(ICON_HIVE_256px, wxICON_DEFAULT_TYPE, -1, -1));
this->SetIcon(wxIcon(ICON_HIVE_256px, wxBITMAP_TYPE_PNG));
this->SetTitle(PROJECT_NAME);
this->SetStatusText(wxString::Format("%s %s", PROJECT_NAME, PROJECT_VERSION), 3);
this->SetStatusText(_("Stopped"), 1);
@ -631,7 +631,7 @@ void cMainFrame::OnSelectPreferences(wxCommandEvent& event)
}
if (settings->IsWaveformColourChanged())
{
m_pWaveformViewer->ResetDC();
m_pWaveformViewer->ResetBitmapDC();
}
break;
case wxID_CANCEL:
@ -869,7 +869,7 @@ void cMainFrame::OnRecieveCallFunctionPlay(SampleHive::cCallFunctionEvent& event
void cMainFrame::OnRecieveWaveformUpdateStatus(SampleHive::cWaveformUpdateEvent& event)
{
m_pWaveformViewer->ResetDC();
m_pWaveformViewer->ResetBitmapDC();
}
void cMainFrame::OnRecieveClearLoopPointsStatus(SampleHive::cLoopPointsEvent& event)

View File

@ -30,6 +30,8 @@
#include "Utility/Paths.hpp"
#include "Utility/Utils.hpp"
#include <wx/gdicmn.h>
cTransportControls::cTransportControls(wxWindow* window, wxMediaCtrl& mediaCtrl)
: wxPanel(window, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxTAB_TRAVERSAL | wxNO_BORDER),
m_MediaCtrl(mediaCtrl)
@ -39,11 +41,11 @@ cTransportControls::cTransportControls(wxWindow* window, wxMediaCtrl& mediaCtrl)
// Looping region controls
if (m_Theme.IsDark())
m_pLoopABButton = new wxBitmapToggleButton(this, SampleHive::ID::BC_LoopABButton,
static_cast<wxString>(ICON_AB_LIGHT_16px),
wxBitmap(ICON_AB_LIGHT_16px, wxBITMAP_TYPE_PNG),
wxDefaultPosition, wxDefaultSize, 0);
else
m_pLoopABButton = new wxBitmapToggleButton(this, SampleHive::ID::BC_LoopABButton,
static_cast<wxString>(ICON_AB_DARK_16px),
wxBitmap(ICON_AB_DARK_16px, wxBITMAP_TYPE_PNG),
wxDefaultPosition, wxDefaultSize, 0);
m_pLoopABButton->SetToolTip(_("Loop selected region"));
@ -67,31 +69,31 @@ cTransportControls::cTransportControls(wxWindow* window, wxMediaCtrl& mediaCtrl)
if (m_Theme.IsDark())
{
m_pPlayButton = new wxBitmapButton(this, SampleHive::ID::BC_Play,
static_cast<wxString>(ICON_PLAY_LIGHT_16px),
wxBitmap(ICON_PLAY_LIGHT_16px, wxBITMAP_TYPE_PNG),
wxDefaultPosition, wxDefaultSize, 0);
m_pLoopButton = new wxBitmapToggleButton(this, SampleHive::ID::BC_Loop,
static_cast<wxString>(ICON_LOOP_LIGHT_16px),
wxBitmap(ICON_LOOP_LIGHT_16px, wxBITMAP_TYPE_PNG),
wxDefaultPosition, wxDefaultSize, 0);
m_pStopButton = new wxBitmapButton(this, SampleHive::ID::BC_Stop,
static_cast<wxString>(ICON_STOP_LIGHT_16px),
wxBitmap(ICON_STOP_LIGHT_16px, wxBITMAP_TYPE_PNG),
wxDefaultPosition, wxDefaultSize, 0);
m_pMuteButton = new wxBitmapToggleButton(this, SampleHive::ID::BC_Mute,
static_cast<wxString>(ICON_MUTE_LIGHT_16px),
wxBitmap(ICON_MUTE_LIGHT_16px, wxBITMAP_TYPE_PNG),
wxDefaultPosition, wxDefaultSize, 0);
}
else
{
m_pPlayButton = new wxBitmapButton(this, SampleHive::ID::BC_Play,
static_cast<wxString>(ICON_PLAY_DARK_16px),
wxBitmap(ICON_PLAY_DARK_16px, wxBITMAP_TYPE_PNG),
wxDefaultPosition, wxDefaultSize, 0);
m_pLoopButton = new wxBitmapToggleButton(this, SampleHive::ID::BC_Loop,
static_cast<wxString>(ICON_LOOP_DARK_16px),
wxBitmap(ICON_LOOP_DARK_16px, wxBITMAP_TYPE_PNG),
wxDefaultPosition, wxDefaultSize, 0);
m_pStopButton = new wxBitmapButton(this, SampleHive::ID::BC_Stop,
static_cast<wxString>(ICON_STOP_DARK_16px),
wxBitmap(ICON_STOP_DARK_16px, wxBITMAP_TYPE_PNG),
wxDefaultPosition, wxDefaultSize, 0);
m_pMuteButton = new wxBitmapToggleButton(this, SampleHive::ID::BC_Mute,
static_cast<wxString>(ICON_MUTE_DARK_16px),
wxBitmap(ICON_MUTE_DARK_16px, wxBITMAP_TYPE_PNG),
wxDefaultPosition, wxDefaultSize, 0);
}

View File

@ -30,6 +30,7 @@
#include <exception>
#include <wx/gdicmn.h>
#include <wx/menu.h>
#include <wx/msgdlg.h>
@ -106,7 +107,7 @@ void cTrashPanel::OnDragAndDropToTrash(wxDropFilesEvent& event)
if (db.GetFavoriteColumnValueByFilename(files[i].ToStdString()))
{
SampleHive::cHiveData::Get().ListCtrlSetVariant(wxVariant(wxBitmap(ICON_STAR_EMPTY_16px)), item_row, 0);
SampleHive::cHiveData::Get().ListCtrlSetVariant(wxVariant(wxBitmap(ICON_STAR_EMPTY_16px, wxBITMAP_TYPE_PNG)), item_row, 0);
db.UpdateFavoriteColumn(files[i].ToStdString(), 0);
@ -206,8 +207,7 @@ void cTrashPanel::OnShowTrashContextMenu(wxTreeEvent& event)
if (db.RestoreFromTrashByFilename(files[i].ToStdString(),
dataset,
serializer.DeserializeShowFileExtension(),
ICON_STAR_FILLED_16px,
ICON_STAR_EMPTY_16px).empty())
ICON_STAR_FILLED_16px, ICON_STAR_EMPTY_16px).empty())
{
SH_LOG_INFO("Error! Database is empty.");
}

View File

@ -451,7 +451,7 @@ void cWaveformViewer::OnMouseLeftButtonUp(wxMouseEvent& event)
}
}
void cWaveformViewer::ResetDC()
void cWaveformViewer::ResetBitmapDC()
{
bBitmapDirty = true;
bSelectRange = false;

View File

@ -86,5 +86,5 @@ class cWaveformViewer : public wxPanel
public:
// -------------------------------------------------------------------
void ResetDC();
void ResetBitmapDC();
};

View File

@ -28,6 +28,7 @@
#include "Utility/Utils.hpp"
#include <wx/dir.h>
#include <wx/gdicmn.h>
#include <wx/progdlg.h>
namespace SampleHive {
@ -138,7 +139,7 @@ namespace SampleHive {
wxVector<wxVariant> data;
wxVariant icon = wxVariant(wxBitmap(ICON_STAR_EMPTY_16px));
wxVariant icon = wxVariant(wxBitmap(ICON_STAR_EMPTY_16px, wxBITMAP_TYPE_PNG));
if (tags.IsFileValid())
{