Commit Graph

183 Commits

Author SHA1 Message Date
Reinhard Pointner 1f0d9214fb * improved substring matching for instances like Doctor Who vs Doctor Who (2005), The Office vs The Office (US), etc 2011-10-28 08:07:02 +00:00
Reinhard Pointner 4ca962f297 * allow move-rename in CLI 2011-10-10 16:21:54 +00:00
Reinhard Pointner 42940397de * CLI: option for defining output encoding of downloaded subtitles 2011-09-14 18:13:34 +00:00
Reinhard Pointner 01ec6309cc * ability to check/compute sfv/md5/sha1 via CLI
* ability to auto-detect Series/Movie in rename CLI (force Series or Movie mode by setting episode/movie db)
* CLI -non-strict setting for renameSeries
* ignore hidden files whenever listing files via FileUtilities
* misc. refactoring
2011-09-13 18:16:38 +00:00
Reinhard Pointner af60f6b6f1 ++ Command Line Interface ++ ヾ(@⌒ー⌒@)ノ 2011-09-09 14:50:01 +00:00
Reinhard Pointner 332f371636 * auto-detect encoding when list files are dropped into rename panel 2011-09-04 23:50:54 +00:00
Reinhard Pointner 379f0a9cc1 * support manual input of movie/series title (as fallback if auto-detection fails or if forced via SHIFT-clicking the data source)
* fixed movie mode issues (osdb title/year parsing problem, nfo file imdbid parser problem)
2011-08-22 03:43:22 +00:00
Reinhard Pointner b59ab7e6ee * added lookup by filename/foldername to movie mode
* search order is now like this: lookup moviehash->lookup imdbid from .nfo->search by filename->search by foldername
2011-07-07 02:08:50 +00:00
Reinhard Pointner ac774306f4 * fixed messed up file<->episode matching when matching an episode that is represented multiple files in different formats/extensions. 2011-07-04 01:14:54 +00:00
Reinhard Pointner bf7ab1c52d * updated deployment info
* fixed JRE7 startup issue
2011-07-01 10:52:40 +00:00
Reinhard Pointner f53887c7ea * improved support for airdate
* refactor SxE from String to Integer types
2010-10-24 12:10:30 +00:00
Reinhard Pointner 8364015504 * unfold/flatten folders when dropped in Rename panel and List panel 2010-10-23 03:51:19 +00:00
Reinhard Pointner d9027b06ad * improved clean-up of path separators in series name and episode title 2010-02-04 23:22:28 +00:00
Reinhard Pointner 94d1e91b22 * clean up path separators in episode names/titles 2010-02-03 22:51:18 +00:00
Reinhard Pointner d1b111765e * improved handling of multi-part movies
* added OpenSubtitles as movie name source
2010-01-26 19:08:09 +00:00
Reinhard Pointner 5c7f90540a * some refactoring & polishing
* update nekohtml to 1.9.13
* update jna to 3.2.3
* update ehcache to 1.7.0
* update mediainfo native libs to 0.7.24
* remove 32-bit mediainfo.dynlib for Mac because Java 6 is only available in 64-bit anyway
2009-11-02 23:25:04 +00:00
Reinhard Pointner f61b084769 * improved support for move/rename 2009-10-29 01:22:00 +00:00
Reinhard Pointner d3331f3053 * maybe fixed visual update issue in VideoHashSubtitleDownloadDialog 2009-10-26 21:24:48 +00:00
Reinhard Pointner f51b234667 * fixed visual issue 2009-10-26 20:52:14 +00:00
Reinhard Pointner 916f168d98 + added support for subtitle download via video/movie hash
* added video/subtitle file drop target in SubtitlePanel
* added VideoHashSubtitleDownloadDialog
2009-10-21 22:39:02 +00:00
Reinhard Pointner 39dd413eec * improved subtitle api and video hash support 2009-10-20 21:16:34 +00:00
Reinhard Pointner 5bb45541a8 * don't keep unused threads around 2009-10-15 15:18:57 +00:00
Reinhard Pointner 36ad3d826d * minor updates 2009-10-13 00:28:59 +00:00
Reinhard Pointner dd736fd4af * improved "focus on filter" behaviour in SubtitleViewer 2009-08-21 14:02:21 +00:00
Reinhard Pointner 3ff3a85289 + auto-lookup verification file
+ allow absolute paths in verification files
* lots of refactoring
2009-08-10 11:46:24 +00:00
Reinhard Pointner b7c1086c4d * added some slight auto-completion to editor in EpisodeFormatDialog
* make all Settings-related members static final
2009-08-03 23:51:31 +00:00
Reinhard Pointner 3b147b325f * added media info button in EpisodeBindingDialog
* improved dialog positioning
* minor bugfixes
* refactoring
2009-08-02 11:48:45 +00:00
Reinhard Pointner 3956b61127 * added selection dialog for format sample in episode format dialog
* make MediaInfo thread-safe
* refactor class Settings and lots of related code changes
2009-07-29 20:31:08 +00:00
Reinhard Pointner 203eedb24e * encapsulate similarity metrics used in RenamePanel properly
* removed some unused code
* some unit tests
2009-07-26 16:54:24 +00:00
Reinhard Pointner a860a6ab5d * minor refactoring 2009-07-24 20:28:25 +00:00
Reinhard Pointner 78b77034b1 * remember recent formats in EpisodeFormatDialog
* display script exceptions if formatted name is empty
* better handling of empty search results in some page scrapes
* some test cases
* refactoring
2009-07-18 22:06:32 +00:00
Reinhard Pointner c4ce1aebe7 * improved various hashCode() methods
* removed unnecessary synchronized locks
* refactoring
2009-07-16 12:06:51 +00:00
Reinhard Pointner c81cd50fc9 * open series selection dialogs one after another 2009-07-15 09:22:40 +00:00
Reinhard Pointner 857d73bdc0 * refactoring 2009-07-09 20:04:47 +00:00
Reinhard Pointner 2fe8bd1306 * improved OpenSubtitles support
* refactoring
2009-07-03 12:58:05 +00:00
Reinhard Pointner efc7f81824 * some tuning for gtk laf 2009-07-01 16:14:21 +00:00
Reinhard Pointner e8cf2e7029 * refactoring 2009-06-30 12:57:09 +00:00
Reinhard Pointner 98ddfafe43 * subtitle file view in download component
* added ByteBufferTransferable and use it as superclass of TextFileTransferable
* added ListView
* lots of refactoring
2009-06-19 22:35:39 +00:00
Reinhard Pointner 18456f6864 + subtitle list displays found subtitles and download phase
+ download and extract selected subtitle packages (not displayed yet though)
* SubtitleDescriptor provides download function (Callable)
* updated sublight webservice
* lazy-initialize SubtitlesAPI2Soap (Sublight) because loading all the jax-ws classes will can take more than 1s (while blocking EDT)
* better sublight subtitle display names
* added archive files to media.types
* added icons for subtitle list
* refactoring
2009-06-13 09:53:48 +00:00
Reinhard Pointner 6593bfdbda * trim result after formatting in EpisodeExpressionFormatter
* refactoring / cleanup
2009-06-02 10:27:28 +00:00
Reinhard Pointner a547c7e7e9 * use String (language name) instead of Locale in all SubtitleProviders
* get languages (name, code) from xml file
* implemented LanguageComboBox (model, renderer, persistence)
* rename language icons
* removed various prototype classes that will never be used
2009-05-31 15:19:56 +00:00
Reinhard Pointner 0dc12ec505 * cleanup: group static imports 2009-05-17 17:22:44 +00:00
Reinhard Pointner 115c617a0c * refactoring 2009-05-17 15:09:09 +00:00
Reinhard Pointner a8b3e13339 * cleanup 2009-05-16 16:27:11 +00:00
Reinhard Pointner 9aad7deae2 + added replaceTrailingBraces() to ExpressionFormat context
+ added Undo/Redo support in EpisodeListDialog
* refactoring
2009-05-16 11:58:28 +00:00
Reinhard Pointner 92fedf2ad1 * ResourceManager will now cache Icons 2009-05-13 18:20:26 +00:00
Reinhard Pointner a6c82fc8e5 * refactoring 2009-05-12 08:57:37 +00:00
Reinhard Pointner a41f80bd9d * added exists() to cached values in FastFile 2009-05-03 17:38:22 +00:00
Reinhard Pointner 1ed4d2b495 + EpressionFormat: format Double objects with integer values as integers
+ Matching: allow partial match with season number OR episode number
+ AutoFetchEpisodeListMatcher: abort if one or more shows cannot be found

* support specials in TVRage, TVDotCom and TheTVDB Client
* account for IMDB search-to-info-page redirect
2009-05-03 15:21:04 +00:00
Reinhard Pointner ca032f3b56 + Script expressions in ExpressionFormat will now be evaluated in a secure sandbox
+ "preserve Extension" can be enabled/disabled in RenameModel

* fixed rename list SelectionModel performance issue 
* create package for ui-independant Hash* stuff
2009-05-02 23:34:04 +00:00
Reinhard Pointner d5a5b93b3b * introduction of a single unified Rename- and MatchModel
* arbitrary formating using Object (e.g. episode information) and File (e.g. codec information) data
* background formatting (e.g. crc32) and visual indicators in cellrenderer
2009-04-26 13:34:22 +00:00
Reinhard Pointner 2a3f3c7ae8 * added format binding for file extension 2009-04-07 18:33:05 +00:00
Reinhard Pointner 4afc701ff7 * use system laf on Windows and Mac, use Nimbus on all the others (Linux, *BSD, ...)
* visual imrovements under Nimbus LAF
2009-04-05 21:03:40 +00:00
Reinhard Pointner 7e6f485882 * improved episode format and format creation dialog
* differentiate between format errors and format warnings
2009-04-04 19:36:12 +00:00
Reinhard Pointner 90c8af354d * WebRequest: try to use compression
* SubsceneClient: persist languageFilterMap
2009-03-15 17:44:39 +00:00
Reinhard Pointner daa665c00e * fixed annoying layout bug
* remember search engine in episodelist and subtitle panel
2009-03-14 16:02:27 +00:00
Reinhard Pointner 64d8c3c2b4 * refactoring
* don't use global logger
2009-03-14 10:20:59 +00:00
Reinhard Pointner 9ed970de05 * refactoring ...
* changed cmd line args (single panel frame)
* simplified multi panel frame
* changed window icon
* create panels via PanelBuilder
2009-03-14 00:30:24 +00:00
Reinhard Pointner 10a7fd5b4c * added "Edit Format" action to "Fetch Episode List" action popup in rename panel
* add support for episode array transferable to episode list panel and rename panel
* renamed ScriptFormat to ExpressionFormat
* misc. changes
2009-03-12 20:08:42 +00:00
Reinhard Pointner deb15a6e15 * install Format/Validate view between namesList and model.names()
* refactored Preferences wrapper and unit tests
2009-03-08 18:41:11 +00:00
Reinhard Pointner 68968d84e6 * better matching behaviour
* remove trailing newline for string transferables in DefaultClipboardHandler
2009-03-01 13:52:43 +00:00
Reinhard Pointner 02c3d4ef2b * forgot to add icon resource 2009-02-28 18:10:28 +00:00
Reinhard Pointner ab14e07924 * improved auto-completion 2009-02-22 19:52:07 +00:00
Reinhard Pointner d2f5c8e572 * simplify SubsceneSubtitleClient
* use less xpath to speed things up a little bit
2009-02-21 12:48:52 +00:00
Reinhard Pointner e643466653 * little bit of refactoring
* fixed unit-test
2009-02-17 18:11:33 +00:00
Reinhard Pointner 051cf3362b * some refactoring 2009-02-15 21:11:03 +00:00
Reinhard Pointner 53c769321e * more visual feed back for checksum errors and warnings 2009-02-15 17:58:32 +00:00
Reinhard Pointner 87e8d830ce * full support for multiple checksum types (SFV, MD5, SHA-1)
notes:
* updated to MigLayout 3.6.3
* better exception handling in *TransferablePolicy
* added checksum toggle button and artwork
* poperly cancel computation tasks on reset
* better "Total Progress" visibility behaviour
* improved checksum table model classes, better update/repaint behaviour
2009-02-15 12:20:43 +00:00
Reinhard Pointner 9d7af8bd96 * dnd move: cancel background threads when calling BackgroundFileTransferablePolicy.clear()
* added FastFile, which minimizes fs calls by remembering the results
* use File directly (and not the holder FileEntry) in RenamePanel
2009-02-12 22:04:17 +00:00
Reinhard Pointner 5733cfbcdc * move SFV transferable policy, export handler and computation service from table class to higher-level panel class 2009-02-11 18:42:29 +00:00
Reinhard Pointner c3939dcb98 * slightly improved exception handling 2009-02-10 21:51:02 +00:00
Reinhard Pointner dac55956f6 improvement:
* BackgroundFileTransferablePolicy uses ThreadLocal<Worker> now
* support exception handling in BackgroundFileTransferablePolicy
changes:
* ChecksumComputationTask will only calculate one HashType
* added ChecksumRow.dispose()
fix:
* honor convertValueToString() in SelectDialog
2009-02-10 19:37:32 +00:00
Reinhard Pointner 5674173417 * major refactoring of Checksum* Classes (TableModel, ComputationTask, ComputationService)
* SfvTransferablePolicy create one dedicated ComputationTask executor for each drop
* ComputationTask always computes CRC32, MD5 and SHA-1 

* changed TextFileExportHandler to use Formatter instead of PrintWriter
* renamed *Util to *Utilities
* update to GlazedLists 1.8
2009-02-09 20:56:20 +00:00
Reinhard Pointner 684a7512bc * support for SubtitleSource (www.subtitlesource.org)
refactoring:
* renamed XPathUtil
* use ConcurrentMap in LanguageResolver
2009-02-06 17:57:18 +00:00
Reinhard Pointner 7b61757fd7 * improved auto episode list matching 2009-02-03 20:36:57 +00:00
Reinhard Pointner 9fd13dceae * changed static class Factor to proper enum Direction
* some cleanup
2009-01-25 01:27:40 +00:00
Reinhard Pointner ac9473ff07 * automatic episode list download and matching in RenamePanel
* added SeriesNameMatcher
* added SeasonEpisodeMatcher
* access Preferences via new Settings class
* adapt TVDotComClient to site changes (episodes  no longer ordered in reverse)
* added ActionPopup (inspired by the eclipse quickfix popup)

refactoring:
* renamed *Util classes to *Utilities
* renamed HyperlinkLabel to LinkButton as it extends JButton now
* refactored FileBotUtilities and FileUtilities
2009-01-25 00:08:57 +00:00
Reinhard Pointner c217d06eeb * ground up rewrite of the maching algorithm (I lovingly call it n:m multi-pass matching)
* added SeasonEpisodeSimilarityMetric which detects similarity based on known patterns
* moved everything similarity/maching related to net.sourceforge.filebot.similarity

Refactoring:
* refactoring of all the matching-related stuff in rename panel
* remove name2file and file2name maching selection because new maching algorithm works 2-ways from the start and doesn't need that hack
* added console handler to ui logger that will log ui warnings and ui errors to console too
* some refactoring on all SimilarityMetrics
* use Interrupts in analyze tools to abort operation
* refactoring of the rename process, if something goes wrong, we will now revert all already renamed files to their original filenames
* static LINE_SEPARATOR pattern in FileTransferablePolicy
* new maching icon, removed old ones
2009-01-11 21:23:03 +00:00
Reinhard Pointner 54b27e69b7 Changes:
* added TheTVDB support
* added ehcache to libs (now used in TheTVDBClient and TVRageClient)
* Season spinner will remember unlocked value

Refactoring:
* renamed HtmlUtil to WebRequest
* added getDocument() convenience methods to WebRequest
* added lots of static imports (XPathUtil, WebRequest, FileBotUtil, ...)
* TheTVDBClient and TVRageClient will throw SeasonOutOfBoundsException if for illegal season numbers
* XPathUtil will wrap NodeList with NodeListDecorator instead of creating a new ArrayList
* added DOM convenience methods to XPathUtil for performance reasons
* formatting of episode number in EpisodeListClient, EpisodeListRequestProcesser will take care of this
* added initial size to some StringBuilders
2009-01-04 18:28:28 +00:00
Reinhard Pointner 0bed877344 * heavy refactoring of AbstractSearchPanel, EpisodeListPanel and SubtitlePanel and related stuff
* added parameter to method in SubtitleClient interface
* fixed "stutter" issue in ProgressIndicator
* removed loading overlay progress indicator from tabs
* removed animated gifs
2009-01-01 22:27:53 +00:00
Reinhard Pointner 396176c2f6 * visual improvements to FileBotTabComponent
* some refactoring of FileBotUtil and Timer
2008-12-31 11:54:44 +00:00
Reinhard Pointner d7c08bc4ca * add simple Timer
* refactoring
2008-12-30 16:43:37 +00:00
Reinhard Pointner 1dfa8abcfd * fixed potential EDT deadlock in Tool
* display messages via ui logger
* maybe fix layout bug (component gets very small) for LoadingOverlayPane
2008-12-28 20:04:13 +00:00
Reinhard Pointner 931efbdd06 * misc refactoring / small improvements / stuff i haven't committed for ages 2008-12-27 11:58:39 +00:00
Reinhard Pointner 2fc8bb7195 * heavy refactoring of the analyze panel
* added TreeIterator and FilterIterator
* refactored file transferable policies
* refactored loading overlay
2008-12-27 11:35:53 +00:00
Reinhard Pointner 74b6a8c1a9 * improved DownloadTask and ByteBufferOutputStream
* added unit test for ByteBufferOutputStream
2008-11-22 15:30:33 +00:00
Reinhard Pointner 4bb8ff29d8 * improved DownloadTask
* added ByteBufferOutputStream
2008-11-19 16:22:31 +00:00
Reinhard Pointner 4267899842 * root temporary folder is always lower-case
* filename embedded checksum may be enclosed with () or []
2008-10-29 22:54:16 +00:00
Reinhard Pointner 8cb277252b * renamed method name 2008-10-22 22:35:17 +00:00
Reinhard Pointner e6df0141c7 * Each application instance will get its own temp folder now
* moved MessageBus registration of each Panels MessageHandler to FileBotWindow
2008-10-22 22:07:02 +00:00
Reinhard Pointner d0725404ef * use MigLayout in FileTreePanel
* use MigLayout in ValidateNamesDialog
* use MigLayout in SelectDialog
2008-10-21 17:49:08 +00:00
Reinhard Pointner bc0e354a7a * use MigLayout in SFV Panel
* use MigLayout in List Panel
2008-10-19 18:51:45 +00:00
Reinhard Pointner 792c729d54 * renamed TextFileTransferable to LazyTextFileTransferable
* use MigLayout in AnalyzePanel and ProgressDialog
2008-10-19 12:44:55 +00:00
Reinhard Pointner a0a43b0e03 * removed Settings singleton, always use Preferences directly
* simplified HistoryPanel by using MigLayout
* added MigLayout jar to libs
* improved decimal format for file count and size in AnalyzePanel
* put application name and version getters into FileBotUtil
2008-10-11 20:42:03 +00:00
Reinhard Pointner 661e079f2b * made all singleton classes final 2008-10-10 19:20:37 +00:00
Reinhard Pointner e61472c2f4 * moved ResourceManager to net.sourceforge.filebot package
* added "dist" to ignored folders
2008-10-10 18:59:01 +00:00
Reinhard Pointner aefc84085b * split ExportHandler interface into TransferableExportHandler and FileExportHandler
* added string flavour to all text transfer operations
* text file for dnd transfer will only be created on demand

* removed ImportHandler interface

* moved sfv renderer classes to sfv package
* removed sfv renderer package

* rename-lists now titled "Proposed" and "Current"

* DefaultClipboardHandler will export null values as empty string, not "null"
* refactored OpenSubtitlesHasher

* adapted to the new tvrage episode list xml feed syntax
2008-10-06 19:13:58 +00:00
Reinhard Pointner 0c674849d8 * refactored and simplified transfer api
* use more GlazedLists stuff (EventList, AutoCompleteSupport) and remove obsolete classes (SimpleListModel, TextCompletion)
* don't use SearchResultCache in EpisodeListClient (was only done for better ui interactions)
* removed caching from ResourceManager
* some improvements based on FindBugs warnings
* use args4j for improved argument parsing
* updated ant build script
* more general MessageBus/Handler (use Object as message type instead of string)
* ChecksumComputationService is not a singleton anymore
* TemporaryFolder is always recreated if it is deleted by the user, or another instance shutting down
* Notifications flicker less when one window is removed and the others are layouted
* lots of other refactoring
2008-07-30 22:37:01 +00:00
Reinhard Pointner a401a51c75 * changed IconProvider to LabelProvider (provides text and icon)
* Changed EpisodeListClient and SubtitleClient from abstract classes to interfaces
* OpenSubtitlesSubtitleClient: remove shutdownhook if not needed anymore
* some refactoring
2008-07-13 17:59:05 +00:00
Reinhard Pointner c525aa9ea0 * better search->redirect->results handling (subscene, anidb)
* refactoring ...
2008-07-07 23:38:17 +00:00