Funktionsvarianten ohne Null als Ergebnis

Ich generiere öfter per Tag - Tag aus der fortlaufenden Nummer %track% die Episodennummer %tvepisode% über die Anzahl der Folgen pro Staffel, bspw. 13. Naiv ginge das mit $mod() so:

  • Feld: TVEPISODE
  • Formatstring: $mod(%track%,13)

Allerdings ergibt das für die letzte Episode der Season den Wert 0 statt hier 13. Dieses Verhalten ist in der Programmierung oft sinnvoll, weil viele Zählungen bei 0 und nicht bei 1 beginnen. Hier in den Metadaten hätte ich für Ordinalzahlen aber lieber eine Rest-/Modulo-Funktion, die nie nur für den Eingabewert 0 Null zurückliefert.

Ich kann das natürlich auch manuell erreichen indem ich Eins hinzufüge und danach wieder abziehe, aber dadurch wird es etwas unübersichtlicher:

  • Formatstring: $sub($mod($add(%track%,1),13),1)

Ich habe das natürlich für die üblichen Folgenzahlen in Aktionen ausgelagert, aber manche meiner Serien haben eine ungewöhnliche oder schwankende Anzahl Folgen pro Staffel, sodass ich die Formel manuell überarbeiten muss.

Für die Staffel %tvseason% wird (da es keine Aufrundenfunktion $ceil() gibt) ebenfalls Eins addiert, allerdings nach der Ganzzahldivision mit $div():

  • Feld: TVSEASON
  • Formatstring: $add($div(%track%,13),1)

Auch hier wäre eine Komfortfunktion nett. Ich habe allerdings keine guten Vorschläge für Funktionsnamen jenseits von $mod1() oder $rest() und $div1().

PS: Es gibt durchaus Fälle, etwa Piloten, Specials oder Fernsehfilme, in denen ich für %tvseason% oder %tvepisode% den Wert 0 vergebe.