<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0"
    xmlns:content="http://purl.org/rss/1.0/modules/content/"
    xmlns:dc="http://purl.org/dc/elements/1.1/"
    xmlns:atom="http://www.w3.org/2005/Atom">
    <channel>
        <title>Development — Astiga Community</title>
        <link>https://community.asti.ga/index.php?p=/</link>
        <pubDate>Tue, 19 May 2026 00:41:26 +0000</pubDate>
        <language>en</language>
            <description>Development — Astiga Community</description>
    <atom:link href="https://community.asti.ga/index.php?p=/categories/development/feed.rss" rel="self" type="application/rss+xml"/>
    <item>
        <title>Diferent playlist to each sonos speaker</title>
        <link>https://community.asti.ga/index.php?p=/discussion/818/diferent-playlist-to-each-sonos-speaker</link>
        <pubDate>Thu, 18 Sep 2025 11:09:23 +0000</pubDate>
        <category>Development</category>
        <dc:creator>Behind</dc:creator>
        <guid isPermaLink="false">818@/index.php?p=/discussions</guid>
        <description><![CDATA[<p>Hello</p><p>We have an hotel and we would like to have a diferent playlist to each of our facilites: pool, bar, lobby, etc. Each facility is equiped with somo Sonos speaker. Is there any way to controle that each facility can acces only to their playlist? </p><p>Thankyou</p>]]>
        </description>
    </item>
    <item>
        <title>Playlist ID type is different from API spec</title>
        <link>https://community.asti.ga/index.php?p=/discussion/728/playlist-id-type-is-different-from-api-spec</link>
        <pubDate>Sun, 13 Oct 2024 08:55:08 +0000</pubDate>
        <category>Development</category>
        <dc:creator>tpy</dc:creator>
        <guid isPermaLink="false">728@/index.php?p=/discussions</guid>
        <description><![CDATA[<p>Hi, I&#39;m having the same issue I reported in the following thread:</p><div data-embedjson="{&quot;recordID&quot;:689,&quot;recordType&quot;:&quot;discussion&quot;,&quot;body&quot;:&quot;&lt;p&gt;Has this page been removed?&lt;\/p&gt;&lt;p&gt;&lt;a href=\&quot;https:\/\/asti.ga\/developers\/\&quot; rel=\&quot;nofollow\&quot;&gt;https:\/\/asti.ga\/developers\/&lt;\/a&gt;&lt;\/p&gt;&quot;,&quot;bodyRaw&quot;:[{&quot;insert&quot;:&quot;Has this page been removed?\n&quot;},{&quot;attributes&quot;:{&quot;link&quot;:&quot;https:\/\/asti.ga\/developers\/&quot;},&quot;insert&quot;:&quot;https:\/\/asti.ga\/developers\/&quot;},{&quot;insert&quot;:&quot;\n&quot;}],&quot;format&quot;:&quot;Rich&quot;,&quot;dateInserted&quot;:&quot;2024-06-18T13:24:41+00:00&quot;,&quot;insertUser&quot;:{&quot;userID&quot;:388,&quot;name&quot;:&quot;tpy&quot;,&quot;photoUrl&quot;:&quot;https:\/\/community.asti.ga\/uploads\/defaultavatar\/n18YSC7J3MV8G.jpg&quot;,&quot;dateLastActive&quot;:&quot;2024-10-13T08:44:59+00:00&quot;},&quot;displayOptions&quot;:{&quot;showUserLabel&quot;:false,&quot;showCompactUserInfo&quot;:true,&quot;showDiscussionLink&quot;:true,&quot;showPostLink&quot;:true,&quot;showCategoryLink&quot;:false,&quot;renderFullContent&quot;:false,&quot;expandByDefault&quot;:false},&quot;url&quot;:&quot;https:\/\/community.asti.ga\/discussion\/689\/asti-ga-developers-returns-404&quot;,&quot;embedType&quot;:&quot;quote&quot;,&quot;name&quot;:&quot;asti.ga\/developers returns 404&quot;}">
    <a rel="nofollow" href="https://community.asti.ga/discussion/689/asti-ga-developers-returns-404">
        https://community.asti.ga/discussion/689/asti-ga-developers-returns-404
    </a>
</div><p>The issue is that the type of &quot;id&quot; field of &quot;playlist&quot; is number while it is supposed to be string based on the API reference.</p><p>This is one of the actual returned value:</p><pre spellcheck="false">&nbsp;{

&nbsp;&nbsp;&quot;id&quot;: 21982455, # This is supposed to be string, but actually number.

&nbsp;&nbsp;&quot;owner&quot;: &quot;user@example.com&quot;,

&nbsp;&nbsp;&quot;name&quot;: &quot;Reference&quot;,

&nbsp;&nbsp;&quot;public&quot;: false,

&nbsp;&nbsp;&quot;songCount&quot;: 378,

&nbsp;&nbsp;&quot;coverArt&quot;: 26842406,

&nbsp;&nbsp;&quot;created&quot;: &quot;2024-10-13T08:44:15&quot;

&nbsp;},
</pre><p>This script can reproduce the issue:</p><pre spellcheck="false">import requests
import json


base_url = &quot;https://play.asti.ga/rest/&quot;
username = &quot;user@example.com&quot; # To be changed
password = &quot;password&quot;         # To be changed
client_name = &quot;my_client&quot;
version = &quot;1.16.0&quot;

token = password.encode(&#39;utf-8&#39;).hex()

params = {
&nbsp; &nbsp; &#39;u&#39;: username,
&nbsp; &nbsp; &#39;p&#39;: f&quot;enc:{token}&quot;,
&nbsp; &nbsp; &#39;v&#39;: version,
&nbsp; &nbsp; &#39;c&#39;: client_name,
&nbsp; &nbsp; &#39;f&#39;: &#39;json&#39;
}

response = requests.get(f&quot;{base_url}getPlaylists&quot;, params=params)
playlists = response.json().get(&#39;subsonic-response&#39;, {}).get(&#39;playlists&#39;, {}).get(&#39;playlist&#39;, [])

print(json.dumps(playlists, indent=2))
</pre><p><br /></p><p>Which information should I rely on?  If a root cause is not clear on Astiga side, I will consider to expect both string and number for this field.</p><p>Thanks!</p>]]>
        </description>
    </item>
    <item>
        <title>asti.ga/developers returns 404</title>
        <link>https://community.asti.ga/index.php?p=/discussion/689/asti-ga-developers-returns-404</link>
        <pubDate>Tue, 18 Jun 2024 13:24:41 +0000</pubDate>
        <category>Development</category>
        <dc:creator>tpy</dc:creator>
        <guid isPermaLink="false">689@/index.php?p=/discussions</guid>
        <description><![CDATA[<p>Has this page been removed?</p><p><a href="https://asti.ga/developers/" rel="nofollow">https://asti.ga/developers/</a></p>]]>
        </description>
    </item>
    <item>
        <title>Multiple CORS header error in API calls</title>
        <link>https://community.asti.ga/index.php?p=/discussion/542/multiple-cors-header-error-in-api-calls</link>
        <pubDate>Wed, 16 Nov 2022 12:05:15 +0000</pubDate>
        <category>Development</category>
        <dc:creator>ScoutPanda</dc:creator>
        <guid isPermaLink="false">542@/index.php?p=/discussions</guid>
        <description><![CDATA[<p>A few days back my web app was working normally, but today astiga ping api call started returning CORS error regarding duplicate headers. Specifically the error states Multiple CORS header &#39;Access-Control-Allow-Origin&#39; not allowed. The following headers are duplicated.</p><p>Access-Control-Allow-Headers: *</p><p>Access-Control-Allow-Methods: *</p><p>Access-Control-Allow-Origin: *</p><p>Did something change on Astigas end recently?</p>]]>
        </description>
    </item>
    <item>
        <title>API Album artist tag</title>
        <link>https://community.asti.ga/index.php?p=/discussion/363/api-album-artist-tag</link>
        <pubDate>Fri, 14 May 2021 12:54:41 +0000</pubDate>
        <category>Development</category>
        <dc:creator>ScoutPanda</dc:creator>
        <guid isPermaLink="false">363@/index.php?p=/discussions</guid>
        <description><![CDATA[<p>Hello, I have a question regarding the API.</p><p>When calling getAlbumList or getAlbum the artist tag seems to come from the first song&#39;s artist tag on the album instead of the album artist tag. On the contrary to this, when calling getArtistList, it seems to use the album artist tag to group  the albums. When comparing this to the astiga web player, the albums list seems to use the album artist tag, which I feel makes more logical sense.</p><p>Would it be possible to make the API also use album artist tag if available for albums?</p>]]>
        </description>
    </item>
    <item>
        <title>API startScan support</title>
        <link>https://community.asti.ga/index.php?p=/discussion/217/api-startscan-support</link>
        <pubDate>Fri, 23 Oct 2020 16:01:43 +0000</pubDate>
        <category>Development</category>
        <dc:creator>Damntry</dc:creator>
        <guid isPermaLink="false">217@/index.php?p=/discussions</guid>
        <description><![CDATA[<p>Another GPM pariah here 🖐️  Still testing before I make the full switch.</p><p><br /></p><p>Are there any plans to implement startScan and getScanStatus on the API? I understand its a sensitive topic since it could get relatively abused, but it would also be very helpful.</p><p>Im planning on creating an app that, among other things, will update Astiga playlists automatically from local m3u/pls files without having to manually use the Import playlist function. This requires that the library is completely synced beforehand.&nbsp;</p><p>Usually this is hardly a problem since users will create custom playlists long after the songs themselves have been synced with astiga, but it will be useful for first time users with previously made playlists, plus my app will create automatic playlists based on the folder contents.</p><p>Basically, while hourly syncing is usually more than enough, I would like to ensure that the process works smoothly with no input, and that the user doesnt have to remember to re-do it a bit later once the sync is done.</p><p><br /></p><p>Alternatively to startScan, a method to check the last hour at which the library was synced would work too, so I could pause once an &quot;unsync&quot; situation is detected, and then resume when the next automatic sync is made. </p><p>This could potentially be an upto ~59 min. wait time, excluding syncing times, but hey, the trade-offs of automation.</p><p><br /></p><p>Also related, are there any limits on the API usage, particularly in the number of connections per minute or the like?</p>]]>
        </description>
    </item>
    <item>
        <title>Is there a way to help you?</title>
        <link>https://community.asti.ga/index.php?p=/discussion/124/is-there-a-way-to-help-you</link>
        <pubDate>Mon, 20 Jul 2020 16:18:21 +0000</pubDate>
        <category>Development</category>
        <dc:creator>Lolo</dc:creator>
        <guid isPermaLink="false">124@/index.php?p=/discussions</guid>
        <description><![CDATA[<p>Hi, it&#39;s a tricky question, I know.</p><p>I think what you did during the past years with Astiga is very impressive and need recognition.</p><p>So my first action was to take a premium account and suggest your app on different sub Reddit to replace GPM / YTM during this &quot;Google dark time&quot;.</p><p>But, I&#39;d like to do more to help you.</p><p>I&#39;m developer myself and I&#39;ve got some free times to invest on different project.</p><p>I know that opening your project to collaboration can sometimes bring more disadvantages than advantages (there are always horror stories). But if you are open to the idea, I just wanted to mention my interest. I don&#39;t want anything in return, I just want to help a project that I think has a lot of potential.</p><p><br /></p><p>Thanks.</p>]]>
        </description>
    </item>
   </channel>
</rss>
