Merge branch 'dev' of https://github.com/rerdavies/pipedal
This commit is contained in:
+2
-2
@@ -1,13 +1,13 @@
|
||||
cmake_minimum_required(VERSION 3.16.0)
|
||||
project(pipedal
|
||||
VERSION 1.5.90
|
||||
VERSION 1.5.91
|
||||
DESCRIPTION "PiPedal Guitar Effect Pedal For Raspberry Pi"
|
||||
HOMEPAGE_URL "https://rerdavies.github.io/pipedal"
|
||||
)
|
||||
|
||||
execute_process( COMMAND dpkg --print-architecture COMMAND tr -d '\n' OUTPUT_VARIABLE DEBIAN_ARCHITECTURE )
|
||||
|
||||
set (DISPLAY_VERSION "PiPedal v1.5.90-Experimental")
|
||||
set (DISPLAY_VERSION "PiPedal v1.5.91-Experimental")
|
||||
set (PACKAGE_ARCHITECTURE ${DEBIAN_ARCHITECTURE})
|
||||
set (CMAKE_INSTALL_PREFIX "/usr/")
|
||||
|
||||
|
||||
@@ -9,11 +9,11 @@
|
||||
<img src="https://img.shields.io/github/downloads/rerdavies/pipedal/total?color=%23808080&link=https%3A%2F%2Frerdavies.github.io%2Fpipedal%2Fdownload.html"/>
|
||||
|
||||
|
||||
Download: <a href='https://rerdavies.github.io/pipedal/download.html'>v1.5.90</a>
|
||||
Download: <a href='https://rerdavies.github.io/pipedal/download.html'>v1.5.91</a>
|
||||
Website: [https://rerdavies.github.io/pipedal](https://rerdavies.github.io/pipedal).
|
||||
Documentation: [https://rerdavies.github.io/pipedal/Documentation.html](https://rerdavies.github.io/pipedal/Documentation.html).
|
||||
|
||||
#### NEW version 1.5.90 Release. See the [release notes](https://rerdavies.github.io/pipedal/ReleaseNotes) for details. TooB NAM calibration, manipulation of i/r files in Toob Convolution Reverb, new Parametric EQ and 3 Band EQ plugins, and MORE!
|
||||
#### NEW version 1.5.91 Release. See the [release notes](https://rerdavies.github.io/pipedal/ReleaseNotes) for details. TooB NAM calibration, manipulation of i/r files in Toob Convolution Reverb, new Parametric EQ and 3 Band EQ plugins, and MORE!
|
||||
|
||||
|
||||
|
||||
|
||||
+5
-5
@@ -13,18 +13,18 @@ page_icon: img/Install4.jpg
|
||||
|
||||
Download the most recent Debian (.deb) package for your platform:
|
||||
|
||||
- [Raspberry Pi OS bookworm (aarch64) v1.5.90](https://github.com/rerdavies/pipedal/releases/download/v1.5.90/pipedal_1.5.90_arm64.deb)
|
||||
- [Ubuntu 24.04 through 25.04 (aarch64) v1.5.90](https://github.com/rerdavies/pipedal/releases/download/v1.5.90/pipedal_1.5.90_arm64.deb)
|
||||
- [Ubuntu 24.04 through 25.04 (amd64) v1.5.90](https://github.com/rerdavies/pipedal/releases/download/v1.5.90/pipedal_1.5.90_amd64.deb)
|
||||
- [Raspberry Pi OS bookworm (aarch64) v1.5.91](https://github.com/rerdavies/pipedal/releases/download/v1.5.91/pipedal_1.5.91_arm64.deb)
|
||||
- [Ubuntu 24.04 through 25.04 (aarch64) v1.5.91](https://github.com/rerdavies/pipedal/releases/download/v1.5.91/pipedal_1.5.91_arm64.deb)
|
||||
- [Ubuntu 24.04 through 25.04 (amd64) v1.5.91](https://github.com/rerdavies/pipedal/releases/download/v1.5.91/pipedal_1.5.91_amd64.deb)
|
||||
|
||||
|
||||
Version 1.5.90 has been tested on Raspberry Pi OS bookworm, Ubuntu 24.04 (amd64), Ubuntu 24.10 (aarch64), and Ubuntu 25.04 (aarch64). Download the appropriate package for your platform, and install using the following procedure:
|
||||
Version 1.5.91 has been tested on Raspberry Pi OS bookworm, Ubuntu 24.04 (amd64), Ubuntu 24.10 (aarch64), and Ubuntu 25.04 (aarch64). Download the appropriate package for your platform, and install using the following procedure:
|
||||
|
||||
```
|
||||
sudo apt update
|
||||
sudo apt upgrade
|
||||
cd ~/Downloads
|
||||
sudo apt-get install ./pipedal_1.5.90_arm64.deb
|
||||
sudo apt-get install ./pipedal_1.5.91_arm64.deb
|
||||
```
|
||||
You MUST use `apt-get`. `apt` will not install downloaded packages; and `dpkg -i` will not install dependencies.
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
# Release Notes
|
||||
|
||||
## PiPedal 1.5.90 Beta (Release Candidate)
|
||||
## PiPedal 1.5.91 Beta (Release Candidate)
|
||||
|
||||
#### Themes for this release
|
||||
|
||||
|
||||
+4
-4
@@ -4,9 +4,9 @@
|
||||
|
||||
Download the most recent Debian (.deb) package for your platform:
|
||||
|
||||
- [Raspberry Pi OS bookworm (aarch64) v1.5.90 Beta](https://github.com/rerdavies/pipedal/releases/download/v1.5.90/pipedal_1.5.90_arm64.deb)
|
||||
- [Ubuntu 24.x (aarch64) v1.5.90 Alpha](https://github.com/rerdavies/pipedal/releases/download/v1.5.90/pipedal_1.5.90_arm64.deb)
|
||||
- [Ubuntu 24.x (amd64) v1.5.90 Alpha](https://github.com/rerdavies/pipedal/releases/download/v1.5.90/pipedal_1.5.90_amd64.deb)
|
||||
- [Raspberry Pi OS bookworm (aarch64) v1.5.91 Beta](https://github.com/rerdavies/pipedal/releases/download/v1.5.91/pipedal_1.5.91_arm64.deb)
|
||||
- [Ubuntu 24.x, 25.04 (aarch64) v1.5.91 Alpha](https://github.com/rerdavies/pipedal/releases/download/v1.5.91/pipedal_1.5.91_arm64.deb)
|
||||
- [Ubuntu 24.x, 25.04 (amd64) v1.5.91 Alpha](https://github.com/rerdavies/pipedal/releases/download/v1.5.91/pipedal_1.5.91_amd64.deb)
|
||||
|
||||
|
||||
Install the package by running
|
||||
@@ -14,7 +14,7 @@ Install the package by running
|
||||
```
|
||||
sudo apt update
|
||||
cd ~/Downloads
|
||||
sudo apt-get install ./pipedal_1.5.90_arm64.deb
|
||||
sudo apt-get install ./pipedal_1.5.91_arm64.deb
|
||||
```
|
||||
You MUST use `apt-get` to install the package. `apt install` will NOT install the package correctly. The message about missing permissions given by `apt-get` is
|
||||
expected, and can be safely ignored.
|
||||
|
||||
@@ -72,6 +72,12 @@ public:
|
||||
, value_(value)
|
||||
{
|
||||
|
||||
}
|
||||
ControlValue(const std::string&key, float value)
|
||||
:key_(key)
|
||||
, value_(value)
|
||||
{
|
||||
|
||||
}
|
||||
GETTER_SETTER_REF(key)
|
||||
GETTER_SETTER_REF(value)
|
||||
@@ -174,6 +180,24 @@ public:
|
||||
Lv2PluginState lv2State_;
|
||||
std::map<std::string,std::string> pathProperties_;
|
||||
DECLARE_JSON_MAP(SnapshotValue);
|
||||
|
||||
ControlValue*GetControlValue(const std::string& key) {
|
||||
for (ControlValue&controlValue: controlValues_) {
|
||||
if (controlValue.key() == key) {
|
||||
return &controlValue;
|
||||
}
|
||||
}
|
||||
return nullptr;
|
||||
}
|
||||
void SetControlValue(const std::string& key,float value) {
|
||||
for (ControlValue&controlValue: controlValues_) {
|
||||
if (controlValue.key() == key) {
|
||||
controlValue.value(value);
|
||||
return;
|
||||
}
|
||||
}
|
||||
controlValues_.push_back(ControlValue{key,value});
|
||||
}
|
||||
|
||||
};
|
||||
|
||||
|
||||
+70
-6
@@ -2033,6 +2033,69 @@ std::shared_ptr<Lv2PluginInfo> PiPedalModel::GetPluginInfo(const std::string &ur
|
||||
return pluginHost.GetPluginInfo(uri);
|
||||
}
|
||||
|
||||
|
||||
void PiPedalModel::UpdateDefaults(SnapshotValue&snapshotValue, const PedalboardItem*pedalboardItem_)
|
||||
{
|
||||
std::shared_ptr<Lv2PluginInfo> pPlugin = pluginHost.GetPluginInfo(pedalboardItem_->uri());
|
||||
if (!pPlugin)
|
||||
{
|
||||
if (pedalboardItem_->uri() == SPLIT_PEDALBOARD_ITEM_URI)
|
||||
{
|
||||
pPlugin = GetSplitterPluginInfo();
|
||||
}
|
||||
}
|
||||
if (pPlugin)
|
||||
{
|
||||
//////// PLUGIN SPECIFIC UPGRADES //////////////////////
|
||||
if (pPlugin->uri() == "http://two-play.com/plugins/toob-nam")
|
||||
{
|
||||
ControlValue *pVersion = snapshotValue.GetControlValue("version");
|
||||
if (pVersion == nullptr) {
|
||||
ControlValue *pValue = snapshotValue.GetControlValue("inputCalibrationMode");
|
||||
if (pValue == nullptr)
|
||||
{
|
||||
// calibration is OFF when upgradfing.
|
||||
snapshotValue.SetControlValue("inputCalibrationMode", 0.0f);
|
||||
}
|
||||
// convert old gate threshold to new gate threshold.
|
||||
ControlValue *pGateValue = snapshotValue.GetControlValue("gate");
|
||||
if (pGateValue) {
|
||||
float value = pGateValue->value();
|
||||
// Is the gate disabled?
|
||||
if (value <= -100.0f)
|
||||
{
|
||||
value = -120.0f; // "disabled in new range."
|
||||
} else {
|
||||
value = value * 0.5; // correct the bug in original implementation.
|
||||
}
|
||||
snapshotValue.SetControlValue("gate", value);
|
||||
}
|
||||
snapshotValue.SetControlValue("version", 0.0f);
|
||||
}
|
||||
}
|
||||
if (pPlugin->piPedalUI())
|
||||
{
|
||||
PiPedalUI::ptr piPedalUI = pPlugin->piPedalUI();
|
||||
std::set<std::string> validFileProperties;
|
||||
for (auto &fileProperty : piPedalUI->fileProperties())
|
||||
{
|
||||
validFileProperties.insert(fileProperty->patchProperty());
|
||||
}
|
||||
for (auto i = snapshotValue.pathProperties_.begin(); i != snapshotValue.pathProperties_.end(); /**/)
|
||||
{
|
||||
if (!validFileProperties.contains(i->first))
|
||||
{
|
||||
i = snapshotValue.pathProperties_.erase(i);
|
||||
}
|
||||
else
|
||||
{
|
||||
++i;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void PiPedalModel::UpdateDefaults(PedalboardItem *pedalboardItem, std::unordered_map<int64_t, PedalboardItem *> &itemMap)
|
||||
{
|
||||
itemMap[pedalboardItem->instanceId()] = pedalboardItem;
|
||||
@@ -2161,9 +2224,9 @@ void PiPedalModel::UpdateDefaults(Snapshot *snapshot, std::unordered_map<int64_t
|
||||
// plugin is no longer present. Remove from the snapshot.
|
||||
snapshot->values_.erase(snapshot->values_.begin() + i);
|
||||
--i;
|
||||
} else {
|
||||
UpdateDefaults(value, f->second);
|
||||
}
|
||||
// missing values in snapshots get filled in with plugin defaults at load time,
|
||||
// so we don't need to actually populate the missing values.
|
||||
}
|
||||
for (auto &snapshotValue : snapshot->values_)
|
||||
{
|
||||
@@ -2174,11 +2237,12 @@ void PiPedalModel::UpdateDefaults(Pedalboard *pedalboard)
|
||||
{
|
||||
// add missing values.
|
||||
std::unordered_map<int64_t, PedalboardItem *> itemMap;
|
||||
for (size_t i = 0; i < pedalboard->GetAllPlugins().size(); ++i)
|
||||
auto allPlugins = pedalboard->GetAllPlugins();
|
||||
for (size_t i = 0; i < allPlugins.size(); ++i)
|
||||
{
|
||||
UpdateDefaults(&(pedalboard->items()[i]), itemMap);
|
||||
UpdateDefaults(allPlugins[i], itemMap);
|
||||
}
|
||||
// set all missiong values on snapshots to default values.
|
||||
// set all missing values on snapshots to default values.
|
||||
for (auto snapshot : pedalboard->snapshots())
|
||||
{
|
||||
if (snapshot)
|
||||
@@ -2190,7 +2254,7 @@ void PiPedalModel::UpdateDefaults(Pedalboard *pedalboard)
|
||||
|
||||
PluginPresets PiPedalModel::GetPluginPresets(const std::string &pluginUri)
|
||||
{
|
||||
std::lock_guard<std::recursive_mutex> lock(mutex);
|
||||
std::lock_guard<std::recursive_mutex> lock(mutex);
|
||||
|
||||
return storage.GetPluginPresets(pluginUri);
|
||||
}
|
||||
|
||||
@@ -207,6 +207,7 @@ namespace pipedal
|
||||
void FireBanksChanged(int64_t clientId);
|
||||
void FireJackConfigurationChanged(const JackConfiguration &jackConfiguration);
|
||||
void FireLv2StateChanged(int64_t instanceId, const Lv2PluginState &lv2State);
|
||||
void UpdateDefaults(SnapshotValue&snapshotValue, const PedalboardItem*pedalboardItem);
|
||||
void UpdateDefaults(Snapshot *snapshot, std::unordered_map<int64_t, PedalboardItem *> &itemMap);
|
||||
void UpdateDefaults(PedalboardItem *pedalboardItem, std::unordered_map<int64_t, PedalboardItem *> &itemMap);
|
||||
void UpdateDefaults(Pedalboard *pedalboard);
|
||||
|
||||
Reference in New Issue
Block a user