Posted
almost 5 years
ago
Jellyfin for Android version 2.1 is here with support for Android Auto.
A new version of the Android app: version 2.1 has just been released! This update contains some quality of life improvements, some bugfixes and new features.
It’s been only a few
... [More]
weeks since 2.0 but we couldn’t wait to bring these new exiting changes to you. Let’s start with the most awesome feature.
Android Auto
Starting with this update we now support playing music in cars. This change was contributed by @Spacetech and we are excited to release it. Right now it supports browsing your music library in multiple categories: latest, albums, artists, songs and genres. It allows shuffling your albums and shows thumbnails when available.
Note: since we do not have offline-support at the moment all music playback needs an active network connection to work. Be aware this may cause additional charges in your mobile plan.
Connectivity issues
Some users reported issues when connecting to their server. We’ve made some improvements to fix those problems:
When your server uses an outdated version a warning is shown.
If the webui fails to load we now show a proper error allowing you to change the server address.
Users with self-signed certificates should be able to use the app again.
And lastly, when your device name includes special characters they are now removed to fix the “endless loading” issue.
Playback improvements
The native video player (ExoPlayer) now supports zooming using gestures so you can remove the black bars from the video. We made some changes to which audio codecs are supported to prevent unnecessary transcoding. We also made some big changes to the structure of the app to fix an issue where you weren’t able to return to the app after leaving Picture-in-Picture mode.
There is a new option in the settings to select which external player to use. The listed players should also report playback status back to Jellyfin to track what you watch and allow the app to resume playback. Issues with subtitles (especially external subtitles) should now be less common.
F-Droid
We have added the required metadata for F-Droid to our repository. We are currently working with the F-Droid team to get the app in their repository - we will post an additional announcement when this is ready.
Release Notes
Full release notes available on GitHub.
Download Now
Direct downloads are always available from our repository.
Contributors
We are grateful to all contributors this release:
@Maxr1998 - Sponsor
@nielsvanvelzen - Sponsor
@vitorsemeano
@ferferga - Sponsor
@CarlosOlivo
@Spacetech
@h1dden-da3m0n
@IzzySoft
[Less]
|
Posted
about 5 years
ago
We have a brand new web wrapper for Android sans Cordova!
|
Posted
about 5 years
ago
This will be a net benefit for users and developers alike!
Everyone will enjoy the native video player spearheaded by Stampede10343 and vitorsemeano over the course of several months.
Maxr1998 valiantly ported the Cordova portions to Kotlin (and a
... [More]
bit of Java) which means Android developers will feel right at home with the new codebase!
Migration
The new release will be a drop-in replacement for the deprecated Cordova client, meaning you can just update from GitHub, Google Play, or Amazon App Store as you would have previously.
One minor issue is that you'll have to add your server and credentials again since we couldn't pull the information from Cordova.
Local user settings such as the theme will also be reset after the update.
Azure has also been updated so the releases will be automatically built, and Weblate now points to the new codebase.
Older versions will remain on our repository for the time being but don't expect them to stay forever, so if you have some reason to stash the older APKs download them soon!
Please note that this client has a new set of translations, so if you speak more than one language head on over to Weblate to help out the new client!
ExoPlayer
The key feature for this release is ExoPlayer, so we've reserved a whole section for news regarding the player and its functionality.
It's currently disabled by default since there may be small issues, but it works quite well in our experience.
The main features missing at the moment are bitrate limiting and SyncPlay, but they should get added eventually.
There is a new section in the user settings for the native client from which you can enable ExoPlayer, among other options.
A toggle for the notification dismissal was also added for customization.
Of course, using ExoPlayer means support for more codecs during video playback as well!
H265 should be working without transcodes, and several other problematic codecs are now much less troublesome with the new update.
Note that the included device profile still needs some tweaking to actually mark every codec that the phone supports as supported to the server. You can follow the progress on this at jellyfin/jellyfin-android#28.
Future
The goal is to use a mobile-first interface for ExoPlayer so we can focus more on desktop for the normal web player.
Bigger, easier clickable buttons and double tap to seek are some of the changes setting the new interface apart from the HTML5 video player.
As usual, since this is a volunteer project we don't actually have set milestones, so if you want something done, the quickest method is to add it yourself!
Head over to Matrix or Freenode and get in touch with the Android developers if you'd like to talk about adding a new feature.
Our GitHub is also an excellent place to discuss long term changes for the new client now that a more modern build process is in place. [Less]
|
Posted
about 5 years
ago
This will be a net benefit for users and developers alike!
Everyone will enjoy the native video player spearheaded by Stampede10343 and vitorsemeano over the course of several months.
Maxr1998 valiantly ported the Cordova portions to Kotlin (and a
... [More]
bit of Java) which means Android developers will feel right at home with the new codebase!
Migration
The new release will be a drop-in replacement for the deprecated Cordova client, meaning you can just update from GitHub, Google Play, or Amazon App Store as you would have previously.
One minor issue is that you’ll have to add your server and credentials again since we couldn’t pull the information from Cordova.
Local user settings such as the theme will also be reset after the update.
Azure has also been updated so the releases will be automatically built, and Weblate now points to the new codebase.
Older versions will remain on our repository for the time being but don’t expect them to stay forever, so if you have some reason to stash the older APKs download them soon!
Please note that this client has a new set of translations, so if you speak more than one language head on over to Weblate to help out the new client!
ExoPlayer
The key feature for this release is ExoPlayer, so we’ve reserved a whole section for news regarding the player and its functionality.
It’s currently disabled by default since there may be small issues, but it works quite well in our experience.
The main features missing at the moment are bitrate limiting and SyncPlay, but they should get added eventually.
There is a new section in the user settings for the native client from which you can enable ExoPlayer, among other options.
A toggle for the notification dismissal was also added for customization.
Of course, using ExoPlayer means support for more codecs during video playback as well!
H265 should be working without transcodes, and several other problematic codecs are now much less troublesome with the new update.
Note that the included device profile still needs some tweaking to actually mark every codec that the phone supports as supported to the server. You can follow the progress on this at jellyfin/jellyfin-android#28.
Future
The goal is to use a mobile-first interface for ExoPlayer so we can focus more on desktop for the normal web player.
Bigger, easier clickable buttons and double tap to seek are some of the changes setting the new interface apart from the HTML5 video player.
As usual, since this is a volunteer project we don’t actually have set milestones, so if you want something done, the quickest method is to add it yourself!
Head over to Matrix or Freenode and get in touch with the Android developers if you’d like to talk about adding a new feature.
Our GitHub is also an excellent place to discuss long term changes for the new client now that a more modern build process is in place. [Less]
|
Posted
about 5 years
ago
Bringing smooth playback to the Xbox One & Windows 10 with Jellyfin
|
Posted
about 5 years
ago
Videotape is a free lightweight video player for both Windows 10 & Xbox. Their new 3.0 version now supports Jellyfin!
Videotape is a native UWP application with a strong focus on design and usability.
Direct play almost all files, both from
... [More]
Jellyfin and other local files
Overlay and always on top modes
Adjustable playback speed
Download it now from the Microsoft store!
Here’s what Jellyfin looks like on Windows, with Videotape 3.
Here’s what it looks like on the Xbox One.
Client Spotlight
This blog series aims to highlight some of the amazing projects created by our community.
Feel free to send a message if you can think of a project that could use more love!
[Less]
|
Posted
about 5 years
ago
Videotape is a free lightweight video player for both Windows 10 & Xbox. Their new 3.0 version now supports Jellyfin!
Videotape is a native UWP application with a strong focus on design and usability.
Direct play almost all files, both from
... [More]
Jellyfin and other local files
Overlay and always on top modes
Adjustable playback speed
Download it now from the Microsoft store!
Here's what Jellyfin looks like on Windows, with Videotape 3.
Here's what it looks like on the Xbox One.
Client Spotlight
This blog series aims to highlight some of the amazing projects created by our community.
Feel free to send a message if you can think of a project that could use more love!
[Less]
|
Posted
about 5 years
ago
Videotape is a free lightweight video player for both Windows 10 & Xbox. Their new 3.0 version now supports Jellyfin!
Videotape is a native UWP application with a strong focus on design and usability.
Direct play almost all files, both from
... [More]
Jellyfin and other local files
Overlay and always on top modes
Adjustable playback speed
Download it now from the Microsoft store!
Here's what Jellyfin looks like on Windows, with Videotape 3.
Here's what it looks like on the Xbox One.
Client Spotlight
This blog series aims to highlight some of the amazing projects created by our community.
Feel free to send a message if you can think of a project that could use more love!
[Less]
|
Posted
about 5 years
ago
After months of work, here comes another behemoth of a release, this time with over 30 major improvements and tons of fixes.
Download Jellyfin 10.6.0 Read the full release notes
At more than 500 pull requests merged between the server and the web
... [More]
client, Jellyfin 10.6.0 brings an incredible number of new features, improvements and bug fixes. It's a huge release and we have a lot to cover, so let's get to it!
SyncPlay
Other services have recently launched various ways to view your content together with friends. With the current global situation, it makes a lot of sense, and Jellyfin isn't lagging behind.
We're proud to announce Jellyfin 10.6's headline feature: SyncPlay.
SyncPlay allows you to create rooms that other users or clients can join in order to share a common viewing experience. There is no limit on the number of users in a room and you are free to join the same room with the same user from multiple clients as well.
Thanks to first-time contributor OancaAndrei, who submitted pull requests to both the server and the web client (jf#2733, jf-web#1011) in order to lay out the foundations for this, you can now watch movies together with friends and family, from the comfort of your respective homes.
The feature is expected to be improved in future versions of Jellyfin, but has already been used by multiple users during the development cycle, with a delay between clients of only a couple of milliseconds.
Migration to Entity Framework Core
It's been on our plate for a while, but thanks to new team member barronpm, we can finally say that the rewrite of our database model is progressing at a steady pace!
Previously, Jellyfin used a combination of SQLite databases (yes, multiple ones), XML files and C# spaghetti to perform database operations. Information was split in multiple places, sometimes even duplicated and generally filtered in C# instead of using the database engine's faster processing.
Over the course of this cycle, barronpm has been deciphering and untangling this mess, and managed to successfully migrate the ActivityDB (jf#2970) and the UserDB (jf3148) to EF Core.
While there is still a ways to go, EF Core should bring faster database queries, support for multiple database engines, cleaner code, and significantly reduced memory usage. Currently, there is still a bridge to make the link between the new EF Core databases and the existing code, which will be cleaned up down the line.
Part of the improved memory usage is due to our current inherited custom ORM caching everything in memory to make up for its slowness. For large databases, this could result in hundreds of megabytes of memory lost to caching. With EF Core, however, we leave the heavy lifting to the database engine, leading to better response times and less memory usage overall.
Your databases will be automatically migrated when you first launch Jellyfin 10.6. While the migration process has been well tested over the past few months, issues may arise during the migration process. To prevent any data loss, please backup your existing data files before starting the migration process.
A more modern web client
Our web client has long suffered of a massive amount of technical debt, due to the project we forked from only providing minified versions of the source and using antiquated web technologies. Some of these old technologies have, until recently, prevented us from being able to use modern JavaScript tooling, which would allow us to significantly clean the source.
Thankfully, this is now behind us, as MrTimscampi worked on improving the way we build the web client by using Gulp to perform various tasks necessary for building our current code structure with modern tools. (jf-web#862). This allows us to use bleeding edge JavaScript thanks to Babel, but also simplifies greatly our support for legacy clients (Most notably early WebOS and Tizen versions).
Among the benefits of this move to Gulp for building the client, we have started moving away from RequireJS and towards using standard EcmaScript Modules, thanks to Camc314, cromefire, Delgan, dkanada, grafixeyehero, MrTimscampi, and sarab97.
This massive change, once it is complete, will allow us to simplify the web client build process, which will in turn allow us to start our migration to Vue and significantly clean up our code. This should also bring some noticeable performance improvements to the web client down the line, as we tackle technical debt and remove deprecated practices and libraries from the code.
Server performance, bug fixes and better networking
Our resident C# performance wizard, Bond-009 continues his quest to rid the server source of warnings and generally improve server performance, fixing multiple bugs in the process.
mark-monteiro worked on multiple fixes for 10.6, including reworking the network settings accessible through the administration dashboard (jf#2774, jf-web#1140).
Team member nyanmisaka, with some help from artiume, brings a number of improvements to transcoding (jf#2809, jf-web#1046, jf#2821, jf#2715), with format toggles, options for toggling transcoding for HEVC and 10-bit VP9 videos off for older GPUs, providing support for the VP8/VP9 QSV and NVDEC decoders in FFmpeg 4.3, better support for UTF-16 subtitles and a host of other improvements.
Further changes to the server include fixes for collection metadata issues (jf#3117), improvements to the metadata providers (jf#3071, jf#3056, jf#3289), and more core providers moved to plugins (jf#3208).
More web client improvements
Itegulov and dkanada have improved support for ebooks by adding an EPUB reader based on epub.js (jf-web#1263). Reader support for more formats is in progress for future versions, including CBZ/CBR and PDF.
As we used the new 10.5 details screen over the last few months, we noticed some improvements we could make to the experience. Team member MrTimscampi, along with input from the rest of the web team and some of our users, did a second pass on that screen (jf-web#949, jf-web#1206), tightening the design and cleaning some visual issues along the way. Delgan put in the final touches to the page by avoiding a jump in the content when rendering the track selectors on the page (jf-web#1406)
Team member ferferga and contributor samuel9554 have been working on redesigning our music experience. For 10.6, they overhauled our mobile music player interface and made significant changes to the mini player and the remote player UI (jf-web#1056, jf-web#1430).
MrTimscampi also reworked the image loading system (jf-web#1065), fixing some visual issues and improving memory usage by unloading out of view images. Along with this improvement, ferferga, GranPC, JustAMan and Bond-009 have implemented Blurhash placeholder support on both the server and the web client, which brings further visual refinement to the user interface.
JustAMan went back over our new SSA/ASS subtitle rendering system and significantly improved performance for subtitles with heavy effects (jf-web#1144, jf-web#1095, jf-web#1048, jf-web#1005). While we still consider the feature experimental, it should now be able to render most subtitles accurately and with correct performance.
Other improvements to the web client include a rewritten image viewer (jf-web#967), a configuration option for the number of items per page in libraries (jf-web#983), a toggle for the nightly version of the Chromecast client (jf-web#1242), and support for multiple plugin repositories (jf-web#1393, jf#3244).
Patreons and Github Sponsors
With the increased amount of activity on the project, we would like to give a signal boost to some ways to support the people working daily on Jellyfin.
We want to stress that, while some of our contributors individually accept financial donations, Jellyfin and its features will never be hidden behind a paywall. Supporting the developers financially is entirely voluntary and won't give you any exclusive access to features or support, nor will it change the priority of your feature requests or issues.
anthonylavado, our wonderful PR and developer relation person, accepts donations through Github Sponsors.
barronpm, whose main work is on the server portion of Jellyfin and who has been spearheading the migration to EF Core has recently opened a Patreon page.
dkanada, whose work spreads from server to web client, accepts donations through Github Sponsors
ferferga, web client contributor, localization aficionado and all-around awesome person accepts donations through Github Sponsors.
nielsvanvelzen, who has been working hard on the Android TV client, can be supported on Github Sponsors.
MrTimscampi, whose main work has been cleaning up and modernizing the web client, also recently opened a Patreon page.
oddstr13, one of the developers of Jellyfin for Kodi also accepts donations on Github Sponsors.
thornbill who handles the iOS and Android clients, and also contributes to the Android TV client, can be supported on Github Sponsors
Contributors
As an final note, we would like to thank all the contributors who worked on making Jellyfin 10.6 a reality:
adavier
aled
alset333
anthonylavado
Artiume
balu92
BaronGreenback
barronpm
bendardenne
Bond-009
Brissot
Camc314
ConfusedPolarBear
crobibero
cromefire
cvium
dafo90
danieladov
Delgan
dkanada
dmitrylyzo
dtparr
EraYaN
ferferga
fhriley
grafixeyehero
GranPC
h1nk
hauntingEcho
itegulov
iwalton3
jairbubbles
joshuaboniface
JustAMan
kesslern
KGT1
KristupasSavickas
KucharczykL
lfoust
lyonzy
macr
mark-monteiro
masterkoppa
mijofa
MrTimscampi
Nazar78
neilsb
Nickbert7
nielsvanvelzen
nyanmisaka
OancaAndrei
oddstr13
ox0spy
Polpetta
PrplHaz4
puschie286
pusta
randrey
redSpoutnik
rexbron
rigtorp
rotvel
samuel9554
sarab97
Shawmon
shayaantx
sparky8251
Stampede10343
telans
ThibaultNocchi
thornbill
twinkybot
Ullmie02
viaregio
villagra
whooo
xumix
YouKnowBlom
ZadenRB
[Less]
|
Posted
about 5 years
ago
After months of work, here comes another behemoth of a release, this time with over 30 major improvements and tons of fixes.
Download Jellyfin 10.6.0 Read the full release notes
At more than 500 pull requests merged between the server and the web
... [More]
client, Jellyfin 10.6.0 brings an incredible number of new features, improvements and bug fixes. It’s a huge release and we have a lot to cover, so let’s get to it!
SyncPlay
Other services have recently launched various ways to view your content together with friends. With the current global situation, it makes a lot of sense, and Jellyfin isn’t lagging behind.
We’re proud to announce Jellyfin 10.6’s headline feature: SyncPlay.
SyncPlay allows you to create rooms that other users or clients can join in order to share a common viewing experience. There is no limit on the number of users in a room and you are free to join the same room with the same user from multiple clients as well.
Thanks to first-time contributor OancaAndrei, who submitted pull requests to both the server and the web client (jf#2733, jf-web#1011) in order to lay out the foundations for this, you can now watch movies together with friends and family, from the comfort of your respective homes.
The feature is expected to be improved in future versions of Jellyfin, but has already been used by multiple users during the development cycle, with a delay between clients of only a couple of milliseconds.
Migration to Entity Framework Core
It’s been on our plate for a while, but thanks to new team member barronpm, we can finally say that the rewrite of our database model is progressing at a steady pace!
Previously, Jellyfin used a combination of SQLite databases (yes, multiple ones), XML files and C# spaghetti to perform database operations. Information was split in multiple places, sometimes even duplicated and generally filtered in C# instead of using the database engine’s faster processing.
Over the course of this cycle, barronpm has been deciphering and untangling this mess, and managed to successfully migrate the ActivityDB (jf#2970) and the UserDB (jf3148) to EF Core.
While there is still a ways to go, EF Core should bring faster database queries, support for multiple database engines, cleaner code, and significantly reduced memory usage. Currently, there is still a bridge to make the link between the new EF Core databases and the existing code, which will be cleaned up down the line.
Part of the improved memory usage is due to our current inherited custom ORM caching everything in memory to make up for its slowness. For large databases, this could result in hundreds of megabytes of memory lost to caching. With EF Core, however, we leave the heavy lifting to the database engine, leading to better response times and less memory usage overall.
Your databases will be automatically migrated when you first launch Jellyfin 10.6. While the migration process has been well tested over the past few months, issues may arise during the migration process. To prevent any data loss, please backup your existing data files before starting the migration process.
A more modern web client
Our web client has long suffered of a massive amount of technical debt, due to the project we forked from only providing minified versions of the source and using antiquated web technologies. Some of these old technologies have, until recently, prevented us from being able to use modern JavaScript tooling, which would allow us to significantly clean the source.
Thankfully, this is now behind us, as MrTimscampi worked on improving the way we build the web client by using Gulp to perform various tasks necessary for building our current code structure with modern tools. (jf-web#862). This allows us to use bleeding edge JavaScript thanks to Babel, but also simplifies greatly our support for legacy clients (Most notably early WebOS and Tizen versions).
Among the benefits of this move to Gulp for building the client, we have started moving away from RequireJS and towards using standard EcmaScript Modules, thanks to Camc314, cromefire, Delgan, dkanada, grafixeyehero, MrTimscampi, and sarab97.
This massive change, once it is complete, will allow us to simplify the web client build process, which will in turn allow us to start our migration to Vue and significantly clean up our code. This should also bring some noticeable performance improvements to the web client down the line, as we tackle technical debt and remove deprecated practices and libraries from the code.
Server performance, bug fixes and better networking
Our resident C# performance wizard, Bond-009 continues his quest to rid the server source of warnings and generally improve server performance, fixing multiple bugs in the process.
mark-monteiro worked on multiple fixes for 10.6, including reworking the network settings accessible through the administration dashboard (jf#2774, jf-web#1140).
Team member nyanmisaka, with some help from artiume, brings a number of improvements to transcoding (jf#2809, jf-web#1046, jf#2821, jf#2715), with format toggles, options for toggling transcoding for HEVC and 10-bit VP9 videos off for older GPUs, providing support for the VP8/VP9 QSV and NVDEC decoders in FFmpeg 4.3, better support for UTF-16 subtitles and a host of other improvements.
Further changes to the server include fixes for collection metadata issues (jf#3117), improvements to the metadata providers (jf#3071, jf#3056, jf#3289), and more core providers moved to plugins (jf#3208).
More web client improvements
Itegulov and dkanada have improved support for ebooks by adding an EPUB reader based on epub.js (jf-web#1263). Reader support for more formats is in progress for future versions, including CBZ/CBR and PDF.
As we used the new 10.5 details screen over the last few months, we noticed some improvements we could make to the experience. Team member MrTimscampi, along with input from the rest of the web team and some of our users, did a second pass on that screen (jf-web#949, jf-web#1206), tightening the design and cleaning some visual issues along the way. Delgan put in the final touches to the page by avoiding a jump in the content when rendering the track selectors on the page (jf-web#1406)
Team member ferferga and contributor samuel9554 have been working on redesigning our music experience. For 10.6, they overhauled our mobile music player interface and made significant changes to the mini player and the remote player UI (jf-web#1056, jf-web#1430).
MrTimscampi also reworked the image loading system (jf-web#1065), fixing some visual issues and improving memory usage by unloading out of view images. Along with this improvement, ferferga, GranPC, JustAMan and Bond-009 have implemented Blurhash placeholder support on both the server and the web client, which brings further visual refinement to the user interface.
JustAMan went back over our new SSA/ASS subtitle rendering system and significantly improved performance for subtitles with heavy effects (jf-web#1144, jf-web#1095, jf-web#1048, jf-web#1005). While we still consider the feature experimental, it should now be able to render most subtitles accurately and with correct performance.
Other improvements to the web client include a rewritten image viewer (jf-web#967), a configuration option for the number of items per page in libraries (jf-web#983), a toggle for the nightly version of the Chromecast client (jf-web#1242), and support for multiple plugin repositories (jf-web#1393, jf#3244).
Patreons and Github Sponsors
With the increased amount of activity on the project, we would like to give a signal boost to some ways to support the people working daily on Jellyfin.
We want to stress that, while some of our contributors individually accept financial donations, Jellyfin and its features will never be hidden behind a paywall. Supporting the developers financially is entirely voluntary and won’t give you any exclusive access to features or support, nor will it change the priority of your feature requests or issues.
anthonylavado, our wonderful PR and developer relation person, accepts donations through Github Sponsors.
barronpm, whose main work is on the server portion of Jellyfin and who has been spearheading the migration to EF Core has recently opened a Patreon page.
dkanada, whose work spreads from server to web client, accepts donations through Github Sponsors
ferferga, web client contributor, localization aficionado and all-around awesome person accepts donations through Github Sponsors.
nielsvanvelzen, who has been working hard on the Android TV client, can be supported on Github Sponsors.
MrTimscampi, whose main work has been cleaning up and modernizing the web client, also recently opened a Patreon page.
oddstr13, one of the developers of Jellyfin for Kodi also accepts donations on Github Sponsors.
thornbill who handles the iOS and Android clients, and also contributes to the Android TV client, can be supported on Github Sponsors
Contributors
As an final note, we would like to thank all the contributors who worked on making Jellyfin 10.6 a reality:
adavier
aled
alset333
anthonylavado
Artiume
balu92
BaronGreenback
barronpm
bendardenne
Bond-009
Brissot
Camc314
ConfusedPolarBear
crobibero
cromefire
cvium
dafo90
danieladov
Delgan
dkanada
dmitrylyzo
dtparr
EraYaN
ferferga
fhriley
grafixeyehero
GranPC
h1nk
hauntingEcho
itegulov
iwalton3
jairbubbles
joshuaboniface
JustAMan
kesslern
KGT1
KristupasSavickas
KucharczykL
lfoust
lyonzy
macr
mark-monteiro
masterkoppa
mijofa
MrTimscampi
Nazar78
neilsb
Nickbert7
nielsvanvelzen
nyanmisaka
OancaAndrei
oddstr13
ox0spy
Polpetta
PrplHaz4
puschie286
pusta
randrey
redSpoutnik
rexbron
rigtorp
rotvel
samuel9554
sarab97
Shawmon
shayaantx
sparky8251
Stampede10343
telans
ThibaultNocchi
thornbill
twinkybot
Ullmie02
viaregio
villagra
whooo
xumix
YouKnowBlom
ZadenRB
[Less]
|