diff options
33 files changed, 266 insertions, 243 deletions
diff --git a/apps/features.txt b/apps/features.txt index 54e6afddf3..93b81ff4a5 100644 --- a/apps/features.txt +++ b/apps/features.txt | |||
@@ -129,8 +129,8 @@ recording_mic | |||
129 | #endif | 129 | #endif |
130 | #endif | 130 | #endif |
131 | 131 | ||
132 | #if defined(HAVE_RECORDING_HISTOGRAM) | 132 | #if defined(HAVE_HISTOGRAM) |
133 | recording_histogram | 133 | histogram |
134 | #endif | 134 | #endif |
135 | 135 | ||
136 | #if defined(HAVE_REMOTE_LCD) | 136 | #if defined(HAVE_REMOTE_LCD) |
diff --git a/apps/lang/catala.lang b/apps/lang/catala.lang index f133e3dd9e..ec79dd7d89 100644 --- a/apps/lang/catala.lang +++ b/apps/lang/catala.lang | |||
@@ -12078,20 +12078,20 @@ | |||
12078 | </voice> | 12078 | </voice> |
12079 | </phrase> | 12079 | </phrase> |
12080 | <phrase> | 12080 | <phrase> |
12081 | id: LANG_RECORDING_HISTOGRAM_INTERVAL | 12081 | id: LANG_HISTOGRAM_INTERVAL |
12082 | desc: in record settings menu | 12082 | desc: in record settings menu |
12083 | user: core | 12083 | user: core |
12084 | <source> | 12084 | <source> |
12085 | *: none | 12085 | *: none |
12086 | recording_histogram: "Histogram interval" | 12086 | histogram: "Histogram interval" |
12087 | </source> | 12087 | </source> |
12088 | <dest> | 12088 | <dest> |
12089 | *: none | 12089 | *: none |
12090 | recording_histogram: "Intèrval d'histograma" | 12090 | histogram: "Intèrval d'histograma" |
12091 | </dest> | 12091 | </dest> |
12092 | <voice> | 12092 | <voice> |
12093 | *: none | 12093 | *: none |
12094 | recording_histogram: "Intèrval d'histograma" | 12094 | histogram: "Intèrval d'histograma" |
12095 | </voice> | 12095 | </voice> |
12096 | </phrase> | 12096 | </phrase> |
12097 | <phrase> | 12097 | <phrase> |
diff --git a/apps/lang/czech.lang b/apps/lang/czech.lang index 5d99107296..43bf034071 100644 --- a/apps/lang/czech.lang +++ b/apps/lang/czech.lang | |||
@@ -12086,20 +12086,20 @@ | |||
12086 | </voice> | 12086 | </voice> |
12087 | </phrase> | 12087 | </phrase> |
12088 | <phrase> | 12088 | <phrase> |
12089 | id: LANG_RECORDING_HISTOGRAM_INTERVAL | 12089 | id: LANG_HISTOGRAM_INTERVAL |
12090 | desc: in record settings menu | 12090 | desc: in record settings menu |
12091 | user: core | 12091 | user: core |
12092 | <source> | 12092 | <source> |
12093 | *: none | 12093 | *: none |
12094 | recording_histogram: "Histogram interval" | 12094 | histogram: "Histogram interval" |
12095 | </source> | 12095 | </source> |
12096 | <dest> | 12096 | <dest> |
12097 | *: none | 12097 | *: none |
12098 | recording_histogram: "Rozsah histogramu" | 12098 | histogram: "Rozsah histogramu" |
12099 | </dest> | 12099 | </dest> |
12100 | <voice> | 12100 | <voice> |
12101 | *: none | 12101 | *: none |
12102 | recording_histogram: "Rozsah histogramu" | 12102 | histogram: "Rozsah histogramu" |
12103 | </voice> | 12103 | </voice> |
12104 | </phrase> | 12104 | </phrase> |
12105 | <phrase> | 12105 | <phrase> |
diff --git a/apps/lang/dansk.lang b/apps/lang/dansk.lang index 3d4557ac4f..20ebb5e58b 100644 --- a/apps/lang/dansk.lang +++ b/apps/lang/dansk.lang | |||
@@ -12566,20 +12566,20 @@ | |||
12566 | </voice> | 12566 | </voice> |
12567 | </phrase> | 12567 | </phrase> |
12568 | <phrase> | 12568 | <phrase> |
12569 | id: LANG_RECORDING_HISTOGRAM_INTERVAL | 12569 | id: LANG_HISTOGRAM_INTERVAL |
12570 | desc: in record settings menu | 12570 | desc: in record settings menu |
12571 | user: core | 12571 | user: core |
12572 | <source> | 12572 | <source> |
12573 | *: none | 12573 | *: none |
12574 | recording_histogram: "Histogram interval" | 12574 | histogram: "Histogram interval" |
12575 | </source> | 12575 | </source> |
12576 | <dest> | 12576 | <dest> |
12577 | *: none | 12577 | *: none |
12578 | recording_histogram: "Histogram interval" | 12578 | histogram: "Histogram interval" |
12579 | </dest> | 12579 | </dest> |
12580 | <voice> | 12580 | <voice> |
12581 | *: none | 12581 | *: none |
12582 | recording_histogram: "Histogram interval" | 12582 | histogram: "Histogram interval" |
12583 | </voice> | 12583 | </voice> |
12584 | </phrase> | 12584 | </phrase> |
12585 | <phrase> | 12585 | <phrase> |
diff --git a/apps/lang/deutsch.lang b/apps/lang/deutsch.lang index ccaa140b37..75004b44db 100644 --- a/apps/lang/deutsch.lang +++ b/apps/lang/deutsch.lang | |||
@@ -12440,20 +12440,20 @@ | |||
12440 | </voice> | 12440 | </voice> |
12441 | </phrase> | 12441 | </phrase> |
12442 | <phrase> | 12442 | <phrase> |
12443 | id: LANG_RECORDING_HISTOGRAM_INTERVAL | 12443 | id: LANG_HISTOGRAM_INTERVAL |
12444 | desc: in record settings menu | 12444 | desc: in record settings menu |
12445 | user: core | 12445 | user: core |
12446 | <source> | 12446 | <source> |
12447 | *: none | 12447 | *: none |
12448 | recording_histogram: "Histogram interval" | 12448 | histogram: "Histogram interval" |
12449 | </source> | 12449 | </source> |
12450 | <dest> | 12450 | <dest> |
12451 | *: none | 12451 | *: none |
12452 | recording_histogram: "Histogrammintervall" | 12452 | histogram: "Histogrammintervall" |
12453 | </dest> | 12453 | </dest> |
12454 | <voice> | 12454 | <voice> |
12455 | *: none | 12455 | *: none |
12456 | recording_histogram: "Histogrammintervall" | 12456 | histogram: "Histogrammintervall" |
12457 | </voice> | 12457 | </voice> |
12458 | </phrase> | 12458 | </phrase> |
12459 | <phrase> | 12459 | <phrase> |
diff --git a/apps/lang/english.lang b/apps/lang/english.lang index 128d5c5fad..de2384214d 100644 --- a/apps/lang/english.lang +++ b/apps/lang/english.lang | |||
@@ -12169,20 +12169,20 @@ | |||
12169 | </voice> | 12169 | </voice> |
12170 | </phrase> | 12170 | </phrase> |
12171 | <phrase> | 12171 | <phrase> |
12172 | id: LANG_RECORDING_HISTOGRAM_INTERVAL | 12172 | id: LANG_HISTOGRAM_INTERVAL |
12173 | desc: in record settings menu | 12173 | desc: in record settings menu |
12174 | user: core | 12174 | user: core |
12175 | <source> | 12175 | <source> |
12176 | *: none | 12176 | *: none |
12177 | recording_histogram: "Histogram interval" | 12177 | histogram: "Histogram interval" |
12178 | </source> | 12178 | </source> |
12179 | <dest> | 12179 | <dest> |
12180 | *: none | 12180 | *: none |
12181 | recording_histogram: "Histogram interval" | 12181 | histogram: "Histogram interval" |
12182 | </dest> | 12182 | </dest> |
12183 | <voice> | 12183 | <voice> |
12184 | *: none | 12184 | *: none |
12185 | recording_histogram: "Histogram interval" | 12185 | histogram: "Histogram interval" |
12186 | </voice> | 12186 | </voice> |
12187 | </phrase> | 12187 | </phrase> |
12188 | <phrase> | 12188 | <phrase> |
diff --git a/apps/lang/espanol.lang b/apps/lang/espanol.lang index cf4266c062..f689bd6999 100644 --- a/apps/lang/espanol.lang +++ b/apps/lang/espanol.lang | |||
@@ -12372,20 +12372,20 @@ | |||
12372 | </voice> | 12372 | </voice> |
12373 | </phrase> | 12373 | </phrase> |
12374 | <phrase> | 12374 | <phrase> |
12375 | id: LANG_RECORDING_HISTOGRAM_INTERVAL | 12375 | id: LANG_HISTOGRAM_INTERVAL |
12376 | desc: in record settings menu | 12376 | desc: in record settings menu |
12377 | user: core | 12377 | user: core |
12378 | <source> | 12378 | <source> |
12379 | *: none | 12379 | *: none |
12380 | recording_histogram: "Histogram interval" | 12380 | histogram: "Histogram interval" |
12381 | </source> | 12381 | </source> |
12382 | <dest> | 12382 | <dest> |
12383 | *: none | 12383 | *: none |
12384 | recording_histogram: "Intervalo del histograma" | 12384 | histogram: "Intervalo del histograma" |
12385 | </dest> | 12385 | </dest> |
12386 | <voice> | 12386 | <voice> |
12387 | *: none | 12387 | *: none |
12388 | recording_histogram: "Intervalo del histograma" | 12388 | histogram: "Intervalo del histograma" |
12389 | </voice> | 12389 | </voice> |
12390 | </phrase> | 12390 | </phrase> |
12391 | <phrase> | 12391 | <phrase> |
diff --git a/apps/lang/francais.lang b/apps/lang/francais.lang index a1a7566647..2adf811d54 100644 --- a/apps/lang/francais.lang +++ b/apps/lang/francais.lang | |||
@@ -12110,20 +12110,20 @@ | |||
12110 | </voice> | 12110 | </voice> |
12111 | </phrase> | 12111 | </phrase> |
12112 | <phrase> | 12112 | <phrase> |
12113 | id: LANG_RECORDING_HISTOGRAM_INTERVAL | 12113 | id: LANG_HISTOGRAM_INTERVAL |
12114 | desc: in record settings menu | 12114 | desc: in record settings menu |
12115 | user: core | 12115 | user: core |
12116 | <source> | 12116 | <source> |
12117 | *: none | 12117 | *: none |
12118 | recording_histogram: "Histogram interval" | 12118 | histogram: "Histogram interval" |
12119 | </source> | 12119 | </source> |
12120 | <dest> | 12120 | <dest> |
12121 | *: none | 12121 | *: none |
12122 | recording_histogram: "Intervalle de l'histogramme" | 12122 | histogram: "Intervalle de l'histogramme" |
12123 | </dest> | 12123 | </dest> |
12124 | <voice> | 12124 | <voice> |
12125 | *: none | 12125 | *: none |
12126 | recording_histogram: "Intervalle de l'histogramme" | 12126 | histogram: "Intervalle de l'histogramme" |
12127 | </voice> | 12127 | </voice> |
12128 | </phrase> | 12128 | </phrase> |
12129 | <phrase> | 12129 | <phrase> |
diff --git a/apps/lang/hebrew.lang b/apps/lang/hebrew.lang index 2400b0bb53..b6937db808 100644 --- a/apps/lang/hebrew.lang +++ b/apps/lang/hebrew.lang | |||
@@ -12548,20 +12548,20 @@ | |||
12548 | </voice> | 12548 | </voice> |
12549 | </phrase> | 12549 | </phrase> |
12550 | <phrase> | 12550 | <phrase> |
12551 | id: LANG_RECORDING_HISTOGRAM_INTERVAL | 12551 | id: LANG_HISTOGRAM_INTERVAL |
12552 | desc: in record settings menu | 12552 | desc: in record settings menu |
12553 | user: core | 12553 | user: core |
12554 | <source> | 12554 | <source> |
12555 | *: none | 12555 | *: none |
12556 | recording_histogram: "Histogram interval" | 12556 | histogram: "Histogram interval" |
12557 | </source> | 12557 | </source> |
12558 | <dest> | 12558 | <dest> |
12559 | *: none | 12559 | *: none |
12560 | recording_histogram: "Histogram interval" | 12560 | histogram: "Histogram interval" |
12561 | </dest> | 12561 | </dest> |
12562 | <voice> | 12562 | <voice> |
12563 | *: none | 12563 | *: none |
12564 | recording_histogram: "Histogram interval" | 12564 | histogram: "Histogram interval" |
12565 | </voice> | 12565 | </voice> |
12566 | </phrase> | 12566 | </phrase> |
12567 | <phrase> | 12567 | <phrase> |
diff --git a/apps/lang/hrvatski.lang b/apps/lang/hrvatski.lang index d681a0ed6c..1def22085f 100644 --- a/apps/lang/hrvatski.lang +++ b/apps/lang/hrvatski.lang | |||
@@ -12087,20 +12087,20 @@ | |||
12087 | </voice> | 12087 | </voice> |
12088 | </phrase> | 12088 | </phrase> |
12089 | <phrase> | 12089 | <phrase> |
12090 | id: LANG_RECORDING_HISTOGRAM_INTERVAL | 12090 | id: LANG_HISTOGRAM_INTERVAL |
12091 | desc: in record settings menu | 12091 | desc: in record settings menu |
12092 | user: core | 12092 | user: core |
12093 | <source> | 12093 | <source> |
12094 | *: none | 12094 | *: none |
12095 | recording_histogram: "Histogram interval" | 12095 | histogram: "Histogram interval" |
12096 | </source> | 12096 | </source> |
12097 | <dest> | 12097 | <dest> |
12098 | *: none | 12098 | *: none |
12099 | recording_histogram: "Interval histograma" | 12099 | histogram: "Interval histograma" |
12100 | </dest> | 12100 | </dest> |
12101 | <voice> | 12101 | <voice> |
12102 | *: none | 12102 | *: none |
12103 | recording_histogram: "Interval histograma" | 12103 | histogram: "Interval histograma" |
12104 | </voice> | 12104 | </voice> |
12105 | </phrase> | 12105 | </phrase> |
12106 | <phrase> | 12106 | <phrase> |
diff --git a/apps/lang/italiano.lang b/apps/lang/italiano.lang index 677b242e3d..fa95de5086 100644 --- a/apps/lang/italiano.lang +++ b/apps/lang/italiano.lang | |||
@@ -12089,20 +12089,20 @@ | |||
12089 | </voice> | 12089 | </voice> |
12090 | </phrase> | 12090 | </phrase> |
12091 | <phrase> | 12091 | <phrase> |
12092 | id: LANG_RECORDING_HISTOGRAM_INTERVAL | 12092 | id: LANG_HISTOGRAM_INTERVAL |
12093 | desc: in record settings menu | 12093 | desc: in record settings menu |
12094 | user: core | 12094 | user: core |
12095 | <source> | 12095 | <source> |
12096 | *: none | 12096 | *: none |
12097 | recording_histogram: "Histogram interval" | 12097 | histogram: "Histogram interval" |
12098 | </source> | 12098 | </source> |
12099 | <dest> | 12099 | <dest> |
12100 | *: none | 12100 | *: none |
12101 | recording_histogram: "Intervallo Istogramma" | 12101 | histogram: "Intervallo Istogramma" |
12102 | </dest> | 12102 | </dest> |
12103 | <voice> | 12103 | <voice> |
12104 | *: none | 12104 | *: none |
12105 | recording_histogram: "Intervallo Istogramma" | 12105 | histogram: "Intervallo Istogramma" |
12106 | </voice> | 12106 | </voice> |
12107 | </phrase> | 12107 | </phrase> |
12108 | <phrase> | 12108 | <phrase> |
diff --git a/apps/lang/japanese.lang b/apps/lang/japanese.lang index f1c45c9187..d0b0ae8434 100644 --- a/apps/lang/japanese.lang +++ b/apps/lang/japanese.lang | |||
@@ -12093,20 +12093,20 @@ | |||
12093 | </voice> | 12093 | </voice> |
12094 | </phrase> | 12094 | </phrase> |
12095 | <phrase> | 12095 | <phrase> |
12096 | id: LANG_RECORDING_HISTOGRAM_INTERVAL | 12096 | id: LANG_HISTOGRAM_INTERVAL |
12097 | desc: in record settings menu | 12097 | desc: in record settings menu |
12098 | user: core | 12098 | user: core |
12099 | <source> | 12099 | <source> |
12100 | *: none | 12100 | *: none |
12101 | recording_histogram: "Histogram interval" | 12101 | histogram: "Histogram interval" |
12102 | </source> | 12102 | </source> |
12103 | <dest> | 12103 | <dest> |
12104 | *: none | 12104 | *: none |
12105 | recording_histogram: "ヒストグラムの間隔" | 12105 | histogram: "ヒストグラムの間隔" |
12106 | </dest> | 12106 | </dest> |
12107 | <voice> | 12107 | <voice> |
12108 | *: none | 12108 | *: none |
12109 | recording_histogram: "ヒストグラムの間隔" | 12109 | histogram: "ヒストグラムの間隔" |
12110 | </voice> | 12110 | </voice> |
12111 | </phrase> | 12111 | </phrase> |
12112 | <phrase> | 12112 | <phrase> |
diff --git a/apps/lang/nederlands.lang b/apps/lang/nederlands.lang index db552d52c6..08bf3dfa81 100644 --- a/apps/lang/nederlands.lang +++ b/apps/lang/nederlands.lang | |||
@@ -12092,20 +12092,20 @@ | |||
12092 | </voice> | 12092 | </voice> |
12093 | </phrase> | 12093 | </phrase> |
12094 | <phrase> | 12094 | <phrase> |
12095 | id: LANG_RECORDING_HISTOGRAM_INTERVAL | 12095 | id: LANG_HISTOGRAM_INTERVAL |
12096 | desc: in record settings menu | 12096 | desc: in record settings menu |
12097 | user: core | 12097 | user: core |
12098 | <source> | 12098 | <source> |
12099 | *: none | 12099 | *: none |
12100 | recording_histogram: "Histogram interval" | 12100 | histogram: "Histogram interval" |
12101 | </source> | 12101 | </source> |
12102 | <dest> | 12102 | <dest> |
12103 | *: none | 12103 | *: none |
12104 | recording_histogram: "Histogram interval" | 12104 | histogram: "Histogram interval" |
12105 | </dest> | 12105 | </dest> |
12106 | <voice> | 12106 | <voice> |
12107 | *: none | 12107 | *: none |
12108 | recording_histogram: "Histogram interval" | 12108 | histogram: "Histogram interval" |
12109 | </voice> | 12109 | </voice> |
12110 | </phrase> | 12110 | </phrase> |
12111 | <phrase> | 12111 | <phrase> |
diff --git a/apps/lang/polski.lang b/apps/lang/polski.lang index d54afde4e9..00e1ddeaf8 100644 --- a/apps/lang/polski.lang +++ b/apps/lang/polski.lang | |||
@@ -12382,20 +12382,20 @@ | |||
12382 | </voice> | 12382 | </voice> |
12383 | </phrase> | 12383 | </phrase> |
12384 | <phrase> | 12384 | <phrase> |
12385 | id: LANG_RECORDING_HISTOGRAM_INTERVAL | 12385 | id: LANG_HISTOGRAM_INTERVAL |
12386 | desc: in record settings menu | 12386 | desc: in record settings menu |
12387 | user: core | 12387 | user: core |
12388 | <source> | 12388 | <source> |
12389 | *: none | 12389 | *: none |
12390 | recording_histogram: "Histogram interval" | 12390 | histogram: "Histogram interval" |
12391 | </source> | 12391 | </source> |
12392 | <dest> | 12392 | <dest> |
12393 | *: none | 12393 | *: none |
12394 | recording_histogram: "Przedziały histogramu" | 12394 | histogram: "Przedziały histogramu" |
12395 | </dest> | 12395 | </dest> |
12396 | <voice> | 12396 | <voice> |
12397 | *: none | 12397 | *: none |
12398 | recording_histogram: "Przedziały histogramu" | 12398 | histogram: "Przedziały histogramu" |
12399 | </voice> | 12399 | </voice> |
12400 | </phrase> | 12400 | </phrase> |
12401 | <phrase> | 12401 | <phrase> |
diff --git a/apps/lang/portugues-brasileiro.lang b/apps/lang/portugues-brasileiro.lang index 0bc6618887..3036a79151 100644 --- a/apps/lang/portugues-brasileiro.lang +++ b/apps/lang/portugues-brasileiro.lang | |||
@@ -12085,20 +12085,20 @@ | |||
12085 | </voice> | 12085 | </voice> |
12086 | </phrase> | 12086 | </phrase> |
12087 | <phrase> | 12087 | <phrase> |
12088 | id: LANG_RECORDING_HISTOGRAM_INTERVAL | 12088 | id: LANG_HISTOGRAM_INTERVAL |
12089 | desc: in record settings menu | 12089 | desc: in record settings menu |
12090 | user: core | 12090 | user: core |
12091 | <source> | 12091 | <source> |
12092 | *: none | 12092 | *: none |
12093 | recording_histogram: "Histogram interval" | 12093 | histogram: "Histogram interval" |
12094 | </source> | 12094 | </source> |
12095 | <dest> | 12095 | <dest> |
12096 | *: none | 12096 | *: none |
12097 | recording_histogram: "Intervalo do Histograma" | 12097 | histogram: "Intervalo do Histograma" |
12098 | </dest> | 12098 | </dest> |
12099 | <voice> | 12099 | <voice> |
12100 | *: none | 12100 | *: none |
12101 | recording_histogram: "Intervalo do Histograma" | 12101 | histogram: "Intervalo do Histograma" |
12102 | </voice> | 12102 | </voice> |
12103 | </phrase> | 12103 | </phrase> |
12104 | <phrase> | 12104 | <phrase> |
diff --git a/apps/lang/portugues.lang b/apps/lang/portugues.lang index 3917140b35..f2ce99bb73 100644 --- a/apps/lang/portugues.lang +++ b/apps/lang/portugues.lang | |||
@@ -12537,20 +12537,20 @@ | |||
12537 | </voice> | 12537 | </voice> |
12538 | </phrase> | 12538 | </phrase> |
12539 | <phrase> | 12539 | <phrase> |
12540 | id: LANG_RECORDING_HISTOGRAM_INTERVAL | 12540 | id: LANG_HISTOGRAM_INTERVAL |
12541 | desc: in record settings menu | 12541 | desc: in record settings menu |
12542 | user: core | 12542 | user: core |
12543 | <source> | 12543 | <source> |
12544 | *: none | 12544 | *: none |
12545 | recording_histogram: "Histogram interval" | 12545 | histogram: "Histogram interval" |
12546 | </source> | 12546 | </source> |
12547 | <dest> | 12547 | <dest> |
12548 | *: none | 12548 | *: none |
12549 | recording_histogram: "Intervalo do Histograma" | 12549 | histogram: "Intervalo do Histograma" |
12550 | </dest> | 12550 | </dest> |
12551 | <voice> | 12551 | <voice> |
12552 | *: none | 12552 | *: none |
12553 | recording_histogram: "Intervalo do Histograma" | 12553 | histogram: "Intervalo do Histograma" |
12554 | </voice> | 12554 | </voice> |
12555 | </phrase> | 12555 | </phrase> |
12556 | <phrase> | 12556 | <phrase> |
diff --git a/apps/lang/russian.lang b/apps/lang/russian.lang index dd43c4e735..cbe432d873 100644 --- a/apps/lang/russian.lang +++ b/apps/lang/russian.lang | |||
@@ -12520,20 +12520,20 @@ | |||
12520 | </voice> | 12520 | </voice> |
12521 | </phrase> | 12521 | </phrase> |
12522 | <phrase> | 12522 | <phrase> |
12523 | id: LANG_RECORDING_HISTOGRAM_INTERVAL | 12523 | id: LANG_HISTOGRAM_INTERVAL |
12524 | desc: in record settings menu | 12524 | desc: in record settings menu |
12525 | user: core | 12525 | user: core |
12526 | <source> | 12526 | <source> |
12527 | *: none | 12527 | *: none |
12528 | recording_histogram: "Histogram interval" | 12528 | histogram: "Histogram interval" |
12529 | </source> | 12529 | </source> |
12530 | <dest> | 12530 | <dest> |
12531 | *: none | 12531 | *: none |
12532 | recording_histogram: "Интервал гистограммы" | 12532 | histogram: "Интервал гистограммы" |
12533 | </dest> | 12533 | </dest> |
12534 | <voice> | 12534 | <voice> |
12535 | *: none | 12535 | *: none |
12536 | recording_histogram: "Интервал гистограммы" | 12536 | histogram: "Интервал гистограммы" |
12537 | </voice> | 12537 | </voice> |
12538 | </phrase> | 12538 | </phrase> |
12539 | <phrase> | 12539 | <phrase> |
diff --git a/apps/lang/slovak.lang b/apps/lang/slovak.lang index d4fc98567c..94a175eb15 100644 --- a/apps/lang/slovak.lang +++ b/apps/lang/slovak.lang | |||
@@ -12085,20 +12085,20 @@ | |||
12085 | </voice> | 12085 | </voice> |
12086 | </phrase> | 12086 | </phrase> |
12087 | <phrase> | 12087 | <phrase> |
12088 | id: LANG_RECORDING_HISTOGRAM_INTERVAL | 12088 | id: LANG_HISTOGRAM_INTERVAL |
12089 | desc: in record settings menu | 12089 | desc: in record settings menu |
12090 | user: core | 12090 | user: core |
12091 | <source> | 12091 | <source> |
12092 | *: none | 12092 | *: none |
12093 | recording_histogram: "Histogram interval" | 12093 | histogram: "Histogram interval" |
12094 | </source> | 12094 | </source> |
12095 | <dest> | 12095 | <dest> |
12096 | *: none | 12096 | *: none |
12097 | recording_histogram: "Interval Histogramu" | 12097 | histogram: "Interval Histogramu" |
12098 | </dest> | 12098 | </dest> |
12099 | <voice> | 12099 | <voice> |
12100 | *: none | 12100 | *: none |
12101 | recording_histogram: "Interval histogramu" | 12101 | histogram: "Interval histogramu" |
12102 | </voice> | 12102 | </voice> |
12103 | </phrase> | 12103 | </phrase> |
12104 | <phrase> | 12104 | <phrase> |
diff --git a/apps/lang/slovenscina.lang b/apps/lang/slovenscina.lang index 9f1bda76c7..14ef2c98eb 100644 --- a/apps/lang/slovenscina.lang +++ b/apps/lang/slovenscina.lang | |||
@@ -12011,20 +12011,20 @@ | |||
12011 | </voice> | 12011 | </voice> |
12012 | </phrase> | 12012 | </phrase> |
12013 | <phrase> | 12013 | <phrase> |
12014 | id: LANG_RECORDING_HISTOGRAM_INTERVAL | 12014 | id: LANG_HISTOGRAM_INTERVAL |
12015 | desc: in record settings menu | 12015 | desc: in record settings menu |
12016 | user: core | 12016 | user: core |
12017 | <source> | 12017 | <source> |
12018 | *: none | 12018 | *: none |
12019 | recording_histogram: "Histogram interval" | 12019 | histogram: "Histogram interval" |
12020 | </source> | 12020 | </source> |
12021 | <dest> | 12021 | <dest> |
12022 | *: none | 12022 | *: none |
12023 | recording_histogram: "Histogram interval" | 12023 | histogram: "Histogram interval" |
12024 | </dest> | 12024 | </dest> |
12025 | <voice> | 12025 | <voice> |
12026 | *: none | 12026 | *: none |
12027 | recording_histogram: "Histogram interval" | 12027 | histogram: "Histogram interval" |
12028 | </voice> | 12028 | </voice> |
12029 | </phrase> | 12029 | </phrase> |
12030 | <phrase> | 12030 | <phrase> |
diff --git a/apps/lang/srpski.lang b/apps/lang/srpski.lang index 7cd4d94263..179e696363 100644 --- a/apps/lang/srpski.lang +++ b/apps/lang/srpski.lang | |||
@@ -12499,20 +12499,20 @@ | |||
12499 | </voice> | 12499 | </voice> |
12500 | </phrase> | 12500 | </phrase> |
12501 | <phrase> | 12501 | <phrase> |
12502 | id: LANG_RECORDING_HISTOGRAM_INTERVAL | 12502 | id: LANG_HISTOGRAM_INTERVAL |
12503 | desc: in record settings menu | 12503 | desc: in record settings menu |
12504 | user: core | 12504 | user: core |
12505 | <source> | 12505 | <source> |
12506 | *: none | 12506 | *: none |
12507 | recording_histogram: "Histogram interval" | 12507 | histogram: "Histogram interval" |
12508 | </source> | 12508 | </source> |
12509 | <dest> | 12509 | <dest> |
12510 | *: none | 12510 | *: none |
12511 | recording_histogram: "Интервал хистограма" | 12511 | histogram: "Интервал хистограма" |
12512 | </dest> | 12512 | </dest> |
12513 | <voice> | 12513 | <voice> |
12514 | *: none | 12514 | *: none |
12515 | recording_histogram: "Интервал хистограма" | 12515 | histogram: "Интервал хистограма" |
12516 | </voice> | 12516 | </voice> |
12517 | </phrase> | 12517 | </phrase> |
12518 | <phrase> | 12518 | <phrase> |
diff --git a/apps/lang/svenska.lang b/apps/lang/svenska.lang index 6d94e52dfb..ec25e0071d 100644 --- a/apps/lang/svenska.lang +++ b/apps/lang/svenska.lang | |||
@@ -12091,20 +12091,20 @@ | |||
12091 | </voice> | 12091 | </voice> |
12092 | </phrase> | 12092 | </phrase> |
12093 | <phrase> | 12093 | <phrase> |
12094 | id: LANG_RECORDING_HISTOGRAM_INTERVAL | 12094 | id: LANG_HISTOGRAM_INTERVAL |
12095 | desc: in record settings menu | 12095 | desc: in record settings menu |
12096 | user: core | 12096 | user: core |
12097 | <source> | 12097 | <source> |
12098 | *: none | 12098 | *: none |
12099 | recording_histogram: "Histogram interval" | 12099 | histogram: "Histogram interval" |
12100 | </source> | 12100 | </source> |
12101 | <dest> | 12101 | <dest> |
12102 | *: none | 12102 | *: none |
12103 | recording_histogram: "Histogramintervall" | 12103 | histogram: "Histogramintervall" |
12104 | </dest> | 12104 | </dest> |
12105 | <voice> | 12105 | <voice> |
12106 | *: none | 12106 | *: none |
12107 | recording_histogram: "Histogramintervall" | 12107 | histogram: "Histogramintervall" |
12108 | </voice> | 12108 | </voice> |
12109 | </phrase> | 12109 | </phrase> |
12110 | <phrase> | 12110 | <phrase> |
diff --git a/apps/lang/tagalog.lang b/apps/lang/tagalog.lang index f4bbc32bc7..816c039222 100644 --- a/apps/lang/tagalog.lang +++ b/apps/lang/tagalog.lang | |||
@@ -12559,20 +12559,20 @@ | |||
12559 | </voice> | 12559 | </voice> |
12560 | </phrase> | 12560 | </phrase> |
12561 | <phrase> | 12561 | <phrase> |
12562 | id: LANG_RECORDING_HISTOGRAM_INTERVAL | 12562 | id: LANG_HISTOGRAM_INTERVAL |
12563 | desc: in record settings menu | 12563 | desc: in record settings menu |
12564 | user: core | 12564 | user: core |
12565 | <source> | 12565 | <source> |
12566 | *: none | 12566 | *: none |
12567 | recording_histogram: "Histogram interval" | 12567 | histogram: "Histogram interval" |
12568 | </source> | 12568 | </source> |
12569 | <dest> | 12569 | <dest> |
12570 | *: none | 12570 | *: none |
12571 | recording_histogram: "Histogram interval" | 12571 | histogram: "Histogram interval" |
12572 | </dest> | 12572 | </dest> |
12573 | <voice> | 12573 | <voice> |
12574 | *: none | 12574 | *: none |
12575 | recording_histogram: "Histogram interval" | 12575 | histogram: "Histogram interval" |
12576 | </voice> | 12576 | </voice> |
12577 | </phrase> | 12577 | </phrase> |
12578 | <phrase> | 12578 | <phrase> |
diff --git a/apps/lang/thai.lang b/apps/lang/thai.lang index d01fde0689..0fceae4ca4 100644 --- a/apps/lang/thai.lang +++ b/apps/lang/thai.lang | |||
@@ -12511,20 +12511,20 @@ | |||
12511 | </voice> | 12511 | </voice> |
12512 | </phrase> | 12512 | </phrase> |
12513 | <phrase> | 12513 | <phrase> |
12514 | id: LANG_RECORDING_HISTOGRAM_INTERVAL | 12514 | id: LANG_HISTOGRAM_INTERVAL |
12515 | desc: in record settings menu | 12515 | desc: in record settings menu |
12516 | user: core | 12516 | user: core |
12517 | <source> | 12517 | <source> |
12518 | *: none | 12518 | *: none |
12519 | recording_histogram: "Histogram interval" | 12519 | histogram: "Histogram interval" |
12520 | </source> | 12520 | </source> |
12521 | <dest> | 12521 | <dest> |
12522 | *: none | 12522 | *: none |
12523 | recording_histogram: "ช่วงเวลาฮิสโตแกรม" | 12523 | histogram: "ช่วงเวลาฮิสโตแกรม" |
12524 | </dest> | 12524 | </dest> |
12525 | <voice> | 12525 | <voice> |
12526 | *: none | 12526 | *: none |
12527 | recording_histogram: "Histogram interval" | 12527 | histogram: "Histogram interval" |
12528 | </voice> | 12528 | </voice> |
12529 | </phrase> | 12529 | </phrase> |
12530 | <phrase> | 12530 | <phrase> |
diff --git a/apps/menus/display_menu.c b/apps/menus/display_menu.c index 4badf960ba..7e7b5a6903 100644 --- a/apps/menus/display_menu.c +++ b/apps/menus/display_menu.c | |||
@@ -443,6 +443,30 @@ static int peak_meter_max(void) { | |||
443 | settings_apply_pm_range(); | 443 | settings_apply_pm_range(); |
444 | return retval; | 444 | return retval; |
445 | } | 445 | } |
446 | |||
447 | #if defined(HAVE_HISTOGRAM) | ||
448 | static bool history_interval(void) | ||
449 | { | ||
450 | static const struct opt_items names[] = { | ||
451 | { "0s", TALK_ID(0, UNIT_SEC) }, | ||
452 | { "1s", TALK_ID(1, UNIT_SEC) }, | ||
453 | { "2s", TALK_ID(2, UNIT_SEC) }, | ||
454 | { "4s", TALK_ID(4, UNIT_SEC) } | ||
455 | }; | ||
456 | |||
457 | /* reconfigure histogram settings here */ | ||
458 | |||
459 | return set_option(str(LANG_HISTOGRAM_INTERVAL), | ||
460 | &global_settings.histogram_interval, | ||
461 | INT, names, 4, NULL ); | ||
462 | } | ||
463 | |||
464 | MENUITEM_FUNCTION(histogram, 0, | ||
465 | ID2P(LANG_HISTOGRAM_INTERVAL), | ||
466 | history_interval, NULL, NULL, Icon_Menu_setting); | ||
467 | |||
468 | #endif | ||
469 | |||
446 | MENUITEM_FUNCTION(peak_meter_scale_item, 0, ID2P(LANG_PM_SCALE), | 470 | MENUITEM_FUNCTION(peak_meter_scale_item, 0, ID2P(LANG_PM_SCALE), |
447 | peak_meter_scale, NULL, NULL, Icon_NOICON); | 471 | peak_meter_scale, NULL, NULL, Icon_NOICON); |
448 | MENUITEM_FUNCTION(peak_meter_min_item, 0, ID2P(LANG_PM_MIN), | 472 | MENUITEM_FUNCTION(peak_meter_min_item, 0, ID2P(LANG_PM_MIN), |
@@ -455,6 +479,9 @@ MAKE_MENU(peak_meter_menu, ID2P(LANG_PM_MENU), NULL, Icon_NOICON, | |||
455 | #ifdef HAVE_RECORDING | 479 | #ifdef HAVE_RECORDING |
456 | &peak_meter_clipcounter, | 480 | &peak_meter_clipcounter, |
457 | #endif | 481 | #endif |
482 | #ifdef HAVE_HISTOGRAM | ||
483 | &histogram, | ||
484 | #endif | ||
458 | &peak_meter_scale_item, &peak_meter_min_item, &peak_meter_max_item); | 485 | &peak_meter_scale_item, &peak_meter_min_item, &peak_meter_max_item); |
459 | #endif /* HAVE_LCD_BITMAP */ | 486 | #endif /* HAVE_LCD_BITMAP */ |
460 | /* PEAK METER MENU */ | 487 | /* PEAK METER MENU */ |
diff --git a/apps/menus/recording_menu.c b/apps/menus/recording_menu.c index 8eaeab699c..ae237b1b4a 100644 --- a/apps/menus/recording_menu.c +++ b/apps/menus/recording_menu.c | |||
@@ -392,26 +392,6 @@ MENUITEM_FUNCTION(agc_cliptime, 0, ID2P(LANG_RECORDING_AGC_CLIPTIME), | |||
392 | agc_cliptime_func, NULL, NULL, Icon_Menu_setting); | 392 | agc_cliptime_func, NULL, NULL, Icon_Menu_setting); |
393 | #endif /* HAVE_AGC */ | 393 | #endif /* HAVE_AGC */ |
394 | 394 | ||
395 | #if defined(HAVE_RECORDING_HISTOGRAM) | ||
396 | static bool history_interval(void) | ||
397 | { | ||
398 | static const struct opt_items names[] = { | ||
399 | { "0s", TALK_ID(0, UNIT_SEC) }, | ||
400 | { "1s", TALK_ID(1, UNIT_SEC) }, | ||
401 | { "2s", TALK_ID(2, UNIT_SEC) }, | ||
402 | { "4s", TALK_ID(4, UNIT_SEC) } | ||
403 | }; | ||
404 | return set_option(str(LANG_RECORDING_HISTOGRAM_INTERVAL), | ||
405 | &global_settings.rec_histogram_interval, | ||
406 | INT, names, 4, NULL ); | ||
407 | } | ||
408 | |||
409 | MENUITEM_FUNCTION(recording_histogram, 0, | ||
410 | ID2P(LANG_RECORDING_HISTOGRAM_INTERVAL), | ||
411 | history_interval, NULL, NULL, Icon_Menu_setting); | ||
412 | |||
413 | #endif | ||
414 | |||
415 | /** Rec trigger **/ | 395 | /** Rec trigger **/ |
416 | enum trigger_menu_option | 396 | enum trigger_menu_option |
417 | { | 397 | { |
@@ -666,9 +646,6 @@ MAKE_MENU(recording_settings_menu, ID2P(LANG_RECORDING_SETTINGS), | |||
666 | #ifdef HAVE_AGC | 646 | #ifdef HAVE_AGC |
667 | &agc_preset, &agc_cliptime, | 647 | &agc_preset, &agc_cliptime, |
668 | #endif | 648 | #endif |
669 | #if defined(HAVE_RECORDING_HISTOGRAM) | ||
670 | &recording_histogram, | ||
671 | #endif | ||
672 | #ifdef HAVE_LCD_BITMAP | 649 | #ifdef HAVE_LCD_BITMAP |
673 | &peak_meter_menu, | 650 | &peak_meter_menu, |
674 | #endif | 651 | #endif |
diff --git a/apps/recorder/peakmeter.c b/apps/recorder/peakmeter.c index ca1b8c8750..c13c4c9539 100644 --- a/apps/recorder/peakmeter.c +++ b/apps/recorder/peakmeter.c | |||
@@ -28,6 +28,7 @@ | |||
28 | #include "storage.h" | 28 | #include "storage.h" |
29 | #include "lcd.h" | 29 | #include "lcd.h" |
30 | #include "scrollbar.h" | 30 | #include "scrollbar.h" |
31 | #include "string.h" | ||
31 | #include "button.h" | 32 | #include "button.h" |
32 | #include "system.h" | 33 | #include "system.h" |
33 | #include "font.h" | 34 | #include "font.h" |
@@ -64,9 +65,10 @@ static int pm_cur_left; /* current values (last peak_meter_peek) */ | |||
64 | static int pm_cur_right; | 65 | static int pm_cur_right; |
65 | static int pm_max_left; /* maximum values between peak meter draws */ | 66 | static int pm_max_left; /* maximum values between peak meter draws */ |
66 | static int pm_max_right; | 67 | static int pm_max_right; |
67 | #if defined(HAVE_AGC) || defined(HAVE_RECORDING_HISTOGRAM) | 68 | #if defined(HAVE_AGC) || defined(HAVE_HISTOGRAM) |
68 | static int pm_peakhold_left; /* max. peak values between peakhold calls */ | 69 | static int pm_peakhold_left; /* max. peak values between peakhold calls */ |
69 | static int pm_peakhold_right; /* used for AGC and histogram display */ | 70 | static int pm_peakhold_right; /* used for AGC and histogram display */ |
71 | static long next_histogram_update; | ||
70 | #endif | 72 | #endif |
71 | 73 | ||
72 | /* Clip hold */ | 74 | /* Clip hold */ |
@@ -134,6 +136,38 @@ static unsigned int peeks_per_redraw[PEEKS_PER_DRAW_SIZE]; | |||
134 | static unsigned int ticks_per_redraw[TICKS_PER_DRAW_SIZE]; | 136 | static unsigned int ticks_per_redraw[TICKS_PER_DRAW_SIZE]; |
135 | #endif | 137 | #endif |
136 | 138 | ||
139 | #if defined(HAVE_HISTOGRAM) | ||
140 | #define HIST_BUF_SIZE (LCD_WIDTH / 2) | ||
141 | static int hist_l = 0; | ||
142 | static int hist_r = 0; | ||
143 | static unsigned char history_l[HIST_BUF_SIZE]; | ||
144 | static unsigned char history_r[HIST_BUF_SIZE]; | ||
145 | static const char hist_level_marks[6] = { 29, 26, 23, 17, 9, 2}; | ||
146 | static int history_pos = 0; | ||
147 | #define HIST_W (LCD_WIDTH / 2) | ||
148 | #if LCD_DEPTH > 1 | ||
149 | #ifdef HAVE_LCD_COLOR | ||
150 | #define LCD_BAL_L LCD_RGBPACK(0, 0, 255) | ||
151 | #define LCD_BAL_R LCD_RGBPACK(204, 0, 0) | ||
152 | #define LCD_HIST_OVER LCD_RGBPACK(204, 0, 0) | ||
153 | #define LCD_HIST_HI LCD_RGBPACK(255, 204, 0) | ||
154 | #define LCD_HIST_OK LCD_RGBPACK(51, 153, 0) | ||
155 | #else /* HAVE_LCD_COLOR */ | ||
156 | #define LCD_BATT_OK LCD_BLACK | ||
157 | #define LCD_BATT_LO LCD_DARKGRAY | ||
158 | #define LCD_DISK_OK LCD_BLACK | ||
159 | #define LCD_DISK_LO LCD_DARKGRAY | ||
160 | #define LCD_HIST_OVER LCD_BLACK | ||
161 | #define LCD_HIST_OK LCD_DARKGRAY | ||
162 | #define LCD_BAL LCD_DARKGRAY | ||
163 | #endif /* HAVE_LCD_COLOR */ | ||
164 | #else /* LCD_DEPTH > 1 */ | ||
165 | #define LCD_HIST_OVER LCD_DEFAULT_FG | ||
166 | #define LCD_HIST_OK LCD_DEFAULT_FG | ||
167 | #define LCD_BAL LCD_DEFAULT_FG | ||
168 | #endif /* LCD_DEPTH > 1 */ | ||
169 | #endif /* HAVE_HISTOGRAM */ | ||
170 | |||
137 | static void peak_meter_draw(struct screen *display, struct meter_scales *meter_scales, | 171 | static void peak_meter_draw(struct screen *display, struct meter_scales *meter_scales, |
138 | int x, int y, int width, int height); | 172 | int x, int y, int width, int height); |
139 | 173 | ||
@@ -810,7 +844,7 @@ static int peak_meter_read_l(void) | |||
810 | 844 | ||
811 | retval = pm_max_left; | 845 | retval = pm_max_left; |
812 | 846 | ||
813 | #if defined(HAVE_RECORDING_HISTOGRAM) || defined(HAVE_AGC) | 847 | #if defined(HAVE_HISTOGRAM) || defined(HAVE_AGC) |
814 | /* store max peak value for peak_meter_get_peakhold_x readout */ | 848 | /* store max peak value for peak_meter_get_peakhold_x readout */ |
815 | pm_peakhold_left = MAX(pm_max_left, pm_peakhold_left); | 849 | pm_peakhold_left = MAX(pm_max_left, pm_peakhold_left); |
816 | #endif | 850 | #endif |
@@ -843,7 +877,7 @@ static int peak_meter_read_r(void) | |||
843 | 877 | ||
844 | retval = pm_max_right; | 878 | retval = pm_max_right; |
845 | 879 | ||
846 | #if defined(HAVE_RECORDING_HISTOGRAM) || defined(HAVE_AGC) | 880 | #if defined(HAVE_HISTOGRAM) || defined(HAVE_AGC) |
847 | /* store max peak value for peak_meter_get_peakhold_x readout */ | 881 | /* store max peak value for peak_meter_get_peakhold_x readout */ |
848 | pm_peakhold_right = MAX(pm_max_right, pm_peakhold_right); | 882 | pm_peakhold_right = MAX(pm_max_right, pm_peakhold_right); |
849 | #endif | 883 | #endif |
@@ -857,7 +891,7 @@ static int peak_meter_read_r(void) | |||
857 | return retval; | 891 | return retval; |
858 | } | 892 | } |
859 | 893 | ||
860 | #if defined(HAVE_AGC) || defined(HAVE_RECORDING_HISTOGRAM) | 894 | #if defined(HAVE_AGC) || defined(HAVE_HISTOGRAM) |
861 | /** | 895 | /** |
862 | * Reads out the current peak-hold values since the last call. | 896 | * Reads out the current peak-hold values since the last call. |
863 | * This is used by the histogram feature in the recording screen. | 897 | * This is used by the histogram feature in the recording screen. |
@@ -869,6 +903,14 @@ void peak_meter_get_peakhold(int *peak_left, int *peak_right) | |||
869 | *peak_left = pm_peakhold_left; | 903 | *peak_left = pm_peakhold_left; |
870 | if (peak_right) | 904 | if (peak_right) |
871 | *peak_right = pm_peakhold_right; | 905 | *peak_right = pm_peakhold_right; |
906 | |||
907 | #ifdef HAVE_HISTOGRAM | ||
908 | if (*peak_left > hist_l) | ||
909 | hist_l = *peak_left; | ||
910 | if (*peak_right > hist_r) | ||
911 | hist_r = *peak_right; | ||
912 | #endif | ||
913 | |||
872 | pm_peakhold_left = 0; | 914 | pm_peakhold_left = 0; |
873 | pm_peakhold_right = 0; | 915 | pm_peakhold_right = 0; |
874 | } | 916 | } |
@@ -1447,4 +1489,75 @@ bool peak_meter_histogram(void) | |||
1447 | } | 1489 | } |
1448 | #endif | 1490 | #endif |
1449 | 1491 | ||
1492 | #ifdef HAVE_HISTOGRAM | ||
1493 | void histogram_init() | ||
1494 | { | ||
1495 | /* get update interval, clear buffer, reset drawing position */ | ||
1496 | memset(history_l, 0, sizeof(unsigned char)*HIST_BUF_SIZE); | ||
1497 | memset(history_r, 0, sizeof(unsigned char)*HIST_BUF_SIZE); | ||
1498 | next_histogram_update = current_tick + | ||
1499 | (global_settings.histogram_interval * HZ); | ||
1500 | } | ||
1501 | |||
1502 | void histogram_draw(int x1, int x2, int y1, int y2, int width, int height) | ||
1503 | { | ||
1504 | int i, j; | ||
1505 | if (current_tick >= next_histogram_update) | ||
1506 | { | ||
1507 | /* fill history buffer */ | ||
1508 | history_l[history_pos] = hist_l * height / 32767; | ||
1509 | history_r[history_pos] = hist_r * height / 32767; | ||
1510 | history_pos = (history_pos + 1) % HIST_BUF_SIZE; | ||
1511 | history_l[history_pos] = history_r[history_pos] = 0; | ||
1512 | history_l[(history_pos + 1) % HIST_BUF_SIZE] = 0; | ||
1513 | history_r[(history_pos + 1) % HIST_BUF_SIZE] = 0; | ||
1514 | hist_l = 0; | ||
1515 | hist_r = 0; | ||
1516 | next_histogram_update = current_tick + | ||
1517 | (global_settings.histogram_interval * HZ); | ||
1518 | } | ||
1519 | lcd_set_drawmode(DRMODE_SOLID); | ||
1520 | lcd_drawrect(x1, y1, width, height); | ||
1521 | lcd_drawrect(x2, y2, width, height); | ||
1522 | lcd_set_drawmode(DRMODE_FG); | ||
1523 | |||
1524 | j = history_pos; | ||
1525 | for (i = width-2; i >= 0; i--) | ||
1526 | { | ||
1527 | j--; | ||
1528 | if(j<0) | ||
1529 | j = HIST_BUF_SIZE-1; | ||
1530 | if (history_l[j]) | ||
1531 | { | ||
1532 | if (history_l[j] == height) | ||
1533 | lcd_set_foreground(LCD_HIST_OVER); | ||
1534 | #ifdef HAVE_LCD_COLOR | ||
1535 | else if (history_l[j] > hist_level_marks[1]) | ||
1536 | lcd_set_foreground(LCD_HIST_HI); | ||
1537 | #endif | ||
1538 | else | ||
1539 | lcd_set_foreground(LCD_HIST_OK); | ||
1540 | lcd_vline(x1 + i, y1 + height - 2, y1 + height - history_l[j]); | ||
1541 | } | ||
1542 | if (history_r[j]) | ||
1543 | { | ||
1544 | if (history_r[j] == height) | ||
1545 | lcd_set_foreground(LCD_HIST_OVER); | ||
1546 | #ifdef HAVE_LCD_COLOR | ||
1547 | else if (history_r[j] > hist_level_marks[1]) | ||
1548 | lcd_set_foreground(LCD_HIST_HI); | ||
1549 | #endif | ||
1550 | else | ||
1551 | lcd_set_foreground(LCD_HIST_OK); | ||
1552 | lcd_vline(x2 + i, y2 + height - 2, y2 + height - history_r[j]); | ||
1553 | } | ||
1554 | } | ||
1555 | lcd_set_foreground( | ||
1556 | #ifdef HAVE_LCD_COLOR | ||
1557 | global_settings.fg_color); | ||
1558 | #else | ||
1559 | LCD_DEFAULT_FG); | ||
1560 | #endif | ||
1561 | } | ||
1562 | #endif /* HAVE_HISTOGRAM */ | ||
1450 | 1563 | ||
diff --git a/apps/recorder/peakmeter.h b/apps/recorder/peakmeter.h index fee4882679..6be43a5f3a 100644 --- a/apps/recorder/peakmeter.h +++ b/apps/recorder/peakmeter.h | |||
@@ -56,6 +56,11 @@ extern int calc_db (int isample); | |||
56 | extern int peak_meter_db2sample(int db); | 56 | extern int peak_meter_db2sample(int db); |
57 | extern unsigned short peak_meter_scale_value(unsigned short val, int meterwidth); | 57 | extern unsigned short peak_meter_scale_value(unsigned short val, int meterwidth); |
58 | 58 | ||
59 | #ifdef HAVE_HISTOGRAM | ||
60 | extern void histogram_init(void); | ||
61 | extern void histogram_draw(int x1, int x2, int y1, int y2, int width, int height); | ||
62 | #endif | ||
63 | |||
59 | /* valid values for trigger_status */ | 64 | /* valid values for trigger_status */ |
60 | #define TRIG_OFF 0x00 | 65 | #define TRIG_OFF 0x00 |
61 | #define TRIG_READY 0x01 | 66 | #define TRIG_READY 0x01 |
@@ -103,3 +108,4 @@ struct meter_scales{ | |||
103 | 108 | ||
104 | extern void peak_meter_screen(struct screen *display, int x, int y, int height); | 109 | extern void peak_meter_screen(struct screen *display, int x, int y, int height); |
105 | #endif /* __PEAKMETER_H__ */ | 110 | #endif /* __PEAKMETER_H__ */ |
111 | |||
diff --git a/apps/recorder/recording.c b/apps/recorder/recording.c index 34283b6cb5..6faaa6c48c 100644 --- a/apps/recorder/recording.c +++ b/apps/recorder/recording.c | |||
@@ -269,39 +269,9 @@ static short agc_baltime = 0; | |||
269 | /* AGC maximum gain */ | 269 | /* AGC maximum gain */ |
270 | static short agc_maxgain; | 270 | static short agc_maxgain; |
271 | #endif /* HAVE_AGC */ | 271 | #endif /* HAVE_AGC */ |
272 | #if defined(HAVE_AGC) || defined(HAVE_RECORDING_HISTOGRAM) | 272 | #if defined(HAVE_AGC) |
273 | static long hist_time = 0; | 273 | static long hist_time = 0; |
274 | #endif /* HAVE_AGC or HAVE_RECORDING_HISTOGRAM */ | 274 | #endif /* HAVE_AGC */ |
275 | /* Histogram data */ | ||
276 | /* TO DO: move some of this stuff inside the recording function? */ | ||
277 | #ifdef HAVE_RECORDING_HISTOGRAM | ||
278 | static int hist_l = 0; | ||
279 | static int hist_r = 0; | ||
280 | #define HIST_BUF_SIZE (LCD_WIDTH) | ||
281 | #define HIST_Y (hist_pos_y+hist_size_h-1) | ||
282 | #define HIST_W (LCD_WIDTH / 2 - 4) | ||
283 | #if LCD_DEPTH > 1 | ||
284 | #ifdef HAVE_LCD_COLOR | ||
285 | #define LCD_BAL_L LCD_RGBPACK(0, 0, 255) | ||
286 | #define LCD_BAL_R LCD_RGBPACK(204, 0, 0) | ||
287 | #define LCD_HIST_OVER LCD_RGBPACK(204, 0, 0) | ||
288 | #define LCD_HIST_HI LCD_RGBPACK(255, 204, 0) | ||
289 | #define LCD_HIST_OK LCD_RGBPACK(51, 153, 0) | ||
290 | #else /* HAVE_LCD_COLOR */ | ||
291 | #define LCD_BATT_OK LCD_BLACK | ||
292 | #define LCD_BATT_LO LCD_DARKGRAY | ||
293 | #define LCD_DISK_OK LCD_BLACK | ||
294 | #define LCD_DISK_LO LCD_DARKGRAY | ||
295 | #define LCD_HIST_OVER LCD_BLACK | ||
296 | #define LCD_HIST_OK LCD_DARKGRAY | ||
297 | #define LCD_BAL LCD_DARKGRAY | ||
298 | #endif /* HAVE_LCD_COLOR */ | ||
299 | #else /* LCD_DEPTH > 1 */ | ||
300 | #define LCD_HIST_OVER LCD_DEFAULT_FG | ||
301 | #define LCD_HIST_OK LCD_DEFAULT_FG | ||
302 | #define LCD_BAL LCD_DEFAULT_FG | ||
303 | #endif /* LCD_DEPTH > 1 */ | ||
304 | #endif /* HAVE_RECORDING_HISTOGRAM */ | ||
305 | 275 | ||
306 | static void set_gain(void) | 276 | static void set_gain(void) |
307 | { | 277 | { |
@@ -368,13 +338,6 @@ static bool read_peak_levels(int *peak_l, int *peak_r, int *balance) | |||
368 | *balance += balance_mem[i]; | 338 | *balance += balance_mem[i]; |
369 | *balance = *balance / BAL_MEM_SIZE; | 339 | *balance = *balance / BAL_MEM_SIZE; |
370 | 340 | ||
371 | #ifdef HAVE_RECORDING_HISTOGRAM | ||
372 | if (*peak_l > hist_l) | ||
373 | hist_l = *peak_l; | ||
374 | if (*peak_r > hist_r) | ||
375 | hist_r = *peak_r; | ||
376 | #endif | ||
377 | |||
378 | return true; | 341 | return true; |
379 | } | 342 | } |
380 | 343 | ||
@@ -1089,18 +1052,12 @@ bool recording_screen(bool no_source) | |||
1089 | /* tweak layout tiny screens / big fonts */ | 1052 | /* tweak layout tiny screens / big fonts */ |
1090 | bool compact_view[NB_SCREENS] = { false }; | 1053 | bool compact_view[NB_SCREENS] = { false }; |
1091 | struct gui_synclist lists; /* the list in the bottom vp */ | 1054 | struct gui_synclist lists; /* the list in the bottom vp */ |
1092 | #if defined(HAVE_AGC) || defined(HAVE_RECORDING_HISTOGRAM) | 1055 | #if defined(HAVE_AGC) |
1093 | bool peak_valid = false; | 1056 | bool peak_valid = false; |
1094 | #endif | 1057 | #endif |
1095 | #if defined(HAVE_RECORDING_HISTOGRAM) | 1058 | #if defined(HAVE_HISTOGRAM) |
1096 | int j; | ||
1097 | unsigned short hist_pos_y = 0; | 1059 | unsigned short hist_pos_y = 0; |
1098 | unsigned short hist_size_h = 0; | 1060 | unsigned short hist_size_h = 0; |
1099 | int history_pos = 0; | ||
1100 | short hist_time_interval = 1; /* 1, 2, 4, 8 */ | ||
1101 | unsigned char history_l[HIST_BUF_SIZE]; | ||
1102 | unsigned char history_r[HIST_BUF_SIZE]; | ||
1103 | const char hist_level_marks[6] = { 29, 26, 23, 17, 9, 2}; | ||
1104 | #endif | 1061 | #endif |
1105 | #ifdef HAVE_FMRADIO_REC | 1062 | #ifdef HAVE_FMRADIO_REC |
1106 | int prev_rec_source = global_settings.rec_source; /* detect source change */ | 1063 | int prev_rec_source = global_settings.rec_source; /* detect source change */ |
@@ -1186,10 +1143,9 @@ bool recording_screen(bool no_source) | |||
1186 | /* top vp, 4 lines, force sys font if total screen < 6 lines | 1143 | /* top vp, 4 lines, force sys font if total screen < 6 lines |
1187 | NOTE: one could limit the list to 1 line and get away with 5 lines */ | 1144 | NOTE: one could limit the list to 1 line and get away with 5 lines */ |
1188 | top_height_req[i] = 4; | 1145 | top_height_req[i] = 4; |
1189 | #if defined(HAVE_RECORDING_HISTOGRAM) | 1146 | #if defined(HAVE_HISTOGRAM) |
1190 | if((global_settings.rec_histogram_interval) && (!i)) | 1147 | if((global_settings.histogram_interval) && (!i)) |
1191 | top_height_req[i] += 1; /* use one line for histogram */ | 1148 | top_height_req[i] += 1; /* use one line for histogram */ |
1192 | hist_time_interval = 1 << global_settings.rec_histogram_interval; | ||
1193 | #endif | 1149 | #endif |
1194 | v = &vp_top[i]; | 1150 | v = &vp_top[i]; |
1195 | viewport_set_defaults(v, i); | 1151 | viewport_set_defaults(v, i); |
@@ -1229,13 +1185,11 @@ bool recording_screen(bool no_source) | |||
1229 | 1185 | ||
1230 | send_event(GUI_EVENT_ACTIONUPDATE, (void*)1); /* force a redraw */ | 1186 | send_event(GUI_EVENT_ACTIONUPDATE, (void*)1); /* force a redraw */ |
1231 | 1187 | ||
1232 | #if defined(HAVE_RECORDING_HISTOGRAM) | 1188 | #if defined(HAVE_HISTOGRAM) |
1233 | history_pos = 0; | ||
1234 | hist_pos_y = (compact_view[0] ? 3 : 4) * (font_get(vp_top[0].font)->height) | 1189 | hist_pos_y = (compact_view[0] ? 3 : 4) * (font_get(vp_top[0].font)->height) |
1235 | + 1; | 1190 | + 1; |
1236 | hist_size_h = font_get(vp_top[0].font)->height - 2; | 1191 | hist_size_h = font_get(vp_top[0].font)->height - 2; |
1237 | memset(history_l, 0, sizeof(unsigned char)*HIST_BUF_SIZE); | 1192 | histogram_init(); |
1238 | memset(history_r, 0, sizeof(unsigned char)*HIST_BUF_SIZE); | ||
1239 | #endif | 1193 | #endif |
1240 | 1194 | ||
1241 | FOR_NB_SCREENS(i) | 1195 | FOR_NB_SCREENS(i) |
@@ -1887,75 +1841,21 @@ bool recording_screen(bool no_source) | |||
1887 | } | 1841 | } |
1888 | } | 1842 | } |
1889 | 1843 | ||
1890 | #ifdef HAVE_RECORDING_HISTOGRAM | 1844 | #ifdef HAVE_HISTOGRAM |
1891 | if(global_settings.rec_histogram_interval) | 1845 | if(global_settings.histogram_interval) |
1892 | { | ||
1893 | if (peak_valid && !(hist_time % hist_time_interval) && hist_l) | ||
1894 | { | 1846 | { |
1895 | /* fill history buffer */ | 1847 | histogram_draw(0, |
1896 | history_l[history_pos] = hist_l * hist_size_h / 32767; | 1848 | screens[0].getwidth()/2, |
1897 | history_r[history_pos] = hist_r * hist_size_h / 32767; | 1849 | hist_pos_y, |
1898 | history_pos = (history_pos + 1) % HIST_BUF_SIZE; | 1850 | hist_pos_y, |
1899 | history_l[history_pos] = history_r[history_pos] = 0; | 1851 | screens[0].getwidth()/2, |
1900 | history_l[(history_pos + 1) % HIST_BUF_SIZE] = 0; | 1852 | hist_size_h); |
1901 | history_r[(history_pos + 1) % HIST_BUF_SIZE] = 0; | ||
1902 | hist_l = 0; | ||
1903 | hist_r = 0; | ||
1904 | } | 1853 | } |
1905 | lcd_set_drawmode(DRMODE_SOLID); | ||
1906 | lcd_drawrect(0, hist_pos_y - 1, | ||
1907 | HIST_W + 2, hist_size_h + 1); | ||
1908 | lcd_drawrect(HIST_W + 6, hist_pos_y - 1, | ||
1909 | HIST_W + 2, hist_size_h + 1); | ||
1910 | lcd_set_drawmode(DRMODE_FG); | ||
1911 | |||
1912 | j = history_pos; | ||
1913 | for (i = HIST_W-1; i >= 0; i--) | ||
1914 | { | ||
1915 | j--; | ||
1916 | if(j<0) | ||
1917 | j = HIST_BUF_SIZE-1; | ||
1918 | if (history_l[j]) | ||
1919 | { | ||
1920 | if (history_l[j] == hist_size_h) | ||
1921 | lcd_set_foreground(LCD_HIST_OVER); | ||
1922 | #ifdef HAVE_LCD_COLOR | ||
1923 | else if (history_l[j] > hist_level_marks[1]) | ||
1924 | lcd_set_foreground(LCD_HIST_HI); | ||
1925 | #endif | 1854 | #endif |
1926 | else | ||
1927 | lcd_set_foreground(LCD_HIST_OK); | ||
1928 | lcd_vline(1 + i, HIST_Y-1, HIST_Y - history_l[j]); | ||
1929 | } | ||
1930 | if (history_r[j]) | ||
1931 | { | ||
1932 | if (history_r[j] == hist_size_h) | ||
1933 | lcd_set_foreground(LCD_HIST_OVER); | ||
1934 | #ifdef HAVE_LCD_COLOR | ||
1935 | else if (history_r[j] > hist_level_marks[1]) | ||
1936 | lcd_set_foreground(LCD_HIST_HI); | ||
1937 | #endif | ||
1938 | else | ||
1939 | lcd_set_foreground(LCD_HIST_OK); | ||
1940 | lcd_vline(HIST_W+7 + i, HIST_Y-1, HIST_Y - history_r[j]); | ||
1941 | } | ||
1942 | } | ||
1943 | lcd_set_foreground( | ||
1944 | #ifdef HAVE_LCD_COLOR | ||
1945 | global_settings.fg_color); | ||
1946 | #else | ||
1947 | LCD_DEFAULT_FG); | ||
1948 | #endif | ||
1949 | for (i = 0; i < 6; i++) | ||
1950 | lcd_hline(HIST_W + 3, HIST_W + 4, | ||
1951 | HIST_Y - hist_level_marks[i]); | ||
1952 | } | ||
1953 | #endif /* HAVE_RECORDING_HISTOGRAM */ | ||
1954 | 1855 | ||
1955 | #ifdef HAVE_AGC | 1856 | #ifdef HAVE_AGC |
1956 | hist_time++; | 1857 | hist_time++; |
1957 | #endif | 1858 | #endif |
1958 | |||
1959 | /* draw the trigger status */ | 1859 | /* draw the trigger status */ |
1960 | if (peak_meter_trigger_status() != TRIG_OFF) | 1860 | if (peak_meter_trigger_status() != TRIG_OFF) |
1961 | { | 1861 | { |
diff --git a/apps/settings.h b/apps/settings.h index bed88c82ea..05965b3119 100644 --- a/apps/settings.h +++ b/apps/settings.h | |||
@@ -438,8 +438,8 @@ struct user_settings | |||
438 | int rec_stop_gap; /* index of trig_durations */ | 438 | int rec_stop_gap; /* index of trig_durations */ |
439 | int rec_trigger_mode; /* see TRIG_MODE_XXX constants */ | 439 | int rec_trigger_mode; /* see TRIG_MODE_XXX constants */ |
440 | int rec_trigger_type; /* what to do when trigger released */ | 440 | int rec_trigger_type; /* what to do when trigger released */ |
441 | #ifdef HAVE_RECORDING_HISTOGRAM | 441 | #ifdef HAVE_HISTOGRAM |
442 | int rec_histogram_interval; /* recording peakmeter histogram */ | 442 | int histogram_interval; /* recording peakmeter histogram */ |
443 | #endif | 443 | #endif |
444 | 444 | ||
445 | #ifdef HAVE_AGC | 445 | #ifdef HAVE_AGC |
diff --git a/apps/settings_list.c b/apps/settings_list.c index f282b8afc0..019a14437e 100644 --- a/apps/settings_list.c +++ b/apps/settings_list.c | |||
@@ -1238,14 +1238,14 @@ const struct settings_list settings[] = { | |||
1238 | CHOICE_SETTING(F_RECSETTING, rec_trigger_type, LANG_RECORD_TRIGGER_TYPE, TRIG_TYPE_STOP, | 1238 | CHOICE_SETTING(F_RECSETTING, rec_trigger_type, LANG_RECORD_TRIGGER_TYPE, TRIG_TYPE_STOP, |
1239 | "trigger type","stop,pause,nf stp", NULL ,3, | 1239 | "trigger type","stop,pause,nf stp", NULL ,3, |
1240 | ID2P(LANG_RECORD_TRIGGER_STOP), ID2P(LANG_PAUSE), ID2P(LANG_RECORD_TRIGGER_NEWFILESTP)), | 1240 | ID2P(LANG_RECORD_TRIGGER_STOP), ID2P(LANG_PAUSE), ID2P(LANG_RECORD_TRIGGER_NEWFILESTP)), |
1241 | #ifdef HAVE_RECORDING_HISTOGRAM | 1241 | #endif /* HAVE_RECORDING */ |
1242 | |||
1243 | #ifdef HAVE_HISTOGRAM | ||
1242 | /* TO DO: additional restictions of following REP items? */ | 1244 | /* TO DO: additional restictions of following REP items? */ |
1243 | TABLE_SETTING(F_RECSETTING, rec_histogram_interval, LANG_RECORDING_HISTOGRAM_INTERVAL, 0, | 1245 | TABLE_SETTING(F_RECSETTING, histogram_interval, LANG_HISTOGRAM_INTERVAL, 0, |
1244 | "histogram interval","0s,1s,2s,4s", | 1246 | "histogram interval","0s,1s,2s,4s", |
1245 | UNIT_SEC, NULL, NULL, NULL, 4, 0,1,2,4), | 1247 | UNIT_SEC, NULL, NULL, NULL, 4, 0,1,2,4), |
1246 | #endif /* HAVE_RECORDING_HISTOGRAM */ | 1248 | #endif /* HAVE_HISTOGRAM */ |
1247 | |||
1248 | #endif /* HAVE_RECORDING */ | ||
1249 | 1249 | ||
1250 | #ifdef HAVE_SPDIF_POWER | 1250 | #ifdef HAVE_SPDIF_POWER |
1251 | OFFON_SETTING(F_SOUNDSETTING, spdif_enable, LANG_SPDIF_ENABLE, false, | 1251 | OFFON_SETTING(F_SOUNDSETTING, spdif_enable, LANG_SPDIF_ENABLE, false, |
diff --git a/firmware/export/config/iriverh100.h b/firmware/export/config/iriverh100.h index 4ebbde8ab1..1a89c7ca2d 100644 --- a/firmware/export/config/iriverh100.h +++ b/firmware/export/config/iriverh100.h | |||
@@ -123,7 +123,7 @@ | |||
123 | 123 | ||
124 | #define HAVE_AGC | 124 | #define HAVE_AGC |
125 | 125 | ||
126 | #define HAVE_RECORDING_HISTOGRAM | 126 | #define HAVE_HISTOGRAM |
127 | 127 | ||
128 | #define BATTERY_CAPACITY_DEFAULT 1300 /* default battery capacity */ | 128 | #define BATTERY_CAPACITY_DEFAULT 1300 /* default battery capacity */ |
129 | #define BATTERY_CAPACITY_MIN 1300 /* min. capacity selectable */ | 129 | #define BATTERY_CAPACITY_MIN 1300 /* min. capacity selectable */ |
diff --git a/firmware/export/config/iriverh120.h b/firmware/export/config/iriverh120.h index 44b8988a1b..199b948245 100644 --- a/firmware/export/config/iriverh120.h +++ b/firmware/export/config/iriverh120.h | |||
@@ -114,7 +114,7 @@ | |||
114 | /* define this if you have recording possibility */ | 114 | /* define this if you have recording possibility */ |
115 | #define HAVE_RECORDING | 115 | #define HAVE_RECORDING |
116 | 116 | ||
117 | #define HAVE_RECORDING_HISTOGRAM | 117 | #define HAVE_HISTOGRAM |
118 | 118 | ||
119 | /* Define bitmask of input sources - recordable bitmask can be defined | 119 | /* Define bitmask of input sources - recordable bitmask can be defined |
120 | explicitly if different */ | 120 | explicitly if different */ |
diff --git a/firmware/export/config/iriverh300.h b/firmware/export/config/iriverh300.h index c4224d03c6..dbe701362a 100644 --- a/firmware/export/config/iriverh300.h +++ b/firmware/export/config/iriverh300.h | |||
@@ -110,7 +110,7 @@ | |||
110 | /* define this if you have recording possibility */ | 110 | /* define this if you have recording possibility */ |
111 | #define HAVE_RECORDING | 111 | #define HAVE_RECORDING |
112 | 112 | ||
113 | #define HAVE_RECORDING_HISTOGRAM | 113 | #define HAVE_HISTOGRAM |
114 | 114 | ||
115 | /* Define bitmask of input sources - recordable bitmask can be defined | 115 | /* Define bitmask of input sources - recordable bitmask can be defined |
116 | explicitly if different */ | 116 | explicitly if different */ |