]> git.rkrishnan.org Git - pihpsdr.git/commitdiff
delete client server code
authorRamakrishnan Muthukrishnan <ram@rkrishnan.org>
Mon, 9 Dec 2024 17:39:41 +0000 (23:09 +0530)
committerRamakrishnan Muthukrishnan <ram@rkrishnan.org>
Mon, 9 Dec 2024 17:39:41 +0000 (23:09 +0530)
meter.h
old_protocol.c
old_protocol.h
radio.c

diff --git a/meter.h b/meter.h
index 7c3bfd285f5de592c2a4743e5584adbf3c332a37..2313da16fb7257c37fbfb06e6e6a5158c1d2dbe6 100644 (file)
--- a/meter.h
+++ b/meter.h
@@ -21,6 +21,7 @@
 #define _METER_H
 
 #include <gtk/gtk.h>
+#include "receiver.h"
 
 #define SMETER 0
 #define POWER 1
index ecc920f7c60843a3c28f1e24016f764a75179dce..0c2967f8cb9dd852a9ced98640bc4cceb2a269c1 100644 (file)
@@ -152,8 +152,6 @@ static int proto_val;
 
 //static int buffer_size=BUFFER_SIZE;
 
-static int display_width;
-
 static int data_socket=-1;
 static int tcp_socket=-1;
 static struct sockaddr_in data_addr;
@@ -215,7 +213,7 @@ void old_protocol_set_mic_sample_rate(int rate) {
     mic_sample_divisor=rate/48000;
 }
 
-void old_protocol_init(int rx,int pixels,int rate) {
+void old_protocol_init(int rx,int rate) {
     int i;
     log_trace("old_protocol_init: num_hpsdr_receivers=%d",how_many_receivers());
 
@@ -228,8 +226,6 @@ void old_protocol_init(int rx,int pixels,int rate) {
        }
     }
 
-    display_width=pixels;
     {
        log_trace("old_protocol starting receive thread: buffer_size=%d output_buffer_size=%d",buffer_size,output_buffer_size);
        if (radio->use_tcp) {
@@ -1218,8 +1214,6 @@ void old_protocol_iq_samples(int isample,int qsample) {
 */
 
 void ozy_send_buffer() {
-
-
     int txmode=get_tx_mode();
     int txvfo=get_tx_vfo();
     int i;
index 49f6e7c146aeb61fe7b0b841a26d6a3f52f9533a..1bccef07efb881d7bb816fc1124c38434b53040e 100644 (file)
@@ -23,7 +23,7 @@
 extern void old_protocol_stop();
 extern void old_protocol_run();
 
-extern void old_protocol_init(int rx,int pixels,int rate);
+extern void old_protocol_init(int rx, int rate);
 extern void old_protocol_set_mic_sample_rate(int rate);
 
 extern void old_protocol_audio_samples(RECEIVER *rx,short left_audio_sample,short right_audio_sample);
diff --git a/radio.c b/radio.c
index 8fe112aaee309e3f15a3185123463dd1cbccb0cb..7355837130818cbc5f313e31cba56df35885b974 100644 (file)
--- a/radio.c
+++ b/radio.c
 #include <wdsp.h>
 
 #include "adc.h"
-#include "audio.h"
 #include "dac.h"
 #include "discovered.h"
 // #include "discovery.h"
 #include "actions.h"
-#include "agc.h"
 #include "band.h"
 #include "channel.h"
 #include "ext.h"
 #include "radio.h"
 #include "receiver.h"
 #include "rigctl.h"
-#include "rx_panadapter.h"
 #include "screen.h"
 #include "sliders.h"
 #include "store.h"
 #include "toolbar.h"
 #include "transmitter.h"
-#include "tx_panadapter.h"
 #include "vfo.h"
 #include "vox.h"
-#include "waterfall.h"
 #include "zoompan.h"
 #include "log.h"
 
@@ -79,9 +74,6 @@
 // we need here to make a strict compiler happy.
 // extern void MIDIstartup();
 #endif
-#ifdef CLIENT_SERVER
-#include "client_server.h"
-#endif
 
 #define min(x, y) (x < y ? x : y)
 #define max(x, y) (x < y ? y : x)
@@ -117,10 +109,10 @@ static GtkWidget *toolbar;
 long long calibration = 0LL;
 
 /*
-#ifdef GPIO
-static GtkWidget *encoders;
-static cairo_surface_t *encoders_surface = NULL;
-#endif
+  #ifdef GPIO
+  static GtkWidget *encoders;
+  static cairo_surface_t *encoders_surface = NULL;
+  #endif
 */
 gint sat_mode;
 
@@ -132,9 +124,6 @@ int radio_sample_rate;
 gboolean iqswap;
 
 DISCOVERED *radio = NULL;
-#ifdef CLIENT_SERVER
-gboolean radio_is_remote = FALSE;
-#endif
 
 char property_path[128];
 GMutex property_mutex;
@@ -519,30 +508,16 @@ static void create_visual() {
     // If upon startup, we only should display one panel, we do the switch below
     //
     for (int i = 0; i < RECEIVERS; i++) {
-#ifdef CLIENT_SERVER
-        if (radio_is_remote) {
-            receiver_create_remote(receiver[i]);
-        } else {
-#endif
-            receiver[i] = create_receiver(i, buffer_size, fft_size,
-                                          display_width, updates_per_second,
-                                          display_width, rx_height / RECEIVERS);
-            setSquelch(receiver[i]);
-#ifdef CLIENT_SERVER
-        }
-#endif
+       receiver[i] = create_receiver(i, buffer_size, fft_size,
+                                     display_width, updates_per_second,
+                                     display_width, rx_height / RECEIVERS);
+       setSquelch(receiver[i]);
         receiver[i]->x = 0;
         receiver[i]->y = y;
         receiver[i]->active_vfo = VFO_A;
         // Upon startup, if RIT or CTUN is active, tell WDSP.
-#ifdef CLIENT_SERVER
-        if (!radio_is_remote) {
-#endif
-            set_displaying(receiver[i], 1);
-            set_offset(receiver[i], vfo[i].offset);
-#ifdef CLIENT_SERVER
-        }
-#endif
+       set_displaying(receiver[i], 1);
+       set_offset(receiver[i], vfo[i].offset);
         gtk_fixed_put(GTK_FIXED(fixed), receiver[i]->panel, 0, y);
         g_object_ref((gpointer)receiver[i]->panel);
         y += rx_height / RECEIVERS;
@@ -560,68 +535,62 @@ static void create_visual() {
     active_receiver = receiver[0];
 
 // TEMP
-#ifdef CLIENT_SERVER
-    if (!radio_is_remote) {
-#endif
-        if (can_transmit) {
-            if (duplex) {
-                transmitter = create_transmitter(
-                    CHANNEL_TX, buffer_size, fft_size, updates_per_second,
-                    display_width / 4, display_height / 2);
-            } else {
-                int tx_height = display_height - VFO_HEIGHT;
-                if (display_zoompan)
-                    tx_height -= ZOOMPAN_HEIGHT;
-                if (display_sliders)
-                    tx_height -= SLIDERS_HEIGHT;
-                if (display_toolbar)
-                    tx_height -= TOOLBAR_HEIGHT;
-                transmitter = create_transmitter(CHANNEL_TX, buffer_size,
-                                                 fft_size, updates_per_second,
-                                                 display_width, tx_height);
-            }
-            transmitter->x = 0;
-            transmitter->y = VFO_HEIGHT;
+    if (can_transmit) {
+       if (duplex) {
+           transmitter = create_transmitter(
+               CHANNEL_TX, buffer_size, fft_size, updates_per_second,
+               display_width / 4, display_height / 2);
+       } else {
+           int tx_height = display_height - VFO_HEIGHT;
+           if (display_zoompan)
+               tx_height -= ZOOMPAN_HEIGHT;
+           if (display_sliders)
+               tx_height -= SLIDERS_HEIGHT;
+           if (display_toolbar)
+               tx_height -= TOOLBAR_HEIGHT;
+           transmitter = create_transmitter(CHANNEL_TX, buffer_size,
+                                            fft_size, updates_per_second,
+                                            display_width, tx_height);
+       }
+       transmitter->x = 0;
+       transmitter->y = VFO_HEIGHT;
 
-            calcDriveLevel();
+       calcDriveLevel();
 
 #ifdef PURESIGNAL
-            if (protocol == NEW_PROTOCOL || protocol == ORIGINAL_PROTOCOL) {
-                tx_set_ps_sample_rate(transmitter,
-                                      protocol == NEW_PROTOCOL
-                                          ? 192000
-                                          : active_receiver->sample_rate);
-                receiver[PS_TX_FEEDBACK] = create_pure_signal_receiver(
-                    PS_TX_FEEDBACK, buffer_size,
-                    protocol == ORIGINAL_PROTOCOL ? active_receiver->sample_rate
-                                                  : 192000,
-                    display_width);
-                receiver[PS_RX_FEEDBACK] = create_pure_signal_receiver(
-                    PS_RX_FEEDBACK, buffer_size,
-                    protocol == ORIGINAL_PROTOCOL ? active_receiver->sample_rate
-                                                  : 192000,
-                    display_width);
-                switch (protocol) {
-                case NEW_PROTOCOL:
-                    pk = 0.2899;
-                    break;
-                case ORIGINAL_PROTOCOL:
-                    switch (device) {
-                    case DEVICE_HERMES_LITE2:
-                        pk = 0.2300;
-                        break;
-                    default:
-                        pk = 0.4067;
-                        break;
-                    }
-                }
-                SetPSHWPeak(transmitter->id, pk);
-            }
+       if (protocol == NEW_PROTOCOL || protocol == ORIGINAL_PROTOCOL) {
+           tx_set_ps_sample_rate(transmitter,
+                                 protocol == NEW_PROTOCOL
+                                 ? 192000
+                                 : active_receiver->sample_rate);
+           receiver[PS_TX_FEEDBACK] = create_pure_signal_receiver(
+               PS_TX_FEEDBACK, buffer_size,
+               protocol == ORIGINAL_PROTOCOL ? active_receiver->sample_rate
+               : 192000,
+               display_width);
+           receiver[PS_RX_FEEDBACK] = create_pure_signal_receiver(
+               PS_RX_FEEDBACK, buffer_size,
+               protocol == ORIGINAL_PROTOCOL ? active_receiver->sample_rate
+               : 192000,
+               display_width);
+           switch (protocol) {
+           case NEW_PROTOCOL:
+               pk = 0.2899;
+               break;
+           case ORIGINAL_PROTOCOL:
+               switch (device) {
+               case DEVICE_HERMES_LITE2:
+                   pk = 0.2300;
+                   break;
+               default:
+                   pk = 0.4067;
+                   break;
+               }
+           }
+           SetPSHWPeak(transmitter->id, pk);
+       }
 #endif
-        }
-#ifdef CLIENT_SERVER
     }
-#endif
 
 #ifdef AUDIO_WATERFALL
     audio_waterfall = audio_waterfall_init(200, 100);
@@ -661,20 +630,14 @@ static void create_visual() {
 #endif
 #endif
 
-#ifdef CLIENT_SERVER
-    if (!radio_is_remote) {
-#endif
-        switch (protocol) {
-        case ORIGINAL_PROTOCOL:
-            old_protocol_init(0, display_width, receiver[0]->sample_rate);
-            break;
-        case NEW_PROTOCOL:
-            new_protocol_init(display_width);
-            break;
-        }
-#ifdef CLIENT_SERVER
+    switch (protocol) {
+    case ORIGINAL_PROTOCOL:
+       old_protocol_init(0, receiver[0]->sample_rate);
+       break;
+    case NEW_PROTOCOL:
+       new_protocol_init(display_width);
+       break;
     }
-#endif
 
     if (display_zoompan) {
         zoompan = zoompan_init(display_width, ZOOMPAN_HEIGHT);
@@ -700,7 +663,7 @@ static void create_visual() {
         receivers = RECEIVERS;
         log_trace("create_visual: calling radio_change_receivers: receivers=%d "
                  "r=%d",
-                receivers, r);
+                 receivers, r);
         radio_change_receivers(r);
     }
 
@@ -877,7 +840,7 @@ void start_radio(DISCOVERED *d) {
         if (device == DEVICE_OZY) {
             sprintf(text, "%s (%s) on USB /dev/ozy\n", radio->name,
                     protocol == ORIGINAL_PROTOCOL ? "Protocol 1"
-                                                  : "Protocol 2");
+                   : "Protocol 2");
         } else {
 #endif
             sprintf(text, "Starting %s (%s v%d.%d)", radio->name,
@@ -1042,14 +1005,14 @@ void start_radio(DISCOVERED *d) {
     iqswap = 0;
 
     /*
-    adc_attenuation[0]=0;
-    adc_attenuation[1]=0;
+      adc_attenuation[0]=0;
+      adc_attenuation[1]=0;
 
-    if(have_rx_gain) {
+      if(have_rx_gain) {
       adc_attenuation[0]=14;
       adc_attenuation[1]=14;
-    }
-  */
+      }
+    */
     adc[0].antenna = ANTENNA_1;
     adc[0].filters = AUTOMATIC;
     adc[0].hpf = HPF_13;
@@ -1198,7 +1161,7 @@ void start_radio(DISCOVERED *d) {
     //
 #ifdef MIDI
     log_trace("%s: midi_enabled=%d midi_device_name=%s", __FUNCTION__,
-            midi_enabled, midi_device_name);
+             midi_enabled, midi_device_name);
     if (midi_enabled && (midi_device_name != NULL)) {
         if (register_midi_device(midi_device_name) < 0) {
             midi_enabled = FALSE;
@@ -1211,11 +1174,6 @@ void start_radio(DISCOVERED *d) {
     }
 #endif
 
-#ifdef CLIENT_SERVER
-    if (hpsdr_server) {
-        create_hpsdr_server();
-    }
-#endif
 }
 
 void disable_rigctl() {
@@ -1229,19 +1187,13 @@ void radio_change_receivers(int r) {
     // number of receivers has not changed.
     if (receivers == r)
         return;
-        //
-        // When changing the number of receivers, restart the
-        // old protocol
-        //
-#ifdef CLIENT_SERVER
-    if (!radio_is_remote) {
-#endif
-        if (protocol == ORIGINAL_PROTOCOL) {
-            old_protocol_stop();
-        }
-#ifdef CLIENT_SERVER
+    //
+    // When changing the number of receivers, restart the
+    // old protocol
+    //
+    if (protocol == ORIGINAL_PROTOCOL) {
+       old_protocol_stop();
     }
-#endif
     switch (r) {
     case 1:
         set_displaying(receiver[1], 0);
@@ -1256,18 +1208,12 @@ void radio_change_receivers(int r) {
     }
     reconfigure_radio();
     active_receiver = receiver[0];
-#ifdef CLIENT_SERVER
-    if (!radio_is_remote) {
-#endif
-        if (protocol == NEW_PROTOCOL) {
-            schedule_high_priority();
-        }
-        if (protocol == ORIGINAL_PROTOCOL) {
-            old_protocol_run();
-        }
-#ifdef CLIENT_SERVER
+    if (protocol == NEW_PROTOCOL) {
+       schedule_high_priority();
+    }
+    if (protocol == ORIGINAL_PROTOCOL) {
+       old_protocol_run();
     }
-#endif
 }
 
 void radio_change_sample_rate(int rate) {
@@ -1457,7 +1403,7 @@ void setTune(int state) {
                     struct timeval te;
                     gettimeofday(&te, NULL);
                     tune_timeout = (te.tv_sec * 1000LL + te.tv_usec / 1000) +
-                                   (long long)OCfull_tune_time;
+                       (long long)OCfull_tune_time;
                 }
             }
             if (memory_tune) {
@@ -1465,7 +1411,7 @@ void setTune(int state) {
                     struct timeval te;
                     gettimeofday(&te, NULL);
                     tune_timeout = (te.tv_sec * 1000LL + te.tv_usec / 1000) +
-                                   (long long)OCmemory_tune_time;
+                       (long long)OCmemory_tune_time;
                 }
             }
         }
@@ -1726,435 +1672,418 @@ void radioRestoreState() {
     if (value)
         display_toolbar = atoi(value);
 
-#ifdef CLIENT_SERVER
-    if (radio_is_remote) {
-#ifdef CLIENT_SERVER
-#endif
-    } else {
-#endif
 
-        value = getProperty("radio_sample_rate");
-        if (value)
-            radio_sample_rate = atoi(value);
-        value = getProperty("diversity_enabled");
-        if (value)
-            diversity_enabled = atoi(value);
-        value = getProperty("diversity_gain");
-        if (value)
-            div_gain = atof(value);
-        value = getProperty("diversity_phase");
-        if (value)
-            div_phase = atof(value);
-        value = getProperty("diversity_cos");
-        if (value)
-            div_cos = atof(value);
-        value = getProperty("diversity_sin");
-        if (value)
-            div_sin = atof(value);
-        value = getProperty("new_pa_board");
-        if (value)
-            new_pa_board = atoi(value);
-        value = getProperty("region");
-        if (value)
-            region = atoi(value);
-        value = getProperty("buffer_size");
-        if (value)
-            buffer_size = atoi(value);
-        value = getProperty("fft_size");
-        if (value)
-            fft_size = atoi(value);
-        value = getProperty("atlas_penelope");
-        if (value)
-            atlas_penelope = atoi(value);
-        value = getProperty("tx_out_of_band");
-        if (value)
-            tx_out_of_band = atoi(value);
-        value = getProperty("filter_board");
-        if (value)
-            filter_board = atoi(value);
-        value = getProperty("pa_enabled");
-        if (value)
-            pa_enabled = atoi(value);
-        value = getProperty("pa_power");
-        if (value)
-            pa_power = atoi(value);
-        for (i = 0; i < 11; i++) {
-            sprintf(name, "pa_trim[%d]", i);
-            value = getProperty(name);
-            if (value)
-                pa_trim[i] = atoi(value);
-        }
-        value = getProperty("updates_per_second");
-        if (value)
-            updates_per_second = atoi(value);
-        value = getProperty("display_detector_mode");
-        if (value)
-            display_detector_mode = atoi(value);
-        value = getProperty("display_average_mode");
-        if (value)
-            display_average_mode = atoi(value);
-        value = getProperty("display_average_time");
-        if (value)
-            display_average_time = atof(value);
-        value = getProperty("panadapter_high");
-        if (value)
-            panadapter_high = atoi(value);
-        value = getProperty("panadapter_low");
-        if (value)
-            panadapter_low = atoi(value);
-        value = getProperty("waterfall_high");
-        if (value)
-            waterfall_high = atoi(value);
-        value = getProperty("waterfall_low");
-        if (value)
-            waterfall_low = atoi(value);
-        value = getProperty("mic_gain");
-        if (value)
-            mic_gain = atof(value);
-        value = getProperty("mic_boost");
-        if (value)
-            mic_boost = atof(value);
-        value = getProperty("mic_linein");
-        if (value)
-            mic_linein = atoi(value);
-        value = getProperty("linein_gain");
-        if (value)
-            linein_gain = atoi(value);
-        value = getProperty("mic_ptt_enabled");
-        if (value)
-            mic_ptt_enabled = atof(value);
-        value = getProperty("mic_bias_enabled");
-        if (value)
-            mic_bias_enabled = atof(value);
-        value = getProperty("mic_ptt_tip_bias_ring");
-        if (value)
-            mic_ptt_tip_bias_ring = atof(value);
-
-        value = getProperty("tx_filter_low");
-        if (value)
-            tx_filter_low = atoi(value);
-        value = getProperty("tx_filter_high");
-        if (value)
-            tx_filter_high = atoi(value);
-
-        value = getProperty("step");
-        if (value)
-            step = atoll(value);
-        value = getProperty("cw_is_on_vfo_freq");
-        if (value)
-            cw_is_on_vfo_freq = atoi(value);
-        value = getProperty("cw_keys_reversed");
-        if (value)
-            cw_keys_reversed = atoi(value);
-        value = getProperty("cw_keyer_speed");
-        if (value) {
-            cw_keyer_speed = atoi(value);
+    value = getProperty("radio_sample_rate");
+    if (value)
+       radio_sample_rate = atoi(value);
+    value = getProperty("diversity_enabled");
+    if (value)
+       diversity_enabled = atoi(value);
+    value = getProperty("diversity_gain");
+    if (value)
+       div_gain = atof(value);
+    value = getProperty("diversity_phase");
+    if (value)
+       div_phase = atof(value);
+    value = getProperty("diversity_cos");
+    if (value)
+       div_cos = atof(value);
+    value = getProperty("diversity_sin");
+    if (value)
+       div_sin = atof(value);
+    value = getProperty("new_pa_board");
+    if (value)
+       new_pa_board = atoi(value);
+    value = getProperty("region");
+    if (value)
+       region = atoi(value);
+    value = getProperty("buffer_size");
+    if (value)
+       buffer_size = atoi(value);
+    value = getProperty("fft_size");
+    if (value)
+       fft_size = atoi(value);
+    value = getProperty("atlas_penelope");
+    if (value)
+       atlas_penelope = atoi(value);
+    value = getProperty("tx_out_of_band");
+    if (value)
+       tx_out_of_band = atoi(value);
+    value = getProperty("filter_board");
+    if (value)
+       filter_board = atoi(value);
+    value = getProperty("pa_enabled");
+    if (value)
+       pa_enabled = atoi(value);
+    value = getProperty("pa_power");
+    if (value)
+       pa_power = atoi(value);
+    for (i = 0; i < 11; i++) {
+       sprintf(name, "pa_trim[%d]", i);
+       value = getProperty(name);
+       if (value)
+           pa_trim[i] = atoi(value);
+    }
+    value = getProperty("updates_per_second");
+    if (value)
+       updates_per_second = atoi(value);
+    value = getProperty("display_detector_mode");
+    if (value)
+       display_detector_mode = atoi(value);
+    value = getProperty("display_average_mode");
+    if (value)
+       display_average_mode = atoi(value);
+    value = getProperty("display_average_time");
+    if (value)
+       display_average_time = atof(value);
+    value = getProperty("panadapter_high");
+    if (value)
+       panadapter_high = atoi(value);
+    value = getProperty("panadapter_low");
+    if (value)
+       panadapter_low = atoi(value);
+    value = getProperty("waterfall_high");
+    if (value)
+       waterfall_high = atoi(value);
+    value = getProperty("waterfall_low");
+    if (value)
+       waterfall_low = atoi(value);
+    value = getProperty("mic_gain");
+    if (value)
+       mic_gain = atof(value);
+    value = getProperty("mic_boost");
+    if (value)
+       mic_boost = atof(value);
+    value = getProperty("mic_linein");
+    if (value)
+       mic_linein = atoi(value);
+    value = getProperty("linein_gain");
+    if (value)
+       linein_gain = atoi(value);
+    value = getProperty("mic_ptt_enabled");
+    if (value)
+       mic_ptt_enabled = atof(value);
+    value = getProperty("mic_bias_enabled");
+    if (value)
+       mic_bias_enabled = atof(value);
+    value = getProperty("mic_ptt_tip_bias_ring");
+    if (value)
+       mic_ptt_tip_bias_ring = atof(value);
+
+    value = getProperty("tx_filter_low");
+    if (value)
+       tx_filter_low = atoi(value);
+    value = getProperty("tx_filter_high");
+    if (value)
+       tx_filter_high = atoi(value);
+
+    value = getProperty("step");
+    if (value)
+       step = atoll(value);
+    value = getProperty("cw_is_on_vfo_freq");
+    if (value)
+       cw_is_on_vfo_freq = atoi(value);
+    value = getProperty("cw_keys_reversed");
+    if (value)
+       cw_keys_reversed = atoi(value);
+    value = getProperty("cw_keyer_speed");
+    if (value) {
+       cw_keyer_speed = atoi(value);
 #ifdef MIDI
-            // if we have the midikeyer, set the speed to this value
-            midi_keyer_update();
+       // if we have the midikeyer, set the speed to this value
+       midi_keyer_update();
 #endif
-        }
-        value = getProperty("cw_keyer_mode");
-        if (value)
-            cw_keyer_mode = atoi(value);
-        value = getProperty("cw_keyer_weight");
-        if (value)
-            cw_keyer_weight = atoi(value);
-        value = getProperty("cw_keyer_spacing");
-        if (value)
-            cw_keyer_spacing = atoi(value);
+    }
+    value = getProperty("cw_keyer_mode");
+    if (value)
+       cw_keyer_mode = atoi(value);
+    value = getProperty("cw_keyer_weight");
+    if (value)
+       cw_keyer_weight = atoi(value);
+    value = getProperty("cw_keyer_spacing");
+    if (value)
+       cw_keyer_spacing = atoi(value);
 #ifdef LOCALCW
-        value = getProperty("cw_keyer_internal");
-        if (value)
-            cw_keyer_internal = atoi(value);
+    value = getProperty("cw_keyer_internal");
+    if (value)
+       cw_keyer_internal = atoi(value);
 
-        value = getProperty("cw_keyer_midi");
-        if (value)
-            cw_keyer_midi = atoi(value);
+    value = getProperty("cw_keyer_midi");
+    if (value)
+       cw_keyer_midi = atoi(value);
 
 #endif
-        value = getProperty("cw_keyer_sidetone_volume");
-        if (value)
-            cw_keyer_sidetone_volume = atoi(value);
-        value = getProperty("cw_keyer_ptt_delay");
-        if (value)
-            cw_keyer_ptt_delay = atoi(value);
-        value = getProperty("cw_keyer_hang_time");
-        if (value)
-            cw_keyer_hang_time = atoi(value);
-        value = getProperty("cw_keyer_sidetone_frequency");
-        if (value)
-            cw_keyer_sidetone_frequency = atoi(value);
-        value = getProperty("cw_breakin");
-        if (value)
-            cw_breakin = atoi(value);
-        value = getProperty("vfo_encoder_divisor");
-        if (value)
-            vfo_encoder_divisor = atoi(value);
-        value = getProperty("OCtune");
-        if (value)
-            OCtune = atoi(value);
-        value = getProperty("OCfull_tune_time");
-        if (value)
-            OCfull_tune_time = atoi(value);
-        value = getProperty("OCmemory_tune_time");
-        if (value)
-            OCmemory_tune_time = atoi(value);
-        value = getProperty("analog_meter");
-        if (value)
-            analog_meter = atoi(value);
-        value = getProperty("smeter");
-        if (value)
-            smeter = atoi(value);
-        value = getProperty("alc");
-        if (value)
-            alc = atoi(value);
+    value = getProperty("cw_keyer_sidetone_volume");
+    if (value)
+       cw_keyer_sidetone_volume = atoi(value);
+    value = getProperty("cw_keyer_ptt_delay");
+    if (value)
+       cw_keyer_ptt_delay = atoi(value);
+    value = getProperty("cw_keyer_hang_time");
+    if (value)
+       cw_keyer_hang_time = atoi(value);
+    value = getProperty("cw_keyer_sidetone_frequency");
+    if (value)
+       cw_keyer_sidetone_frequency = atoi(value);
+    value = getProperty("cw_breakin");
+    if (value)
+       cw_breakin = atoi(value);
+    value = getProperty("vfo_encoder_divisor");
+    if (value)
+       vfo_encoder_divisor = atoi(value);
+    value = getProperty("OCtune");
+    if (value)
+       OCtune = atoi(value);
+    value = getProperty("OCfull_tune_time");
+    if (value)
+       OCfull_tune_time = atoi(value);
+    value = getProperty("OCmemory_tune_time");
+    if (value)
+       OCmemory_tune_time = atoi(value);
+    value = getProperty("analog_meter");
+    if (value)
+       analog_meter = atoi(value);
+    value = getProperty("smeter");
+    if (value)
+       smeter = atoi(value);
+    value = getProperty("alc");
+    if (value)
+       alc = atoi(value);
 #ifdef OLD_AUDIO
-        value = getProperty("local_audio");
-        if (value)
-            local_audio = atoi(value);
-        value = getProperty("n_selected_output_device");
-        if (value)
-            n_selected_output_device = atoi(value);
+    value = getProperty("local_audio");
+    if (value)
+       local_audio = atoi(value);
+    value = getProperty("n_selected_output_device");
+    if (value)
+       n_selected_output_device = atoi(value);
 #endif
-        value = getProperty("local_microphone");
-        if (value)
-            local_microphone = atoi(value);
-        //    value=getProperty("n_selected_input_device");
-        //    if(value) n_selected_input_device=atoi(value);
-        value = getProperty("enable_tx_equalizer");
-        if (value)
-            enable_tx_equalizer = atoi(value);
-        value = getProperty("tx_equalizer.0");
-        if (value)
-            tx_equalizer[0] = atoi(value);
-        value = getProperty("tx_equalizer.1");
-        if (value)
-            tx_equalizer[1] = atoi(value);
-        value = getProperty("tx_equalizer.2");
-        if (value)
-            tx_equalizer[2] = atoi(value);
-        value = getProperty("tx_equalizer.3");
-        if (value)
-            tx_equalizer[3] = atoi(value);
-        value = getProperty("enable_rx_equalizer");
-        if (value)
-            enable_rx_equalizer = atoi(value);
-        value = getProperty("rx_equalizer.0");
-        if (value)
-            rx_equalizer[0] = atoi(value);
-        value = getProperty("rx_equalizer.1");
-        if (value)
-            rx_equalizer[1] = atoi(value);
-        value = getProperty("rx_equalizer.2");
-        if (value)
-            rx_equalizer[2] = atoi(value);
-        value = getProperty("rx_equalizer.3");
-        if (value)
-            rx_equalizer[3] = atoi(value);
-        value = getProperty("rit_increment");
-        if (value)
-            rit_increment = atoi(value);
-        value = getProperty("pre_emphasize");
-        if (value)
-            pre_emphasize = atoi(value);
-
-        value = getProperty("vox_enabled");
-        if (value)
-            vox_enabled = atoi(value);
-        value = getProperty("vox_threshold");
-        if (value)
-            vox_threshold = atof(value);
-        /*
-            value=getProperty("vox_gain");
-            if(value) vox_gain=atof(value);
-        */
-        value = getProperty("vox_hang");
-        if (value)
-            vox_hang = atof(value);
-
-        value = getProperty("binaural");
-        if (value)
-            binaural = atoi(value);
-
-        value = getProperty("calibration");
-        if (value)
-            calibration = atoll(value);
-
-        value = getProperty("frequencyB");
-        if (value)
-            frequencyB = atoll(value);
-
-        value = getProperty("modeB");
-        if (value)
-            modeB = atoi(value);
-
-        value = getProperty("filterB");
-        if (value)
-            filterB = atoi(value);
-
-        value = getProperty("tone_level");
-        if (value)
-            tone_level = atof(value);
-
-        value = getProperty("receivers");
-        if (value)
-            receivers = atoi(value);
-
-        value = getProperty("iqswap");
-        if (value)
-            iqswap = atoi(value);
-
-        value = getProperty("rx_gain_calibration");
-        if (value)
-            rx_gain_calibration = atoi(value);
-
-        filterRestoreState();
-        bandRestoreState();
-        memRestoreState();
-        vfo_restore_state();
-        modesettings_restore_state();
-        gpio_restore_actions();
-        value = getProperty("rigctl_enable");
-        if (value)
-            rigctl_enable = atoi(value);
-        value = getProperty("rigctl_port_base");
-        if (value)
-            rigctl_port_base = atoi(value);
-
-        /*
-        value=getProperty("adc_0_attenuation");
-        if(value) adc_attenuation[0]=atoi(value);
-        value=getProperty("adc_1_attenuation");
-        if(value) adc_attenuation[1]=atoi(value);
-        */
-
-        value = getProperty("split");
-        if (value)
-            split = atoi(value);
-        value = getProperty("duplex");
-        if (value)
-            duplex = atoi(value);
-        value = getProperty("sat_mode");
-        if (value)
-            sat_mode = atoi(value);
-        value = getProperty("mute_rx_while_transmitting");
-        if (value)
-            mute_rx_while_transmitting = atoi(value);
-
-        value = getProperty("radio.adc[0].filters");
-        if (value)
-            adc[0].filters = atoi(value);
-        value = getProperty("radio.adc[0].hpf");
-        if (value)
-            adc[0].hpf = atoi(value);
-        value = getProperty("radio.adc[0].lpf");
-        if (value)
-            adc[0].lpf = atoi(value);
-        value = getProperty("radio.adc[0].antenna");
-        if (value)
-            adc[0].antenna = atoi(value);
-        value = getProperty("radio.adc[0].dither");
-        if (value)
-            adc[0].dither = atoi(value);
-        value = getProperty("radio.adc[0].random");
-        if (value)
-            adc[0].random = atoi(value);
-        value = getProperty("radio.adc[0].preamp");
-        if (value)
-            adc[0].preamp = atoi(value);
-        value = getProperty("radio.adc[0].attenuation");
-        if (value)
-            adc[0].attenuation = atoi(value);
-        value = getProperty("radio.adc[0].enable_step_attenuation");
-        if (value)
-            adc[0].enable_step_attenuation = atoi(value);
-        value = getProperty("radio.adc[0].gain");
-        if (value)
-            adc[0].gain = atof(value);
-        value = getProperty("radio.adc[0].min_gain");
-        if (value)
-            adc[0].min_gain = atof(value);
-        value = getProperty("radio.adc[0].max_gain");
-        if (value)
-            adc[0].max_gain = atof(value);
-
-        value = getProperty("radio.dac[0].antenna");
-        if (value)
-            dac[0].antenna = atoi(value);
-        value = getProperty("radio.dac[0].gain");
-        if (value)
-            dac[0].gain = atof(value);
-
-        if (receivers > 1) {
-            value = getProperty("radio.adc[1].filters");
-            if (value)
-                adc[1].filters = atoi(value);
-            value = getProperty("radio.adc[1].hpf");
-            if (value)
-                adc[1].hpf = atoi(value);
-            value = getProperty("radio.adc[1].lpf");
-            if (value)
-                adc[1].lpf = atoi(value);
-            value = getProperty("radio.adc[1].antenna");
-            if (value)
-                adc[1].antenna = atoi(value);
-            value = getProperty("radio.adc[1].dither");
-            if (value)
-                adc[1].dither = atoi(value);
-            value = getProperty("radio.adc[1].random");
-            if (value)
-                adc[1].random = atoi(value);
-            value = getProperty("radio.adc[1].preamp");
-            if (value)
-                adc[1].preamp = atoi(value);
-            value = getProperty("radio.adc[1].attenuation");
-            if (value)
-                adc[1].attenuation = atoi(value);
-            value = getProperty("radio.adc[1].enable_step_attenuation");
-            if (value)
-                adc[1].enable_step_attenuation = atoi(value);
-            value = getProperty("radio.adc[1].gain");
-            if (value)
-                adc[1].gain = atof(value);
-            value = getProperty("radio.adc[1].min_gain");
-            if (value)
-                adc[1].min_gain = atof(value);
-            value = getProperty("radio.adc[1].max_gain");
-            if (value)
-                adc[1].max_gain = atof(value);
-
-            value = getProperty("radio.dac[1].antenna");
-            if (value)
-                dac[1].antenna = atoi(value);
-            value = getProperty("radio.dac[1].gain");
-            if (value)
-                dac[1].gain = atof(value);
-        }
+    value = getProperty("local_microphone");
+    if (value)
+       local_microphone = atoi(value);
+    //    value=getProperty("n_selected_input_device");
+    //    if(value) n_selected_input_device=atoi(value);
+    value = getProperty("enable_tx_equalizer");
+    if (value)
+       enable_tx_equalizer = atoi(value);
+    value = getProperty("tx_equalizer.0");
+    if (value)
+       tx_equalizer[0] = atoi(value);
+    value = getProperty("tx_equalizer.1");
+    if (value)
+       tx_equalizer[1] = atoi(value);
+    value = getProperty("tx_equalizer.2");
+    if (value)
+       tx_equalizer[2] = atoi(value);
+    value = getProperty("tx_equalizer.3");
+    if (value)
+       tx_equalizer[3] = atoi(value);
+    value = getProperty("enable_rx_equalizer");
+    if (value)
+       enable_rx_equalizer = atoi(value);
+    value = getProperty("rx_equalizer.0");
+    if (value)
+       rx_equalizer[0] = atoi(value);
+    value = getProperty("rx_equalizer.1");
+    if (value)
+       rx_equalizer[1] = atoi(value);
+    value = getProperty("rx_equalizer.2");
+    if (value)
+       rx_equalizer[2] = atoi(value);
+    value = getProperty("rx_equalizer.3");
+    if (value)
+       rx_equalizer[3] = atoi(value);
+    value = getProperty("rit_increment");
+    if (value)
+       rit_increment = atoi(value);
+    value = getProperty("pre_emphasize");
+    if (value)
+       pre_emphasize = atoi(value);
 
-#ifdef MIDI
-        midi_restore_state();
-        value = getProperty("radio.midi_enabled");
-        if (value)
-            midi_enabled = atoi(value);
-#endif
+    value = getProperty("vox_enabled");
+    if (value)
+       vox_enabled = atoi(value);
+    value = getProperty("vox_threshold");
+    if (value)
+       vox_threshold = atof(value);
+    /*
+      value=getProperty("vox_gain");
+      if(value) vox_gain=atof(value);
+    */
+    value = getProperty("vox_hang");
+    if (value)
+       vox_hang = atof(value);
+
+    value = getProperty("binaural");
+    if (value)
+       binaural = atoi(value);
+
+    value = getProperty("calibration");
+    if (value)
+       calibration = atoll(value);
+
+    value = getProperty("frequencyB");
+    if (value)
+       frequencyB = atoll(value);
+
+    value = getProperty("modeB");
+    if (value)
+       modeB = atoi(value);
+
+    value = getProperty("filterB");
+    if (value)
+       filterB = atoi(value);
+
+    value = getProperty("tone_level");
+    if (value)
+       tone_level = atof(value);
+
+    value = getProperty("receivers");
+    if (value)
+       receivers = atoi(value);
+
+    value = getProperty("iqswap");
+    if (value)
+       iqswap = atoi(value);
 
-        value = getProperty("radio.display_sequence_errors");
-        if (value != NULL)
-            display_sequence_errors = atoi(value);
+    value = getProperty("rx_gain_calibration");
+    if (value)
+       rx_gain_calibration = atoi(value);
+
+    filterRestoreState();
+    bandRestoreState();
+    memRestoreState();
+    vfo_restore_state();
+    modesettings_restore_state();
+    gpio_restore_actions();
+    value = getProperty("rigctl_enable");
+    if (value)
+       rigctl_enable = atoi(value);
+    value = getProperty("rigctl_port_base");
+    if (value)
+       rigctl_port_base = atoi(value);
+
+    /*
+      value=getProperty("adc_0_attenuation");
+      if(value) adc_attenuation[0]=atoi(value);
+      value=getProperty("adc_1_attenuation");
+      if(value) adc_attenuation[1]=atoi(value);
+    */
+
+    value = getProperty("split");
+    if (value)
+       split = atoi(value);
+    value = getProperty("duplex");
+    if (value)
+       duplex = atoi(value);
+    value = getProperty("sat_mode");
+    if (value)
+       sat_mode = atoi(value);
+    value = getProperty("mute_rx_while_transmitting");
+    if (value)
+       mute_rx_while_transmitting = atoi(value);
 
-#ifdef CLIENT_SERVER
+    value = getProperty("radio.adc[0].filters");
+    if (value)
+       adc[0].filters = atoi(value);
+    value = getProperty("radio.adc[0].hpf");
+    if (value)
+       adc[0].hpf = atoi(value);
+    value = getProperty("radio.adc[0].lpf");
+    if (value)
+       adc[0].lpf = atoi(value);
+    value = getProperty("radio.adc[0].antenna");
+    if (value)
+       adc[0].antenna = atoi(value);
+    value = getProperty("radio.adc[0].dither");
+    if (value)
+       adc[0].dither = atoi(value);
+    value = getProperty("radio.adc[0].random");
+    if (value)
+       adc[0].random = atoi(value);
+    value = getProperty("radio.adc[0].preamp");
+    if (value)
+       adc[0].preamp = atoi(value);
+    value = getProperty("radio.adc[0].attenuation");
+    if (value)
+       adc[0].attenuation = atoi(value);
+    value = getProperty("radio.adc[0].enable_step_attenuation");
+    if (value)
+       adc[0].enable_step_attenuation = atoi(value);
+    value = getProperty("radio.adc[0].gain");
+    if (value)
+       adc[0].gain = atof(value);
+    value = getProperty("radio.adc[0].min_gain");
+    if (value)
+       adc[0].min_gain = atof(value);
+    value = getProperty("radio.adc[0].max_gain");
+    if (value)
+       adc[0].max_gain = atof(value);
+
+    value = getProperty("radio.dac[0].antenna");
+    if (value)
+       dac[0].antenna = atoi(value);
+    value = getProperty("radio.dac[0].gain");
+    if (value)
+       dac[0].gain = atof(value);
+
+    if (receivers > 1) {
+       value = getProperty("radio.adc[1].filters");
+       if (value)
+           adc[1].filters = atoi(value);
+       value = getProperty("radio.adc[1].hpf");
+       if (value)
+           adc[1].hpf = atoi(value);
+       value = getProperty("radio.adc[1].lpf");
+       if (value)
+           adc[1].lpf = atoi(value);
+       value = getProperty("radio.adc[1].antenna");
+       if (value)
+           adc[1].antenna = atoi(value);
+       value = getProperty("radio.adc[1].dither");
+       if (value)
+           adc[1].dither = atoi(value);
+       value = getProperty("radio.adc[1].random");
+       if (value)
+           adc[1].random = atoi(value);
+       value = getProperty("radio.adc[1].preamp");
+       if (value)
+           adc[1].preamp = atoi(value);
+       value = getProperty("radio.adc[1].attenuation");
+       if (value)
+           adc[1].attenuation = atoi(value);
+       value = getProperty("radio.adc[1].enable_step_attenuation");
+       if (value)
+           adc[1].enable_step_attenuation = atoi(value);
+       value = getProperty("radio.adc[1].gain");
+       if (value)
+           adc[1].gain = atof(value);
+       value = getProperty("radio.adc[1].min_gain");
+       if (value)
+           adc[1].min_gain = atof(value);
+       value = getProperty("radio.adc[1].max_gain");
+       if (value)
+           adc[1].max_gain = atof(value);
+
+       value = getProperty("radio.dac[1].antenna");
+       if (value)
+           dac[1].antenna = atoi(value);
+       value = getProperty("radio.dac[1].gain");
+       if (value)
+           dac[1].gain = atof(value);
     }
+
+#ifdef MIDI
+    midi_restore_state();
+    value = getProperty("radio.midi_enabled");
+    if (value)
+       midi_enabled = atoi(value);
 #endif
 
-#ifdef CLIENT_SERVER
-    value = getProperty("radio.hpsdr_server");
+    value = getProperty("radio.display_sequence_errors");
     if (value != NULL)
-        hpsdr_server = atoi(value);
-    value = getProperty("radio.hpsdr_server.listen_port");
-    if (value != NULL)
-        listen_port = atoi(value);
-#endif
+       display_sequence_errors = atoi(value);
+
+
 
     g_mutex_unlock(&property_mutex);
 }
@@ -2195,291 +2124,279 @@ void radioSaveState() {
         transmitter_save_state(transmitter);
     }
 
-#ifdef CLIENT_SERVER
-    if (!radio_is_remote) {
-#endif
-        sprintf(value, "%d", radio_sample_rate);
-        setProperty("radio_sample_rate", value);
-        sprintf(value, "%d", diversity_enabled);
-        setProperty("diversity_enabled", value);
-        sprintf(value, "%f", div_gain);
-        setProperty("diversity_gain", value);
-        sprintf(value, "%f", div_phase);
-        setProperty("diversity_phase", value);
-        sprintf(value, "%f", div_cos);
-        setProperty("diversity_cos", value);
-        sprintf(value, "%f", div_sin);
-        setProperty("diversity_sin", value);
-        sprintf(value, "%d", new_pa_board);
-        setProperty("new_pa_board", value);
-        sprintf(value, "%d", region);
-        setProperty("region", value);
-        sprintf(value, "%d", buffer_size);
-        setProperty("buffer_size", value);
-        sprintf(value, "%d", fft_size);
-        setProperty("fft_size", value);
-        sprintf(value, "%d", atlas_penelope);
-        setProperty("atlas_penelope", value);
-        sprintf(value, "%d", filter_board);
-        setProperty("filter_board", value);
-        sprintf(value, "%d", tx_out_of_band);
-        setProperty("tx_out_of_band", value);
-        sprintf(value, "%d", updates_per_second);
-        setProperty("updates_per_second", value);
-        sprintf(value, "%d", display_detector_mode);
-        setProperty("display_detector_mode", value);
-        sprintf(value, "%d", display_average_mode);
-        setProperty("display_average_mode", value);
-        sprintf(value, "%f", display_average_time);
-        setProperty("display_average_time", value);
-        sprintf(value, "%d", panadapter_high);
-        setProperty("panadapter_high", value);
-        sprintf(value, "%d", panadapter_low);
-        setProperty("panadapter_low", value);
-        sprintf(value, "%d", waterfall_high);
-        setProperty("waterfall_high", value);
-        sprintf(value, "%d", waterfall_low);
-        setProperty("waterfall_low", value);
-        sprintf(value, "%f", mic_gain);
-        setProperty("mic_gain", value);
-        sprintf(value, "%d", mic_boost);
-        setProperty("mic_boost", value);
-        sprintf(value, "%d", mic_linein);
-        setProperty("mic_linein", value);
-        sprintf(value, "%d", linein_gain);
-        setProperty("linein_gain", value);
-        sprintf(value, "%d", mic_ptt_enabled);
-        setProperty("mic_ptt_enabled", value);
-        sprintf(value, "%d", mic_bias_enabled);
-        setProperty("mic_bias_enabled", value);
-        sprintf(value, "%d", mic_ptt_tip_bias_ring);
-        setProperty("mic_ptt_tip_bias_ring", value);
-        sprintf(value, "%d", tx_filter_low);
-        setProperty("tx_filter_low", value);
-        sprintf(value, "%d", tx_filter_high);
-        setProperty("tx_filter_high", value);
-        sprintf(value, "%d", pa_enabled);
-        setProperty("pa_enabled", value);
-        sprintf(value, "%d", pa_power);
-        setProperty("pa_power", value);
-        for (i = 0; i < 11; i++) {
-            sprintf(name, "pa_trim[%d]", i);
-            sprintf(value, "%d", pa_trim[i]);
-            setProperty(name, value);
-        }
-
-        sprintf(value, "%lld", step);
-        setProperty("step", value);
-        sprintf(value, "%d", cw_is_on_vfo_freq);
-        setProperty("cw_is_on_vfo_freq", value);
-        sprintf(value, "%d", cw_keys_reversed);
-        setProperty("cw_keys_reversed", value);
-        sprintf(value, "%d", cw_keyer_speed);
-        setProperty("cw_keyer_speed", value);
-        sprintf(value, "%d", cw_keyer_mode);
-        setProperty("cw_keyer_mode", value);
-        sprintf(value, "%d", cw_keyer_weight);
-        setProperty("cw_keyer_weight", value);
-        sprintf(value, "%d", cw_keyer_spacing);
-        setProperty("cw_keyer_spacing", value);
-        sprintf(value, "%d", cw_keyer_internal);
-        setProperty("cw_keyer_internal", value);
-
-        sprintf(value, "%d", cw_keyer_midi);
-        setProperty("cw_keyer_midi", value);
-
-        sprintf(value, "%d", cw_keyer_sidetone_volume);
-        setProperty("cw_keyer_sidetone_volume", value);
-        sprintf(value, "%d", cw_keyer_ptt_delay);
-        setProperty("cw_keyer_ptt_delay", value);
-        sprintf(value, "%d", cw_keyer_hang_time);
-        setProperty("cw_keyer_hang_time", value);
-        sprintf(value, "%d", cw_keyer_sidetone_frequency);
-        setProperty("cw_keyer_sidetone_frequency", value);
-        sprintf(value, "%d", cw_breakin);
-        setProperty("cw_breakin", value);
-        sprintf(value, "%d", vfo_encoder_divisor);
-        setProperty("vfo_encoder_divisor", value);
-        sprintf(value, "%d", OCtune);
-        setProperty("OCtune", value);
-        sprintf(value, "%d", OCfull_tune_time);
-        setProperty("OCfull_tune_time", value);
-        sprintf(value, "%d", OCmemory_tune_time);
-        setProperty("OCmemory_tune_time", value);
-        sprintf(value, "%d", analog_meter);
-        setProperty("analog_meter", value);
-        sprintf(value, "%d", smeter);
-        setProperty("smeter", value);
-        sprintf(value, "%d", alc);
-        setProperty("alc", value);
+    sprintf(value, "%d", radio_sample_rate);
+    setProperty("radio_sample_rate", value);
+    sprintf(value, "%d", diversity_enabled);
+    setProperty("diversity_enabled", value);
+    sprintf(value, "%f", div_gain);
+    setProperty("diversity_gain", value);
+    sprintf(value, "%f", div_phase);
+    setProperty("diversity_phase", value);
+    sprintf(value, "%f", div_cos);
+    setProperty("diversity_cos", value);
+    sprintf(value, "%f", div_sin);
+    setProperty("diversity_sin", value);
+    sprintf(value, "%d", new_pa_board);
+    setProperty("new_pa_board", value);
+    sprintf(value, "%d", region);
+    setProperty("region", value);
+    sprintf(value, "%d", buffer_size);
+    setProperty("buffer_size", value);
+    sprintf(value, "%d", fft_size);
+    setProperty("fft_size", value);
+    sprintf(value, "%d", atlas_penelope);
+    setProperty("atlas_penelope", value);
+    sprintf(value, "%d", filter_board);
+    setProperty("filter_board", value);
+    sprintf(value, "%d", tx_out_of_band);
+    setProperty("tx_out_of_band", value);
+    sprintf(value, "%d", updates_per_second);
+    setProperty("updates_per_second", value);
+    sprintf(value, "%d", display_detector_mode);
+    setProperty("display_detector_mode", value);
+    sprintf(value, "%d", display_average_mode);
+    setProperty("display_average_mode", value);
+    sprintf(value, "%f", display_average_time);
+    setProperty("display_average_time", value);
+    sprintf(value, "%d", panadapter_high);
+    setProperty("panadapter_high", value);
+    sprintf(value, "%d", panadapter_low);
+    setProperty("panadapter_low", value);
+    sprintf(value, "%d", waterfall_high);
+    setProperty("waterfall_high", value);
+    sprintf(value, "%d", waterfall_low);
+    setProperty("waterfall_low", value);
+    sprintf(value, "%f", mic_gain);
+    setProperty("mic_gain", value);
+    sprintf(value, "%d", mic_boost);
+    setProperty("mic_boost", value);
+    sprintf(value, "%d", mic_linein);
+    setProperty("mic_linein", value);
+    sprintf(value, "%d", linein_gain);
+    setProperty("linein_gain", value);
+    sprintf(value, "%d", mic_ptt_enabled);
+    setProperty("mic_ptt_enabled", value);
+    sprintf(value, "%d", mic_bias_enabled);
+    setProperty("mic_bias_enabled", value);
+    sprintf(value, "%d", mic_ptt_tip_bias_ring);
+    setProperty("mic_ptt_tip_bias_ring", value);
+    sprintf(value, "%d", tx_filter_low);
+    setProperty("tx_filter_low", value);
+    sprintf(value, "%d", tx_filter_high);
+    setProperty("tx_filter_high", value);
+    sprintf(value, "%d", pa_enabled);
+    setProperty("pa_enabled", value);
+    sprintf(value, "%d", pa_power);
+    setProperty("pa_power", value);
+    for (i = 0; i < 11; i++) {
+       sprintf(name, "pa_trim[%d]", i);
+       sprintf(value, "%d", pa_trim[i]);
+       setProperty(name, value);
+    }
+
+    sprintf(value, "%lld", step);
+    setProperty("step", value);
+    sprintf(value, "%d", cw_is_on_vfo_freq);
+    setProperty("cw_is_on_vfo_freq", value);
+    sprintf(value, "%d", cw_keys_reversed);
+    setProperty("cw_keys_reversed", value);
+    sprintf(value, "%d", cw_keyer_speed);
+    setProperty("cw_keyer_speed", value);
+    sprintf(value, "%d", cw_keyer_mode);
+    setProperty("cw_keyer_mode", value);
+    sprintf(value, "%d", cw_keyer_weight);
+    setProperty("cw_keyer_weight", value);
+    sprintf(value, "%d", cw_keyer_spacing);
+    setProperty("cw_keyer_spacing", value);
+    sprintf(value, "%d", cw_keyer_internal);
+    setProperty("cw_keyer_internal", value);
+
+    sprintf(value, "%d", cw_keyer_midi);
+    setProperty("cw_keyer_midi", value);
+
+    sprintf(value, "%d", cw_keyer_sidetone_volume);
+    setProperty("cw_keyer_sidetone_volume", value);
+    sprintf(value, "%d", cw_keyer_ptt_delay);
+    setProperty("cw_keyer_ptt_delay", value);
+    sprintf(value, "%d", cw_keyer_hang_time);
+    setProperty("cw_keyer_hang_time", value);
+    sprintf(value, "%d", cw_keyer_sidetone_frequency);
+    setProperty("cw_keyer_sidetone_frequency", value);
+    sprintf(value, "%d", cw_breakin);
+    setProperty("cw_breakin", value);
+    sprintf(value, "%d", vfo_encoder_divisor);
+    setProperty("vfo_encoder_divisor", value);
+    sprintf(value, "%d", OCtune);
+    setProperty("OCtune", value);
+    sprintf(value, "%d", OCfull_tune_time);
+    setProperty("OCfull_tune_time", value);
+    sprintf(value, "%d", OCmemory_tune_time);
+    setProperty("OCmemory_tune_time", value);
+    sprintf(value, "%d", analog_meter);
+    setProperty("analog_meter", value);
+    sprintf(value, "%d", smeter);
+    setProperty("smeter", value);
+    sprintf(value, "%d", alc);
+    setProperty("alc", value);
 #ifdef OLD_AUDIO
-        sprintf(value, "%d", local_audio);
-        setProperty("local_audio", value);
-        sprintf(value, "%d", n_selected_output_device);
-        setProperty("n_selected_output_device", value);
+    sprintf(value, "%d", local_audio);
+    setProperty("local_audio", value);
+    sprintf(value, "%d", n_selected_output_device);
+    setProperty("n_selected_output_device", value);
 #endif
-        sprintf(value, "%d", local_microphone);
-        setProperty("local_microphone", value);
-
-        sprintf(value, "%d", enable_tx_equalizer);
-        setProperty("enable_tx_equalizer", value);
-        sprintf(value, "%d", tx_equalizer[0]);
-        setProperty("tx_equalizer.0", value);
-        sprintf(value, "%d", tx_equalizer[1]);
-        setProperty("tx_equalizer.1", value);
-        sprintf(value, "%d", tx_equalizer[2]);
-        setProperty("tx_equalizer.2", value);
-        sprintf(value, "%d", tx_equalizer[3]);
-        setProperty("tx_equalizer.3", value);
-        sprintf(value, "%d", enable_rx_equalizer);
-        setProperty("enable_rx_equalizer", value);
-        sprintf(value, "%d", rx_equalizer[0]);
-        setProperty("rx_equalizer.0", value);
-        sprintf(value, "%d", rx_equalizer[1]);
-        setProperty("rx_equalizer.1", value);
-        sprintf(value, "%d", rx_equalizer[2]);
-        setProperty("rx_equalizer.2", value);
-        sprintf(value, "%d", rx_equalizer[3]);
-        setProperty("rx_equalizer.3", value);
-        sprintf(value, "%d", rit_increment);
-        setProperty("rit_increment", value);
-        sprintf(value, "%d", pre_emphasize);
-        setProperty("pre_emphasize", value);
-
-        sprintf(value, "%d", vox_enabled);
-        setProperty("vox_enabled", value);
-        sprintf(value, "%f", vox_threshold);
-        setProperty("vox_threshold", value);
-        sprintf(value, "%f", vox_hang);
-        setProperty("vox_hang", value);
-
-        sprintf(value, "%d", binaural);
-        setProperty("binaural", value);
-
-        sprintf(value, "%lld", calibration);
-        setProperty("calibration", value);
-
-        sprintf(value, "%lld", frequencyB);
-        setProperty("frequencyB", value);
-        sprintf(value, "%d", modeB);
-        setProperty("modeB", value);
-        sprintf(value, "%d", filterB);
-        setProperty("filterB", value);
-
-        sprintf(value, "%f", tone_level);
-        setProperty("tone_level", value);
-
-        /*
-        sprintf(value,"%d",adc_attenuation[0]);
-        setProperty("adc_0_attenuation",value);
-        sprintf(value,"%d",adc_attenuation[1]);
-        setProperty("adc_1_attenuation",value);
-        */
-
-        sprintf(value, "%d", rx_gain_calibration);
-        setProperty("rx_gain_calibration", value);
-
-        sprintf(value, "%d", adc[0].filters);
-        setProperty("radio.adc[0].filters", value);
-        sprintf(value, "%d", adc[0].hpf);
-        setProperty("radio.adc[0].hpf", value);
-        sprintf(value, "%d", adc[0].lpf);
-        setProperty("radio.adc[0].lpf", value);
-        sprintf(value, "%d", adc[0].antenna);
-        setProperty("radio.adc[0].antenna", value);
-        sprintf(value, "%d", adc[0].dither);
-        setProperty("radio.adc[0].dither", value);
-        sprintf(value, "%d", adc[0].random);
-        setProperty("radio.adc[0].random", value);
-        sprintf(value, "%d", adc[0].preamp);
-        setProperty("radio.adc[0].preamp", value);
-        sprintf(value, "%d", adc[0].attenuation);
-        setProperty("radio.adc[0].attenuation", value);
-        sprintf(value, "%d", adc[0].enable_step_attenuation);
-        setProperty("radio.adc[0].enable_step_attenuation", value);
-        sprintf(value, "%f", adc[0].gain);
-        setProperty("radio.adc[0].gain", value);
-        sprintf(value, "%f", adc[0].min_gain);
-        setProperty("radio.adc[0].min_gain", value);
-        sprintf(value, "%f", adc[0].max_gain);
-        setProperty("radio.adc[0].max_gain", value);
-
-        sprintf(value, "%d", dac[0].antenna);
-        setProperty("radio.dac[0].antenna", value);
-        sprintf(value, "%f", dac[0].gain);
-        setProperty("radio.dac[0].gain", value);
-
-        if (receivers > 1) {
-            sprintf(value, "%d", adc[1].filters);
-            setProperty("radio.adc[1].filters", value);
-            sprintf(value, "%d", adc[1].hpf);
-            setProperty("radio.adc[1].hpf", value);
-            sprintf(value, "%d", adc[1].lpf);
-            setProperty("radio.adc[1].lpf", value);
-            sprintf(value, "%d", adc[1].antenna);
-            setProperty("radio.adc[1].antenna", value);
-            sprintf(value, "%d", adc[1].dither);
-            setProperty("radio.adc[1].dither", value);
-            sprintf(value, "%d", adc[1].random);
-            setProperty("radio.adc[1].random", value);
-            sprintf(value, "%d", adc[1].preamp);
-            setProperty("radio.adc[1].preamp", value);
-            sprintf(value, "%d", adc[1].attenuation);
-            setProperty("radio.adc[1].attenuation", value);
-            sprintf(value, "%d", adc[1].enable_step_attenuation);
-            setProperty("radio.adc[1].enable_step_attenuation", value);
-            sprintf(value, "%f", adc[1].gain);
-            setProperty("radio.adc[1].gain", value);
-            sprintf(value, "%f", adc[1].min_gain);
-            setProperty("radio.adc[1].min_gain", value);
-            sprintf(value, "%f", adc[1].max_gain);
-            setProperty("radio.adc[1].max_gain", value);
-
-            sprintf(value, "%d", dac[1].antenna);
-            setProperty("radio.dac[1].antenna", value);
-            sprintf(value, "%f", dac[1].gain);
-            setProperty("radio.dac[1].gain", value);
-        }
+    sprintf(value, "%d", local_microphone);
+    setProperty("local_microphone", value);
+
+    sprintf(value, "%d", enable_tx_equalizer);
+    setProperty("enable_tx_equalizer", value);
+    sprintf(value, "%d", tx_equalizer[0]);
+    setProperty("tx_equalizer.0", value);
+    sprintf(value, "%d", tx_equalizer[1]);
+    setProperty("tx_equalizer.1", value);
+    sprintf(value, "%d", tx_equalizer[2]);
+    setProperty("tx_equalizer.2", value);
+    sprintf(value, "%d", tx_equalizer[3]);
+    setProperty("tx_equalizer.3", value);
+    sprintf(value, "%d", enable_rx_equalizer);
+    setProperty("enable_rx_equalizer", value);
+    sprintf(value, "%d", rx_equalizer[0]);
+    setProperty("rx_equalizer.0", value);
+    sprintf(value, "%d", rx_equalizer[1]);
+    setProperty("rx_equalizer.1", value);
+    sprintf(value, "%d", rx_equalizer[2]);
+    setProperty("rx_equalizer.2", value);
+    sprintf(value, "%d", rx_equalizer[3]);
+    setProperty("rx_equalizer.3", value);
+    sprintf(value, "%d", rit_increment);
+    setProperty("rit_increment", value);
+    sprintf(value, "%d", pre_emphasize);
+    setProperty("pre_emphasize", value);
+
+    sprintf(value, "%d", vox_enabled);
+    setProperty("vox_enabled", value);
+    sprintf(value, "%f", vox_threshold);
+    setProperty("vox_threshold", value);
+    sprintf(value, "%f", vox_hang);
+    setProperty("vox_hang", value);
+
+    sprintf(value, "%d", binaural);
+    setProperty("binaural", value);
+
+    sprintf(value, "%lld", calibration);
+    setProperty("calibration", value);
+
+    sprintf(value, "%lld", frequencyB);
+    setProperty("frequencyB", value);
+    sprintf(value, "%d", modeB);
+    setProperty("modeB", value);
+    sprintf(value, "%d", filterB);
+    setProperty("filterB", value);
+
+    sprintf(value, "%f", tone_level);
+    setProperty("tone_level", value);
 
-        sprintf(value, "%d", receivers);
-        setProperty("receivers", value);
+    /*
+      sprintf(value,"%d",adc_attenuation[0]);
+      setProperty("adc_0_attenuation",value);
+      sprintf(value,"%d",adc_attenuation[1]);
+      setProperty("adc_1_attenuation",value);
+    */
+
+    sprintf(value, "%d", rx_gain_calibration);
+    setProperty("rx_gain_calibration", value);
+
+    sprintf(value, "%d", adc[0].filters);
+    setProperty("radio.adc[0].filters", value);
+    sprintf(value, "%d", adc[0].hpf);
+    setProperty("radio.adc[0].hpf", value);
+    sprintf(value, "%d", adc[0].lpf);
+    setProperty("radio.adc[0].lpf", value);
+    sprintf(value, "%d", adc[0].antenna);
+    setProperty("radio.adc[0].antenna", value);
+    sprintf(value, "%d", adc[0].dither);
+    setProperty("radio.adc[0].dither", value);
+    sprintf(value, "%d", adc[0].random);
+    setProperty("radio.adc[0].random", value);
+    sprintf(value, "%d", adc[0].preamp);
+    setProperty("radio.adc[0].preamp", value);
+    sprintf(value, "%d", adc[0].attenuation);
+    setProperty("radio.adc[0].attenuation", value);
+    sprintf(value, "%d", adc[0].enable_step_attenuation);
+    setProperty("radio.adc[0].enable_step_attenuation", value);
+    sprintf(value, "%f", adc[0].gain);
+    setProperty("radio.adc[0].gain", value);
+    sprintf(value, "%f", adc[0].min_gain);
+    setProperty("radio.adc[0].min_gain", value);
+    sprintf(value, "%f", adc[0].max_gain);
+    setProperty("radio.adc[0].max_gain", value);
+
+    sprintf(value, "%d", dac[0].antenna);
+    setProperty("radio.dac[0].antenna", value);
+    sprintf(value, "%f", dac[0].gain);
+    setProperty("radio.dac[0].gain", value);
+
+    if (receivers > 1) {
+       sprintf(value, "%d", adc[1].filters);
+       setProperty("radio.adc[1].filters", value);
+       sprintf(value, "%d", adc[1].hpf);
+       setProperty("radio.adc[1].hpf", value);
+       sprintf(value, "%d", adc[1].lpf);
+       setProperty("radio.adc[1].lpf", value);
+       sprintf(value, "%d", adc[1].antenna);
+       setProperty("radio.adc[1].antenna", value);
+       sprintf(value, "%d", adc[1].dither);
+       setProperty("radio.adc[1].dither", value);
+       sprintf(value, "%d", adc[1].random);
+       setProperty("radio.adc[1].random", value);
+       sprintf(value, "%d", adc[1].preamp);
+       setProperty("radio.adc[1].preamp", value);
+       sprintf(value, "%d", adc[1].attenuation);
+       setProperty("radio.adc[1].attenuation", value);
+       sprintf(value, "%d", adc[1].enable_step_attenuation);
+       setProperty("radio.adc[1].enable_step_attenuation", value);
+       sprintf(value, "%f", adc[1].gain);
+       setProperty("radio.adc[1].gain", value);
+       sprintf(value, "%f", adc[1].min_gain);
+       setProperty("radio.adc[1].min_gain", value);
+       sprintf(value, "%f", adc[1].max_gain);
+       setProperty("radio.adc[1].max_gain", value);
+
+       sprintf(value, "%d", dac[1].antenna);
+       setProperty("radio.dac[1].antenna", value);
+       sprintf(value, "%f", dac[1].gain);
+       setProperty("radio.dac[1].gain", value);
+    }
 
-        sprintf(value, "%d", iqswap);
-        setProperty("iqswap", value);
+    sprintf(value, "%d", receivers);
+    setProperty("receivers", value);
 
-#ifdef CLIENT_SERVER
-        sprintf(value, "%d", hpsdr_server);
-        setProperty("radio.hpsdr_server", value);
-        sprintf(value, "%d", listen_port);
-        setProperty("radio.hpsdr_server.listen_port", value);
-#endif
+    sprintf(value, "%d", iqswap);
+    setProperty("iqswap", value);
 
-        vfo_save_state();
-        modesettings_save_state();
 
-        sprintf(value, "%d", duplex);
-        setProperty("duplex", value);
-        sprintf(value, "%d", split);
-        setProperty("split", value);
-        sprintf(value, "%d", sat_mode);
-        setProperty("sat_mode", value);
-        sprintf(value, "%d", mute_rx_while_transmitting);
-        setProperty("mute_rx_while_transmitting", value);
+    vfo_save_state();
+    modesettings_save_state();
 
-        filterSaveState();
-        bandSaveState();
-        memSaveState();
+    sprintf(value, "%d", duplex);
+    setProperty("duplex", value);
+    sprintf(value, "%d", split);
+    setProperty("split", value);
+    sprintf(value, "%d", sat_mode);
+    setProperty("sat_mode", value);
+    sprintf(value, "%d", mute_rx_while_transmitting);
+    setProperty("mute_rx_while_transmitting", value);
 
-        sprintf(value, "%d", rigctl_enable);
-        setProperty("rigctl_enable", value);
-        sprintf(value, "%d", rigctl_port_base);
-        setProperty("rigctl_port_base", value);
+    filterSaveState();
+    bandSaveState();
+    memSaveState();
 
-        sprintf(value, "%d", display_sequence_errors);
-        setProperty("radio.display_sequence_errors", value);
-#ifdef CLIENT_SERVER
-    }
-#endif
+    sprintf(value, "%d", rigctl_enable);
+    setProperty("rigctl_enable", value);
+    sprintf(value, "%d", rigctl_port_base);
+    setProperty("rigctl_port_base", value);
+
+    sprintf(value, "%d", display_sequence_errors);
+    setProperty("radio.display_sequence_errors", value);
 
 #ifdef MIDI
     sprintf(value, "%d", midi_enabled);
@@ -2551,56 +2468,3 @@ void radio_change_region(int r) {
     }
 }
 
-#ifdef CLIENT_SERVER
-int remote_start(void *data) {
-    char *server = (char *)data;
-    sprintf(property_path, "%s@%s.props", name, server);
-    radio_is_remote = TRUE;
-#ifdef GPIO
-    switch (controller) {
-    case CONTROLLER2_V1:
-    case CONTROLLER2_V2:
-        display_zoompan = 1;
-        display_sliders = 0;
-        display_toolbar = 0;
-        break;
-    default:
-        display_zoompan = 1;
-        display_sliders = 1;
-        display_toolbar = 1;
-        break;
-    }
-#else
-    display_zoompan = 1;
-    display_sliders = 1;
-    display_toolbar = 1;
-#endif
-    radioRestoreState();
-    create_visual();
-    for (int i = 0; i < receivers; i++) {
-        receiver_restore_state(receiver[i]);
-        if (receiver[i]->local_audio) {
-            if (audio_open_output(receiver[i])) {
-                receiver[i]->local_audio = 0;
-            }
-        }
-    }
-    reconfigure_radio();
-    g_idle_add(ext_vfo_update, (gpointer)NULL);
-    gdk_window_set_cursor(gtk_widget_get_window(top_window),
-                          gdk_cursor_new(GDK_ARROW));
-#ifdef MIDI
-    MIDIstartup();
-    if (cw_keyer_midi == 1) {
-        midi_keyer_update();
-    }
-#endif
-    for (int i = 0; i < receivers; i++) {
-        gint timer_id = gdk_threads_add_timeout_full(
-            G_PRIORITY_DEFAULT_IDLE, 100, start_spectrum, receiver[i], NULL);
-    }
-    start_vfo_timer();
-    remote_started = TRUE;
-    return 0;
-}
-#endif