Get all properties for a specific frame
| 181 | |
| 182 | // Get all properties for a specific frame |
| 183 | std::string Compressor::PropertiesJSON(int64_t requested_frame) const { |
| 184 | |
| 185 | // Generate JSON properties list |
| 186 | Json::Value root = BasePropertiesJSON(requested_frame); |
| 187 | |
| 188 | // Keyframes |
| 189 | root["threshold"] = add_property_json("Threshold (dB)", threshold.GetValue(requested_frame), "float", "", &threshold, -60, 0, false, requested_frame); |
| 190 | root["ratio"] = add_property_json("Ratio", ratio.GetValue(requested_frame), "float", "", &ratio, 1, 100, false, requested_frame); |
| 191 | root["attack"] = add_property_json("Attack (ms)", attack.GetValue(requested_frame), "float", "", &attack, 0.1, 100, false, requested_frame); |
| 192 | root["release"] = add_property_json("Release (ms)", release.GetValue(requested_frame), "float", "", &release, 10, 1000, false, requested_frame); |
| 193 | root["makeup_gain"] = add_property_json("Makeup gain (dB)", makeup_gain.GetValue(requested_frame), "float", "", &makeup_gain, -12, 12, false, requested_frame); |
| 194 | root["bypass"] = add_property_json("Bypass", bypass.GetValue(requested_frame), "bool", "", &bypass, 0, 1, false, requested_frame); |
| 195 | |
| 196 | // Return formatted string |
| 197 | return root.toStyledString(); |
| 198 | } |