Rockbox open source high quality audio player as a Music Player Daemon
mpris rockbox mpd libadwaita audio rust zig deno
2
fork

Configure Feed

Select the types of activity you want to include in your feed.

Nuke maemo (nokian800/nokian900) and [open]pandora targets

They haven't seen any work since 2013, and likely hasn't compiled in at
least a couple of releases -- not that we ever "released" anything for
these targets.

Futhermore, upstream for both has been effectively dead for about as
long, and there's been no user reports of these being used since 2017
(and even then only in passing).

It isn't worth the effort to triage their current state, much less
uplift into something supportable, while the maintenance burden of
keeping these things in-tree can be demonstrated by the diffstat.

Change-Id: Id93bd450679d1b75e2c74295b3ae1548cd241b24

+18 -1728
+1 -1
apps/codecs.c
··· 54 54 #define LOGF_ENABLE 55 55 #include "logf.h" 56 56 57 - #if (CONFIG_PLATFORM & (PLATFORM_SDL|PLATFORM_MAEMO|PLATFORM_PANDORA)) 57 + #if (CONFIG_PLATFORM & PLATFORM_SDL) 58 58 #define PREFIX(_x_) sim_ ## _x_ 59 59 #else 60 60 #define PREFIX(_x_) _x_
+2 -2
apps/main.c
··· 141 141 #endif 142 142 #endif 143 143 144 - #if (CONFIG_PLATFORM & (PLATFORM_SDL|PLATFORM_MAEMO|PLATFORM_PANDORA)) 144 + #if (CONFIG_PLATFORM & PLATFORM_SDL) 145 145 #ifdef SIMULATOR 146 146 #include "sim_tasks.h" 147 147 #endif ··· 151 151 #if defined(WIN32) 152 152 #undef main 153 153 #endif 154 - #endif /* SDL|MAEMO|PAMDORA */ 154 + #endif /* SDL */ 155 155 156 156 /*#define AUTOROCK*/ /* define this to check for "autostart.rock" on boot */ 157 157
+2 -2
apps/misc.c
··· 639 639 640 640 long default_event_handler_ex(long event, void (*callback)(void *), void *parameter) 641 641 { 642 - #if CONFIG_PLATFORM & (PLATFORM_ANDROID|PLATFORM_MAEMO) 642 + #if CONFIG_PLATFORM & (PLATFORM_ANDROID) 643 643 static bool resume = false; 644 644 #endif 645 645 ··· 737 737 lo_unplug_change(false); 738 738 return SYS_LINEOUT_UNPLUGGED; 739 739 #endif 740 - #if CONFIG_PLATFORM & (PLATFORM_ANDROID|PLATFORM_MAEMO) 740 + #if CONFIG_PLATFORM & (PLATFORM_ANDROID) 741 741 /* stop playback if we receive a call */ 742 742 case SYS_CALL_INCOMING: 743 743 resume = audio_status() == AUDIO_STATUS_PLAY;
-7
debian/README.Debian
··· 1 - rockbox 3.13.x for Maemo 2 - -------------------------- 3 - 4 - Rockbox for maemo technial preview release. 5 - 6 - Known issues: 7 - - Application exit is only possible with CTRL+BACKSPACE
-113
debian/changelog
··· 1 - rockbox (2013-03-10maemo1) unstable; urgency=low 2 - 3 - * Update to rockbox 3.13 code base (v3.13-final) 4 - 5 - -- Thomas Jarosch <tomj@simonv.com> Sun, 10 Mar 2013 19:00:00 +0100 6 - 7 - rockbox (2012-12-26maemo1) unstable; urgency=low 8 - 9 - * Update to rockbox 3.12 code base (v3.12-final) 10 - 11 - -- Thomas Jarosch <tomj@simonv.com> Wed, 26 Dec 2012 19:00:00 +0100 12 - 13 - rockbox (2011-12-10maemo1) unstable; urgency=low 14 - 15 - * Update to rockbox 3.10 code base (r31165) 16 - * Patch: Added software mixer performance fix on N900 17 - * Patch: Added pcm locking code on N900 18 - * Patch: Assembler optimized software mixing (FS #12421) 19 - 20 - -- Thomas Jarosch <tomj@simonv.com> Sat, 10 Dec 2011 19:00:00 +0100 21 - 22 - rockbox (2011-06-28maemo1) unstable; urgency=low 23 - 24 - * Update to rockbox 3.9 code base 25 - 26 - -- Thomas Jarosch <tomj@simonv.com> Tue, 28 Jun 2011 19:00:00 +0100 27 - 28 - rockbox (2011-04-16maemo1) unstable; urgency=low 29 - 30 - * Fix premature idle shutdown after last track finished playing 31 - * Update to latest rockbox SVN code 32 - 33 - -- Thomas Jarosch <tomj@simonv.com> Fri, 16 Apr 2011 19:15:00 +0100 34 - 35 - rockbox (2011-03-18maemo0) unstable; urgency=low 36 - 37 - * Implemented RTC support (timestamps in last.FM scrobbler log) 38 - * Working sleep timer 39 - * Working idle poweroff 40 - * Support for antialised fonts (not in use yet) 41 - * Update to latest rockbox SVN code 42 - 43 - -- Thomas Jarosch <tomj@simonv.com> Fri, 18 Mar 2011 22:00:00 +0100 44 - 45 - rockbox (2011-02-27maemo0) unstable; urgency=low 46 - 47 - * Fix/enable assembler optimizations on public build 48 - * Change play/pause button so that it shows 49 - the click action and not the current state 50 - 51 - -- Thomas Jarosch <tomj@simonv.com> Sun, 27 Feb 2011 19:00:00 +0100 52 - 53 - rockbox (2011-02-25maemo0) unstable; urgency=low 54 - 55 - * Embedded album art support 56 - * Fixed bookmark handling 57 - * Prevent stuck up/down buttons on N900 with shared cursor keys 58 - * Fixed Last.FM scrobbler log file 59 - * New threading code uses less CPU 60 - * Fix rare hang on shutdown 61 - * Small fixes to the metadata parser 62 - * Update to rockbox SVN code 63 - 64 - -- Thomas Jarosch <tomj@simonv.com> Fri, 25 Feb 2011 18:10:00 +0100 65 - 66 - rockbox (2011-01-26maemo0) unstable; urgency=low 67 - 68 - * Bluetooth headset support 69 - * Ignore preinstalled sounds in /usr/share/sounds 70 - 71 - -- Thomas Jarosch <tomj@simonv.com> Wed, 26 Jan 2011 22:50:00 +0100 72 - 73 - rockbox (2011-01-12maemo0) unstable; urgency=low 74 - 75 - * Always show prev/next track button 76 - * Bind enter key to rockbock's center button (all platforms) 77 - * Bind more keys on n8xx (maemo4) 78 - * Update to latest rockbox SVN code 79 - 80 - -- Thomas Jarosch <tomj@simonv.com> Wed, 12 Jan 2011 19:42:00 +0100 81 - 82 - rockbox (2011-01-04maemo0) unstable; urgency=low 83 - 84 - * Update to latest rockbox SVN code (regenerates the database) 85 - * Test automatic garage build 86 - * Fix x86 build targets 87 - 88 - -- Thomas Jarosch <tomj@simonv.com> Tue, 04 Jan 2011 00:20:00 +0100 89 - 90 - 91 - rockbox (2011-01-02maemo0) unstable; urgency=low 92 - 93 - * New version number to indicate this build is work in progress 94 - 95 - -- Thomas Jarosch <tomj@simonv.com> Sun, 02 Jan 2011 00:05:00 +0100 96 - 97 - 98 - rockbox (3.7.2maemo2) unstable; urgency=low 99 - 100 - * Fix duplicate database entries 101 - * Initial rockbox plugin support: 102 - - Small tools in the context menu 103 - - mikmod (.mod, .s3m, .xm etc) support 104 - - Credits screen 105 - 106 - -- Thomas Jarosch <tomj@simonv.com> Sat, 01 Jan 2011 19:01:00 +0100 107 - 108 - 109 - rockbox (3.7.2maemo1) unstable; urgency=low 110 - 111 - * Initial release for Nokia N900 112 - 113 - -- Thomas Jarosch <tomj@simonv.com> Thu, 30 Dec 2010 16:18:05 +0100
-1
debian/compat
··· 1 - 5
-82
debian/control
··· 1 - Source: rockbox 2 - Section: user/multimedia 3 - Priority: extra 4 - Maintainer: Thomas Jarosch <tomj@simonv.com> 5 - Build-Depends: debhelper (>= 5), pkg-config, maemo-version-dev, 6 - libosso-dev, libglib2.0-dev, libhal-dev, osso-af-settings, 7 - libsdl1.2-dev, libxml2-dev, 8 - libgstreamer0.10-dev | maemo-version-dev (<= 5), 9 - libgstreamer-plugins-base0.10-dev | maemo-version-dev (<= 5), 10 - libgstreamer-plugins-base0.10-dev | maemo-version-dev (<= 5), 11 - libplayback-1-dev | maemo-version-dev (<= 5) 12 - # Note: This is the -debian- standards version, not rockbox 13 - Standards-Version: 3.7.2 14 - 15 - Package: rockbox 16 - Architecture: any 17 - Depends: ${shlibs:Depends}, ${misc:Depends} 18 - Description: Rockbox open source high quality audio player 19 - XB-Maemo-Display-Name: Rockbox audio player 20 - XB-Maemo-Upgrade-Description: Update to rockbox 3.13 code base 21 - XSBC-Bugtracker: http://www.rockbox.org/tracker/ 22 - XB-Maemo-Icon-26: 23 - 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 72 - rkJggg== 73 - 74 - Package: rockbox-doc 75 - Architecture: all 76 - Description: Documentation for rockbox 77 - 78 - Package: rockbox-dbg 79 - Section: devel 80 - Architecture: any 81 - Depends: rockbox (= ${Source-Version}) 82 - Description: Debug symbols for rockbox
-30
debian/copyright
··· 1 - This package was debianized by Thomas Jarosch <tomj@simonv.com> on 2 - Thu, 30 Dec 2010 16:18:05 -0500. 3 - 4 - It was downloaded from www.rockbox.org / svn://svn.rockbox.org/rockbox/trunk 5 - 6 - Upstream Author: The rockbox team - see docs/CREDITS for all the names 7 - 8 - Copyright: 2001-2013 - The rockbox team 9 - 10 - License: 11 - 12 - This package is free software; you can redistribute it and/or modify 13 - it under the terms of the GNU General Public License as published by 14 - the Free Software Foundation; either version 2 of the License, or 15 - (at your option) any later version. 16 - 17 - This package is distributed in the hope that it will be useful, 18 - but WITHOUT ANY WARRANTY; without even the implied warranty of 19 - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 20 - GNU General Public License for more details. 21 - 22 - You should have received a copy of the GNU General Public License 23 - along with this package; if not, write to the Free Software 24 - Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA 25 - 26 - On Debian systems, the complete text of the GNU General 27 - Public License can be found in `/usr/share/common-licenses/GPL'. 28 - 29 - The Debian packaging is (C) 2010, Thomas Jarosch <tomj@simonv.com> and 30 - is licensed under the GPL, see above.
-9
debian/maemo/rockbox.desktop
··· 1 - [Desktop Entry] 2 - Encoding=UTF-8 3 - Version=3.7.1 4 - Type=Application 5 - Name=Rockbox 6 - Exec=/opt/rockbox/bin/rockbox 7 - Icon=rockbox 8 - X-HildonDesk-ShowInToolbar=true 9 - X-Osso-Type=application/x-executable
debian/maemo/rockbox.png

This is a binary file and will not be displayed.

-80
debian/rules
··· 1 - #!/usr/bin/make -f 2 - 3 - # We deduce the target based on the available version of the Maemo SDK 4 - ifeq (1,$(shell pkg-config --atleast-version=5 maemo-version && echo 1)) 5 - TARGET=nokian900 6 - else 7 - TARGET=nokian8xx 8 - endif 9 - 10 - CONFIGURE_OPTIONS := --target=$(TARGET) --ram=8 --rbdir=/.rockbox --type=N 11 - DESKTOP_DIR := `pkg-config --variable=desktopentrydir osso-af-settings` 12 - 13 - export DH_VERBOSE=1 14 - 15 - builddir: 16 - test -d builddir || mkdir -p builddir 17 - 18 - builddir/Makefile: builddir 19 - cd builddir && test -f Makefile || ../tools/configure $(CONFIGURE_OPTIONS) 20 - 21 - build: build-stamp 22 - 23 - build-stamp: builddir/Makefile 24 - dh_testdir 25 - cd builddir && $(MAKE) 26 - touch $@ 27 - 28 - clean: 29 - dh_testdir 30 - dh_testroot 31 - rm -f build-stamp 32 - rm -rf builddir 33 - dh_clean 34 - install: build 35 - dh_testdir 36 - dh_testroot 37 - dh_clean -k 38 - dh_installdirs 39 - 40 - cd builddir && $(MAKE) PREFIX=$(CURDIR)/debian/rockbox/opt/rockbox fullinstall 41 - 42 - # Remove broken plugins (keymap missing) 43 - # Note: Credits and f.e. mikmod are included and working 44 - rm -f $(CURDIR)/debian/rockbox/opt/rockbox/lib/rockbox/rocks/apps/* 45 - rm -f $(CURDIR)/debian/rockbox/opt/rockbox/lib/rockbox/rocks/demos/* 46 - rm -f $(CURDIR)/debian/rockbox/opt/rockbox/lib/rockbox/rocks/games/* 47 - 48 - # Install icon and .desktop file 49 - mkdir -p $(CURDIR)/debian/rockbox/usr/share/icons/hicolor/64x64/apps 50 - cp -f debian/maemo/rockbox.png $(CURDIR)/debian/rockbox/usr/share/icons/hicolor/64x64/apps 51 - mkdir -p $(CURDIR)/debian/rockbox$(DESKTOP_DIR) 52 - cp -f debian/maemo/rockbox.desktop $(CURDIR)/debian/rockbox$(DESKTOP_DIR) 53 - 54 - # Ignore built in sounds 55 - mkdir -p $(CURDIR)/debian/rockbox/usr/share/sounds 56 - touch $(CURDIR)/debian/rockbox/usr/share/sounds/database.ignore 57 - 58 - # Build architecture-independent files here. 59 - binary-indep: 60 - # We have nothing to do by default. 61 - 62 - # Build architecture-dependent files here. 63 - binary-arch: build install 64 - dh_testdir 65 - dh_testroot 66 - dh_installdocs 67 - dh_installexamples 68 - dh_installman 69 - dh_link 70 - dh_strip --dbg-package=rockbox-dbg 71 - dh_compress 72 - dh_fixperms 73 - dh_installdeb 74 - dh_shlibdeps 75 - dh_gencontrol 76 - dh_md5sums 77 - dh_builddeb 78 - 79 - binary: binary-indep binary-arch 80 - .PHONY: build clean binary-indep binary-arch binary install configure
+1 -9
firmware/SOURCES
··· 240 240 target/hosted/samsungypr/ypr1/wmcodec-ypr1.c 241 241 #endif 242 242 243 - /* Maemo specific files */ 244 - #if (CONFIG_PLATFORM & PLATFORM_MAEMO) 245 - target/hosted/maemo/maemo-thread.c 246 - #endif 247 - 248 243 #if defined(RG_NANO) && !defined(SIMULATOR) 249 244 target/hosted/sysfs.c 250 245 target/hosted/power-linux.c ··· 572 567 #else /* PLATFORM_HOSTED */ 573 568 #if defined(HAVE_SDL_AUDIO) || defined(SIMULATOR) 574 569 drivers/audio/sdl.c 575 - #if (CONFIG_PLATFORM & PLATFORM_MAEMO5) 576 - target/hosted/maemo/pcm-gstreamer.c 577 - #else 578 570 target/hosted/sdl/pcm-sdl.c 579 - #endif /* (CONFIG_PLATFORM & PLATFORM_MAEMO) */ 580 571 #elif defined(SAMSUNG_YPR0) && defined(HAVE_AS3514) 581 572 drivers/audio/as3514.c 582 573 #elif defined(SAMSUNG_YPR1) && defined(HAVE_WM8978) 583 574 drivers/audio/wm8978.c 575 + gets) 584 576 #elif defined(CTRU) 585 577 drivers/audio/ctru.c 586 578 #endif
+1 -1
firmware/export/audiohw.h
··· 225 225 #include "es9218.h" 226 226 #elif (CONFIG_PLATFORM & PLATFORM_ANDROID) 227 227 #include "android_codec.h" 228 - #elif ((CONFIG_PLATFORM & (PLATFORM_MAEMO | PLATFORM_PANDORA | PLATFORM_SDL | PLATFORM_CTRU)) | defined(RG_NANO)) 228 + #elif ((CONFIG_PLATFORM & (PLATFORM_SDL | PLATFORM_CTRU)) | defined(RG_NANO)) 229 229 #include "sdl_codec.h" 230 230 #elif defined(DX50) 231 231 #include "codec-dx50.h"
+1 -12
firmware/export/config.h
··· 95 95 #define PLATFORM_HOSTED (1<<1) 96 96 #define PLATFORM_ANDROID (1<<2) 97 97 #define PLATFORM_SDL (1<<3) 98 - #define PLATFORM_MAEMO4 (1<<4) 99 - #define PLATFORM_MAEMO5 (1<<5) 100 - #define PLATFORM_MAEMO (PLATFORM_MAEMO4|PLATFORM_MAEMO5) 101 - #define PLATFORM_PANDORA (1<<6) 102 - #define PLATFORM_CTRU (1<<7) 98 + #define PLATFORM_CTRU (1<<4) 103 99 104 100 /* CONFIG_KEYPAD */ 105 101 #define IRIVER_H100_PAD 4 ··· 538 534 #include "config/sdlapp.h" 539 535 #elif defined(ANDROID) 540 536 #include "config/android.h" 541 - #elif defined(NOKIAN8XX) 542 - #include "config/nokian8xx.h" 543 - #elif defined(NOKIAN900) 544 - #include "config/nokian900.h" 545 - #elif defined(PANDORA) 546 - #include "config/pandora.h" 547 537 #elif defined(SAMSUNG_YPR0) 548 538 #include "config/samsungypr0.h" 549 539 #elif defined(CREATIVE_ZENXFI) ··· 1427 1417 #endif 1428 1418 1429 1419 #if defined(HAVE_SDL_AUDIO) \ 1430 - && !(CONFIG_PLATFORM & PLATFORM_MAEMO5) \ 1431 1420 && !defined(HAVE_SW_VOLUME_CONTROL) 1432 1421 /* SW volume is needed for accurate control and no double buffering should be 1433 1422 * required. If target uses SW volume, then its definitions are used instead
-91
firmware/export/config/nokian8xx.h
··· 1 - /* 2 - * This config file is for Rockbox as an application on the Nokia N8xx 3 - */ 4 - 5 - /* We don't run on hardware directly */ 6 - #define CONFIG_PLATFORM (PLATFORM_HOSTED|PLATFORM_MAEMO4) 7 - 8 - /* For Rolo and boot loader */ 9 - #define MODEL_NUMBER 100 10 - 11 - #define MODEL_NAME "Rockbox" 12 - 13 - #define USB_NONE 14 - 15 - #define HAVE_FPU 16 - 17 - 18 - /* define this if you have a colour LCD */ 19 - #define HAVE_LCD_COLOR 20 - 21 - /* define this if you want album art for this target */ 22 - #define HAVE_ALBUMART 23 - 24 - /* define this to enable bitmap scaling */ 25 - #define HAVE_BMP_SCALING 26 - 27 - /* define this to enable JPEG decoding */ 28 - #define HAVE_JPEG 29 - 30 - /* define this if you have access to the quickscreen */ 31 - #define HAVE_QUICKSCREEN 32 - 33 - /* define this if you would like tagcache to build on this target */ 34 - #define HAVE_TAGCACHE 35 - 36 - /* LCD dimensions */ 37 - #define LCD_WIDTH 800 38 - #define LCD_HEIGHT 480 39 - #define LCD_DEPTH 16 40 - #define LCD_PIXELFORMAT RGB565 41 - 42 - /* define this to indicate your device's keypad */ 43 - #define HAVE_TOUCHSCREEN 44 - #define HAVE_BUTTON_DATA 45 - 46 - /* define this if you have a real-time clock */ 47 - #define CONFIG_RTC RTC_HOSTED 48 - 49 - /* The number of bytes reserved for loadable codecs */ 50 - #define CODEC_SIZE 0x100000 51 - 52 - /* The number of bytes reserved for loadable plugins */ 53 - #define PLUGIN_BUFFER_SIZE 0x80000 54 - 55 - #define AB_REPEAT_ENABLE 56 - 57 - 58 - 59 - 60 - /* Work around debug macro expansion of strncmp in scratchbox */ 61 - #define _HAVE_STRING_ARCH_strncmp 62 - 63 - #define HAVE_MULTIMEDIA_KEYS 64 - #define HAVE_SCROLLWHEEL 65 - #define CONFIG_KEYPAD SDL_PAD 66 - 67 - /* Use SDL audio/pcm in a SDL app build */ 68 - #define HAVE_SDL 69 - #define HAVE_SDL_AUDIO 70 - 71 - #define HAVE_SW_TONE_CONTROLS 72 - 73 - /* can provide both remaining percentage and time information */ 74 - #define CONFIG_BATTERY_MEASURE (PERCENTAGE_MEASURE|TIME_MEASURE) 75 - #define NO_LOW_BATTERY_SHUTDOWN 76 - 77 - /* Define this to the CPU frequency */ 78 - /* 79 - #define CPU_FREQ 48000000 80 - */ 81 - 82 - #define CONFIG_LCD LCD_COWOND2 83 - 84 - /* Define this if a programmable hotkey is mapped */ 85 - #define HAVE_HOTKEY 86 - 87 - #define BOOTDIR "/.rockbox" 88 - 89 - /* No special storage */ 90 - #define CONFIG_STORAGE STORAGE_HOSTFS 91 - #define HAVE_STORAGE_FLUSH
-88
firmware/export/config/nokian900.h
··· 1 - /* 2 - * This config file is for Rockbox as an application on the Nokia N900 3 - */ 4 - 5 - /* We don't run on hardware directly */ 6 - #define CONFIG_PLATFORM (PLATFORM_HOSTED|PLATFORM_MAEMO5) 7 - 8 - /* For Rolo and boot loader */ 9 - #define MODEL_NUMBER 100 10 - 11 - #define MODEL_NAME "Rockbox" 12 - 13 - #define USB_NONE 14 - 15 - #define HAVE_FPU 16 - 17 - /* define this if you have a colour LCD */ 18 - #define HAVE_LCD_COLOR 19 - 20 - /* define this if you want album art for this target */ 21 - #define HAVE_ALBUMART 22 - 23 - /* define this to enable bitmap scaling */ 24 - #define HAVE_BMP_SCALING 25 - 26 - /* define this to enable JPEG decoding */ 27 - #define HAVE_JPEG 28 - 29 - /* define this if you have access to the quickscreen */ 30 - #define HAVE_QUICKSCREEN 31 - 32 - /* define this if you would like tagcache to build on this target */ 33 - #define HAVE_TAGCACHE 34 - 35 - /* LCD dimensions */ 36 - #define LCD_WIDTH 800 37 - #define LCD_HEIGHT 480 38 - #define LCD_DEPTH 16 39 - #define LCD_PIXELFORMAT RGB565 40 - 41 - /* define this to indicate your device's keypad */ 42 - #define HAVE_TOUCHSCREEN 43 - #define HAVE_BUTTON_DATA 44 - 45 - /* define this if you have a real-time clock */ 46 - #define CONFIG_RTC RTC_HOSTED 47 - 48 - /* The number of bytes reserved for loadable codecs */ 49 - #define CODEC_SIZE 0x100000 50 - 51 - /* The number of bytes reserved for loadable plugins */ 52 - #define PLUGIN_BUFFER_SIZE 0x80000 53 - 54 - #define AB_REPEAT_ENABLE 55 - 56 - 57 - 58 - 59 - /* Work around debug macro expansion of strncmp in scratchbox */ 60 - #define _HAVE_STRING_ARCH_strncmp 61 - 62 - #define HAVE_MULTIMEDIA_KEYS 63 - #define HAVE_SCROLLWHEEL 64 - #define CONFIG_KEYPAD SDL_PAD 65 - 66 - /* Use SDL audio/pcm in a SDL app build */ 67 - #define HAVE_SDL 68 - #define HAVE_SDL_AUDIO 69 - 70 - #define HAVE_SW_TONE_CONTROLS 71 - 72 - /* can provide both remaining percentage and time information */ 73 - #define CONFIG_BATTERY_MEASURE (PERCENTAGE_MEASURE|TIME_MEASURE) 74 - #define NO_LOW_BATTERY_SHUTDOWN 75 - /* 76 - #define CPU_FREQ 48000000 77 - */ 78 - 79 - #define CONFIG_LCD LCD_COWOND2 80 - 81 - /* Define this if a programmable hotkey is mapped */ 82 - #define HAVE_HOTKEY 83 - 84 - #define BOOTDIR "/.rockbox" 85 - 86 - /* No special storage */ 87 - #define CONFIG_STORAGE STORAGE_HOSTFS 88 - #define HAVE_STORAGE_FLUSH
-91
firmware/export/config/pandora.h
··· 1 - /* 2 - * This config file is for Rockbox as an application on the Nokia N8xx 3 - */ 4 - 5 - /* We don't run on hardware directly */ 6 - #define CONFIG_PLATFORM (PLATFORM_HOSTED|PLATFORM_PANDORA) 7 - 8 - /* For Rolo and boot loader */ 9 - #define MODEL_NUMBER 100 10 - 11 - #define MODEL_NAME "Rockbox" 12 - 13 - #define USB_NONE 14 - 15 - 16 - 17 - 18 - /* define this if you have a colour LCD */ 19 - #define HAVE_LCD_COLOR 20 - 21 - /* define this if you want album art for this target */ 22 - #define HAVE_ALBUMART 23 - 24 - /* define this to enable bitmap scaling */ 25 - #define HAVE_BMP_SCALING 26 - 27 - /* define this to enable JPEG decoding */ 28 - #define HAVE_JPEG 29 - 30 - /* define this if you have access to the quickscreen */ 31 - #define HAVE_QUICKSCREEN 32 - 33 - /* define this if you would like tagcache to build on this target */ 34 - #define HAVE_TAGCACHE 35 - 36 - /* LCD dimensions */ 37 - #define LCD_WIDTH 800 38 - #define LCD_HEIGHT 480 39 - #define LCD_DEPTH 16 40 - #define LCD_PIXELFORMAT RGB565 41 - 42 - /* define this to indicate your device's keypad */ 43 - #define HAVE_TOUCHSCREEN 44 - #define HAVE_BUTTON_DATA 45 - 46 - /* define this if you have a real-time clock */ 47 - #define CONFIG_RTC RTC_HOSTED 48 - 49 - /* The number of bytes reserved for loadable codecs */ 50 - #define CODEC_SIZE 0x100000 51 - 52 - /* The number of bytes reserved for loadable plugins */ 53 - #define PLUGIN_BUFFER_SIZE 0x80000 54 - 55 - #define AB_REPEAT_ENABLE 56 - 57 - 58 - 59 - 60 - /* Work around debug macro expansion of strncmp in scratchbox */ 61 - #define _HAVE_STRING_ARCH_strncmp 62 - 63 - #define HAVE_SCROLLWHEEL 64 - #define CONFIG_KEYPAD SDL_PAD 65 - 66 - /* Use SDL audio/pcm in a SDL app build */ 67 - #define HAVE_SDL 68 - #define HAVE_SDL_AUDIO 69 - 70 - #define HAVE_SW_TONE_CONTROLS 71 - 72 - /* Define current usage levels. */ 73 - #define CURRENT_NORMAL 88 /* 18 hours from a 1600 mAh battery */ 74 - #define CURRENT_BACKLIGHT 30 /* TBD */ 75 - #define CURRENT_RECORD 0 /* no recording yet */ 76 - 77 - /* Define this to the CPU frequency */ 78 - /* 79 - #define CPU_FREQ 48000000 80 - */ 81 - 82 - #define CONFIG_LCD LCD_COWOND2 83 - 84 - /* Define this if a programmable hotkey is mapped */ 85 - #define HAVE_HOTKEY 86 - 87 - #define BOOTDIR "/.rockbox" 88 - 89 - /* No special storage */ 90 - #define CONFIG_STORAGE STORAGE_HOSTFS 91 - #define HAVE_STORAGE_FLUSH
+1 -3
firmware/export/pcm_mixer.h
··· 34 34 /* These MIPS32r1 targets have a very high interrupt latency, which 35 35 unfortunately causes a lot of audio underruns under even moderate load */ 36 36 #define MIX_FRAME_SAMPLES 2048 37 - #elif (CONFIG_PLATFORM & PLATFORM_MAEMO5) || defined(DX50) || defined(DX90) 38 - /* Maemo 5 needs 2048 samples for decent performance. 39 - Otherwise the locking overhead inside gstreamer costs too much */ 37 + #elif defined(DX50) || defined(DX90) 40 38 /* iBasso Devices: Match Rockbox PCM buffer size to ALSA PCM buffer size 41 39 to minimize memory transfers. */ 42 40 #define MIX_FRAME_SAMPLES 2048
+1 -7
firmware/export/sdl_codec.h
··· 21 21 #ifndef _SDL_CODEC_H 22 22 #define _SDL_CODEC_H 23 23 24 - #if (defined(HAVE_SDL_AUDIO) \ 25 - && !(CONFIG_PLATFORM & PLATFORM_MAEMO5)) \ 26 - || (CONFIG_PLATFORM & PLATFORM_CTRU) 24 + // This is pretty generic and probably needs adjusting 27 25 AUDIOHW_SETTING(VOLUME, "dB", 0, 1, -80, 0, 0) 28 - #else 29 - #define AUDIOHW_CAPS (MONO_VOL_CAP) 30 - AUDIOHW_SETTING(VOLUME, "dB", 0, 1, -99, 0, 0) 31 - #endif /* CONFIG_PLATFORM & PLATFORM_SDL */ 32 26 33 27 #endif /* _SDL_CODEC_H */
+1 -1
firmware/target/hosted/filesystem-app.c
··· 55 55 #if defined(HAVE_MULTIDRIVE) || defined(HAVE_SPECIAL_DIRS) 56 56 #if (CONFIG_PLATFORM & PLATFORM_ANDROID) 57 57 static const char rbhome[] = "/sdcard"; 58 - #elif (CONFIG_PLATFORM & (PLATFORM_SDL|PLATFORM_MAEMO|PLATFORM_PANDORA)) \ 58 + #elif (CONFIG_PLATFORM & PLATFORM_SDL) \ 59 59 && !defined(__PCTOOL__) 60 60 static const char *rbhome; 61 61 #elif defined(PIVOT_ROOT)
-172
firmware/target/hosted/maemo/maemo-thread.c
··· 1 - /*************************************************************************** 2 - * __________ __ ___. 3 - * Open \______ \ ____ ____ | | _\_ |__ _______ ___ 4 - * Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ / 5 - * Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < < 6 - * Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \ 7 - * \/ \/ \/ \/ \/ 8 - * $Id$ 9 - * 10 - * Copyright (C) 2010 by Thomas Jarosch 11 - * 12 - * This program is free software; you can redistribute it and/or 13 - * modify it under the terms of the GNU General Public License 14 - * as published by the Free Software Foundation; either version 2 15 - * of the License, or (at your option) any later version. 16 - * 17 - * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY 18 - * KIND, either express or implied. 19 - * 20 - ****************************************************************************/ 21 - 22 - 23 - #include <libhal.h> 24 - #include <libosso.h> 25 - #include <SDL_thread.h> 26 - 27 - #include "config.h" 28 - #include "system.h" 29 - #include "kernel.h" 30 - #include "thread.h" 31 - #include "power.h" 32 - #include "debug.h" 33 - #include "button.h" 34 - 35 - /* Battery status information */ 36 - #define BME_UDI "/org/freedesktop/Hal/devices/bme" 37 - #define BATTERY_PERCENTAGE "battery.charge_level.percentage" 38 - #define BATTER_REMAINING_TIME "battery.remaining_time" 39 - 40 - /* Bluetooth headset support */ 41 - #define BT_HEADSET_UDI "/org/freedesktop/Hal/devices/computer_logicaldev_input_1" 42 - 43 - GMainLoop *maemo_main_loop = NULL; 44 - osso_context_t *maemo_osso_ctx = NULL; 45 - 46 - volatile int maemo_display_on = 1; 47 - volatile int maemo_battery_level = 0; 48 - volatile int maemo_remaining_time_sec = 0; 49 - 50 - void display_status_callback(osso_display_state_t state, gpointer data) 51 - { 52 - (void)data; 53 - 54 - if (state == OSSO_DISPLAY_OFF) 55 - maemo_display_on = 0; 56 - else 57 - maemo_display_on = 1; 58 - } 59 - 60 - 61 - void get_battery_values(LibHalContext *ctx) 62 - { 63 - /* Get initial battery percentage and remaining time */ 64 - maemo_battery_level = libhal_device_get_property_int( 65 - ctx, BME_UDI, 66 - BATTERY_PERCENTAGE, NULL); 67 - 68 - maemo_remaining_time_sec = libhal_device_get_property_int( 69 - ctx, BME_UDI, 70 - BATTER_REMAINING_TIME, NULL); 71 - 72 - DEBUGF("[maemo] Battery percentage: %d, remaining_time_sec: %d\n", maemo_battery_level, maemo_remaining_time_sec); 73 - } 74 - 75 - static void on_battery_changed (LibHalContext *ctx, 76 - const char *udi, 77 - const char *key, 78 - dbus_bool_t is_removed, 79 - dbus_bool_t is_added) 80 - { 81 - (void)is_removed; 82 - (void)is_added; 83 - 84 - if (!g_str_equal (udi, BME_UDI)) 85 - return; 86 - 87 - if (!g_str_equal (key, BATTERY_PERCENTAGE) && !g_str_equal (key, BATTER_REMAINING_TIME)) 88 - return; 89 - 90 - get_battery_values(ctx); 91 - } 92 - 93 - static void on_bt_button_pressed(LibHalContext *ctx, 94 - const char *udi, 95 - const char *condition_name, 96 - const char *condition_detail) 97 - { 98 - (void)ctx; 99 - 100 - if (!g_str_equal (udi, BT_HEADSET_UDI) || !g_str_equal(condition_name, "ButtonPressed")) 101 - return; 102 - 103 - sim_enter_irq_handler(); 104 - 105 - if (g_str_equal(condition_detail, "play-cd") || g_str_equal(condition_detail, "pause-cd")) 106 - button_queue_post(BUTTON_MULTIMEDIA_PLAYPAUSE, 0); 107 - else if (g_str_equal(condition_detail, "stop-cd")) 108 - button_queue_post(BUTTON_MULTIMEDIA_STOP, 0); 109 - else if (g_str_equal(condition_detail, "next-song")) 110 - button_queue_post(BUTTON_MULTIMEDIA_NEXT, 0); 111 - else if (g_str_equal(condition_detail, "previous-song")) 112 - button_queue_post(BUTTON_MULTIMEDIA_PREV, 0); 113 - else if (g_str_equal(condition_detail, "fast-forward")) 114 - button_queue_post(BUTTON_MULTIMEDIA_FFWD, 0); 115 - else if (g_str_equal(condition_detail, "rewind")) 116 - button_queue_post(BUTTON_MULTIMEDIA_REW, 0); 117 - 118 - sim_exit_irq_handler(); 119 - } 120 - 121 - int maemo_thread_func (void *wait_for_osso_startup) 122 - { 123 - maemo_main_loop = g_main_loop_new (NULL, FALSE); 124 - 125 - /* Register display callback */ 126 - maemo_osso_ctx = osso_initialize ("rockbox", "666", FALSE, NULL); 127 - osso_hw_set_display_event_cb(maemo_osso_ctx, display_status_callback, NULL); 128 - 129 - /* Register battery status callback */ 130 - LibHalContext *hal_ctx; 131 - hal_ctx = libhal_ctx_new(); 132 - 133 - DBusConnection *system_bus = (DBusConnection*)osso_get_sys_dbus_connection(maemo_osso_ctx); 134 - libhal_ctx_set_dbus_connection(hal_ctx, system_bus); 135 - 136 - libhal_ctx_init(hal_ctx, NULL); 137 - libhal_ctx_set_device_property_modified (hal_ctx, on_battery_changed); 138 - libhal_device_add_property_watch (hal_ctx, BME_UDI, NULL); 139 - 140 - /* Work around libhal API issue: We need to add a property watch 141 - to get the condition change callback working */ 142 - libhal_device_add_property_watch (hal_ctx, BT_HEADSET_UDI, NULL); 143 - libhal_ctx_set_device_condition(hal_ctx, on_bt_button_pressed); 144 - 145 - get_battery_values(hal_ctx); 146 - 147 - /* let system_init proceed */ 148 - SDL_SemPost((SDL_sem *)wait_for_osso_startup); 149 - 150 - g_main_loop_run (maemo_main_loop); 151 - 152 - /* Cleanup */ 153 - osso_deinitialize (maemo_osso_ctx); 154 - libhal_device_remove_property_watch (hal_ctx, BT_HEADSET_UDI, NULL); 155 - libhal_device_remove_property_watch (hal_ctx, BME_UDI, NULL); 156 - libhal_ctx_shutdown (hal_ctx, NULL); 157 - libhal_ctx_free(hal_ctx); 158 - 159 - return 0; 160 - } 161 - 162 - /* Returns battery level in percent */ 163 - int _battery_level(void) 164 - { 165 - return maemo_battery_level; 166 - } 167 - 168 - /* Return remaining battery time in minutes */ 169 - int _battery_time(void) 170 - { 171 - return maemo_remaining_time_sec / 60; 172 - }
-36
firmware/target/hosted/maemo/maemo-thread.h
··· 1 - /*************************************************************************** 2 - * __________ __ ___. 3 - * Open \______ \ ____ ____ | | _\_ |__ _______ ___ 4 - * Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ / 5 - * Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < < 6 - * Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \ 7 - * \/ \/ \/ \/ \/ 8 - * $Id$ 9 - * 10 - * Copyright (C) 2010 by Thomas Jarosch 11 - * 12 - * This program is free software; you can redistribute it and/or 13 - * modify it under the terms of the GNU General Public License 14 - * as published by the Free Software Foundation; either version 2 15 - * of the License, or (at your option) any later version. 16 - * 17 - * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY 18 - * KIND, either express or implied. 19 - * 20 - ****************************************************************************/ 21 - #ifndef __MAEMO_THREAD_H__ 22 - #define __MAEMO_THREAD_H__ 23 - 24 - #include <glib.h> 25 - #include <libosso.h> 26 - 27 - extern osso_context_t *maemo_osso_ctx; 28 - extern GMainLoop *maemo_main_loop; 29 - 30 - extern volatile int maemo_display_on; 31 - extern volatile int maemo_has_input_focus; 32 - 33 - int maemo_thread_func(void *unused); 34 - void pcm_shutdown_gstreamer(void); 35 - 36 - #endif
-451
firmware/target/hosted/maemo/pcm-gstreamer.c
··· 1 - /*************************************************************************** 2 - * __________ __ ___. 3 - * Open \______ \ ____ ____ | | _\_ |__ _______ ___ 4 - * Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ / 5 - * Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < < 6 - * Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \ 7 - * \/ \/ \/ \/ \/ 8 - * $Id$ 9 - * 10 - * Copyright (C) 2010 by Thomas Jarosch 11 - * 12 - * This program is free software; you can redistribute it and/or 13 - * modify it under the terms of the GNU General Public License 14 - * as published by the Free Software Foundation; either version 2 15 - * of the License, or (at your option) any later version. 16 - * 17 - * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY 18 - * KIND, either express or implied. 19 - * 20 - ****************************************************************************/ 21 - 22 - 23 - #include "autoconf.h" 24 - 25 - #include <stdbool.h> 26 - #include "config.h" 27 - #include "debug.h" 28 - #include "sound.h" 29 - #include "audiohw.h" 30 - #include "system.h" 31 - #include "settings.h" 32 - 33 - #include "playback.h" 34 - #include "kernel.h" 35 - 36 - #include <pthread.h> 37 - #include <SDL.h> 38 - #include <glib.h> 39 - #include <gst/gst.h> 40 - #include <gst/app/gstappsrc.h> 41 - #include <linux/types.h> 42 - 43 - /* Maemo5: N900 specific libplayback support */ 44 - #include <libplayback/playback.h> 45 - #include <dbus/dbus-glib.h> 46 - #include <dbus/dbus-glib-lowlevel.h> 47 - #include "maemo-thread.h" 48 - 49 - #ifdef HAVE_RECORDING 50 - #include "audiohw.h" 51 - #ifdef HAVE_SPDIF_IN 52 - #include "spdif.h" 53 - #endif 54 - #endif 55 - 56 - #include "pcm.h" 57 - #include "pcm-internal.h" 58 - #include "pcm_sampr.h" 59 - 60 - /*#define LOGF_ENABLE*/ 61 - #include "logf.h" 62 - 63 - #ifdef DEBUG 64 - #include <stdio.h> 65 - extern bool debug_audio; 66 - #endif 67 - 68 - /* Declarations for libplayblack */ 69 - pb_playback_t *playback = NULL; 70 - void playback_state_req_handler(pb_playback_t *pb, 71 - enum pb_state_e req_state, 72 - pb_req_t *ext_req, 73 - void *data); 74 - void playback_state_req_callback(pb_playback_t *pb, 75 - enum pb_state_e granted_state, 76 - const char *reason, 77 - pb_req_t *req, 78 - void *data); 79 - bool playback_granted = false; 80 - 81 - /* Gstreamer related vars */ 82 - GstCaps *gst_audio_caps = NULL; 83 - GstElement *gst_pipeline = NULL; 84 - GstElement *gst_appsrc = NULL; 85 - GstElement *gst_volume = NULL; 86 - GstElement *gst_pulsesink = NULL; 87 - GstBus *gst_bus = NULL; 88 - static int bus_watch_id = 0; 89 - GMainLoop *pcm_loop = NULL; 90 - 91 - static const void* pcm_data = NULL; 92 - static size_t pcm_data_size = 0; 93 - 94 - static int audio_locked = 0; 95 - static pthread_mutex_t audio_lock_mutex = PTHREAD_MUTEX_INITIALIZER; 96 - static int inside_feed_data = 0; 97 - 98 - /* 99 - * mutex lock/unlock wrappers neatness' sake 100 - */ 101 - static inline void lock_audio(void) 102 - { 103 - pthread_mutex_lock(&audio_lock_mutex); 104 - } 105 - 106 - static inline void unlock_audio(void) 107 - { 108 - pthread_mutex_unlock(&audio_lock_mutex); 109 - } 110 - 111 - void pcm_play_lock(void) 112 - { 113 - if (++audio_locked == 1) 114 - lock_audio(); 115 - } 116 - 117 - void pcm_play_unlock(void) 118 - { 119 - if (--audio_locked == 0) 120 - unlock_audio(); 121 - } 122 - 123 - void pcm_dma_apply_settings(void) 124 - { 125 - } 126 - 127 - void pcm_play_dma_start(const void *addr, size_t size) 128 - { 129 - pcm_data = addr; 130 - pcm_data_size = size; 131 - 132 - if (playback_granted) 133 - { 134 - /* Start playing now */ 135 - if (!inside_feed_data) 136 - gst_element_set_state (GST_ELEMENT(gst_pipeline), GST_STATE_PLAYING); 137 - else 138 - DEBUGF("ERROR: dma_start called while inside feed_data\n"); 139 - } else 140 - { 141 - /* N900: Request change to playing state */ 142 - pb_playback_req_state (playback, 143 - PB_STATE_PLAY, 144 - playback_state_req_callback, 145 - NULL); 146 - } 147 - } 148 - 149 - void pcm_play_dma_stop(void) 150 - { 151 - if (inside_feed_data) 152 - g_signal_emit_by_name (gst_appsrc, "end-of-stream", NULL); 153 - else 154 - gst_element_set_state (GST_ELEMENT(gst_pipeline), GST_STATE_NULL); 155 - } 156 - 157 - static void feed_data(GstElement * appsrc, guint size_hint, void *unused) 158 - { 159 - (void)size_hint; 160 - (void)unused; 161 - 162 - lock_audio(); 163 - 164 - /* Make sure we don't trigger a gst_element_set_state() call 165 - from inside gstreamer's stream thread as it will deadlock */ 166 - inside_feed_data = 1; 167 - 168 - if (pcm_play_dma_complete_callback(PCM_DMAST_OK, &pcm_data, &pcm_data_size)) 169 - { 170 - GstBuffer *buffer = gst_buffer_new (); 171 - GstFlowReturn ret; 172 - 173 - GST_BUFFER_DATA (buffer) = (__u8 *)pcm_data; 174 - GST_BUFFER_SIZE (buffer) = pcm_data_size; 175 - 176 - g_signal_emit_by_name (appsrc, "push-buffer", buffer, &ret); 177 - gst_buffer_unref (buffer); 178 - 179 - if (ret != 0) 180 - DEBUGF("push-buffer error result: %d\n", ret); 181 - 182 - pcm_play_dma_status_callback(PCM_DMAST_STARTED); 183 - } else 184 - { 185 - DEBUGF("feed_data: No Data.\n"); 186 - g_signal_emit_by_name (appsrc, "end-of-stream", NULL); 187 - } 188 - 189 - inside_feed_data = 0; 190 - 191 - unlock_audio(); 192 - } 193 - 194 - static gboolean 195 - gst_bus_message (GstBus * bus, GstMessage * message, void *unused) 196 - { 197 - (void)bus; 198 - (void)unused; 199 - 200 - DEBUGF(" [gst] got BUS message %s\n", 201 - gst_message_type_get_name (GST_MESSAGE_TYPE (message))); 202 - 203 - switch (GST_MESSAGE_TYPE (message)) { 204 - case GST_MESSAGE_ERROR: 205 - { 206 - GError *err; 207 - gchar *debug; 208 - gst_message_parse_error (message, &err, &debug); 209 - 210 - DEBUGF("[gst] Received error: Src: %s, msg: %s\n", GST_MESSAGE_SRC_NAME(message), err->message); 211 - 212 - g_error_free (err); 213 - g_free (debug); 214 - } 215 - 216 - g_main_loop_quit (pcm_loop); 217 - break; 218 - case GST_MESSAGE_EOS: 219 - gst_element_set_state (GST_ELEMENT(gst_pipeline), GST_STATE_NULL); 220 - break; 221 - case GST_MESSAGE_STATE_CHANGED: 222 - { 223 - GstState old_state, new_state; 224 - 225 - gst_message_parse_state_changed (message, &old_state, &new_state, NULL); 226 - DEBUGF("[gst] Element %s changed state from %s to %s.\n", 227 - GST_MESSAGE_SRC_NAME(message), 228 - gst_element_state_get_name (old_state), 229 - gst_element_state_get_name (new_state)); 230 - break; 231 - } 232 - default: 233 - break; 234 - } 235 - 236 - return TRUE; 237 - } 238 - 239 - void maemo_configure_appsrc(void) 240 - { 241 - /* Block push-buffer until there is enough room */ 242 - g_object_set (G_OBJECT(gst_appsrc), "block", TRUE, NULL); 243 - 244 - g_object_set(G_OBJECT(gst_appsrc), "format", GST_FORMAT_BYTES, NULL); 245 - 246 - gst_audio_caps = gst_caps_new_simple("audio/x-raw-int", "width", G_TYPE_INT, (gint)16, "depth", G_TYPE_INT, (gint)16, "channels" ,G_TYPE_INT, (gint)2, 247 - "signed",G_TYPE_BOOLEAN,1, 248 - "rate",G_TYPE_INT,44100,"endianness",G_TYPE_INT,(gint)1234,NULL); 249 - 250 - g_object_set (G_OBJECT(gst_appsrc), "caps", gst_audio_caps, NULL); 251 - 252 - gst_app_src_set_stream_type(GST_APP_SRC(gst_appsrc), 253 - GST_APP_STREAM_TYPE_STREAM); 254 - 255 - /* configure the appsrc, we will push data into the appsrc from the 256 - * mainloop. */ 257 - g_signal_connect (gst_appsrc, "need-data", G_CALLBACK (feed_data), NULL); 258 - } 259 - 260 - /* Init libplayback: Grant access rights to 261 - play audio while the phone is in silent mode */ 262 - void maemo_init_libplayback(void) 263 - { 264 - DBusConnection *session_bus_raw = (DBusConnection*)osso_get_dbus_connection(maemo_osso_ctx); 265 - 266 - playback = pb_playback_new_2(session_bus_raw, 267 - PB_CLASS_MEDIA, 268 - PB_FLAG_AUDIO, 269 - PB_STATE_STOP, 270 - playback_state_req_handler, 271 - NULL); 272 - 273 - pb_playback_set_stream(playback, "Playback Stream"); 274 - } 275 - 276 - /** 277 - * Gets called by the policy framework if an important 278 - * event arrives: Incoming calls etc. 279 - */ 280 - void maemo_tell_rockbox_to_stop_audio(void) 281 - { 282 - sim_enter_irq_handler(); 283 - queue_broadcast(SYS_CALL_INCOMING, 0); 284 - sim_exit_irq_handler(); 285 - 286 - osso_system_note_infoprint(maemo_osso_ctx, "Stopping rockbox playback", NULL); 287 - } 288 - 289 - void playback_state_req_handler(pb_playback_t *pb, 290 - enum pb_state_e req_state, 291 - pb_req_t *ext_req, 292 - void *data) 293 - { 294 - (void)pb; 295 - (void)ext_req; 296 - (void)data; 297 - 298 - DEBUGF("External state change request: state: %s, data: %p\n", 299 - pb_state_to_string(req_state), data); 300 - 301 - if (req_state == PB_STATE_STOP && playback_granted) 302 - { 303 - DEBUGF("Stopping playback, might be an incoming call\n"); 304 - 305 - playback_granted = false; 306 - maemo_tell_rockbox_to_stop_audio(); 307 - } 308 - } 309 - 310 - /** 311 - * Callback for our own state change request. 312 - */ 313 - void playback_state_req_callback(pb_playback_t *pb, enum pb_state_e granted_state, const char *reason, pb_req_t *req, void *data) 314 - { 315 - (void)data; 316 - (void)reason; 317 - 318 - DEBUGF("State request callback: granted_state: %s, reason: %s\n", 319 - pb_state_to_string(granted_state), reason); 320 - 321 - /* We are allowed to play audio */ 322 - if (granted_state == PB_STATE_PLAY) 323 - { 324 - DEBUGF("Playback granted. Start playing...\n"); 325 - playback_granted = true; 326 - if (!inside_feed_data) 327 - gst_element_set_state (GST_ELEMENT(gst_pipeline), GST_STATE_PLAYING); 328 - } else 329 - { 330 - DEBUGF("Can't start playing. Throwing away play request\n"); 331 - 332 - playback_granted = false; 333 - maemo_tell_rockbox_to_stop_audio(); 334 - } 335 - 336 - pb_playback_req_completed(pb, req); 337 - } 338 - 339 - void pcm_play_dma_init(void) 340 - { 341 - maemo_init_libplayback(); 342 - 343 - GMainContext *ctx = g_main_loop_get_context(maemo_main_loop); 344 - pcm_loop = g_main_loop_new (ctx, true); 345 - 346 - gst_init (NULL, NULL); 347 - 348 - gst_pipeline = gst_pipeline_new ("rockbox"); 349 - 350 - gst_appsrc = gst_element_factory_make ("appsrc", NULL); 351 - gst_volume = gst_element_factory_make ("volume", NULL); 352 - gst_pulsesink = gst_element_factory_make ("pulsesink", NULL); 353 - 354 - /* Connect elements */ 355 - gst_bin_add_many (GST_BIN (gst_pipeline), 356 - gst_appsrc, gst_volume, gst_pulsesink, NULL); 357 - gst_element_link_many (gst_appsrc, gst_volume, gst_pulsesink, NULL); 358 - 359 - /* Connect to gstreamer bus of the pipeline */ 360 - gst_bus = gst_pipeline_get_bus (GST_PIPELINE (gst_pipeline)); 361 - bus_watch_id = gst_bus_add_watch (gst_bus, (GstBusFunc) gst_bus_message, NULL); 362 - 363 - maemo_configure_appsrc(); 364 - } 365 - 366 - void pcm_shutdown_gstreamer(void) 367 - { 368 - /* Try to stop playing */ 369 - gst_element_set_state (GST_ELEMENT(gst_pipeline), GST_STATE_NULL); 370 - 371 - /* Make sure we are really stopped. This should return almost instantly, 372 - so we wait up to ten seconds and just continue otherwise */ 373 - gst_element_get_state (GST_ELEMENT(gst_pipeline), NULL, NULL, GST_SECOND * 10); 374 - 375 - g_source_remove (bus_watch_id); 376 - g_object_unref(gst_bus); 377 - gst_bus = NULL; 378 - 379 - gst_object_unref (gst_pipeline); 380 - gst_pipeline = NULL; 381 - 382 - /* Shutdown libplayback and gstreamer */ 383 - pb_playback_destroy (playback); 384 - gst_deinit(); 385 - 386 - g_main_loop_quit(pcm_loop); 387 - g_main_loop_unref (pcm_loop); 388 - 389 - pthread_mutex_destroy(&audio_lock_mutex); 390 - } 391 - 392 - void pcm_play_dma_postinit(void) 393 - { 394 - } 395 - 396 - void pcm_set_mixer_volume(int volume) 397 - { 398 - /* gstreamer volume range is from 0.00 to 1.00 399 - * input is -990..0 */ 400 - gdouble gst_vol = 1.0f - (gdouble)volume / -990.0f; 401 - g_object_set (G_OBJECT(gst_volume), "volume", gst_vol, NULL); 402 - } 403 - 404 - 405 - #ifdef HAVE_RECORDING 406 - void pcm_rec_lock(void) 407 - { 408 - } 409 - 410 - void pcm_rec_unlock(void) 411 - { 412 - } 413 - 414 - void pcm_rec_dma_init(void) 415 - { 416 - } 417 - 418 - void pcm_rec_dma_close(void) 419 - { 420 - } 421 - 422 - void pcm_rec_dma_start(void *start, size_t size) 423 - { 424 - (void)start; 425 - (void)size; 426 - } 427 - 428 - void pcm_rec_dma_stop(void) 429 - { 430 - } 431 - 432 - const void * pcm_rec_dma_get_peak_buffer(void) 433 - { 434 - return NULL; 435 - } 436 - 437 - void audiohw_set_recvol(int left, int right, int type) 438 - { 439 - (void)left; 440 - (void)right; 441 - (void)type; 442 - } 443 - 444 - #ifdef HAVE_SPDIF_IN 445 - unsigned long spdif_measure_frequency(void) 446 - { 447 - return 0; 448 - } 449 - #endif 450 - 451 - #endif /* HAVE_RECORDING */
-22
firmware/target/hosted/sdl/app/button-application.c
··· 37 37 int new_btn = BUTTON_NONE; 38 38 switch (keyboard_key) 39 39 { 40 - #if (CONFIG_PLATFORM & PLATFORM_MAEMO4) 41 - case SDLK_ESCAPE: 42 - #endif 43 40 case SDLK_KP_7: 44 41 new_btn = BUTTON_TOPLEFT; 45 42 break; ··· 47 44 case SDLK_UP: 48 45 new_btn = BUTTON_TOPMIDDLE; 49 46 break; 50 - #if (CONFIG_PLATFORM & PLATFORM_MAEMO4) 51 - case SDLK_F7: 52 - #endif 53 47 case SDLK_KP_9: 54 48 new_btn = BUTTON_TOPRIGHT; 55 49 break; 56 - #if (CONFIG_PLATFORM & PLATFORM_PANDORA) 57 - case SDLK_RSHIFT: 58 - #endif 59 50 case SDLK_KP_4: 60 51 case SDLK_LEFT: 61 52 new_btn = BUTTON_MIDLEFT; 62 53 break; 63 - #if (CONFIG_PLATFORM & PLATFORM_MAEMO|PLATFORM_PANDORA) 64 - case SDLK_RETURN: 65 - case SDLK_KP_ENTER: 66 - #endif 67 54 case SDLK_KP_5: 68 55 new_btn = BUTTON_CENTER; 69 56 break; 70 - #if (CONFIG_PLATFORM & PLATFORM_PANDORA) 71 - case SDLK_RCTRL: 72 - #endif 73 57 case SDLK_KP_6: 74 58 case SDLK_RIGHT: 75 59 new_btn = BUTTON_MIDRIGHT; 76 60 break; 77 - #if (CONFIG_PLATFORM & PLATFORM_MAEMO4) 78 - case SDLK_F6: 79 - #endif 80 61 case SDLK_KP_1: 81 62 new_btn = BUTTON_BOTTOMLEFT; 82 63 break; ··· 84 65 case SDLK_DOWN: 85 66 new_btn = BUTTON_BOTTOMMIDDLE; 86 67 break; 87 - #if (CONFIG_PLATFORM & PLATFORM_MAEMO4) 88 - case SDLK_F8: 89 - #endif 90 68 case SDLK_KP_3: 91 69 new_btn = BUTTON_BOTTOMRIGHT; 92 70 break;
-35
firmware/target/hosted/sdl/button-sdl.c
··· 81 81 82 82 int sdl_app_has_input_focus = 1; 83 83 84 - #if (CONFIG_PLATFORM & PLATFORM_MAEMO) 85 - static int n900_updown_key_pressed = 0; 86 - #endif 87 - 88 84 #ifdef HAS_BUTTON_HOLD 89 85 bool hold_button_state = false; 90 86 bool button_hold(void) { ··· 288 284 case SDL_KEYDOWN: 289 285 case SDL_KEYUP: 290 286 ev_key = event->key.keysym.sym; 291 - #if (CONFIG_PLATFORM & PLATFORM_MAEMO5) 292 - /* N900 with shared up/down cursor mapping. Seen on the German, 293 - Finnish, Italian, French and Russian version. Probably more. */ 294 - if (event->key.keysym.mod & KMOD_MODE || n900_updown_key_pressed) 295 - { 296 - /* Prevent stuck up/down keys: If you release the ALT key before the cursor key, 297 - rockbox will see a KEYUP event for left/right instead of up/down and 298 - the previously pressed up/down key would stay active. */ 299 - if (ev_key == SDLK_LEFT || ev_key == SDLK_RIGHT) 300 - { 301 - if (event->type == SDL_KEYDOWN) 302 - n900_updown_key_pressed = 1; 303 - else 304 - n900_updown_key_pressed = 0; 305 - } 306 - 307 - if (ev_key == SDLK_LEFT) 308 - ev_key = SDLK_UP; 309 - else if (ev_key == SDLK_RIGHT) 310 - ev_key = SDLK_DOWN; 311 - } 312 - #endif 313 287 button_event(ev_key, event->type == SDL_KEYDOWN); 314 288 break; 315 289 ··· 463 437 #ifdef HAVE_HOTSWAP 464 438 HELPTXT(EXT_KEY, "toggle external drive"); 465 439 #endif 466 - #if (CONFIG_PLATFORM & PLATFORM_PANDORA) 467 - HELPTXT(SDLK_LCTRL, "shutdown"); 468 - #endif 469 440 #ifdef HAS_BUTTON_HOLD 470 441 HELPTXT(SDLK_h, "toggle hold button"); 471 442 #endif ··· 585 556 sim_trigger_external(!storage_present(1)); 586 557 return; 587 558 #endif 588 - #endif 589 - #if (CONFIG_PLATFORM & PLATFORM_PANDORA) 590 - case SDLK_LCTRL: 591 - /* Will post SDL_USEREVENT in shutdown_hw() if successful. */ 592 - sys_poweroff(); 593 - break; 594 559 #endif 595 560 #ifdef RG_NANO 596 561 case SDLK_q:
-13
firmware/target/hosted/sdl/lcd-bitmap.c
··· 25 25 #include "button-sdl.h" 26 26 #include "lcd-sdl.h" 27 27 #include "screendump.h" 28 - #if (CONFIG_PLATFORM & PLATFORM_MAEMO) 29 - #include "maemo-thread.h" 30 - #endif 31 28 32 29 SDL_Surface* lcd_surface; 33 30 ··· 125 122 126 123 void lcd_update_rect(int x_start, int y_start, int width, int height) 127 124 { 128 - #if (CONFIG_PLATFORM & PLATFORM_MAEMO) 129 - /* Don't update display if not shown */ 130 - if (!maemo_display_on) 131 - return; 132 - 133 - /* Don't update if we don't have the input focus */ 134 - if (!sdl_app_has_input_focus) 135 - return; 136 - #endif 137 - 138 125 sdl_update_rect(lcd_surface, x_start, y_start, width, height, 139 126 LCD_WIDTH, LCD_HEIGHT, get_lcd_pixel); 140 127 sdl_gui_update(lcd_surface, x_start, y_start, width,
-8
firmware/target/hosted/sdl/lcd-sdl.c
··· 151 151 152 152 int lcd_get_dpi(void) 153 153 { 154 - #if (CONFIG_PLATFORM & PLATFORM_MAEMO5) 155 - return 267; 156 - #elif (CONFIG_PLATFORM & PLATFORM_MAEMO4) 157 - return 225; 158 - #elif (CONFIG_PLATFORM & PLATFORM_PANDORA) 159 - return 217; 160 - #else 161 154 /* TODO: find a way to query it from the OS, SDL doesn't support it 162 155 * directly; for now assume the more or less standard 96 */ 163 156 return 96; 164 - #endif 165 157 }
-33
firmware/target/hosted/sdl/system-sdl.c
··· 44 44 #include "panic.h" 45 45 #include "debug.h" 46 46 47 - #if (CONFIG_PLATFORM & PLATFORM_MAEMO) 48 - #include <glib.h> 49 - #include <glib-object.h> 50 - #include "maemo-thread.h" 51 - #endif 52 - 53 47 #if defined(RG_NANO) && !defined(SIMULATOR) 54 48 #include <signal.h> 55 49 #include "instant_play.h" ··· 116 110 #endif /* !HAVE_TOUCHSCREEN */ 117 111 #endif /* !SIMULATOR */ 118 112 119 - #if (CONFIG_PLATFORM & PLATFORM_MAEMO) 120 - /* start maemo thread: Listen to display on/off events and battery monitoring */ 121 - SDL_sem *wait_for_maemo_startup = SDL_CreateSemaphore(0); /* 0-count so it blocks */ 122 - SDL_Thread *maemo_thread = SDL_CreateThread(maemo_thread_func, NULL, wait_for_maemo_startup); 123 - SDL_SemWait(wait_for_maemo_startup); 124 - SDL_DestroySemaphore(wait_for_maemo_startup); 125 - #endif 126 - 127 113 #if SDL_MAJOR_VERSION == 1 128 114 SDL_InitSubSystem(SDL_INIT_VIDEO); 129 115 ··· 151 137 /* finally enter the button loop */ 152 138 gui_message_loop(); 153 139 154 - #if (CONFIG_PLATFORM & PLATFORM_MAEMO5) 155 - pcm_shutdown_gstreamer(); 156 - #endif 157 - #if (CONFIG_PLATFORM & PLATFORM_MAEMO) 158 - g_main_loop_quit (maemo_main_loop); 159 - g_main_loop_unref(maemo_main_loop); 160 - SDL_WaitThread(maemo_thread, NULL); 161 - #endif 162 - 163 - #if (CONFIG_PLATFORM & (PLATFORM_MAEMO|PLATFORM_PANDORA)) 164 - SDL_FreeCursor(hiddenCursor); 165 - #endif 166 - 167 140 /* Order here is relevent to prevent deadlocks and use of destroyed 168 141 sync primitives by kernel threads */ 169 142 #ifdef HAVE_SDL_THREADS ··· 245 218 SDL_sem *s; 246 219 /* fake stack, OS manages size (and growth) */ 247 220 stackbegin = stackend = (uintptr_t*)&s; 248 - 249 - #if (CONFIG_PLATFORM & PLATFORM_MAEMO) 250 - /* Make glib thread safe */ 251 - g_thread_init(NULL); 252 - g_type_init(); 253 - #endif 254 221 255 222 #if defined(RG_NANO) && !defined(SIMULATOR) 256 223 /* Set system volume to max with amixer */
+2 -2
firmware/target/hosted/sdl/window-sdl.c
··· 212 212 int depth = LCD_DEPTH < 8 ? 16 : LCD_DEPTH; 213 213 Uint32 flags = SDL_WINDOW_ALLOW_HIGHDPI; 214 214 215 - #if (CONFIG_PLATFORM & (PLATFORM_MAEMO|PLATFORM_PANDORA)) 216 - /* Fullscreen mode for maemo app */ 215 + #if 0 216 + /* Fullscreen mode might be desired */ 217 217 flags |= SDL_WINDOW_FULLSCREEN; 218 218 #else 219 219 if (display_zoom == 1)
-64
packaging/pandora/PXML.xml
··· 1 - <?xml version="1.0" encoding="UTF-8"?> 2 - <PXML xmlns="http://openpandora.org/namespaces/PXML" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="PXML_schema.xsd"> 3 - 4 - <!-- Note: Don't change the unique ID --> 5 - <package id="rockbox.thomasjfox.003"> 6 - <author name="Thomas Jarosch" website="http://www.rockbox.org"/> 7 - 8 - <!-- Note: Another version tag below --> 9 - <version major="3" minor="13" release="x" build="1"/> 10 - 11 - <titles> 12 - <title lang="en_US">Rockbox</title> 13 - </titles> 14 - 15 - <descriptions> 16 - <description lang="en_US">rockbox digital music player</description> 17 - </descriptions> 18 - 19 - <icon src="rockbox.png"/> 20 - </package> 21 - 22 - <!-- Note: Don't change the unique ID --> 23 - <application id="rockbox.thomasjfox.003" appdata="rockbox"> 24 - <exec command="run_rockbox.sh"/> 25 - 26 - <!-- Old title tag for pre hotfix6 OS version --> 27 - <title lang="en_US">Rockbox</title> 28 - <titles> 29 - <title lang="en_US">Rockbox</title> 30 - </titles> 31 - 32 - <!-- if you want to provide a manual, uncomment the following line and set correct values! --> 33 - <!-- <info name=" manual" type="html" src="manual.html"/> --> 34 - 35 - <author name="The rockbox team" website="http://www.rockbox.org"/> 36 - 37 - <version major="3" minor="13" release="x" build="1"/> 38 - 39 - <osversion major="1" minor="0" release="0" build="0"/> 40 - 41 - <descriptions> 42 - <description lang="en_US">rockbox digital music player</description> 43 - </descriptions> 44 - 45 - <icon src="rockbox.png"/> 46 - 47 - <licenses> 48 - <license name="GPLv2+" url="http://www.gnu.org/licenses/gpl-2.0.html" sourcecodeurl="http://rockbox.org"/> 49 - <license name="other"/> 50 - </licenses> 51 - 52 - <previewpics> 53 - <pic src="rockbox_preview.jpg"/> 54 - </previewpics> 55 - 56 - <categories> 57 - <category name="Audio"> 58 - <subcategory name="Player"/> 59 - </category> 60 - </categories> 61 - 62 - </application> 63 - 64 - </PXML>
-31
packaging/pandora/pandora.make
··· 1 - PANDORA_DIR=$(ROOTDIR)/packaging/pandora 2 - PND_MAKE=/usr/local/angstrom/arm/scripts/pnd_make 3 - PND_BUILD_DIR=pnddir 4 - 5 - pnddir: 6 - mkdir $(PND_BUILD_DIR) 7 - 8 - pnd: pnddir $(PND_MAKE) $(DEPFILE) build 9 - # Creating PND file 10 - make PREFIX=$(PND_BUILD_DIR)/rockbox fullinstall 11 - 12 - # Install Pandora build files 13 - cp $(PANDORA_DIR)/PXML.xml $(PND_BUILD_DIR) 14 - cp $(PANDORA_DIR)/rockbox.png $(PND_BUILD_DIR) 15 - cp $(PANDORA_DIR)/rockbox_preview.jpg $(PND_BUILD_DIR) 16 - cp $(PANDORA_DIR)/run_rockbox.sh $(PND_BUILD_DIR) 17 - 18 - # Remove stuff that's broken because of missing keymapping. 19 - # Otherwise the user will have a hard time to shut down rockbox 20 - rm -f $(PND_BUILD_DIR)/rockbox/lib/rockbox/rocks/apps/* 21 - rm -f $(PND_BUILD_DIR)/rockbox/lib/rockbox/rocks/demos/* 22 - rm -f $(PND_BUILD_DIR)/rockbox/lib/rockbox/rocks/games/* 23 - 24 - # Add docs folder 25 - cp -rf $(ROOTDIR)/docs $(PND_BUILD_DIR) 26 - 27 - # Fix up permissions 28 - chmod -R a+r $(PND_BUILD_DIR) 29 - 30 - # Invoke pndmake 31 - $(PND_MAKE) -p rockbox.pnd -d $(PND_BUILD_DIR) -x $(PND_BUILD_DIR)/PXML.xml -i $(PND_BUILD_DIR)/rockbox.png -c
packaging/pandora/rockbox.png

This is a binary file and will not be displayed.

packaging/pandora/rockbox_preview.jpg

This is a binary file and will not be displayed.

-10
packaging/pandora/run_rockbox.sh
··· 1 - #!/bin/sh 2 - 3 - CONFIG_DIR=.config/rockbox.org 4 - mkdir --parents $CONFIG_DIR 5 - 6 - # Copy over a default config file or set default language 7 - # cp --no-clobber config.cfg.default $CONFIG_DIR/config.cfg 8 - 9 - export HOME=$(pwd) 10 - ./rockbox/bin/rockbox
+5 -217
tools/configure
··· 634 634 gccchoice="9.5.0" 635 635 } 636 636 637 - maemocc () { 638 - # Scratchbox sets up "gcc" based on the active target 639 - prefixtools "" 640 - 641 - GCCOPTS=`echo $CCOPTS | sed -e s/-ffreestanding// -e s/-nostdlib//` 642 - GCCOPTS="$GCCOPTS -fno-builtin -g -I\$(SIMDIR)" 643 - GCCOPTIMIZE='' 644 - LDOPTS="-lm -ldl $LDOPTS" 645 - GLOBAL_LDOPTS="$GLOBAL_LDOPTS -Wl,-z,defs" 646 - SHARED_LDFLAGS="-shared" 647 - SHARED_CFLAGS='' 648 - endian="little" 649 - thread_support="HAVE_SIGALTSTACK_THREADS" 650 - 651 - is_n900=0 652 - # Determine maemo version 653 - if pkg-config --atleast-version=5 maemo-version; then 654 - if [ "$1" == "4" ]; then 655 - echo "ERROR: Maemo 4 SDK required." 656 - exit 1 657 - fi 658 - extradefines="$extradefines -DMAEMO5" 659 - echo "Found N900 maemo version" 660 - is_n900=1 661 - elif pkg-config --atleast-version=4 maemo-version; then 662 - if [ "$1" == "5" ]; then 663 - echo "ERROR: Maemo 5 SDK required." 664 - exit 1 665 - fi 666 - extradefines="$extradefines -DMAEMO4" 667 - echo "Found N8xx maemo version" 668 - else 669 - echo "Unable to determine maemo version. Is the maemo-version-dev package installed?" 670 - exit 1 671 - fi 672 - 673 - # SDL 674 - if [ $is_n900 -eq 1 ]; then 675 - GCCOPTS="$GCCOPTS `pkg-config --cflags sdl`" 676 - LDOPTS="$LDOPTS `pkg-config --libs sdl`" 677 - else 678 - GCCOPTS="$GCCOPTS `${sdl_config} --cflags`" 679 - LDOPTS="$LDOPTS `${sdl_config} --libs`" 680 - fi 681 - 682 - # glib and libosso support 683 - GCCOPTS="$GCCOPTS `pkg-config --cflags libosso glib-2.0 gthread-2.0`" 684 - LDOPTS="$LDOPTS `pkg-config --libs libosso glib-2.0 gthread-2.0`" 685 - 686 - # libhal support: Battery monitoring 687 - GCCOPTS="$GCCOPTS `pkg-config --cflags hal`" 688 - LDOPTS="$LDOPTS `pkg-config --libs hal`" 689 - 690 - GCCOPTS="$GCCOPTS -O2 -fno-strict-aliasing" 691 - if [ $is_n900 -eq 1 ]; then 692 - # gstreamer support: Audio output. 693 - GCCOPTS="$GCCOPTS `pkg-config --cflags gstreamer-base-0.10 gstreamer-plugins-base-0.10 gstreamer-app-0.10`" 694 - LDOPTS="$LDOPTS `pkg-config --libs gstreamer-base-0.10 gstreamer-plugins-base-0.10 gstreamer-app-0.10`" 695 - 696 - # N900 specific: libplayback support 697 - GCCOPTS="$GCCOPTS `pkg-config --cflags libplayback-1`" 698 - LDOPTS="$LDOPTS `pkg-config --libs libplayback-1`" 699 - 700 - # N900 specific: Enable ARMv7 NEON support 701 - if sb-conf show -A |grep -q -i arm; then 702 - echo "Detected ARM target" 703 - GCCOPTS="$GCCOPTS -mcpu=cortex-a8 -mtune=cortex-a8 -mfpu=neon -mfloat-abi=softfp" 704 - extradefines="$extradefines -DMAEMO_ARM_BUILD" 705 - else 706 - echo "Detected x86 target" 707 - fi 708 - else 709 - # N8xx specific: Enable armv5te instructions 710 - if sb-conf show -A |grep -q -i arm; then 711 - echo "Detected ARM target" 712 - GCCOPTS="$GCCOPTS -mcpu=arm1136jf-s -mfloat-abi=softfp -mfpu=vfp" 713 - extradefines="$extradefines -DMAEMO_ARM_BUILD" 714 - else 715 - echo "Detected x86 target" 716 - fi 717 - fi 718 - } 719 - 720 - pandoracc () { 721 - # Note: The new "Ivanovic" pandora toolchain is not able to compile rockbox. 722 - # You have to use the sebt3 toolchain: 723 - # http://www.gp32x.com/board/index.php?/topic/58490-yactfeau/ 724 - 725 - PNDSDK="/usr/local/angstrom/arm" 726 - if [ ! -x $PNDSDK/bin/arm-angstrom-linux-gnueabi-gcc ]; then 727 - echo "Pandora SDK gcc not found in $PNDSDK/bin/arm-angstrom-linux-gnueabi-gcc" 728 - exit 729 - fi 730 - 731 - PATH=$PNDSDK/bin:$PATH:$PNDSDK/arm-angstrom-linux-gnueabi/usr/bin 732 - PKG_CONFIG_PATH=$PNDSDK/arm-angstrom-linux-gnueabi/usr/lib/pkgconfig 733 - LDOPTS="-L$PNDSDK/arm-angstrom-linux-gnueabi/usr/lib -Wl,-rpath,$PNDSDK/arm-angstrom-linux-gnueabi/usr/lib $LDOPTS" 734 - PKG_CONFIG="pkg-config" 735 - 736 - GCCOPTS=`echo $CCOPTS | sed -e s/-ffreestanding// -e s/-nostdlib//` 737 - GCCOPTS="$GCCOPTS -fno-builtin -g -I\$(SIMDIR)" 738 - GCCOPTIMIZE='' 739 - LDOPTS="-lm -ldl $LDOPTS" 740 - GLOBAL_LDOPTS="$GLOBAL_LDOPTS -Wl,-z,defs" 741 - SHARED_LDFLAGS="-shared" 742 - SHARED_CFLAGS='' 743 - endian="little" 744 - thread_support="HAVE_SIGALTSTACK_THREADS" 745 - 746 - # Include path 747 - GCCOPTS="$GCCOPTS -I$PNDSDK/arm-angstrom-linux-gnueabi/usr/include" 748 - 749 - # Set up compiler 750 - gccchoice="4.3.3" 751 - prefixtools "$PNDSDK/bin/arm-angstrom-linux-gnueabi-" 752 - 753 - # Detect SDL 754 - GCCOPTS="$GCCOPTS `$PNDSDK/bin/${sdl_config} --cflags`" 755 - LDOPTS="$LDOPTS `$PNDSDK/bin/${sdl_config} --libs`" 756 - 757 - # Compiler options 758 - GCCOPTS="$GCCOPTS -O2 -fno-strict-aliasing" 759 - GCCOPTS="$GCCOPTS -march=armv7-a -mtune=cortex-a8 -mfpu=neon -mfloat-abi=softfp" 760 - GCCOPTS="$GCCOPTS -ffast-math -fsingle-precision-constant" 761 - } 762 - 763 637 arm1176jzlinuxcc () { 764 638 GCCOPTS=`echo $CCOPTS | sed -e s/-ffreestanding// -e s/-nostdlib//` 765 639 # Although the ARM1176JZ-S supports unaligned accesses, those seems to disabled ··· 1848 1722 ==Sony== 201) Android (ARM) 1849 1723 219) NWZ-E350 series 202) Android (MIPS) ==IHIFI== 1850 1724 220) NWZ-E370/E380 series 203) Android (x86) 230) 760 1851 - 221) NWZ-E360 series 204) Pandora 231) 770 1852 - 222) NWZ-E450 series 205) Nokia N8xx 232) 770C 1853 - 223) NWZ-E460 series 206) Nokia N900 233) 800 1854 - 224) NWZ-E470 series 209) Anbernic RG Nano 234) 960 1725 + 221) NWZ-E360 series 209) Anbernic RG Nano 231) 770 1726 + 222) NWZ-E450 series 232) 770C 1727 + 223) NWZ-E460 series 233) 800 1728 + 224) NWZ-E470 series 234) 960 1855 1729 225) NWZ-E580 series 1856 1730 226) NWZ-A10 series ==AgpTek== ==AIGO== 1857 1731 227) NW-A20 series 240) Rocker 245) Eros Q / K (hosted) ··· 3562 3436 t_model="app" 3563 3437 ;; 3564 3438 3565 - 205|nokian8xx) 3566 - application="yes" 3567 - target_id=75 3568 - modelname="nokian8xx" 3569 - app_type="sdl-app" 3570 - target="NOKIAN8XX" 3571 - sharedir="/opt/rockbox/share/rockbox" 3572 - bindir="/opt/rockbox/bin" 3573 - libdir="/opt/rockbox/lib" 3574 - memory=8 3575 - uname=`uname` 3576 - maemocc 4 3577 - tool="cp " 3578 - boottool="cp " 3579 - bmp2rb_mono="$rootdir/tools/bmp2rb -f 0" 3580 - bmp2rb_native="$rootdir/tools/bmp2rb -f 4" 3581 - output="rockbox" 3582 - bootoutput="rockbox" 3583 - appextra="recorder:gui:radio" 3584 - plugins="yes" 3585 - # architecture, manufacturer and model for the target-tree build 3586 - t_cpu="hosted" 3587 - t_manufacturer="maemo" 3588 - t_model="app" 3589 - ;; 3590 - 3591 - 206|nokian900) 3592 - application="yes" 3593 - target_id=76 3594 - modelname="nokian900" 3595 - app_type="sdl-app" 3596 - target="NOKIAN900" 3597 - sharedir="/opt/rockbox/share/rockbox" 3598 - bindir="/opt/rockbox/bin" 3599 - libdir="/opt/rockbox/lib" 3600 - memory=8 3601 - uname=`uname` 3602 - maemocc 5 3603 - tool="cp " 3604 - boottool="cp " 3605 - bmp2rb_mono="$rootdir/tools/bmp2rb -f 0" 3606 - bmp2rb_native="$rootdir/tools/bmp2rb -f 4" 3607 - output="rockbox" 3608 - bootoutput="rockbox" 3609 - appextra="recorder:gui:radio" 3610 - plugins="yes" 3611 - # architecture, manufacturer and model for the target-tree build 3612 - t_cpu="hosted" 3613 - t_manufacturer="maemo" 3614 - t_model="app" 3615 - ;; 3616 - 3617 - 204|pandora) 3618 - application="yes" 3619 - target_id=77 3620 - modelname="pandora" 3621 - app_type="sdl-app" 3622 - target="PANDORA" 3623 - sharedir="rockbox/share/rockbox" 3624 - bindir="rockbox/bin" 3625 - libdir="rockbox/lib" 3626 - memory=8 3627 - uname=`uname` 3628 - pandoracc 3629 - tool="cp " 3630 - boottool="cp " 3631 - bmp2rb_mono="$rootdir/tools/bmp2rb -f 0" 3632 - bmp2rb_native="$rootdir/tools/bmp2rb -f 4" 3633 - output="rockbox" 3634 - bootoutput="rockbox" 3635 - appextra="recorder:gui:radio" 3636 - plugins="yes" 3637 - # architecture, manufacturer and model for the target-tree build 3638 - t_cpu="hosted" 3639 - t_manufacturer="pandora" 3640 - t_model="app" 3641 - ;; 3642 - 3643 3439 144|samsungypr0) 3644 3440 application="yes" 3645 3441 target_id=78 ··· 5123 4919 if test -n "$t_cpu"; then 5124 4920 TARGET_INC="-I\$(FIRMDIR)/target/$t_cpu/$t_manufacturer/$t_model" 5125 4921 5126 - if [ "$application" = "yes" ] && [ "$t_manufacturer" = "maemo" ]; then 5127 - # Maemo needs the SDL port, too 5128 - TARGET_INC="$TARGET_INC -I\$(FIRMDIR)/target/hosted/sdl/app" 5129 - TARGET_INC="$TARGET_INC -I\$(FIRMDIR)/target/hosted/sdl" 5130 - elif [ "$application" = "yes" ] && [ "$t_manufacturer" = "pandora" ]; then 5131 - # Pandora needs the SDL port, too 5132 - TARGET_INC="$TARGET_INC -I\$(FIRMDIR)/target/hosted/sdl/app" 5133 - TARGET_INC="$TARGET_INC -I\$(FIRMDIR)/target/hosted/sdl" 5134 - elif [ "$simulator" = "yes" ]; then # a few more includes for the sim target tree 4922 + if [ "$simulator" = "yes" ]; then # a few more includes for the sim target tree 5135 4923 TARGET_INC="$TARGET_INC -I\$(FIRMDIR)/target/hosted/sdl" 5136 4924 TARGET_INC="$TARGET_INC -I\$(FIRMDIR)/target/hosted" 5137 4925 elif [ "$application" = "yes" ] && [ "$t_manufacturer" = "ctru" ]; then
-4
tools/root.make
··· 165 165 endif 166 166 endif 167 167 168 - ifneq (,$(findstring pandora, $(MODELNAME))) 169 - include $(ROOTDIR)/packaging/pandora/pandora.make 170 - endif 171 168 ifneq (,$(findstring rgnano, $(MODELNAME))) 172 169 include $(ROOTDIR)/packaging/rgnano/rgnano.make 173 170 endif ··· 461 458 @echo "font7zip - creates rockbox-fonts.7zip" 462 459 @echo "mapzip - creates rockbox-maps.zip with all .map files" 463 460 @echo "elfzip - creates rockbox-elfs.zip with all .elf files" 464 - @echo "pnd - creates rockbox.pnd archive (Pandora builds only)" 465 461 @echo "tools - builds the tools only" 466 462 @echo "voice - creates the voice clips (voice builds only)" 467 463 @echo "voicetools - builds the voice tools only"