Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Nochmals EnableScrolling und CreateNewLine
#1
Wink 
Nachdem mein GLCD endlich läuft hab ich gleich mal ein kleines Script geschrieben. Big Grin

Ich habe da noch ein paar Fragen zu EnableScrolling und CreateNewLine. Ich bekomme noch Fehler in der Ausgabe beim Titelwechsel.

Wie bekomme ich die Fehler weg?
Image 1 --> OK
Image 2 --> Fehler im Song Titel
Image 3 --> Fehler im Song Titel, Artist und Album

Benutze ich CreateNewLine so richtig? Mir ist nicht verständlich was es mit den Zeilenumbrüchen auf sich hat?


Leider sind viele attachments hier im Forum nicht mehr vorhanden.

Gibt es irgendwo den Quellcode von LCDHype? Ich will nix kopieren oder weiterverkaufen...
Ich find nur, dass es viele Befehle gibt die nur zusammen funktionieren aber auf den ersten Blick nicht ersichtlich sind und nur durch aufklappen der ganzen Baumstruktur in der Hilfe ersichtlich sind. Ich habe schon einiges mit GLCD und Arduino gemacht und kann rein vom Programieren und der Befehlsstrucktur openGLCD(https://bitbucket.org/bperrybap/openglcd/wiki/Home) sehr empfehlen!



Hier noch mein Script:

Code:
#Header
 %Common.SetPriority(1000)
 
 %Plugin.Kodi.Connection.Open('127.0.0.1', 9090)
 
 %DefVar(i = 0)
 %DefVar(TVShowID = 0)
 
 %Param.RenderMode(Detailed)
 
 %Param.SetTextOutput(0)
 %Param.SetGfxOutput(1)

 %DefVar(kodi_audio_title_number = 0)
 %DefVar(kodi_audio_title_all = 0)
 %DefVar(kodi_audio_title = 0)
 %DefVar(kodi_audio_artist = 0)
 %DefVar(kodi_audio_album = 0)
 %DefVar(kodi_audio_next_title = 0)
 
 %Graph.SetTextArea(0, 0, 239, 63)
 
#EndHeader

#GfxMode
 %If(%Plugin.Kodi.ActivePlayer() = 'Audio' OR %Plugin.Kodi.ActivePlayer() = 'Video')
 {
   /////     audio     /////
   
   %If(%Plugin.Kodi.ActivePlayer() = 'Audio')
   {
     %Assign(i, %Plugin.Kodi.AudioPlayer.CurrentItem.Index())
     
     %Assign(kodi_audio_title_number, %Inc(%Plugin.Kodi.AudioPlayer.CurrentItem.Index(), 1))
     %Assign(kodi_audio_title_all, %Plugin.Kodi.AudioPlayer.Playlist.Length())
     %Assign(kodi_audio_title, %Plugin.Kodi.AudioPlayer.Playlist.Item(%i(), Title))
     %Assign(kodi_audio_artist, %Plugin.Kodi.AudioPlayer.Playlist.Item(%i(), Artist))
     %Assign(kodi_audio_album, %Plugin.Kodi.AudioPlayer.Playlist.Item(%i(), Album))
     %Assign(kodi_audio_next_title, %Plugin.Kodi.AudioPlayer.Playlist.Item(%Inc(%i(), 1), Title))
     
     /title number/
     %Common.CreateNewLine(1, 0, 4)
     %Graph.Font('Arial', 10, 1, Bold)
     /%If(%kodi_audio_title_number() < 100) {'0'}/
     ' '
     %If(%kodi_audio_title_number() < 10) {'0'}
     %kodi_audio_title_number()
     '/'
     %If(%kodi_audio_title_all < 10) {'0'}
     %kodi_audio_title_all()
     
     /title/
     %Common.CreateNewLine(1, 45, -6)
     %Graph.Font('Arial', 17, 1, Bold)
     %Param.EnableScrolling(Horizontal, Ticker, 50, 195)
     %kodi_audio_title()
     
     /spacer - if string(title) width more than 190px/
     %If(%String.Width(%kodi_audio_title()) >= 195) {' --- '}
     
     /artist/
     %Common.CreateNewLine(1, 45, 21)
     %Graph.Font('Arial', 12, 1, Bold)
     %Param.EnableScrolling(Horizontal, Ticker, 50, 195)
     %kodi_audio_artist()
     
     /spacer/
     ' - '
     
     /album/
     %kodi_audio_album()
     
     /spacer - if string(artist + album + ' - ') width more than 190px/
     %If(%Inc(%String.Width(%kodi_audio_artist()), %String.Width(%kodi_audio_album())) + %String.Width(' - ') >= 195) {' --- '}
     
     /BMP/
     %If(%Plugin.Kodi.AudioPlayer.State() = 'Playing')
     {
       %Graph.LoadBitmap('kodi_audio_playing.bmp', 0, 26, 0, 0, 40, 38, 1, NONE)
     }
     %If(%Plugin.Kodi.AudioPlayer.State() = 'Paused')
     {
       %Graph.LoadBitmap('kodi_audio_paused.bmp', 0, 26, 0, 0, 40, 38, 1, NONE)
     }
     
     /next/
     %Common.CreateNewLine(1, 45, 39)
     %Graph.Font('Arial', 9, 1)
     'next:'
     %Common.CreateNewLine(1, 75, 39)
     %Graph.Font('Arial', 9, 1)
     %Param.EnableScrolling(Horizontal, Ticker, 50, 165)
     %kodi_audio_next_title()
     
     /current time/
     %Common.CreateNewLine(1, 45, 53)
     %Graph.Font('Arial', 8, 1)
     %Format.Time(%Eval('%Plugin.Kodi.'%Plugin.Kodi.ActivePlayer()'Player.CurrentItem.Position()'), 'hh:mm:ss')
     
     /horizontal bar/
     %Format.Bar(
       Horizontal,  /horizontal display/
       105,         /width/
       8,          /height/
       0,           /minimum/
       %Eval('%Plugin.Kodi.'%Plugin.Kodi.ActivePlayer()'Player.Playlist.Item('%i()', Length)'), /maximum/
       %Eval('%Plugin.Kodi.'%Plugin.Kodi.ActivePlayer()'Player.CurrentItem.Position()'), /current/
       1,           /frame width/
       1,           /frame border/
       90,          /xpos/
       56           /ypos/
     )
     
     /maximum time/
     %Common.CreateNewLine(1, 199, 53)
     %Graph.Font('Arial', 8, 1)
     %Format.Time(%Eval('%Plugin.Kodi.'%Plugin.Kodi.ActivePlayer()'Player.Playlist.Item('%i()', Length)'), 'hh:mm:ss')
   }
 
 }
 Else
 {
 
 }
#EndGfxMode


Attached Files Thumbnail(s)
           
#2
Das Problem der Bug liegt definitiv bei EnableScrolling. EnableScrolling interessiert CreateNewLine mit absoluter Pixelpositionierung nicht. Es wird immer die ganze Zeile gescrollt vom linken LCD rand bis x + x angabe in EnableScrolling. Ich würde diesen Bug ja gerne beheben...
#3
Hab den Fehler beim nicht korrekten Scrollen auch feststellen können!

Kannst ihn aber beheben, indem du bei %Param.EnableScrolling() eine 1 beim Verify angibst:

Code:
%Param.EnableScrolling(Horizontal, Ticker, 50, 165, 1)

 Außerdem hat sich hier noch ein Fehler eingeschlichen, da hast du die Klammern nach dem Parameter vergessen:

Code:
%If(%kodi_audio_title_all() < 10) {'0'}
#4
Hab ich mittlerweile geändert und es get. Danke


Forum Jump:


Users browsing this thread: 1 Guest(s)