فهرست منبع

Merge pull request #64 from MatthiasLienhard/master-cmake

added power and preset buttons
philippe44 4 سال پیش
والد
کامیت
ee35e1dc99
3فایلهای تغییر یافته به همراه62 افزوده شده و 2 حذف شده
  1. 2 1
      components/services/audio_controls.c
  2. 2 1
      components/services/audio_controls.h
  3. 58 0
      components/squeezelite/controls.c

+ 2 - 1
components/services/audio_controls.c

@@ -56,9 +56,10 @@ static const actrls_config_map_t actrls_config_map[] =
 
 // BEWARE: the actions below need to stay aligned with the corresponding enum to properly support json parsing
 #define EP(x) [x] = #x  /* ENUM PRINT */
-static const char * actrls_action_s[ ] = { EP(ACTRLS_VOLUP),EP(ACTRLS_VOLDOWN),EP(ACTRLS_TOGGLE),EP(ACTRLS_PLAY),
+static const char * actrls_action_s[ ] = { EP(ACTRLS_POWER),EP(ACTRLS_VOLUP),EP(ACTRLS_VOLDOWN),EP(ACTRLS_TOGGLE),EP(ACTRLS_PLAY),
 									EP(ACTRLS_PAUSE),EP(ACTRLS_STOP),EP(ACTRLS_REW),EP(ACTRLS_FWD),EP(ACTRLS_PREV),EP(ACTRLS_NEXT),
 									EP(BCTRLS_UP),EP(BCTRLS_DOWN),EP(BCTRLS_LEFT),EP(BCTRLS_RIGHT), 
+									EP(BCTRLS_PS1),EP(BCTRLS_PS2),EP(BCTRLS_PS3),EP(BCTRLS_PS4),EP(BCTRLS_PS5),EP(BCTRLS_PS6),
 									EP(KNOB_LEFT),EP(KNOB_RIGHT),EP(KNOB_PUSH),
 									""} ;
 									

+ 2 - 1
components/services/audio_controls.h

@@ -11,9 +11,10 @@
 #include "buttons.h"
 
 // BEWARE: this is the index of the array of action below (change actrls_action_s as well!)
-typedef enum { 	ACTRLS_NONE = -1, ACTRLS_VOLUP, ACTRLS_VOLDOWN, ACTRLS_TOGGLE, ACTRLS_PLAY, 
+typedef enum { 	ACTRLS_NONE = -1, ACTRLS_POWER,ACTRLS_VOLUP, ACTRLS_VOLDOWN, ACTRLS_TOGGLE, ACTRLS_PLAY, 
 				ACTRLS_PAUSE, ACTRLS_STOP, ACTRLS_REW, ACTRLS_FWD, ACTRLS_PREV, ACTRLS_NEXT, 
 				BCTRLS_UP, BCTRLS_DOWN, BCTRLS_LEFT, BCTRLS_RIGHT, 
+				BCTRLS_PS1,BCTRLS_PS2,BCTRLS_PS3,BCTRLS_PS4,BCTRLS_PS5,BCTRLS_PS6,
 				KNOB_LEFT, KNOB_RIGHT, KNOB_PUSH,
 				ACTRLS_REMAP, ACTRLS_MAX 
 		} actrls_action_e;

+ 58 - 0
components/squeezelite/controls.c

@@ -97,6 +97,13 @@ static void sendIR(u16_t addr, u16_t cmd) {
 	UNLOCK_P;
 }
 
+static void lms_power(bool pressed) {
+	if (raw_mode) {
+		sendBUTN(BUTN_POWER_FRONT, pressed);
+	} else {
+		cli_send_cmd("button power");
+	}	
+}
 static void lms_volume_up(bool pressed) {
 	if (raw_mode) {
 		sendBUTN(BUTN_VOLUP_FRONT, pressed);
@@ -205,6 +212,55 @@ static void lms_right(bool pressed) {
 	}	
 }
 
+static void lms_pre1(bool pressed) {
+	if (raw_mode) {
+		sendBUTN(BUTN_PRESET_1, pressed);
+	} else {
+		cli_send_cmd("button preset_1.single");
+	}	
+}
+
+static void lms_pre2(bool pressed) {
+	if (raw_mode) {
+		sendBUTN(BUTN_PRESET_2, pressed);
+	} else {
+		cli_send_cmd("button preset_2.single");
+	}	
+}
+
+static void lms_pre3(bool pressed) {
+	if (raw_mode) {
+		sendBUTN(BUTN_PRESET_3, pressed);
+	} else {
+		cli_send_cmd("button preset_3.single");
+	}	
+}
+
+static void lms_pre4(bool pressed) {
+	if (raw_mode) {
+		sendBUTN(BUTN_PRESET_4, pressed);
+	} else {
+		cli_send_cmd("button preset_4.single");
+	}	
+}
+
+static void lms_pre5(bool pressed) {
+	if (raw_mode) {
+		sendBUTN(BUTN_PRESET_5, pressed);
+	} else {
+		cli_send_cmd("button preset_5.single");
+	}	
+}
+
+static void lms_pre6(bool pressed) {
+	if (raw_mode) {
+		sendBUTN(BUTN_PRESET_6, pressed);
+	} else {
+		cli_send_cmd("button preset_6.single");
+	}	
+}
+
+
 static void lms_knob_left(bool pressed) {
 	if (raw_mode) {
 		sendBUTN(BUTN_KNOB_LEFT, pressed);
@@ -230,6 +286,7 @@ static void lms_knob_push(bool pressed) {
 }
 
 const actrls_t LMS_controls = {
+	lms_power,
 	lms_volume_up, lms_volume_down,	// volume up, volume down
 	lms_toggle, lms_play,	// toggle, play
 	lms_pause, lms_stop,	// pause, stop
@@ -237,6 +294,7 @@ const actrls_t LMS_controls = {
 	lms_prev, lms_next,		// prev, next
 	lms_up, lms_down,
 	lms_left, lms_right, 
+	lms_pre1, lms_pre2, lms_pre3, lms_pre4, lms_pre5, lms_pre6,
 	lms_knob_left, lms_knob_right, lms_knob_push,
 };