We have moved to a new Sailfish OS Forum. Please start new discussions there.
5

BUG: Default Ambiences should not set system tones [PATCH] [answered]

asked 2017-11-06 02:06:56 +0300

DarkStarSword gravatar image

updated 2017-11-09 14:35:54 +0300

EDIT: Patch is included in below answer for Jolla to apply

EDIT: I am NOT looking for advice or workarounds. I know we can use custom ambiences, but that isn't the issue here. This issue is about the DEFAULT ambiences, and this can only be resolved by Jolla updating the Ambience package shipped with Sailfish OS. Any other advice to avoid the problem is not helpful, because the problem still exists. The ONLY other discussion that should even be happening here is other ways in which the Ambience mechanics can be improved, but even that is only tangentially related to this report and should really be in a different thread.

I know that this has been discussed before, but I cannot find it in search and for a feature that was so pushed as something unique to Sailfish OS it is really mystifying that this long standing issue has still not been rectified when there is such a simple fix, since it renders the feature next to useless by default (and still of limited use even with this fixed, but it would be a huge start).

The problem is that all the default ambiences (except the silent profile) set all the tones back to default, so if you are using custom ringtones you cannot use any of the system ambiences (except silent).

The workaround is simple enough - just remove all the actions in each of the system ambiences. The problem with this workaround is that it gets wiped out whenever the ambiences package is updated, so this isn't something we can actually rely on in practice.

The fix is just as simple: Ship the ambiences without any actions that set tones. This would take someone at Jolla literally two minutes to fix... So, fix it?

Yes, there's a more advanced fix - have ambiences restore the previously set tones when they are unset (assuming the user hasn't since manually changed the tones and prior to applying the new ambience's tones), but this is useless if all the default ambiences still reset all the tones anyway, so just start with this simple fix and then we can talk about other ways to make this feature more useful. Edit: This advanced fix is described in more detail in this bug report:
https://together.jolla.com/question/173201/bug-ambiences-should-restore-previous-sound-volume-when-unset/

edit retag flag offensive reopen delete

The question has been closed for the following reason "the question is answered, an answer was accepted" by naytsyrhc
close date 2017-11-09 21:48:56.243493

Comments

3

I don't quite follow... Can't you just create/edit an ambience with your custom ringtones? Admittedly, it is strange that you can set them both in ambiences and in settings, where the latter get overwritten.

Kao ( 2017-11-06 09:01:25 +0300 )edit
3

what he means, you cant.customize the shipped ambiences cause every update resets your changes.

and you cant do a save as .. on an ambience.

pawel ( 2017-11-06 15:04:03 +0300 )edit

"Can't you just create/edit an ambience with your custom ringtones?" - You can create new ambiences, yes - and this is what I've done since those don't get wiped by OS updates. But you can't actually edit the existing ones, because any OS updates can (and has) wiped out those customisations, so the built in Ambiences are all unusable in practice.

DarkStarSword ( 2017-11-06 16:46:49 +0300 )edit
1

That's a feature, not a bug! :)

If you want to have an ambience with your own tones, just copy an existing one and set the tones to what you want to.

The whole idea of ambiences is that each one has its own sound environment.

juiceme ( 2017-11-06 18:56:10 +0300 )edit

"just copy an existing one" once again just proves that the default ambiences are unusable as is.

DarkStarSword ( 2017-11-07 02:56:55 +0300 )edit

3 Answers

Sort by » oldest newest most voted
7

answered 2017-11-06 14:43:39 +0300

naytsyrhc gravatar image

I wouldn't say, that this is a bug. The ambiences provided by Jolla are ambiences including theme (picture) and sound schema. If you want to have your own sounds, you would have to create a new ambience. It could be a missing feature to save/export customized ambiences (don't know if it is possible).

edit flag offensive delete publish link more

Comments

"If you want to have your own sounds, you would have to create a new ambience" proves my point that "if you are using custom ringtones you cannot use any of the system ambiences"

DarkStarSword ( 2017-11-06 16:43:11 +0300 )edit
2

@DarkStarSword exactly.

System ambiences are system ambiences, if you want your own just do it! If you want it exactly as a system ambience, just make a new one with the same picture and change the sounds to what you like...

juiceme ( 2017-11-06 18:58:10 +0300 )edit

That just proves that the default ambiences are unusable. Yes, we can make new ones, yes, we can copy an existing one, but that doesn't help make the default ones useful.

DarkStarSword ( 2017-11-07 02:57:34 +0300 )edit
1

@DarkStarSword "if you are using custom ringtones you cannot use any of the system ambiences"

  • So, don't. Problem solved. Why are you concerning yourself with default templates when you can customize? I've never used a default, and always remove them after an update. There is no problem here, because if you don't like the examples offered, you just create your own.
bocephus ( 2017-11-07 11:46:29 +0300 )edit
1

Not helpful - Ignoring a problem doesn't solve it.

DarkStarSword ( 2017-11-08 07:17:36 +0300 )edit
1

answered 2017-11-09 13:27:06 +0300

DarkStarSword gravatar image

updated 2017-11-09 23:49:49 +0300

@Jolla, please apply the below patches to the appropriate packages, and apply similar changes to any other ambience package shipped with Sailfish:

Apply this to sailfish-content-ambiences-default-community:
0001-Community-Ambiences-Do-not-clobber-user-set-system-tones-in-de.patch.txt

Apply this to sailfish-content-ambiences-default-favorites:
0001-Favorites-Ambiences-Do-not-clobber-user-set-system-tones-in-de.patch.txt

Apply this to sailfish-content-ambiences-default-salamander:
0001-Salamander-Ambiences-Do-not-clobber-user-set-system-tones-in-de.patch.txt

Update: The modified packages with the above patches applied are available here if anyone would like them. Simply install these then reboot and all the tones will have been removed from all the default ambiences:
https://darkstarsword.net/ambiences/modified-tones-removed/

edit flag offensive delete publish link more

Comments

1

This comment is a reminder for myself for how to rebuild rpm packages with these changes for testing that they install and behave as intended (no longer clobbering user set tones). This is not the "correct" way to update the packages, but as I lack access to the source for these I am unable to build the rpms the correct way, so this will do:

  1. Download rpmrebuild from http://rpmrebuild.sourceforge.net/ and install it on the phone:
$ devel-su
# pkcon install cpio rpm-build
# rpm -i rpmrebuild-2.11-2.noarch.rpm
  1. Download rpm packages of default ambiences:
# pkcon -d install sailfish-content-ambiences-default-community sailfish-content-ambiences-default-favorites sailfish-content-ambiences-default-salamander
  1. Rebuild each package with modifications:
# rpmrebuild -ep /var/cache/zypp/packages/jolla/non-oss/noarch/sailfish-content-ambiences-default-community-0.4.15-10.10.1.jolla.noarch.rpm
  1. When the editor comes up, leave it open and in another terminal:
$ devel-su
# vi ~/.tmp/rpmrebuild.*/work/root/usr/share/ambience/*/*.ambience
  1. Delete the following lines:
    "ringerToneFile"            : { "enabled": 1 },
    "messageToneFile"           : { "enabled": 1 },
    "mailToneFile"              : { "enabled": 1 },
    "internetCallToneFile"      : { "enabled": 1 },
    "chatToneFile"              : { "enabled": 1 },
    "calendarToneFile"          : { "enabled": 1 },
    "clockAlarmToneFile"        : { "enabled": 1 }
  1. Remove the comma from the proceeding line (i.e. "version")
  2. (?) Package maintainer may need to bump the version number and/or timestamp to do this properly, but since I'm not the maintainer and have not checked the code to understand what these do I left them alone.
  3. Once all files are edited, return to the first terminal and exit the editor.
  4. Answer Y to continue

(continued in next comment...)

DarkStarSword ( 2017-11-09 13:34:05 +0300 )edit

(...continued from previous comment)

Repeat the above steps 3 through 9 for (edit: apologies that the step numbers don't match - the markdown implementation on this reddit clone is not behaving consistently with other markdown implementations making it difficult to number things correctly, and I can't be bothered editing it repeatedly trying to trick it into doing the right thing):

/var/cache/zypp/packages/jolla/non-oss/noarch/sailfish-content-ambiences-default-favorites-0.4.15-10.6.1.jolla.noarch.rpm
/var/cache/zypp/packages/jolla/non-oss/noarch/sailfish-content-ambiences-default-salamander-0.4.15-10.10.1.jolla.noarch.rpm

Aqua Fish users with Intex branding may have another package to modify - I don't recall for sure. 'pkcon search name ambience' and look at which are 'Installed'. A few of the ambiences in the favorites package are repeated in their own packages, but these are not installed so I didn't touch those.

  1. Remove the default ambience packages and reboot:
# pkcon remove sailfish-content-ambiences-default-community sailfish-content-ambiences-default-favorites sailfish-content-ambiences-default-salamander
# reboot
  1. Install the modified ambience packages and restore the other packages that were removed due to dependencies in the previous step, then reboot:
$ devel-su
# rpm -i /root/rpmbuild/RPMS/noarch/sailfish-content-ambiences-default-*
# pkcon install sailfish-content-ambiences-default-default-ambience patterns-sailfish-customer-content-default patterns-sailfish-applications
# reboot
DarkStarSword ( 2017-11-09 13:34:36 +0300 )edit
1

looks like a good topic for collaboration meeting: https://together.jolla.com/question/54157/sailfishos-open-source-collaboration-meeting-planning/

coderus ( 2017-11-09 14:36:57 +0300 )edit
1

Good work. Haven't tried it. How about creating a patch that can be installed?

naytsyrhc ( 2017-11-09 21:44:32 +0300 )edit

@naytsyrhc I've updated the answer to include a link to the modified packaged I used to test this. Just install these and reboot and the default ambiences will have their tones removed. (When I initially tested this I removed the default ambiences packages first, but I have just tested and this step is not necessary - simply installing the modified packages over the top of the original ones and rebooting is sufficient)

DarkStarSword ( 2017-11-09 23:52:07 +0300 )edit
1

answered 2017-11-09 20:58:22 +0300

olf gravatar image

updated 2017-11-09 21:00:00 +0300

Ugh, @DarkStarSword your issue description appears a bit convoluted to me, hence it was hard to gather, what the core statements are. But after thoroughly reading the posts three times, IMO the central points are:

  1. The default Ambiences are reinstalled on SailfishOS updates.
  2. So all their customisations are gone and if one deleted some of them, they are all back.

Yes, this is annoying, as @bocephus already noted, I also "always remove them after an update", except for the "Freedom" Ambience, but I end up always deleting all actions in it after an OS update.
Well, this is a bit tedious work after each SailfishOS update, but not really a big issue.

For the other aspects of your complaint, I can only chime in to the choir: "Use your own Ambiences or community ones from Openrepos.net".

edit flag offensive delete publish link more

Question tools

Follow
1 follower

Stats

Asked: 2017-11-06 02:06:56 +0300

Seen: 595 times

Last updated: Nov 09 '17