Jump to content

transponierbare pianotastatur mit Buttons realisieren


Paru01
 Share

Recommended Posts

Hallo, auf meinem midibox ng controller habe ich mit buttons eine klaviertastatur erstellt und möchte es nun so konfigurieren, dass ich die ganze buttonklaviertastatur per knopfdruck um eine oktave erhöhen bzw senken kann. dazu habe ich 2 weitere buttons auf dem controller einer "oktave hoch" und einer "oktv runter". wie kann ich nun das ganze im ngc file konfigurieren?

Link to comment
Share on other sites

Dafuer gibt es noch keine Moeglichkeit.

 

Wahrscheinlich werde ich das als Meta Event bereit stellen, die Du dann mit den Tastern ausfuehren kannst.

Ich bin mir noch unschluessig, wie ich die Anzeige der aktuellen Oktave ermoeglichen soll (ich denke, zumindest via LEDs aber auch via LCD), doch die waere fuer Dich erstmal uninteressant, richtig?

 

Gruss, Thorsten.

Link to comment
Share on other sites

Wäre es nicht möglich, das mit einem Conditional Event zu realisieren, so als workaround?

Also etwas in der Richtung:

 

# normale Oktave
EVENT_BUTTON id=1 type=NoteOn chn=1 key= 20
EVENT_BUTTON id=2 type=NoteOn chn=1 key= 21
EVENT_BUTTON id=3 type=NoteOn chn=1 key= 22
EVENT_BUTTON id=4 type=NoteOn chn=1 key= 23

# Oktave - 1
EVENT_BUTTON id=1 type=NoteOn chn=1 key= 10 if_equal=Button:5:1
EVENT_BUTTON id=2 type=NoteOn chn=1 key= 11 if_equal=Button:5:1
EVENT_BUTTON id=3 type=NoteOn chn=1 key= 12 if_equal=Button:5:1
EVENT_BUTTON id=4 type=NoteOn chn=1 key= 13 if_equal=Button:5:1

# Oktave + 1
EVENT_BUTTON id=1 type=NoteOn chn=1 key= 30 if_equal=Button:6:1
EVENT_BUTTON id=2 type=NoteOn chn=1 key= 31 if_equal=Button:6:1
EVENT_BUTTON id=3 type=NoteOn chn=1 key= 32 if_equal=Button:6:1
EVENT_BUTTON id=4 type=NoteOn chn=1 key= 33 if_equal=Button:6:1

# zwei Oktavenumschalter
EVENT_BUTTON id=5 type=CC CC=1 chn=1 range=0:1 button_mode=toggle
EVENT_BUTTON id=5 type=meta meta=RunSection:1  button_mode=OnOnly
EVENT_BUTTON id=6 type=CC CC=2 chn=1 range=0:1 button_mode=toggle
EVENT_BUTTON id=6 type=meta meta=RunSection:2  button_mode=OnOnly

und dann noch zusätzlich im NGR Skript

if ^section == 1  
   set BUTTON:6 0
endif

if ^section == 2  
   set BUTTON:5 0
endif

um die Oktavenumschalter wieder auf 0 zu setzen, wenn der jeweils andere Oktavenumschalter gedrückt wurde.

Beiden Oktavumschaltern könnte man natürlich noch ein LED oder LCD Event zuweisen. Zum Aktivieren der "normalen" Oktave müsste dann halt wieder der zuletzt betägte Oktavenumschalter betätigt werden. Oder alternativ einen anderen Button auf dem Controller (vlt "Oktave zurücksetzen").

Ich gebe zu, ein dediziertes Metaevent wäre sicherlich eleganter :smile:. Aber als vorrübergehende Lösung könnte ich mir sowas vorstellen.

Gruß

Edited by John E. Finster
Link to comment
Share on other sites

  • 1 month later...

Hallo, das mit dem META-Event hat nicht geklappt, deshalb habe ich es jetzt so versucht:

 


# normale Oktave
EVENT_BUTTON id=  9  fwd_id=LED:22    type=NoteOn chn= 1 key= 83 if_equal=Button:40:0 if_equal=Button:39:0   range=  0:127  offset=  0  ports=1000100000001000  lcd_pos=1:1:1  label="^std_btn"
EVENT_BUTTON id= 11  fwd_id=LED:23   type=NoteOn chn= 1 key= 81 if_equal=Button:40:0 if_equal=Button:39:0   range=  0:127  offset=  0  ports=1000100000001000  lcd_pos=1:1:1  label="^std_btn"
EVENT_BUTTON id= 13  fwd_id=LED:9   type=NoteOn chn= 1 key= 82 if_equal=Button:40:0 if_equal=Button:39:0  range=  0:127  offset=  0  ports=1000100000001000  lcd_pos=1:1:1  label="^std_btn"
EVENT_BUTTON id= 15  fwd_id=LED:14   type=NoteOn chn= 1 key= 80 if_equal=Button:40:0 if_equal=Button:39:0   range=  0:127  offset=  0  ports=1000100000001000  lcd_pos=1:1:1  label="^std_btn"
EVENT_BUTTON id= 17  fwd_id=LED:19   type=NoteOn chn= 1 key= 74 if_equal=Button:40:0 if_equal=Button:39:0   range=  0:127  offset=  0  ports=1000100000001000  lcd_pos=1:1:1  label="^std_btn"
EVENT_BUTTON id= 18  fwd_id=LED:21   type=NoteOn chn= 1 key= 76 if_equal=Button:40:0 if_equal=Button:39:0   range=  0:127  offset=  0  ports=1000100000001000  lcd_pos=1:1:1  label="^std_btn"
EVENT_BUTTON id= 19  fwd_id=LED:12   type=NoteOn chn= 1 key= 75 if_equal=Button:40:0 if_equal=Button:39:0   range=  0:127  offset=  0  ports=1000100000001000  lcd_pos=1:1:1  label="^std_btn"
EVENT_BUTTON id= 20  fwd_id=LED:20   type=NoteOn chn= 1 key= 77 if_equal=Button:40:0 if_equal=Button:39:0   range=  0:127  offset=  0  ports=1000100000001000  lcd_pos=1:1:1  label="^std_btn"
EVENT_BUTTON id= 21  fwd_id=LED:10  type=NoteOn chn= 1 key= 73 if_equal=Button:40:0 if_equal=Button:39:0   range=  0:127  offset=  0  ports=1000100000001000  lcd_pos=1:1:1  label="^std_btn"
EVENT_BUTTON id= 22  fwd_id=LED:18  type=NoteOn chn= 1 key= 79 if_equal=Button:40:0 if_equal=Button:39:0   range=  0:127  offset=  0  ports=1000100000001000  lcd_pos=1:1:1  label="^std_btn"
EVENT_BUTTON id= 23  fwd_id=LED:17  type=NoteOn chn= 1 key= 72 if_equal=Button:40:0 if_equal=Button:39:0  range=  0:127  offset=  0  ports=1000100000001000  lcd_pos=1:1:1  label="^std_btn"
EVENT_BUTTON id= 24  fwd_id=LED:16   type=NoteOn chn= 1 key= 78 if_equal=Button:40:0 if_equal=Button:39:0   range=  0:127  offset=  0  ports=1000100000001000  lcd_pos=1:1:1  label="^std_btn"
EVENT_BUTTON id= 25  fwd_id=LED:29   type=NoteOn chn= 1 key= 69 if_equal=Button:40:0 if_equal=Button:39:0   range=  0:127  offset=  0  ports=1000100000001000  lcd_pos=1:1:1  label="^std_btn"
EVENT_BUTTON id= 26  fwd_id=LED:26   type=NoteOn chn= 1 key= 60 if_equal=Button:40:0 if_equal=Button:39:0   range=  0:127  offset=  0  ports=1000100000001000  lcd_pos=1:1:1  label="^std_btn"
EVENT_BUTTON id= 27  fwd_id=LED:27   type=NoteOn chn= 1 key= 67 if_equal=Button:40:0 if_equal=Button:39:0   range=  0:127  offset=  0  ports=1000100000001000  lcd_pos=1:1:1  label="^std_btn"
EVENT_BUTTON id= 28  fwd_id=LED:28   type=NoteOn chn= 1 key= 62 if_equal=Button:40:0 if_equal=Button:39:0   range=  0:127  offset=  0  ports=1000100000001000  lcd_pos=1:1:1  label="^std_btn"
EVENT_BUTTON id= 29  fwd_id=LED:85   type=NoteOn chn= 1 key= 68 if_equal=Button:40:0 if_equal=Button:39:0   range=  0:127  offset=  0  ports=1000100000001000  lcd_pos=1:1:1  label="^std_btn"
EVENT_BUTTON id= 30  fwd_id=LED:31   type=NoteOn chn= 1 key= 71 if_equal=Button:40:0 if_equal=Button:39:0   range=  0:127  offset=  0  ports=1000100000001000  lcd_pos=1:1:1  label="^std_btn"
EVENT_BUTTON id= 31  fwd_id=LED:83   type=NoteOn chn= 1 key= 66 if_equal=Button:40:0 if_equal=Button:39:0   range=  0:127  offset=  0  ports=1000100000001000  lcd_pos=1:1:1  label="^std_btn"
EVENT_BUTTON id= 32  fwd_id=LED:87   type=NoteOn chn= 1 key= 70 if_equal=Button:40:0 if_equal=Button:39:0   range=  0:127  offset=  0  ports=1000100000001000  lcd_pos=1:1:1  label="^std_btn"
EVENT_BUTTON id= 33  fwd_id=LED:26   type=NoteOn chn= 1 key= 64 if_equal=Button:40:0 if_equal=Button:39:0   range=  0:127  offset=  0  ports=1000100000001000  lcd_pos=1:1:1  label="^std_btn"
EVENT_BUTTON id= 34  fwd_id=LED:86   type=NoteOn chn= 1 key= 61 if_equal=Button:40:0 if_equal=Button:39:0   ran ge=  0:127  offset=  0  ports=1000100000001000  lcd_pos=1:1:1  label="^std_btn"
EVENT_BUTTON id= 35  fwd_id=LED:28   type=NoteOn chn= 1 key= 62 if_equal=Button:40:0 if_equal=Button:39:0   range=  0:127  offset=  0  ports=1000100000001000  lcd_pos=1:1:1  label="^std_btn"
EVENT_BUTTON id= 36  fwd_id=LED:88   type=NoteOn chn= 1 key= 63 if_equal=Button:40:0 if_equal=Button:39:0   range=  0:127  offset=  0  ports=1000100000001000  lcd_pos=1:1:1  label="^std_btn"
EVENT_BUTTON id= 37  fwd_id=LED:30   type=NoteOn chn= 1 key= 60 if_equal=Button:39:0 if_equal=Button:40:0 range=  0:127  offset=  0  ports=1000100000001000  lcd_pos=1:1:1  label="^std_btn"
EVENT_BUTTON id= 38  fwd_id=LED:25   type=NoteOn chn= 1 key= 65  range=  0:127  offset=  0  ports=1000100000001000  lcd_pos=1:1:1  label="^std_btn"
# Oktave - 1
EVENT_BUTTON id=  9  fwd_id=LED:22   type=NoteOn chn= 1 key= 59 if_equal=Button:39:1  range=  0:127  offset=  0  ports=1000100000001000  lcd_pos=1:1:1  label="^std_btn"
EVENT_BUTTON id= 11  fwd_id=LED:23   type=NoteOn chn= 1 key= 57 if_equal=Button:39:1  range=  0:127  offset=  0  ports=1000100000001000  lcd_pos=1:1:1  label="^std_btn"
EVENT_BUTTON id= 13  fwd_id=LED:9    type=NoteOn chn= 1 key= 58 if_equal=Button:39:1  range=  0:127  offset=  0  ports=1000100000001000  lcd_pos=1:1:1  label="^std_btn"
EVENT_BUTTON id= 15  fwd_id=LED:14   type=NoteOn chn= 1 key= 56 if_equal=Button:39:1  range=  0:127  offset=  0  ports=1000100000001000  lcd_pos=1:1:1  label="^std_btn"
EVENT_BUTTON id= 17  fwd_id=LED:19   type=NoteOn chn= 1 key= 50 if_equal=Button:39:1  range=  0:127  offset=  0  ports=1000100000001000  lcd_pos=1:1:1  label="^std_btn"
EVENT_BUTTON id= 18  fwd_id=LED:21   type=NoteOn chn= 1 key= 52 if_equal=Button:39:1  range=  0:127  offset=  0  ports=1000100000001000  lcd_pos=1:1:1  label="^std_btn"
EVENT_BUTTON id= 19  fwd_id=LED:12   type=NoteOn chn= 1 key= 51 if_equal=Button:39:1  range=  0:127  offset=  0  ports=1000100000001000  lcd_pos=1:1:1  label="^std_btn"
EVENT_BUTTON id= 20  fwd_id=LED:20   type=NoteOn chn= 1 key= 53 if_equal=Button:39:1  range=  0:127  offset=  0  ports=1000100000001000  lcd_pos=1:1:1  label="^std_btn"
EVENT_BUTTON id= 21  fwd_id=LED:10   type=NoteOn chn= 1 key= 49 if_equal=Button:39:1  range=  0:127  offset=  0  ports=1000100000001000  lcd_pos=1:1:1  label="^std_btn"
EVENT_BUTTON id= 22  fwd_id=LED:18   type=NoteOn chn= 1 key= 55 if_equal=Button:39:1  range=  0:127  offset=  0  ports=1000100000001000  lcd_pos=1:1:1  label="^std_btn"
EVENT_BUTTON id= 23  fwd_id=LED:17   type=NoteOn chn= 1 key= 48 if_equal=Button:39:1  range=  0:127  offset=  0  ports=1000100000001000  lcd_pos=1:1:1  label="^std_btn"
EVENT_BUTTON id= 24  fwd_id=LED:16   type=NoteOn chn= 1 key= 54 if_equal=Button:39:1  range=  0:127  offset=  0  ports=1000100000001000  lcd_pos=1:1:1  label="^std_btn"
EVENT_BUTTON id= 25  fwd_id=LED:29   type=NoteOn chn= 1 key= 45 if_equal=Button:39:1  range=  0:127  offset=  0  ports=1000100000001000  lcd_pos=1:1:1  label="^std_btn"
EVENT_BUTTON id= 26  fwd_id=LED:26   type=NoteOn chn= 1 key= 60 if_equal=Button:39:1  range=  0:127  offset=  0  ports=1000100000001000  lcd_pos=1:1:1  label="^std_btn"
EVENT_BUTTON id= 27  fwd_id=LED:27   type=NoteOn chn= 1 key= 43 if_equal=Button:39:1  range=  0:127  offset=  0  ports=1000100000001000  lcd_pos=1:1:1  label="^std_btn"
EVENT_BUTTON id= 28  fwd_id=LED:28   type=NoteOn chn= 1 key= 62 if_equal=Button:39:1  range=  0:127  offset=  0  ports=1000100000001000  lcd_pos=1:1:1  label="^std_btn"
EVENT_BUTTON id= 29  fwd_id=LED:85   type=NoteOn chn= 1 key= 44 if_equal=Button:39:1  range=  0:127  offset=  0  ports=1000100000001000  lcd_pos=1:1:1  label="^std_btn"
EVENT_BUTTON id= 30  fwd_id=LED:31   type=NoteOn chn= 1 key= 47 if_equal=Button:39:1  range=  0:127  offset=  0  ports=1000100000001000  lcd_pos=1:1:1  label="^std_btn"
EVENT_BUTTON id= 31  fwd_id=LED:83   type=NoteOn chn= 1 key= 42 if_equal=Button:39:1  range=  0:127  offset=  0  ports=1000100000001000  lcd_pos=1:1:1  label="^std_btn"
EVENT_BUTTON id= 32  fwd_id=LED:87   type=NoteOn chn= 1 key= 46 if_equal=Button:39:1  range=  0:127  offset=  0  ports=1000100000001000  lcd_pos=1:1:1  label="^std_btn"
EVENT_BUTTON id= 33  fwd_id=LED:26   type=NoteOn chn= 1 key= 40 if_equal=Button:39:1  range=  0:127  offset=  0  ports=1000100000001000  lcd_pos=1:1:1  label="^std_btn"
EVENT_BUTTON id= 34  fwd_id=LED:86   type=NoteOn chn= 1 key= 37 if_equal=Button:39:1  range=  0:127  offset=  0  ports=1000100000001000  lcd_pos=1:1:1  label="^std_btn"
EVENT_BUTTON id= 35  fwd_id=LED:28   type=NoteOn chn= 1 key= 38 if_equal=Button:39:1  range=  0:127  offset=  0  ports=1000100000001000  lcd_pos=1:1:1  label="^std_btn"
EVENT_BUTTON id= 36  fwd_id=LED:88   type=NoteOn chn= 1 key= 39 if_equal=Button:39:1  range=  0:127  offset=  0  ports=1000100000001000  lcd_pos=1:1:1  label="^std_btn"
EVENT_BUTTON id= 37  fwd_id=LED:30   type=NoteOn chn= 1 key= 36 if_equal=Button:39:1  range=  0:127  offset=  0  ports=1000100000001000  lcd_pos=1:1:1  label="^std_btn"
EVENT_BUTTON id= 38  fwd_id=LED:25   type=NoteOn chn= 1 key= 41 if_equal=Button:39:1  range=  0:127  offset=  0  ports=1000100000001000  lcd_pos=1:1:1  label="^std_btn"

# Oktave + 1

EVENT_BUTTON id=  9  fwd_id=LED:22   type=NoteOn chn= 1 key= 107 if_equal=Button:40:1  range=  0:127  offset=  0  ports=1000100000001000  lcd_pos=1:1:1  label="^std_btn"
EVENT_BUTTON id= 11  fwd_id=LED:23   type=NoteOn chn= 1 key= 105 if_equal=Button:40:1  range=  0:127  offset=  0  ports=1000100000001000  lcd_pos=1:1:1  label="^std_btn"
EVENT_BUTTON id= 13  fwd_id=LED:9    type=NoteOn chn= 1 key= 106 if_equal=Button:40:1  range=  0:127  offset=  0  ports=1000100000001000  lcd_pos=1:1:1  label="^std_btn"
EVENT_BUTTON id= 15  fwd_id=LED:14   type=NoteOn chn= 1 key= 104 if_equal=Button:40:1  range=  0:127  offset=  0  ports=1000100000001000  lcd_pos=1:1:1  label="^std_btn"
EVENT_BUTTON id= 17  fwd_id=LED:19   type=NoteOn chn= 1 key= 98 if_equal=Button:40:1  range=  0:127  offset=  0  ports=1000100000001000  lcd_pos=1:1:1  label="^std_btn"
EVENT_BUTTON id= 18  fwd_id=LED:21   type=NoteOn chn= 1 key= 100 if_equal=Button:40:1  range=  0:127  offset=  0  ports=1000100000001000  lcd_pos=1:1:1  label="^std_btn"
EVENT_BUTTON id= 19  fwd_id=LED:12   type=NoteOn chn= 1 key= 99 if_equal=Button:40:1  range=  0:127  offset=  0  ports=1000100000001000  lcd_pos=1:1:1  label="^std_btn"
EVENT_BUTTON id= 20  fwd_id=LED:20   type=NoteOn chn= 1 key= 101 if_equal=Button:40:1  range=  0:127  offset=  0  ports=1000100000001000  lcd_pos=1:1:1  label="^std_btn"
EVENT_BUTTON id= 21  fwd_id=LED:10   type=NoteOn chn= 1 key= 97 if_equal=Button:40:1  range=  0:127  offset=  0  ports=1000100000001000  lcd_pos=1:1:1  label="^std_btn"
EVENT_BUTTON id= 22  fwd_id=LED:18   type=NoteOn chn= 1 key= 103 if_equal=Button:40:1  range=  0:127  offset=  0  ports=1000100000001000  lcd_pos=1:1:1  label="^std_btn"
EVENT_BUTTON id= 23  fwd_id=LED:17   type=NoteOn chn= 1 key= 96 if_equal=Button:40:1  range=  0:127  offset=  0  ports=1000100000001000  lcd_pos=1:1:1  label="^std_btn"
EVENT_BUTTON id= 24  fwd_id=LED:16   type=NoteOn chn= 1 key= 102 if_equal=Button:40:1  range=  0:127  offset=  0  ports=1000100000001000  lcd_pos=1:1:1  label="^std_btn"
EVENT_BUTTON id= 25  fwd_id=LED:29   type=NoteOn chn= 1 key= 93 if_equal=Button:40:1  range=  0:127  offset=  0  ports=1000100000001000  lcd_pos=1:1:1  label="^std_btn"
EVENT_BUTTON id= 26  fwd_id=LED:26   type=NoteOn chn= 1 key= 60 if_equal=Button:40:1  range=  0:127  offset=  0  ports=1000100000001000  lcd_pos=1:1:1  label="^std_btn"
EVENT_BUTTON id= 27  fwd_id=LED:27   type=NoteOn chn= 1 key= 91 if_equal=Button:40:1  range=  0:127  offset=  0  ports=1000100000001000  lcd_pos=1:1:1  label="^std_btn"
EVENT_BUTTON id= 28  fwd_id=LED:28   type=NoteOn chn= 1 key= 62 if_equal=Button:40:1  range=  0:127  offset=  0  ports=1000100000001000  lcd_pos=1:1:1  label="^std_btn"
EVENT_BUTTON id= 29  fwd_id=LED:85   type=NoteOn chn= 1 key= 92 if_equal=Button:40:1  range=  0:127  offset=  0  ports=1000100000001000  lcd_pos=1:1:1  label="^std_btn"
EVENT_BUTTON id= 30  fwd_id=LED:31   type=NoteOn chn= 1 key= 95 if_equal=Button:40:1  range=  0:127  offset=  0  ports=1000100000001000  lcd_pos=1:1:1  label="^std_btn"
EVENT_BUTTON id= 31  fwd_id=LED:83   type=NoteOn chn= 1 key= 90 if_equal=Button:40:1  range=  0:127  offset=  0  ports=1000100000001000  lcd_pos=1:1:1  label="^std_btn"
EVENT_BUTTON id= 32  fwd_id=LED:87   type=NoteOn chn= 1 key= 94 if_equal=Button:40:1  range=  0:127  offset=  0  ports=1000100000001000  lcd_pos=1:1:1  label="^std_btn"
EVENT_BUTTON id= 33  fwd_id=LED:26   type=NoteOn chn= 1 key= 88 if_equal=Button:40:1  range=  0:127  offset=  0  ports=1000100000001000  lcd_pos=1:1:1  label="^std_btn"
EVENT_BUTTON id= 34  fwd_id=LED:86   type=NoteOn chn= 1 key= 85 if_equal=Button:40:1  range=  0:127  offset=  0  ports=1000100000001000  lc_pos=1:1:1  label="^std_btn"
EVENT_BUTTON id= 35  fwd_id=LED:28   type=NoteOn chn= 1 key= 86 if_equal=Button:40:1  range=  0:127  offset=  0  ports=1000100000001000  lcd_pos=1:1:1  label="^std_btn"
EVENT_BUTTON id= 36  fwd_id=LED:88   type=NoteOn chn= 1 key= 87 if_equal=Button:40:1  range=  0:127  offset=  0  ports=1000100000001000  lcd_pos=1:1:1  label="^std_btn"
EVENT_BUTTON id= 37  fwd_id=LED:30   type=NoteOn chn= 1 key= 84 if_equal=Button:40:1  range=  0:127  offset=  0  ports=1000100000001000  lcd_pos=1:1:1  label="^std_btn"
EVENT_BUTTON id= 38  fwd_id=LED:25   type=NoteOn chn= 1 key= 89 if_equal=Button:40:1  range=  0:127  offset=  0  ports=1000100000001000  lcd_pos=1:1:1  label="^std_btn"


# zwei Oktavenumschalter

EVENT_BUTTON id= 39   fwd_id=LED:32   type=CC button_mode= toggle    chn= 1 cc= 10  range=  0:1  offset=  0  ports=1000100000001000  lcd_pos=1:1:2  label="Oktave -1"


EVENT_BUTTON id= 40  fwd_id=LED:84   type=CC button_mode= toggle    chn= 1 cc= 11  range=  0:1  offset=  0  ports=1000100000001000  lcd_pos=1:1:2  label="Oktave +1"

 

 

 

 

Das Problem ist nur, dass die normale Oktave immer mitspielt. Deshalb habe ich versucht bei der normalen Oktave mit 2x ifequal zu erreichen, dass sie nur spielt, wenn beide Oktavenschalter auf 0 sind. Wie kann ich das programmieren? Gibt es ein "and" Befehl oder ähnliches?

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
 Share

×
×
  • Create New...